Template Class BlockPreconditionerAugmentedLagrangian¶
Defined in File augmented_lagrangian_preconditioner.h
Class Documentation¶
-
template<typename VectorType, typename BlockVectorType = TrilinosWrappers::MPI::BlockVector>
class BlockPreconditionerAugmentedLagrangian¶ Two-by-two block preconditioner for augmented Lagrangian systems.
Public Functions
-
inline BlockPreconditionerAugmentedLagrangian(const LinearOperator<VectorType> Aug_inv_, const LinearOperator<VectorType> C_, const LinearOperator<VectorType> Ct_, const LinearOperator<VectorType> invW_, const double gamma_ = 1e1)¶
Build the block preconditioner from linear-operator building blocks.
-
inline void vmult(BlockVectorType &v, const BlockVectorType &u) const¶
Apply the block preconditioner to a two-block vector.
-
inline BlockPreconditionerAugmentedLagrangian(const LinearOperator<VectorType> Aug_inv_, const LinearOperator<VectorType> C_, const LinearOperator<VectorType> Ct_, const LinearOperator<VectorType> invW_, const double gamma_ = 1e1)¶