MFEM
v4.6.0
Finite element discretization library
|
#include <complex_densemat.hpp>
Public Member Functions | |
ComplexCholeskyFactors () | |
ComplexCholeskyFactors (double *data_r_, double *data_i_) | |
virtual bool | Factor (int m, double TOL=0.0) |
Compute the Cholesky factorization of the current matrix. More... | |
virtual std::complex< double > | Det (int m) const |
void | LMult (int m, int n, double *X_r, double *X_i) const |
void | UMult (int m, int n, double *X_r, double *X_i) const |
void | LSolve (int m, int n, double *X_r, double *X_i) const |
void | USolve (int m, int n, double *X_r, double *X_i) const |
virtual void | Solve (int m, int n, double *X_r, double *X_i) const |
void | RightSolve (int m, int n, double *X_r, double *X_i) const |
virtual void | GetInverseMatrix (int m, double *X_r, double *X_i) const |
Assuming L.L^H = A factored data of size (m x m), compute X <- A^{-1}. More... | |
Public Member Functions inherited from mfem::ComplexFactors | |
ComplexFactors () | |
ComplexFactors (double *data_r_, double *data_i_) | |
void | SetComplexData (int m) |
void | ResetComplexData (int m) |
virtual | ~ComplexFactors () |
Additional Inherited Members | |
Public Attributes inherited from mfem::ComplexFactors | |
double * | data_r = nullptr |
double * | data_i = nullptr |
std::complex< double > * | data = nullptr |
Protected Member Functions inherited from mfem::ComplexFactors | |
std::complex< double > * | RealToComplex (int m, const double *x_r, const double *x_i) const |
void | ComplexToReal (int m, const std::complex< double > *x, double *x_r, double *x_i) const |
Class that can compute Cholesky factorizations of external data of an Hermitian positive matrix and perform various operations with the factored data.
Definition at line 186 of file complex_densemat.hpp.
|
inline |
With this constructor, the (public) data should be set explicitly before calling class methods.
Definition at line 192 of file complex_densemat.hpp.
|
inline |
Definition at line 194 of file complex_densemat.hpp.
|
virtual |
Assuming LL^H = A factored data of size (m x m), compute |A| from the diagonal values of L
Reimplemented from mfem::ComplexFactors.
Definition at line 789 of file complex_densemat.cpp.
|
virtual |
Compute the Cholesky factorization of the current matrix.
Factorize the current matrix of size (m x m) overwriting it with the Cholesky factors. The factorization is such that LL^H = A, where A is the original matrix
[in] | m | size of the square matrix |
[in] | TOL | optional fuzzy comparison tolerance. Defaults to 0.0. |
Reimplemented from mfem::ComplexFactors.
Definition at line 749 of file complex_densemat.cpp.
|
virtual |
Assuming L.L^H = A factored data of size (m x m), compute X <- A^{-1}.
Reimplemented from mfem::ComplexFactors.
Definition at line 978 of file complex_densemat.cpp.
void mfem::ComplexCholeskyFactors::LMult | ( | int | m, |
int | n, | ||
double * | X_r, | ||
double * | X_i | ||
) | const |
Assuming L.L^H = A factored data of size (m x m), compute X <- L X, for a matrix X of size (m x n).
Definition at line 799 of file complex_densemat.cpp.
void mfem::ComplexCholeskyFactors::LSolve | ( | int | m, |
int | n, | ||
double * | X_r, | ||
double * | X_i | ||
) | const |
Assuming L L^H = A factored data of size (m x m), compute X <- L^{-1} X, for a matrix X of size (m x n).
Definition at line 844 of file complex_densemat.cpp.
void mfem::ComplexCholeskyFactors::RightSolve | ( | int | m, |
int | n, | ||
double * | X_r, | ||
double * | X_i | ||
) | const |
Assuming L.L^H = A factored data of size (m x m), compute X <- X A^{-1}, for a matrix X of size (n x m).
Definition at line 926 of file complex_densemat.cpp.
|
virtual |
Assuming L.L^H = A factored data of size (m x m), compute X <- A^{-1} X, for a matrix X of size (m x n).
Reimplemented from mfem::ComplexFactors.
Definition at line 909 of file complex_densemat.cpp.
void mfem::ComplexCholeskyFactors::UMult | ( | int | m, |
int | n, | ||
double * | X_r, | ||
double * | X_i | ||
) | const |
Assuming L.L^H = A factored data of size (m x m), compute X <- L^t X, for a matrix X of size (m x n).
Definition at line 822 of file complex_densemat.cpp.
void mfem::ComplexCholeskyFactors::USolve | ( | int | m, |
int | n, | ||
double * | X_r, | ||
double * | X_i | ||
) | const |
Assuming L L^H = A factored data of size (m x m), compute X <- L^{-t} X, for a matrix X of size (m x n).
Definition at line 876 of file complex_densemat.cpp.