![]() |
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.
|
#include <eigen_dense_jacobi_svd_decomposition.h>
Public Member Functions | |
Life Cycle | |
| EigenDenseJacobiSVD ()=default | |
Public Member Functions inherited from Kratos::DenseSingularValueDecomposition< TDenseSpace > | |
| DenseSingularValueDecomposition ()=default | |
| virtual | ~DenseSingularValueDecomposition ()=default |
| KRATOS_CLASS_POINTER_DEFINITION (DenseSingularValueDecomposition) | |
| Definition of the shared pointer of the class. More... | |
| virtual void | Compute (MatrixType &rInputMatrix, Parameters Settings)=0 |
| Compute the SVD Computes the Singular Value Decomposition (SVD) of the given imput matrix. More... | |
| virtual void | Compute (MatrixType &rInputMatrix, VectorType &rVectorS, MatrixType &rMatrixU, MatrixType &rMatrixV, Parameters Settings)=0 |
| Compute the SVD Computes the Singular Value Decomposition (SVD) of the given input matrix. More... | |
| virtual void | MatrixU (MatrixType &rMatrixU)=0 |
| Left singular vectors matrix getter If computed, this method sets the left singular vectors matrix in the provided array. More... | |
| virtual void | MatrixV (MatrixType &rMatrixV)=0 |
| Right singular vectors matrix getter If computed, this method sets the right singular vectors matrix in the provided array Note that this method is understood to return V (not its transpose). This means that this matrix needs to be transposed in order to reconstruct the input matrix. More... | |
| virtual void | SingularValues (VectorType &rVectorS)=0 |
| Singular values vector getter This method sets the singular values vector in the provided array. More... | |
Type Definitions | |
| typedef TDenseSpace::DataType | DataType |
| typedef TDenseSpace::VectorType | VectorType |
| typedef TDenseSpace::MatrixType | MatrixType |
| using | EigenVector = Kratos::EigenDynamicVector< DataType > |
| using | EigenMatrix = Kratos::EigenDynamicMatrix< DataType > |
| using | DecompositionOptions = Eigen::DecompositionOptions |
| KRATOS_CLASS_POINTER_DEFINITION (EigenDenseJacobiSVD) | |
| Definition of the shared pointer of the class. More... | |
Operations | |
| void | Compute (MatrixType &rInputMatrix, Parameters Settings) override |
| void | Compute (MatrixType &rInputMatrix, VectorType &rVectorS, MatrixType &rMatrixU, MatrixType &rMatrixV, Parameters Settings) override |
| void | MatrixU (MatrixType &rMatrixU) override |
| void | MatrixV (MatrixType &rMatrixV) override |
| void | SingularValues (VectorType &rVectorS) override |
| std::size_t | NonZeroSingularValues () override |
| Number of non-zero singular values This method returns the number of non-zero singular values. More... | |
| void | SetThreshold (const double RelTolerance) override |
| Set the relative threshold tolerance This method sets the relative threshold tolerance to consider singular values as non-zero This is required by some methods like Rank() or Solve(), which is not available yet Non-zero values are checed as sing_val > rel_tol * max_sing_val. More... | |
| std::size_t | Rank () override |
| Rank of the provided array Calculates and returns the rank of the array decomposed with the SVD. More... | |
| void | PrintInfo (std::ostream &rOStream) const override |
| SVD information Outputs the SVD class information. More... | |
| static std::string | Name () |
Additional Inherited Members | |
Public Types inherited from Kratos::DenseSingularValueDecomposition< TDenseSpace > | |
| typedef TDenseSpaceType::DataType | DataType |
| typedef TDenseSpaceType::VectorType | VectorType |
| typedef TDenseSpaceType::MatrixType | MatrixType |
Static Public Member Functions inherited from Kratos::DenseSingularValueDecomposition< TDenseSpace > | |
| static std::string | Name () |
| Name of the SVD Returns a string containing the name of the current SVD decomposition. More... | |
| typedef TDenseSpace::DataType Kratos::EigenDenseJacobiSVD< TDenseSpace >::DataType |
| using Kratos::EigenDenseJacobiSVD< TDenseSpace >::DecompositionOptions = Eigen::DecompositionOptions |
| using Kratos::EigenDenseJacobiSVD< TDenseSpace >::EigenMatrix = Kratos::EigenDynamicMatrix<DataType> |
| using Kratos::EigenDenseJacobiSVD< TDenseSpace >::EigenVector = Kratos::EigenDynamicVector<DataType> |
| typedef TDenseSpace::MatrixType Kratos::EigenDenseJacobiSVD< TDenseSpace >::MatrixType |
| typedef TDenseSpace::VectorType Kratos::EigenDenseJacobiSVD< TDenseSpace >::VectorType |
|
default |
|
inlineoverride |
|
inlineoverride |
| Kratos::EigenDenseJacobiSVD< TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION | ( | EigenDenseJacobiSVD< TDenseSpace > | ) |
Definition of the shared pointer of the class.
|
inlineoverride |
|
inlineoverride |
|
inlinestatic |
|
inlineoverridevirtual |
Number of non-zero singular values This method returns the number of non-zero singular values.
Implements Kratos::DenseSingularValueDecomposition< TDenseSpace >.
|
inlineoverridevirtual |
SVD information Outputs the SVD class information.
| rOStream | Information output |
Implements Kratos::DenseSingularValueDecomposition< TDenseSpace >.
|
inlineoverridevirtual |
Rank of the provided array Calculates and returns the rank of the array decomposed with the SVD.
Implements Kratos::DenseSingularValueDecomposition< TDenseSpace >.
|
inlineoverridevirtual |
Set the relative threshold tolerance This method sets the relative threshold tolerance to consider singular values as non-zero This is required by some methods like Rank() or Solve(), which is not available yet Non-zero values are checed as sing_val > rel_tol * max_sing_val.
| RelTolerance |
Implements Kratos::DenseSingularValueDecomposition< TDenseSpace >.
|
inlineoverride |