#include <sparseqr.hh>
Public Member Functions | |
void | BackSolve (int rank, double *x) |
int | givens (int, int, int) |
Performs Given's rotations. | |
QR (Packed *qrpmatrix, int qrnr, int qrnc, double *qrb=NULL, Qmatrix *qrq=NULL, int *qrprow=NULL, int *qrpcol=NULL, double qrztol=DBL_EPSILON, double qrrtol=0.0) | |
void | RemoveEntry (int, int) |
Smatrix * | RemoveEntry (int, int, Smatrix *, Smatrix *) |
int | RemoveMarkedEntries (int) |
int | sparseqr () |
Public Attributes | |
int | nr |
int | nc |
int * | prow |
int * | pcol |
bool | del_prow |
Stores if delete [] of prow and pcol is allowed. | |
bool | del_pcol |
unsigned * | nrow |
double | ztol |
double | rtol |
double * | b |
Packed * | pmatrix |
Smatrix ** | srow |
Smatrix ** | scol |
Qmatrix * | q |
QR factorization.
Definition at line 128 of file sparseqr.hh.
sparseqr::QR::QR | ( | Packed * | qrpmatrix, |
int | qrnr, | ||
int | qrnc, | ||
double * | qrb = NULL , |
||
Qmatrix * | qrq = NULL , |
||
int * | qrprow = NULL , |
||
int * | qrpcol = NULL , |
||
double | qrztol = DBL_EPSILON , |
||
double | qrrtol = 0.0 |
||
) |
Constructor.
qrpmatrix | Matrix which should be factorized in sparse format |
qrnr | Number of rows of the matrix |
qrnc | Number of columns of the matrix |
qrb | Right hand side |
qrq | Space to store the Given's rotations. Does not need to be given, if they should not be stored (ie. solving for just 1 right hand side). |
qrprow | Permutation vector for row indices. If not given, is allocated by the class. |
qrpcol | Permutation vector for column indices. If not given, is allocated by the class. |
qrztol | Tolerance for use in determining zero entries when using Given's rotations. If zero or negative, only zero entries are deleted. |
rtol | Tolerance for use in determining rank tolerance by testing the diagonal entry in the final R matrix. |
void sparseqr::QR::BackSolve | ( | int | rank, |
double * | x | ||
) |
Performes backsolve.
rank | Rank of the matrix |
x | Preallocated space to store solution |
int sparseqr::QR::sparseqr | ( | ) |
Performs QR factorization
double * sparseqr::QR::b |
Definition at line 137 of file sparseqr.hh.
bool sparseqr::QR::del_pcol |
Definition at line 132 of file sparseqr.hh.
bool sparseqr::QR::del_prow |
Stores if delete
[] of prow
and pcol
is allowed.
Definition at line 132 of file sparseqr.hh.
int sparseqr::QR::nc |
Definition at line 130 of file sparseqr.hh.
int sparseqr::QR::nr |
Definition at line 130 of file sparseqr.hh.
unsigned* sparseqr::QR::nrow |
Definition at line 133 of file sparseqr.hh.
int * sparseqr::QR::pcol |
Definition at line 130 of file sparseqr.hh.
Packed* sparseqr::QR::pmatrix |
Definition at line 138 of file sparseqr.hh.
int * sparseqr::QR::prow |
Definition at line 130 of file sparseqr.hh.
Qmatrix* sparseqr::QR::q |
Definition at line 140 of file sparseqr.hh.
double sparseqr::QR::rtol |
Definition at line 137 of file sparseqr.hh.
Smatrix ** sparseqr::QR::scol |
Definition at line 139 of file sparseqr.hh.
Smatrix** sparseqr::QR::srow |
Definition at line 139 of file sparseqr.hh.
double sparseqr::QR::ztol |
Definition at line 137 of file sparseqr.hh.