Dakota  Version 6.15 Explore and Predict with Confidence
QRSolver Class Reference

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

Inheritance diagram for QRSolver:

## 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

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

 void factorize ( const MatrixXd & A)
overridevirtual

Perform the matrix factorization for the linear solver matrix.

Parameters
 [in] A The incoming matrix to factorize.

Reimplemented from LinearSolverBase.

Referenced by QRSolver::solve().

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

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

Parameters
 [in] A The matrix for the QR decomposition. [in] b The linear system right-hand-side (multi-)vector. [in] x The linear system solution (multi-)vector.

Reimplemented from LinearSolverBase.

References QRSolver::factorize().

 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] b The linear system right-hand-side (multi-)vector. [in] x The linear system solution (multi-)vector.

Reimplemented from LinearSolverBase.

The documentation for this class was generated from the following files:
• UtilLinearSolvers.hpp
• UtilLinearSolvers.cpp