StructuredQR.h
Go to the documentation of this file.
1
/* Copyright 2020-2021 CNRS-AIST JRL */
2
3
#pragma once
4
5
#include <
jrl-qp/api.h
>
6
#include <
jrl-qp/defs.h
>
7
8
#include <
jrl-qp/internal/OrthonormalSequence.h
>
9
#include <
jrl-qp/internal/SelectedConstraint.h
>
10
#include <
jrl-qp/internal/Workspace.h
>
11
#include <
jrl-qp/structured/StructuredC.h
>
12
#include <
jrl-qp/structured/StructuredG.h
>
13
14
namespace
jrl::qp::structured
15
{
16
class
JRLQP_DLLAPI
StructuredQR
17
{
18
public
:
19
StructuredQR
();
20
21
void
setL(
const
StructuredG
& decomposedG);
22
23
void
reset();
24
void
resize(
int
nbVar);
25
26
internal::PartitionnedQ
getPartitionnedQ()
const
;
27
28
void
setRToZero();
29
void
RSolve(
VectorRef
out,
const
VectorConstRef
& in)
const
;
30
31
bool
add(
const
VectorConstRef
& d);
32
bool
remove(
int
l);
33
34
private
:
35
void
adjustLdR(
int
q)
const
;
36
auto
getR(
int
q);
37
auto
getR(
int
q)
const
;
38
auto
getUpperTriangularR(
int
q)
const
;
39
40
int
q_ = 0;
// size of R (that is the number of active constraints)
41
int
nbVar_ = 0;
42
mutable
int
ldR_ = 1;
// Leading dimension used for R
43
mutable
internal::Workspace<>
work_R_;
44
internal::Workspace<>
work_essential_;
45
internal::OrthonormalSequence
Q_;
46
mutable
internal::Workspace<>
work_tmp_;
47
};
48
}
// namespace jrl::qp::structured
jrl::qp::structured::StructuredQR
Definition:
StructuredQR.h:16
Workspace.h
jrl::qp::internal::Workspace
Definition:
Workspace.h:18
StructuredG.h
jrl::qp::VectorConstRef
Eigen::Ref< const Eigen::VectorXd > VectorConstRef
Definition:
defs.h:13
StructuredC.h
jrl::qp::structured::StructuredG
Definition:
StructuredG.h:14
jrl::qp::internal::PartitionnedQ
Definition:
OrthonormalSequence.h:111
jrl::qp::internal::OrthonormalSequence
Definition:
OrthonormalSequence.h:75
jrl::qp::structured
Definition:
StructuredC.h:13
JRLQP_DLLAPI
#define JRLQP_DLLAPI
Definition:
api.h:35
OrthonormalSequence.h
defs.h
SelectedConstraint.h
jrl::qp::VectorRef
Eigen::Ref< Eigen::VectorXd > VectorRef
Definition:
defs.h:14
api.h
include
jrl-qp
structured
StructuredQR.h
Generated by
1.8.17