MyraMath
|
Factors A = L*D*Lh, where D is a "sign matrix" of the form [I 0; 0 -I]. Presents solve methods. More...
#include <ZLDLHSolver.h>
Public Types | |
typedef std::complex< Precision > | Number |
typedef MatrixRange< Number > | Range |
Public Member Functions | |
ZLDLHSolver (const LowerMatrix< Number > &A) | |
Copies from A and factors A=L*D*L' in-place. | |
ZLDLHSolver (LowerMatrix< Number > &&A) | |
Moves from A and factors A=L*D*L' in-place. | |
ZLDLHSolver (LowerMatrix< Number > &A) | |
Swaps out of A and factors A = L*D*L' in-place. | |
ZLDLHSolver (InputStream &in) | |
Constructs from an InputStream. | |
void | write (OutputStream &out) const |
Writes to an OutputStream. | |
void | solve (const Range &B, char side='L', char op='N') const |
Solves op(A)*X=B or X*op(A)=B, overwrites B with X. | |
uint64_t | solveL (const Range &B, char side, char op) const |
Solves op(L)*X = B or X*op(L) = B, overwriting B with X. | |
void | solveD (const Range &B, char side) const |
Solves D*X=B or X*D=B, overwrites B with X. | |
std::pair< int, int > | inertia () const |
Returns inertia, (n_plus, n_minus). Useful for schur downdates. | |
int | size () const |
Size inspector. | |
Factors A = L*D*Lh, where D is a "sign matrix" of the form [I 0; 0 -I]. Presents solve methods.