FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Solver::HessianPrecond< Operator_, Filter_ > Class Template Referenceabstract

Preconditioner that applies the inverse of an operator's Hessian. More...

#include <hessian_precond.hpp>

Inheritance diagram for FEAT::Solver::HessianPrecond< Operator_, Filter_ >:
FEAT::Solver::NLOptPrecond< Operator_::VectorType, Filter_ > FEAT::Solver::SolverBase< Vector_ >

Public Types

typedef Filter_ FilterType
 Type of the filter. More...
 
typedef Operator_::VectorType VectorType
 Floating point data type. More...
 

Public Member Functions

virtual Status apply (Vector_ &vec_cor, const Vector_ &vec_def)=0
 Solver application method. More...
 
virtual Status apply (VectorType &vec_cor, const VectorType &vec_def) override=0
 Applies the preconditioner. More...
 
virtual void done ()
 Finalization method. More...
 
virtual void done_numeric ()
 Numeric finalization method. More...
 
virtual void done_symbolic ()
 Symbolic finalization method. More...
 
virtual String info () const
 Returns information. More...
 
virtual void init ()
 Initialization method. More...
 
virtual void init_numeric ()
 Numeric initialization method. More...
 
virtual void init_symbolic ()
 Symbolic initialization method. More...
 
virtual String name () const override=0
 Returns a descriptive String. More...
 
virtual void prepare (const VectorType &vec_state, FilterType &filter)=0
 Prepares the preconditioner for application. More...
 

Detailed Description

template<typename Operator_, typename Filter_>
class FEAT::Solver::HessianPrecond< Operator_, Filter_ >

Preconditioner that applies the inverse of an operator's Hessian.

Template Parameters
Operator_The operater whose Hessian is used.
Filter_The filter for the preconditioner.
See also
Solver::NLOptPrecond

Note that only specializations in Operator_ are implemented at the moment.

Author
Jordi Paul

Definition at line 36 of file hessian_precond.hpp.

Member Typedef Documentation

◆ FilterType

typedef Filter_ FEAT::Solver::NLOptPrecond< Operator_::VectorType , Filter_ >::FilterType
inherited

Type of the filter.

Definition at line 38 of file nlopt_precond.hpp.

◆ VectorType

typedef Operator_::VectorType FEAT::Solver::NLOptPrecond< Operator_::VectorType , Filter_ >::VectorType
inherited

Floating point data type.

Definition at line 36 of file nlopt_precond.hpp.

Member Function Documentation

◆ apply() [1/2]

template<typename Vector_ >
virtual Status FEAT::Solver::SolverBase< Vector_ >::apply ( Vector_ &  vec_cor,
const Vector_ &  vec_def 
)
pure virtualinherited

Solver application method.

This method applies the solver represented by this object onto a given defect vector and returns the corresponding correction vector.

Note
Solvers which derive from the IterativeSolver base class also provide a correct() method which corrects an initial solution instead of starting with the null vector.
Parameters
[out]vec_corThe vector that shall receive the solution of the linear system. It is assumed to be allocated, but its numerical contents may be undefined upon calling this method.
[in]vec_defThe vector that represents the right-hand-side of the linear system to be solved.
Attention
vec_cor and vec_def must not refer to the same vector object!
Returns
A Status code that represents the status of the solution step.

Implemented in FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::CuSolverLU, FEAT::Solver::CuSolverQR, FEAT::Solver::ScalePrecond< Vector_, Filter_ >, FEAT::Solver::DiagonalPrecond< Vector_, Filter_ >, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::NLOptPrecond< VectorType_, FilterType_ >, FEAT::Solver::AmaVanka< Matrix_, Filter_ >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, and FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >.

Referenced by FEAT::Solver::solve().

◆ apply() [2/2]

virtual Status FEAT::Solver::NLOptPrecond< Operator_::VectorType , Filter_ >::apply ( VectorType vec_cor,
const VectorType vec_def 
)
overridepure virtualinherited

Applies the preconditioner.

Parameters
[in,out]vec_corThis holds the initial guess and will be overwritten by the solution.
[in]vec_defThe right hand side the preconditioner is applied to.

Usually this will apply some kind of solver.

Returns
The Solver::Status of the application of the preconditioner.

◆ done()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::done ( )
inlinevirtualinherited

Finalization method.

This function performs both the symbolic and numeric finalization, i.e. it simply performs

this->done_numeric();
this->done_symbolic();

Definition at line 283 of file base.hpp.

References FEAT::Solver::SolverBase< Vector_ >::done_numeric(), and FEAT::Solver::SolverBase< Vector_ >::done_symbolic().

◆ done_numeric()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::done_numeric ( )
inlinevirtualinherited

Numeric finalization method.

This method is called to release any data allocated in the numeric initialization step.

Reimplemented in FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, FEAT::Solver::CUDSS, FEAT::Solver::DirectStokesSolver< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, LAFEM::TupleFilter< FilterV_, FilterP_ > >, FEAT::Solver::DirectStokesSolver< Global::Matrix< LocalMatrix_, Mirror_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >, FEAT::Solver::EuclidPrecond< Matrix_, Filter_ >, FEAT::Solver::BoomerAMG< Matrix_, Filter_ >, FEAT::Solver::PreconditionedIterativeSolver< Vector_ >, FEAT::Solver::PreconditionedIterativeSolver< Matrix_::VectorTypeR >, FEAT::Solver::PreconditionedIterativeSolver< Functional_::VectorTypeR >, FEAT::Solver::MKLDSS, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::PCGNR< Matrix_, Filter_ >, FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::Umfpack, FEAT::Solver::UmfpackMean, FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >, FEAT::Solver::GenericUmfpack< Matrix_ >, FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, and FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >.

Definition at line 246 of file base.hpp.

Referenced by FEAT::Solver::SolverBase< Vector_ >::done(), FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::done_numeric(), FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::done_numeric(), FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::done_numeric(), FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >::done_numeric(), FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >::done_numeric(), FEAT::Solver::PreconditionedIterativeSolver< Vector_ >::done_numeric(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::done_numeric(), FEAT::Solver::PCGNR< Matrix_, Filter_ >::done_numeric(), FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::done_numeric(), FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::done_numeric(), and FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::done_numeric().

◆ done_symbolic()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::done_symbolic ( )
inlinevirtualinherited

Symbolic finalization method.

This method is called to release any data allocated in the symbolic initialization step.

Reimplemented in FEAT::Solver::ALGLIBMinLBFGS< Functional_, Filter_ >, FEAT::Solver::ALGLIBMinCG< Functional_, Filter_ >, FEAT::Solver::AmaVanka< Matrix_, Filter_ >, FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::BiCGStab< Matrix_, Filter_ >, FEAT::Solver::BiCGStabL< Matrix_, Filter_ >, FEAT::Solver::Chebyshev< Matrix_, Filter_ >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, FEAT::Solver::CUDSS, FEAT::Solver::Descent< Matrix_, Filter_ >, FEAT::Solver::DirectStokesSolver< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, LAFEM::TupleFilter< FilterV_, FilterP_ > >, FEAT::Solver::DirectStokesSolver< Global::Matrix< LocalMatrix_, Mirror_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::FGMRES< Matrix_, Filter_ >, FEAT::Solver::GMRES< Matrix_, Filter_ >, FEAT::Solver::GroppPCG< Matrix_, Filter_ >, FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >, FEAT::Solver::IDRS< Matrix_, Filter_ >, FEAT::Solver::ILUPrecond< Matrix_, Filter_ >, FEAT::Solver::PreconditionedIterativeSolver< Vector_ >, FEAT::Solver::PreconditionedIterativeSolver< Matrix_::VectorTypeR >, FEAT::Solver::PreconditionedIterativeSolver< Functional_::VectorTypeR >, FEAT::Solver::JacobiPrecond< Matrix_, Filter_ >, FEAT::Solver::Linesearch< Functional_, Filter_ >, FEAT::Solver::MatrixPrecond< Matrix_, Filter_ >, FEAT::Solver::MKLDSS, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::NLCG< Functional_, Filter_ >, FEAT::Solver::NLSD< Functional_, Filter_ >, FEAT::Solver::PCG< Matrix_, Filter_ >, FEAT::Solver::PCGNR< Matrix_, Filter_ >, FEAT::Solver::PCGNRILU< Matrix_, Filter_ >, FEAT::Solver::PCR< Matrix_, Filter_ >, FEAT::Solver::PipePCG< Matrix_, Filter_ >, FEAT::Solver::PMR< Matrix_, Filter_ >, FEAT::Solver::PolynomialPrecond< Matrix_, Filter_ >, FEAT::Solver::PSD< Matrix_, Filter_ >, FEAT::Solver::QPenalty< Functional_ >, FEAT::Solver::RBiCGStab< Matrix_, Filter_ >, FEAT::Solver::RGCR< Matrix_, Filter_ >, FEAT::Solver::Richardson< Matrix_, Filter_ >, FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::SORPrecond< Matrix_, Filter_ >, FEAT::Solver::SSORPrecond< Matrix_, Filter_ >, FEAT::Solver::SuperLU< Matrix_, Filter_ >, FEAT::Solver::Umfpack, FEAT::Solver::UmfpackMean, FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >, FEAT::Solver::GenericUmfpack< Matrix_ >, FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >, and FEAT::Solver::VoxelAmaVanka< Matrix_, Filter_, pol_threading_, macro_type_ >.

Definition at line 255 of file base.hpp.

Referenced by FEAT::Solver::SolverBase< Vector_ >::done(), FEAT::Solver::ALGLIBMinLBFGS< Functional_, Filter_ >::done_symbolic(), FEAT::Solver::ALGLIBMinCG< Functional_, Filter_ >::done_symbolic(), FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::done_symbolic(), FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::done_symbolic(), FEAT::Solver::Chebyshev< Matrix_, Filter_ >::done_symbolic(), FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::done_symbolic(), FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >::done_symbolic(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::done_symbolic(), FEAT::Solver::PreconditionedIterativeSolver< Vector_ >::done_symbolic(), FEAT::Solver::Linesearch< Functional_, Filter_ >::done_symbolic(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::done_symbolic(), FEAT::Solver::NLCG< Functional_, Filter_ >::done_symbolic(), FEAT::Solver::NLSD< Functional_, Filter_ >::done_symbolic(), FEAT::Solver::PCGNR< Matrix_, Filter_ >::done_symbolic(), FEAT::Solver::PCGNRILU< Matrix_, Filter_ >::done_symbolic(), FEAT::Solver::QPenalty< Functional_ >::done_symbolic(), FEAT::Solver::SuperLU< Matrix_, Filter_ >::done_symbolic(), FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::done_symbolic(), FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::done_symbolic(), and FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::done_symbolic().

◆ info()

virtual String FEAT::Solver::NLOptPrecond< Operator_::VectorType , Filter_ >::info ( ) const
inlinevirtualinherited

Returns information.

Definition at line 92 of file nlopt_precond.hpp.

◆ init()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::init ( )
inlinevirtualinherited

Initialization method.

This function performs both the symbolic and numeric initialization, i.e. it simply performs

this->init_symbolic();
this->init_numeric();

Definition at line 268 of file base.hpp.

References FEAT::Solver::SolverBase< Vector_ >::init_numeric(), and FEAT::Solver::SolverBase< Vector_ >::init_symbolic().

◆ init_numeric()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::init_numeric ( )
inlinevirtualinherited

Numeric initialization method.

This method is called to perform numeric initialization of the solver.
Before this function can be called, the symbolic initialization must be performed.

Reimplemented in FEAT::Solver::AmaVanka< Matrix_, Filter_ >, FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::Chebyshev< Matrix_, Filter_ >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, FEAT::Solver::CUDSS, FEAT::Solver::DirectStokesSolver< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, LAFEM::TupleFilter< FilterV_, FilterP_ > >, FEAT::Solver::DirectStokesSolver< Global::Matrix< LocalMatrix_, Mirror_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >, FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >, FEAT::Solver::EuclidPrecond< Matrix_, Filter_ >, FEAT::Solver::BoomerAMG< Matrix_, Filter_ >, FEAT::Solver::ILUPrecond< Matrix_, Filter_ >, FEAT::Solver::PreconditionedIterativeSolver< Vector_ >, FEAT::Solver::PreconditionedIterativeSolver< Matrix_::VectorTypeR >, FEAT::Solver::PreconditionedIterativeSolver< Functional_::VectorTypeR >, FEAT::Solver::JacobiPrecond< Matrix_, Filter_ >, FEAT::Solver::MatrixPrecond< Matrix_, Filter_ >, FEAT::Solver::MKLDSS, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::NonlinearOperatorPrecondWrapper< NonlinearOperator_ >, FEAT::Solver::PCGNR< Matrix_, Filter_ >, FEAT::Solver::PCGNRILU< Matrix_, Filter_ >, FEAT::Solver::PolynomialPrecond< Matrix_, Filter_ >, FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::SuperLU< Matrix_, Filter_ >, FEAT::Solver::Umfpack, FEAT::Solver::UmfpackMean, FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >, FEAT::Solver::GenericUmfpack< Matrix_ >, FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >, and FEAT::Solver::VoxelAmaVanka< Matrix_, Filter_, pol_threading_, macro_type_ >.

Definition at line 237 of file base.hpp.

Referenced by FEAT::Solver::SolverBase< Vector_ >::init(), FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::init_numeric(), FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::init_numeric(), FEAT::Solver::Chebyshev< Matrix_, Filter_ >::init_numeric(), FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::init_numeric(), FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >::init_numeric(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_numeric(), FEAT::Solver::PreconditionedIterativeSolver< Vector_ >::init_numeric(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::init_numeric(), FEAT::Solver::PCGNR< Matrix_, Filter_ >::init_numeric(), FEAT::Solver::PCGNRILU< Matrix_, Filter_ >::init_numeric(), FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_numeric(), FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::init_numeric(), FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::init_numeric(), FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::init_numeric(), and FEAT::Solver::VoxelAmaVanka< Matrix_, Filter_, pol_threading_, macro_type_ >::init_numeric().

◆ init_symbolic()

template<typename Vector_ >
virtual void FEAT::Solver::SolverBase< Vector_ >::init_symbolic ( )
inlinevirtualinherited

Symbolic initialization method.

This method is called to perform symbolic initialization of the solver.

Reimplemented in FEAT::Solver::ALGLIBMinLBFGS< Functional_, Filter_ >, FEAT::Solver::ALGLIBMinCG< Functional_, Filter_ >, FEAT::Solver::AmaVanka< Matrix_, Filter_ >, FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::BiCGStab< Matrix_, Filter_ >, FEAT::Solver::BiCGStabL< Matrix_, Filter_ >, FEAT::Solver::Chebyshev< Matrix_, Filter_ >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, FEAT::Solver::CUDSS, FEAT::Solver::Descent< Matrix_, Filter_ >, FEAT::Solver::DirectStokesSolver< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, LAFEM::TupleFilter< FilterV_, FilterP_ > >, FEAT::Solver::DirectStokesSolver< Global::Matrix< LocalMatrix_, Mirror_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::FGMRES< Matrix_, Filter_ >, FEAT::Solver::GMRES< Matrix_, Filter_ >, FEAT::Solver::GroppPCG< Matrix_, Filter_ >, FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >, FEAT::Solver::IDRS< Matrix_, Filter_ >, FEAT::Solver::ILUPrecond< Matrix_, Filter_ >, FEAT::Solver::PreconditionedIterativeSolver< Vector_ >, FEAT::Solver::PreconditionedIterativeSolver< Matrix_::VectorTypeR >, FEAT::Solver::PreconditionedIterativeSolver< Functional_::VectorTypeR >, FEAT::Solver::JacobiPrecond< Matrix_, Filter_ >, FEAT::Solver::Linesearch< Functional_, Filter_ >, FEAT::Solver::MatrixPrecond< Matrix_, Filter_ >, FEAT::Solver::MKLDSS, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::NLCG< Functional_, Filter_ >, FEAT::Solver::NLSD< Functional_, Filter_ >, FEAT::Solver::PCG< Matrix_, Filter_ >, FEAT::Solver::PCGNR< Matrix_, Filter_ >, FEAT::Solver::PCGNRILU< Matrix_, Filter_ >, FEAT::Solver::PCR< Matrix_, Filter_ >, FEAT::Solver::PipePCG< Matrix_, Filter_ >, FEAT::Solver::PMR< Matrix_, Filter_ >, FEAT::Solver::PolynomialPrecond< Matrix_, Filter_ >, FEAT::Solver::PSD< Matrix_, Filter_ >, FEAT::Solver::QPenalty< Functional_ >, FEAT::Solver::RBiCGStab< Matrix_, Filter_ >, FEAT::Solver::RGCR< Matrix_, Filter_ >, FEAT::Solver::Richardson< Matrix_, Filter_ >, FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::SORPrecond< Matrix_, Filter_ >, FEAT::Solver::SSORPrecond< Matrix_, Filter_ >, FEAT::Solver::SuperLU< Matrix_, Filter_ >, FEAT::Solver::Umfpack, FEAT::Solver::UmfpackMean, FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >, FEAT::Solver::GenericUmfpack< Matrix_ >, FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >, FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >, FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >, and FEAT::Solver::VoxelAmaVanka< Matrix_, Filter_, pol_threading_, macro_type_ >.

Definition at line 227 of file base.hpp.

Referenced by FEAT::Solver::SolverBase< Vector_ >::init(), FEAT::Solver::ALGLIBMinLBFGS< Functional_, Filter_ >::init_symbolic(), FEAT::Solver::ALGLIBMinCG< Functional_, Filter_ >::init_symbolic(), FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::init_symbolic(), FEAT::Solver::BFBT< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::init_symbolic(), FEAT::Solver::Chebyshev< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::init_symbolic(), FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >::init_symbolic(), FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), FEAT::Solver::PreconditionedIterativeSolver< Vector_ >::init_symbolic(), FEAT::Solver::Linesearch< Functional_, Filter_ >::init_symbolic(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::init_symbolic(), FEAT::Solver::NLCG< Functional_, Filter_ >::init_symbolic(), FEAT::Solver::NLSD< Functional_, Filter_ >::init_symbolic(), FEAT::Solver::PCGNR< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::PCGNRILU< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::QPenalty< Functional_ >::init_symbolic(), FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic(), FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::init_symbolic(), FEAT::Solver::UzawaPrecond< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >::init_symbolic(), and FEAT::Solver::UzawaPrecond< Global::Matrix< MatrixA_, MirrorV_, MirrorV_ >, Global::Matrix< MatrixB_, MirrorV_, MirrorP_ >, Global::Matrix< MatrixD_, MirrorP_, MirrorV_ >, Global::Filter< FilterV_, MirrorV_ >, Global::Filter< FilterP_, MirrorP_ > >::init_symbolic().

◆ name()

virtual String FEAT::Solver::NLOptPrecond< Operator_::VectorType , Filter_ >::name ( ) const
overridepure virtualinherited

Returns a descriptive String.

Returns
The class name as String.

Implements FEAT::Solver::SolverBase< Vector_ >.

◆ prepare()

virtual void FEAT::Solver::NLOptPrecond< Operator_::VectorType , Filter_ >::prepare ( const VectorType vec_state,
FilterType filter 
)
pure virtualinherited

Prepares the preconditioner for application.

Parameters
[in]vec_stateThe state variable.
[in,out]filterThe filter that in general will be assembled by this routine.

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