qdldl_solver

QDLDL solver structure

Members

Variables

AtoKKT
c_int* AtoKKT;

< Index of elements from P and A to KKT matrix

D
QDLDL_float* D;
Undocumented in source.
Dinv
c_float* Dinv;

< inverse of diag matrix in LDL (as a vector)

KKT
csc* KKT;

< Permuted KKT matrix in sparse form (used to update P and A matrices)

L
csc* L;

* @name Attributes * @{ *////< lower triangular matrix in LDL factorizatio

Lnz
QDLDL_int* Lnz;
Undocumented in source.
P
c_int* P;

< permutation of KKT matrix for factorization

Pdiag_idx
c_int* Pdiag_idx;
Undocumented in source.
Pdiag_n
c_int Pdiag_n;

< index and number of diagonal elements in P

PtoKKT
c_int* PtoKKT;
Undocumented in source.
bp
c_float* bp;

< workspace memory for solves

bwork
QDLDL_bool* bwork;
Undocumented in source.
etree
QDLDL_int* etree;
Undocumented in source.
free
void function(qdldl_solver* self) free;

< Free workspace (only if desktop)

fwork
QDLDL_float* fwork;
Undocumented in source.
iwork
QDLDL_int* iwork;
Undocumented in source.
m
c_int m;

< number of QP constraints

n
c_int n;

< number of QP variables

nthreads
c_int nthreads;
Undocumented in source.
polish
c_int polish;

< polishing flag

rho_inv_vec
c_float* rho_inv_vec;

< parameter vector

rhotoKKT
c_int* rhotoKKT;

< Index of rho places in KKT matrix

sigma
c_float sigma;

< scalar parameter

sol
c_float* sol;

< solution to the KKT system

solve
c_int function(qdldl_solver* self, c_float* b) solve;

@name Functions @{

type
linsys_solver_type type;
Undocumented in source.
update_matrices
c_int function(qdldl_solver* self, const csc* P, const csc* A) update_matrices;

< Update solver matrices

update_rho_vec
c_int function(qdldl_solver* self, const c_float* rho_vec) update_rho_vec;

< Update rho_vec parameter

Meta