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.
|
Utility to compute the condition number. More...
#include <condition_number_utility.h>
Public Member Functions | |
Operators | |
ConditionNumberUtility () | |
Default constructor. More... | |
ConditionNumberUtility (LinearSolverType::Pointer pEigenSolverMax, LinearSolverType::Pointer pEigenSolverMin) | |
Default constructor. More... | |
virtual | ~ConditionNumberUtility () |
Destructor. More... | |
Operations | |
double | GetConditionNumber (SparseMatrixType &rInputMatrix) |
This function computes using the inverse power method the minimal eigenvalue. More... | |
double | GetConditionNumber (SparseMatrixType &rInputMatrix, LinearSolverType::Pointer pEigenSolverMax, LinearSolverType::Pointer pEigenSolverMin) |
This function computes using the inverse power method the minimal eigenvalue. More... | |
Utility to compute the condition number.
This utility is used in order to compute the condition number of a sparse matrix. Please provide an eigensolver for the maximum and minimum eigenvalue or the power iterations solvers will be considered by default
The dense matrix.
The dense vector.
typedef std::size_t Kratos::ConditionNumberUtility::IndexType |
The index type.
typedef LinearSolver<SparseSpaceType, LocalSpaceType> Kratos::ConditionNumberUtility::LinearSolverType |
The definion of the linear solver.
The dense space considered.
typedef PowerIterationEigenvalueSolver<SparseSpaceType, LocalSpaceType, LinearSolverType > Kratos::ConditionNumberUtility::PowerIterationEigenvalueSolverType |
Power iteration solver for the lowest eigenvalue.
typedef PowerIterationHighestEigenvalueSolver<SparseSpaceType, LocalSpaceType, LinearSolverType > Kratos::ConditionNumberUtility::PowerIterationHighestEigenvalueSolverType |
Power iteration solver for the highest eigenvalue.
The reorder considered.
typedef std::size_t Kratos::ConditionNumberUtility::SizeType |
The sisze type.
typedef SkylineLUFactorizationSolver<SparseSpaceType, LocalSpaceType, ReordererType > Kratos::ConditionNumberUtility::SkylineLUFactorizationSolverType |
Skyline solver definion.
The compressed matrix.
typedef UblasSpace<double, CompressedMatrix, boost::numeric::ublas::vector<double> > Kratos::ConditionNumberUtility::SparseSpaceType |
The sparse space considered (the one containing the compressed matrix)
The vector considered.
|
inline |
Default constructor.
No eigen solvers provided, using the PowerIteration ones as default
|
inline |
Default constructor.
pEigenSolverMax | The eigensolver used to determine the highest eigen value |
pEigenSolverMin | The eigensolver used to determine the lowest eigen value |
|
inlinevirtual |
Destructor.
|
inline |
This function computes using the inverse power method the minimal eigenvalue.
rInputMatrix | The matrix to compute the eigenvalue |
|
inline |
This function computes using the inverse power method the minimal eigenvalue.
rInputMatrix | The matrix to compute the eigenvalue |
pEigenSolverMax | The solver to get the maximal eigen value |
pEigenSolverMin | The solver to get the minimal eigen value |
Kratos::ConditionNumberUtility::KRATOS_CLASS_POINTER_DEFINITION | ( | ConditionNumberUtility | ) |
Pointer definition of ConditionNumberUtility.