KASKADE 7 development version
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Kaskade::DirectBlockSchurSolver< Factorization, VariableSet > Class Template Reference

#include <schur_solver.hh>

Detailed Description

template<class Factorization, class VariableSet>
class Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >

Definition at line 142 of file schur_solver.hh.

Inheritance diagram for Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >:
Kaskade::AbstractNormalDirection

Public Types

typedef VariableSet::Descriptions::template CoefficientVectorRepresentation ::type Domain
 
typedef Domain Range
 

Public Member Functions

 DirectBlockSchurSolver (bool doregularize=false)
 
virtual void pre (Domain &x, Range &b)
 
virtual void apply (Domain &v, const Range &d)
 
virtual void post (Domain &x)
 
void onChangedLinearization ()
 
void flushFactorization ()
 
void resetParameters (BlockSchurParameters const &p_)
 
virtual void computeCorrectionAndAdjointCorrection (AbstractVector &correction, AbstractVector &adjointCorrection, AbstractLinearization &linearization)
 
virtual void computeSimplifiedCorrection (AbstractVector &correction, AbstractLinearization const &lin) const
 
void ordinaryAndAdjoint (AbstractFunctionSpaceElement &correction, AbstractFunctionSpaceElement &adjointCorrection, AbstractLinearization &linearization, AbstractFunctionSpaceElement *correctionResidual=nullptr, AbstractFunctionSpaceElement *adjointResidual=nullptr)
 
void simplified (AbstractFunctionSpaceElement &correction, AbstractLinearization const &linearization, AbstractFunctionSpaceElement *residual=nullptr) const
 
virtual void setRelativeAccuracy (double accuracy)
 
virtual void setEps (double)
 

Public Attributes

int start1
 
int end1
 
int start2
 
int end2
 
int start3
 
int end3
 
bool report
 

Static Public Attributes

static const bool needMatrix = true
 needs a matrix More...
 

Member Typedef Documentation

◆ Domain

template<class Factorization , class VariableSet >
typedef VariableSet::Descriptions::template CoefficientVectorRepresentation ::type Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::Domain

Definition at line 146 of file schur_solver.hh.

◆ Range

Definition at line 147 of file schur_solver.hh.

Constructor & Destructor Documentation

◆ DirectBlockSchurSolver()

template<class Factorization , class VariableSet >
Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::DirectBlockSchurSolver ( bool  doregularize = false)
inline

Definition at line 154 of file schur_solver.hh.

Member Function Documentation

◆ apply()

template<class Factorization , class VariableSet >
virtual void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::apply ( Domain v,
const Range d 
)
inlinevirtual

Definition at line 163 of file schur_solver.hh.

◆ computeCorrectionAndAdjointCorrection()

template<class Factorization , class VariableSet >
virtual void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::computeCorrectionAndAdjointCorrection ( AbstractVector &  correction,
AbstractVector &  adjointCorrection,
AbstractLinearization linearization 
)
inlinevirtual

Definition at line 194 of file schur_solver.hh.

◆ computeSimplifiedCorrection()

template<class Factorization , class VariableSet >
virtual void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::computeSimplifiedCorrection ( AbstractVector &  correction,
AbstractLinearization const &  lin 
) const
inlinevirtual

Definition at line 216 of file schur_solver.hh.

◆ flushFactorization()

template<class Factorization , class VariableSet >
void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::flushFactorization ( )
inline

◆ onChangedLinearization()

template<class Factorization , class VariableSet >
void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::onChangedLinearization ( )
inline

Definition at line 179 of file schur_solver.hh.

◆ ordinaryAndAdjoint()

void Kaskade::AbstractNormalDirection::ordinaryAndAdjoint ( AbstractFunctionSpaceElement correction,
AbstractFunctionSpaceElement adjointCorrection,
AbstractLinearization linearization,
AbstractFunctionSpaceElement correctionResidual = nullptr,
AbstractFunctionSpaceElement adjointResidual = nullptr 
)
inlineinherited

compute min 1/2 <dn,dn> s.t. c'(x_0)dn+c(x_0)=0 compute Lagrangemultiplier for: min 1/2 <w,w>+f'(x_0) s.t. c'(x_0)w=0 performs factorization uses normal linearization at x_0

Definition at line 67 of file opt_interface.hh.

◆ post()

template<class Factorization , class VariableSet >
virtual void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::post ( Domain x)
inlinevirtual

Definition at line 177 of file schur_solver.hh.

◆ pre()

template<class Factorization , class VariableSet >
virtual void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::pre ( Domain x,
Range b 
)
inlinevirtual

Definition at line 161 of file schur_solver.hh.

◆ resetParameters()

template<class Factorization , class VariableSet >
void Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::resetParameters ( BlockSchurParameters const &  p_)
inline

Definition at line 192 of file schur_solver.hh.

◆ setEps()

virtual void Kaskade::AbstractNormalDirection::setEps ( double  )
inlinevirtualinherited

◆ setRelativeAccuracy()

virtual void Kaskade::AbstractNormalDirection::setRelativeAccuracy ( double  accuracy)
inlinevirtualinherited

◆ simplified()

void Kaskade::AbstractNormalDirection::simplified ( AbstractFunctionSpaceElement correction,
AbstractLinearization const &  linearization,
AbstractFunctionSpaceElement residual = nullptr 
) const
inlineinherited

compute min 1/2 <dn,dn> s.t. c'(x_0)dn+c(x)=0 reuses factorization from ordinary(...) or ordinaryAndAdjoint(...) linearization at x

Definition at line 73 of file opt_interface.hh.

Member Data Documentation

◆ end1

◆ end2

◆ end3

◆ needMatrix

template<class Factorization , class VariableSet >
const bool Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::needMatrix = true
static

needs a matrix

Definition at line 152 of file schur_solver.hh.

◆ report

Definition at line 190 of file schur_solver.hh.

◆ start1

◆ start2

◆ start3


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