KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::DenseQRDecomposition< TDenseSpaceType > Class Template Referenceabstract

#include <dense_qr_decomposition.h>

Inheritance diagram for Kratos::DenseQRDecomposition< TDenseSpaceType >:
Collaboration diagram for Kratos::DenseQRDecomposition< TDenseSpaceType >:

Public Member Functions

Life Cycle
 DenseQRDecomposition ()=default
 
virtual ~DenseQRDecomposition ()=default
 

Type Definitions

typedef TDenseSpaceType::DataType DataType
 
typedef TDenseSpaceType::VectorType VectorType
 
typedef TDenseSpaceType::MatrixType MatrixType
 
 KRATOS_CLASS_POINTER_DEFINITION (DenseQRDecomposition)
 Definition of the shared pointer of the class. More...
 

Operations

virtual void Compute (MatrixType &rInputMatrix)=0
 Compute the QR Computes the QR Decomposition (QR) of the given imput matrix. More...
 
virtual void Compute (MatrixType &rInputMatrix, MatrixType &rMatrixQ, MatrixType &rMatrixR)=0
 Compute the QR Computes the QR (QR) of the given input matrix. More...
 
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. More...
 
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. More...
 
virtual void MatrixQ (MatrixType &rMatrixQ) const =0
 Unitary matrix getter If computed, this method sets the unitary matrix in the provided array. More...
 
virtual void MatrixR (MatrixType &rMatrixR) const =0
 Upper triangular matrix getter If computed, this method sets the upper triangular matrix in the provided array. More...
 
virtual void MatrixP (MatrixType &rMatrixP) const =0
 Pivoting matrix getter If computed, this method sets the pivoting matrix. More...
 
virtual std::size_t Rank () const =0
 Rank of the provided array Calculates and returns the rank of the array decomposed with the QR. More...
 
virtual void PrintInfo (std::ostream &rOStream) const =0
 QR information Outputs the QR class information. More...
 
static std::string Name ()
 Name of the QR Returns a string containing the name of the current QR decomposition. More...
 

Member Typedef Documentation

◆ DataType

template<class TDenseSpaceType >
typedef TDenseSpaceType::DataType Kratos::DenseQRDecomposition< TDenseSpaceType >::DataType

◆ MatrixType

template<class TDenseSpaceType >
typedef TDenseSpaceType::MatrixType Kratos::DenseQRDecomposition< TDenseSpaceType >::MatrixType

◆ VectorType

template<class TDenseSpaceType >
typedef TDenseSpaceType::VectorType Kratos::DenseQRDecomposition< TDenseSpaceType >::VectorType

Constructor & Destructor Documentation

◆ DenseQRDecomposition()

template<class TDenseSpaceType >
Kratos::DenseQRDecomposition< TDenseSpaceType >::DenseQRDecomposition ( )
default

◆ ~DenseQRDecomposition()

template<class TDenseSpaceType >
virtual Kratos::DenseQRDecomposition< TDenseSpaceType >::~DenseQRDecomposition ( )
virtualdefault

Member Function Documentation

◆ Compute() [1/2]

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::Compute ( MatrixType rInputMatrix)
pure virtual

Compute the QR Computes the QR Decomposition (QR) of the given imput matrix.

Parameters
rInputMatrixMatrix to compute the QR decomposition

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >.

◆ Compute() [2/2]

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::Compute ( MatrixType rInputMatrix,
MatrixType rMatrixQ,
MatrixType rMatrixR 
)
pure virtual

Compute the QR Computes the QR (QR) of the given input matrix.

Parameters
rInputMatrixMatrix to compute the QR decomposition
rMatrixQUnitary matrix
rMatrixRUpper triangular matrix

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TDenseSpaceType >
Kratos::DenseQRDecomposition< TDenseSpaceType >::KRATOS_CLASS_POINTER_DEFINITION ( DenseQRDecomposition< TDenseSpaceType >  )

Definition of the shared pointer of the class.

◆ MatrixP()

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::MatrixP ( MatrixType rMatrixP) const
pure virtual

Pivoting matrix getter If computed, this method sets the pivoting matrix.

Parameters
rMatrixPPivoting matrix

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >.

◆ MatrixQ()

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::MatrixQ ( MatrixType rMatrixQ) const
pure virtual

Unitary matrix getter If computed, this method sets the unitary matrix in the provided array.

Parameters
rMatrixUUnitary matrix

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >.

◆ MatrixR()

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::MatrixR ( MatrixType rMatrixR) const
pure virtual

Upper triangular matrix getter If computed, this method sets the upper triangular matrix in the provided array.

Parameters
rMatrixVUpper triangular matrix

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >.

◆ Name()

template<class TDenseSpaceType >
static std::string Kratos::DenseQRDecomposition< TDenseSpaceType >::Name ( )
inlinestatic

Name of the QR Returns a string containing the name of the current QR decomposition.

Returns
std::string Name of the QR decomposition

◆ PrintInfo()

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::PrintInfo ( std::ostream &  rOStream) const
pure virtual

◆ Rank()

template<class TDenseSpaceType >
virtual std::size_t Kratos::DenseQRDecomposition< TDenseSpaceType >::Rank ( ) const
pure virtual

Rank of the provided array Calculates and returns the rank of the array decomposed with the QR.

Returns
std::size_t Rank of the provided array

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >, Kratos::EigenDenseHouseholderQRDecomposition< TDenseSpace >, and Kratos::EigenDenseColumnPivotingHouseholderQRDecomposition< TDenseSpace >.

◆ Solve() [1/2]

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::Solve ( const VectorType rB,
VectorType rX 
) const
pure virtual

Solves the problem Ax=b Being A the input matrix, this method solves the problem Ax = b.

Parameters
rBThe Right Hand Side (RHS) vector
rXThe solution vector

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >.

◆ Solve() [2/2]

template<class TDenseSpaceType >
virtual void Kratos::DenseQRDecomposition< TDenseSpaceType >::Solve ( MatrixType rB,
MatrixType rX 
) const
pure virtual

Solves the problem Ax=b Being A the input matrix, this method solves the problem Ax = b.

Parameters
rBThe Right Hand Side (RHS) matrix
rXThe solution matrix

Implemented in Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >.


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