Dakota  Version 6.20
Explore and Predict with Confidence
Public Member Functions | Private Attributes | List of all members
CholeskySolver Class Reference

The CholeskySolver class is used to solve linear systems with a symmetric matrix with a pivoted Cholesky decomposition. More...

Inheritance diagram for CholeskySolver:
LinearSolverBase

Public Member Functions

 CholeskySolver ()
 Constructor.
 
 ~CholeskySolver ()
 Destructor.
 
bool is_factorized () const override
 Query to determine if the matrix of the solver has been factored.
 
void factorize (const MatrixXd &A) override
 Perform the matrix factorization for the linear solver matrix. More...
 
void solve (const MatrixXd &A, const MatrixXd &b, MatrixXd &x) override
 Find a solution to Ax = b. More...
 
void solve (const MatrixXd &b, MatrixXd &x) override
 Find a solution to Ax = b when A is already factorized. More...
 
- Public Member Functions inherited from LinearSolverBase
 LinearSolverBase ()
 Constructor.
 
 ~LinearSolverBase ()
 Destructor.
 

Private Attributes

std::shared_ptr< Eigen::LDLT< MatrixXd > > LDLT_Ptr
 Cached LDL^T factorization.
 

Additional Inherited Members

- Public Types inherited from LinearSolverBase
enum  SOLVER_TYPE {
  CHOLESKY, EQ_CONS_LEAST_SQ_REGRESSION, LASSO_REGRESSION, LEAST_ANGLE_REGRESSION,
  LU, ORTHOG_MATCH_PURSUIT, QR_LEAST_SQ_REGRESSION, SVD_LEAST_SQ_REGRESSION
}
 How best to Doxygenate class enums? RWH.
 
- Static Public Member Functions inherited from LinearSolverBase
static SOLVER_TYPE solver_type (const std::string &solver_name)
 Convert solver name to enum type. More...
 

Detailed Description

The CholeskySolver class is used to solve linear systems with a symmetric matrix with a pivoted Cholesky decomposition.

Member Function Documentation

◆ factorize()

void factorize ( const MatrixXd A)
overridevirtual

Perform the matrix factorization for the linear solver matrix.

Parameters
[in]AThe incoming matrix to factorize.

Reimplemented from LinearSolverBase.

References CholeskySolver::LDLT_Ptr.

Referenced by CholeskySolver::solve().

◆ solve() [1/2]

void solve ( const MatrixXd A,
const MatrixXd b,
MatrixXd x 
)
overridevirtual

Find a solution to Ax = b.

Parameters
[in]AThe linear system left-hand-side matrix.
[in]bThe linear system right-hand-side (multi-)vector.
[in]xThe linear system solution (multi-)vector.

Reimplemented from LinearSolverBase.

References CholeskySolver::factorize().

◆ solve() [2/2]

void solve ( const MatrixXd b,
MatrixXd x 
)
overridevirtual

Find a solution to Ax = b when A is already factorized.

Parameters
[in]bThe linear system right-hand-side (multi-)vector.
[in]xThe linear system solution (multi-)vector.

Reimplemented from LinearSolverBase.

References CholeskySolver::LDLT_Ptr.


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