MFEM  v4.6.0
Finite element discretization library
Public Member Functions | List of all members
mfem::CholeskyFactors Class Reference

#include <densemat.hpp>

Inheritance diagram for mfem::CholeskyFactors:
[legend]
Collaboration diagram for mfem::CholeskyFactors:
[legend]

Public Member Functions

 CholeskyFactors ()
 
 CholeskyFactors (double *data_)
 
virtual bool Factor (int m, double TOL=0.0)
 Compute the Cholesky factorization of the current matrix. More...
 
virtual double Det (int m) const
 
void LMult (int m, int n, double *X) const
 
void UMult (int m, int n, double *X) const
 
void LSolve (int m, int n, double *X) const
 
void USolve (int m, int n, double *X) const
 
virtual void Solve (int m, int n, double *X) const
 
void RightSolve (int m, int n, double *X) const
 
virtual void GetInverseMatrix (int m, double *X) const
 Assuming L.L^t = A factored data of size (m x m), compute X <- A^{-1}. More...
 
- Public Member Functions inherited from mfem::Factors
 Factors ()
 
 Factors (double *data_)
 
virtual ~Factors ()
 

Additional Inherited Members

- Public Attributes inherited from mfem::Factors
double * data
 

Detailed Description

Class that can compute Cholesky factorizations of external data of an SPD matrix and perform various operations with the factored data.

Definition at line 761 of file densemat.hpp.

Constructor & Destructor Documentation

◆ CholeskyFactors() [1/2]

mfem::CholeskyFactors::CholeskyFactors ( )
inline

With this constructor, the (public) data should be set explicitly before calling class methods.

Definition at line 767 of file densemat.hpp.

◆ CholeskyFactors() [2/2]

mfem::CholeskyFactors::CholeskyFactors ( double *  data_)
inline

Definition at line 769 of file densemat.hpp.

Member Function Documentation

◆ Det()

double mfem::CholeskyFactors::Det ( int  m) const
virtual

Assuming LL^t = A factored data of size (m x m), compute |A| from the diagonal values of L

Reimplemented from mfem::Factors.

Definition at line 3636 of file densemat.cpp.

◆ Factor()

bool mfem::CholeskyFactors::Factor ( int  m,
double  TOL = 0.0 
)
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^t = A, where A is the original matrix

Parameters
[in]msize of the square matrix
[in]TOLoptional fuzzy comparison tolerance. Defaults to 0.0.
Returns
status set to true if successful, otherwise, false.

Reimplemented from mfem::Factors.

Definition at line 3594 of file densemat.cpp.

◆ GetInverseMatrix()

void mfem::CholeskyFactors::GetInverseMatrix ( int  m,
double *  X 
) const
virtual

Assuming L.L^t = A factored data of size (m x m), compute X <- A^{-1}.

Reimplemented from mfem::Factors.

Definition at line 3804 of file densemat.cpp.

◆ LMult()

void mfem::CholeskyFactors::LMult ( int  m,
int  n,
double *  X 
) const

Assuming L.L^t = A factored data of size (m x m), compute X <- L X, for a matrix X of size (m x n).

Definition at line 3646 of file densemat.cpp.

◆ LSolve()

void mfem::CholeskyFactors::LSolve ( int  m,
int  n,
double *  X 
) const

Assuming L L^t = 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 3683 of file densemat.cpp.

◆ RightSolve()

void mfem::CholeskyFactors::RightSolve ( int  m,
int  n,
double *  X 
) const

Assuming L.L^t = 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 3757 of file densemat.cpp.

◆ Solve()

void mfem::CholeskyFactors::Solve ( int  m,
int  n,
double *  X 
) const
virtual

Assuming L.L^t = 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::Factors.

Definition at line 3743 of file densemat.cpp.

◆ UMult()

void mfem::CholeskyFactors::UMult ( int  m,
int  n,
double *  X 
) const

Assuming L.L^t = 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 3665 of file densemat.cpp.

◆ USolve()

void mfem::CholeskyFactors::USolve ( int  m,
int  n,
double *  X 
) const

Assuming L L^t = 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 3713 of file densemat.cpp.


The documentation for this class was generated from the following files: