std::ostream & operator<<(std::ostream &os, const HouseholderQR &qr)
Print the Q and R matrices of a HouseholderQR object.
LU factorization without pivoting.
SquareMatrix LU
Result of a LU factorization: stores the upper-triangular matrix U and the strict lower-triangular pa...
void get_U_inplace(Matrix &U) const
Copy the upper-triangular matrix U to the given matrix.
SquareMatrix && steal_LU()
Get the internal storage of the upper-triangular matrix U and the strict lower-triangular part of mat...
const SquareMatrix & get_LU() const &
Get a copy of the internal storage of the upper-triangular matrix U and the strict lower-triangular p...
NoPivotLU()=default
Default constructor.
bool has_LU() const
Check if this object contains valid L and U factors.
Matrix solve(const Matrix &B) const
Solve the system AX = B or LUX = B.
void get_L_inplace(Matrix &L) const
Copy the lower-triangular matrix L to the given matrix.
void compute(SquareMatrix &&matrix)
Perform the LU factorization of the given matrix.
SquareMatrix && steal_L()
Get the lower-triangular matrix L, reusing the internal storage.
void back_subs(const Matrix &B, Matrix &X) const
Back substitution algorithm for solving upper-triangular systems UX = B.
void solve_inplace(Matrix &B) const
Solve the system AX = B or LUX = B.
bool is_factored() const
Check if this object contains a factorization.
void forward_subs(const Matrix &B, Matrix &X) const
Forward substitution algorithm for solving lower-triangular systems LX = B.
void compute_factorization()
The actual LU factorization algorithm.
enum NoPivotLU::State state
SquareMatrix get_L() const &
Get a copy of the lower-triangular matrix L.
SquareMatrix get_U() const &
Get a copy of the upper-triangular matrix U.
SquareMatrix && get_LU() &&
Get the internal storage of the upper-triangular matrix U and the strict lower-triangular part of mat...
SquareMatrix && steal_U()
Get the upper-triangular matrix U, reusing the internal storage.
NoPivotLU(SquareMatrix &&matrix)
Factorize the given matrix.
NoPivotLU(const SquareMatrix &matrix)
Factorize the given matrix.
A column vector (nĂ—1 matrix).