MFEM v4.7.0
Finite element discretization library
|
#include <complex_densemat.hpp>
Public Member Functions | |
ComplexLUFactors () | |
ComplexLUFactors (real_t *data_r_, real_t *data_i, int *ipiv_) | |
virtual bool | Factor (int m, real_t TOL=0.0) |
Compute the LU factorization of the current matrix. | |
virtual std::complex< real_t > | Det (int m) const |
void | Mult (int m, int n, real_t *X_r, real_t *X_i) const |
void | Mult (int m, int n, std::complex< real_t > *X) const |
void | LSolve (int m, int n, real_t *X_r, real_t *X_i) const |
void | USolve (int m, int n, real_t *X_r, real_t *X_i) const |
virtual void | Solve (int m, int n, real_t *X_r, real_t *X_i) const |
void | RightSolve (int m, int n, real_t *X_r, real_t *X_i) const |
virtual void | GetInverseMatrix (int m, real_t *X_r, real_t *X_i) const |
Assuming L.U = P.A factored data of size (m x m), compute X <- A^{-1}. | |
Public Member Functions inherited from mfem::ComplexFactors | |
ComplexFactors () | |
ComplexFactors (real_t *data_r_, real_t *data_i_) | |
void | SetComplexData (int m) |
void | ResetComplexData (int m) |
virtual | ~ComplexFactors () |
Public Attributes | |
int * | ipiv |
Public Attributes inherited from mfem::ComplexFactors | |
real_t * | data_r = nullptr |
real_t * | data_i = nullptr |
std::complex< real_t > * | data = nullptr |
Static Public Attributes | |
static const int | ipiv_base = 1 |
Additional Inherited Members | |
Protected Member Functions inherited from mfem::ComplexFactors | |
std::complex< real_t > * | RealToComplex (int m, const real_t *x_r, const real_t *x_i) const |
void | ComplexToReal (int m, const std::complex< real_t > *x, real_t *x_r, real_t *x_i) const |
Class that computes factorization of external data and perform various operations with the factored data.
Definition at line 123 of file complex_densemat.hpp.
|
inline |
With this constructor, the (public) data and ipiv members should be set explicitly before calling class methods.
Definition at line 135 of file complex_densemat.hpp.
Definition at line 137 of file complex_densemat.hpp.
|
virtual |
Assuming L.U = P.A factored data of size (m x m), compute |A| from the diagonal values of U and the permutation information.
Reimplemented from mfem::ComplexFactors.
Definition at line 556 of file complex_densemat.cpp.
|
virtual |
Compute the LU factorization of the current matrix.
Factorize the current matrix of size (m x m) overwriting it with the LU factors. The factorization is such that L.U = P.A, where A is the original matrix and P is a permutation matrix represented by ipiv.
[in] | m | size of the square matrix |
[in] | TOL | optional fuzzy comparison tolerance. Defaults to 0.0. |
Reimplemented from mfem::ComplexFactors.
Definition at line 490 of file complex_densemat.cpp.
Assuming L.U = P.A factored data of size (m x m), compute X <- A^{-1}.
Reimplemented from mfem::ComplexFactors.
Definition at line 743 of file complex_densemat.cpp.
Assuming L.U = P.A factored data of size (m x m), compute X <- L^{-1} P X, for a matrix X of size (m x n).
Definition at line 609 of file complex_densemat.cpp.
Assuming L.U = P.A factored data of size (m x m), compute X <- A X, for a matrix X of size (m x n).
Definition at line 573 of file complex_densemat.cpp.
void mfem::ComplexLUFactors::Mult | ( | int | m, |
int | n, | ||
std::complex< real_t > * | X ) const |
Assuming L.U = P.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 679 of file complex_densemat.cpp.
Assuming L.U = P.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 656 of file complex_densemat.cpp.
Assuming L.U = P.A factored data of size (m x m), compute X <- U^{-1} X, for a matrix X of size (m x n).
Definition at line 635 of file complex_densemat.cpp.
int* mfem::ComplexLUFactors::ipiv |
Definition at line 126 of file complex_densemat.hpp.
|
static |
Definition at line 128 of file complex_densemat.hpp.