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::DenseHouseholderQRDecomposition< TDenseSpaceType > Class Template Reference

#include <dense_householder_qr_decomposition.h>

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

Public Member Functions

Life Cycle
 DenseHouseholderQRDecomposition ()=default
 
virtual ~DenseHouseholderQRDecomposition ()=default
 
- Public Member Functions inherited from Kratos::DenseQRDecomposition< TDenseSpaceType >
 DenseQRDecomposition ()=default
 
virtual ~DenseQRDecomposition ()=default
 
 KRATOS_CLASS_POINTER_DEFINITION (DenseQRDecomposition)
 Definition of the shared pointer of the class. More...
 

Type Definitions

using DataType = typename TDenseSpaceType::DataType
 
using VectorType = typename TDenseSpaceType::VectorType
 
using MatrixType = typename TDenseSpaceType::MatrixType
 
using AMGCLQRType = amgcl::detail::QR< DataType >
 
 KRATOS_CLASS_POINTER_DEFINITION (DenseHouseholderQRDecomposition)
 Definition of the shared pointer of the class. More...
 

Operations

void Compute (MatrixType &rInputMatrix) override
 Compute the QR Computes the QR Decomposition (QR) of the given imput matrix Note that the input matrix is modidifed. More...
 
void Compute (MatrixType &rInputMatrix, MatrixType &rMatrixQ, MatrixType &rMatrixR) override
 Compute the QR Computes the QR (QR) of the given input matrix Note that the input matrix is modidifed. More...
 
void Solve (MatrixType &rB, MatrixType &rX) const override
 Solves the problem Ax=b Being A the input matrix, this method solves the problem Ax = b. More...
 
void Solve (const VectorType &rB, VectorType &rX) const override
 Solves the problem Ax=b Being A the input matrix, this method solves the problem Ax = b. More...
 
void MatrixQ (MatrixType &rMatrixQ) const override
 Unitary matrix getter If computed, this method sets the unitary matrix in the provided array. More...
 
void MatrixR (MatrixType &rMatrixR) const override
 Upper triangular matrix getter If computed, this method sets the upper triangular matrix in the provided array. More...
 
void MatrixP (MatrixType &rMatrixP) const override
 Pivoting matrix getter If computed, this method sets the pivoting matrix. More...
 
std::size_t Rank () const override
 Rank of the provided array Calculates and returns the rank of the array decomposed with the QR. More...
 
void PrintInfo (std::ostream &rOStream) const override
 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...
 

Additional Inherited Members

- Public Types inherited from Kratos::DenseQRDecomposition< TDenseSpaceType >
typedef TDenseSpaceType::DataType DataType
 
typedef TDenseSpaceType::VectorType VectorType
 
typedef TDenseSpaceType::MatrixType MatrixType
 
- Static Public Member Functions inherited from Kratos::DenseQRDecomposition< TDenseSpaceType >
static std::string Name ()
 Name of the QR Returns a string containing the name of the current QR decomposition. More...
 

Member Typedef Documentation

◆ AMGCLQRType

template<class TDenseSpaceType >
using Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::AMGCLQRType = amgcl::detail::QR<DataType>

◆ DataType

template<class TDenseSpaceType >
using Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::DataType = typename TDenseSpaceType::DataType

◆ MatrixType

template<class TDenseSpaceType >
using Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::MatrixType = typename TDenseSpaceType::MatrixType

◆ VectorType

template<class TDenseSpaceType >
using Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::VectorType = typename TDenseSpaceType::VectorType

Constructor & Destructor Documentation

◆ DenseHouseholderQRDecomposition()

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

◆ ~DenseHouseholderQRDecomposition()

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

Member Function Documentation

◆ Compute() [1/2]

template<class TDenseSpaceType >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::Compute ( MatrixType rInputMatrix)
inlineoverridevirtual

Compute the QR Computes the QR Decomposition (QR) of the given imput matrix Note that the input matrix is modidifed.

Parameters
rInputMatrixMatrix to compute the QR decomposition

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ Compute() [2/2]

template<class TDenseSpaceType >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::Compute ( MatrixType rInputMatrix,
MatrixType rMatrixQ,
MatrixType rMatrixR 
)
inlineoverridevirtual

Compute the QR Computes the QR (QR) of the given input matrix Note that the input matrix is modidifed.

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

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Definition of the shared pointer of the class.

◆ MatrixP()

template<class TDenseSpaceType >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::MatrixP ( MatrixType rMatrixP) const
inlineoverridevirtual

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

Parameters
rMatrixPPivoting matrix

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ MatrixQ()

template<class TDenseSpaceType >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::MatrixQ ( MatrixType rMatrixQ) const
inlineoverridevirtual

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

Parameters
rMatrixQUnitary matrix

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ MatrixR()

template<class TDenseSpaceType >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::MatrixR ( MatrixType rMatrixR) const
inlineoverridevirtual

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

Parameters
rMatrixRUpper triangular matrix

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ Name()

template<class TDenseSpaceType >
static std::string Kratos::DenseHouseholderQRDecomposition< 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 >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

QR information Outputs the QR class information.

Parameters
rOStreamInformation output

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ Rank()

template<class TDenseSpaceType >
std::size_t Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::Rank ( ) const
inlineoverridevirtual

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

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ Solve() [1/2]

template<class TDenseSpaceType >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::Solve ( const VectorType rB,
VectorType rX 
) const
inlineoverridevirtual

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

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.

◆ Solve() [2/2]

template<class TDenseSpaceType >
void Kratos::DenseHouseholderQRDecomposition< TDenseSpaceType >::Solve ( MatrixType rB,
MatrixType rX 
) const
inlineoverridevirtual

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

Implements Kratos::DenseQRDecomposition< TDenseSpaceType >.


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