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

The QRSolver class solves the linear least squares problem with a QR decomposition. More...

Inheritance diagram for QRSolver:
LinearSolverBase

Public Member Functions

 QRSolver ()
 Constructor.
 
 ~QRSolver ()
 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 the solution to (A^T*A)x = A^T*b . More...
 
void solve (const MatrixXd &b, MatrixXd &x) override
 Find a solution to (A^T*A)x = A^T*b when A is already factorized. More...
 
- Public Member Functions inherited from LinearSolverBase
 LinearSolverBase ()
 Constructor.
 
 ~LinearSolverBase ()
 Destructor.
 

Private Attributes

std::shared_ptr< Eigen::ColPivHouseholderQR< MatrixXd > > QR_Ptr
 

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 QRSolver class solves the linear least squares problem with a QR 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.

Referenced by QRSolver::solve().

◆ solve() [1/2]

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

Find the solution to (A^T*A)x = A^T*b .

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

Reimplemented from LinearSolverBase.

References QRSolver::factorize().

◆ solve() [2/2]

void solve ( const MatrixXd b,
MatrixXd x 
)
overridevirtual

Find a solution to (A^T*A)x = A^T*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.


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