13 #if !defined(KRATOS_DENSE_QR_H_INCLUDED)
14 #define KRATOS_DENSE_QR_H_INCLUDED
42 template<
class TDenseSpaceType>
53 typedef typename TDenseSpaceType::DataType
DataType;
81 return "dense_qr_decomposition";
149 virtual std::size_t
Rank()
const = 0;
156 virtual void PrintInfo(std::ostream &rOStream)
const = 0;
Definition: dense_qr_decomposition.h:44
TDenseSpaceType::MatrixType MatrixType
Definition: dense_qr_decomposition.h:55
virtual void MatrixP(MatrixType &rMatrixP) const =0
Pivoting matrix getter If computed, this method sets the pivoting matrix.
virtual std::size_t Rank() const =0
Rank of the provided array Calculates and returns the rank of the array decomposed with the QR.
DenseQRDecomposition()=default
virtual void MatrixR(MatrixType &rMatrixR) const =0
Upper triangular matrix getter If computed, this method sets the upper triangular matrix in the provi...
TDenseSpaceType::DataType DataType
Definition: dense_qr_decomposition.h:53
static std::string Name()
Name of the QR Returns a string containing the name of the current QR decomposition.
Definition: dense_qr_decomposition.h:79
virtual ~DenseQRDecomposition()=default
virtual void Compute(MatrixType &rInputMatrix, MatrixType &rMatrixQ, MatrixType &rMatrixR)=0
Compute the QR Computes the QR (QR) of the given input matrix.
virtual void MatrixQ(MatrixType &rMatrixQ) const =0
Unitary matrix getter If computed, this method sets the unitary matrix in the provided array.
virtual void Solve(MatrixType &rB, MatrixType &rX) const =0
Solves the problem Ax=b Being A the input matrix, this method solves the problem Ax = b.
virtual void Solve(const VectorType &rB, VectorType &rX) const =0
Solves the problem Ax=b Being A the input matrix, this method solves the problem Ax = b.
KRATOS_CLASS_POINTER_DEFINITION(DenseQRDecomposition)
Definition of the shared pointer of the class.
virtual void PrintInfo(std::ostream &rOStream) const =0
QR information Outputs the QR class information.
virtual void Compute(MatrixType &rInputMatrix)=0
Compute the QR Computes the QR Decomposition (QR) of the given imput matrix.
TDenseSpaceType::VectorType VectorType
Definition: dense_qr_decomposition.h:54
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21