ug4
ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y > Class Template Reference

#include <schur_complement_inverse.h>

+ Inheritance diagram for ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >:

Public Member Functions

virtual void apply (Y &f, const X &u)
 
virtual void apply_sub (Y &f, const X &u)
 
virtual void calculate_matrix ()
 
virtual M & get_matrix ()
 
virtual void init ()
 init operator More...
 
virtual void init (const X &u)
 init operator depending on a function u More...
 
 SchurComplementMatrixOperator (SmartPtr< SchurComplementOperator< TAlgebra > > op)
 
void set_op (SmartPtr< SchurComplementOperator< TAlgebra > > op)
 
- Public Member Functions inherited from ug::MatrixOperator< M, X, X >
virtual void apply (X &f, const X &u)
 
virtual void apply_sub (X &f, const X &u)
 
- Public Member Functions inherited from ug::ILinearOperator< X, X >
virtual void prepare (X &u)
 default implementation for IOperator interface More...
 
virtual ~ILinearOperator ()
 virtual destructor More...
 
- Public Member Functions inherited from ug::IOperator< X, X >
virtual ~IOperator ()
 virtual destructor More...
 
- Public Member Functions inherited from ug::UpdateableMatrixOperator
virtual ~UpdateableMatrixOperator ()
 

Public Attributes

bool invalid
 

Private Types

typedef M matrix_type
 

Private Attributes

SmartPtr< SchurComplementOperator< TAlgebra > > m_op
 

Additional Inherited Members

- Public Types inherited from ug::MatrixOperator< M, X, X >
typedef X codomain_function_type
 
typedef X domain_function_type
 
typedef M matrix_type
 
- Public Types inherited from ug::ILinearOperator< X, X >
typedef X codomain_function_type
 Range space. More...
 
typedef X domain_function_type
 Domain space. More...
 
- Public Types inherited from ug::IOperator< X, X >
typedef X codomain_function_type
 Range space. More...
 
typedef X domain_function_type
 Domain space. More...
 

Member Typedef Documentation

◆ matrix_type

template<typename TAlgebra , typename M , typename X , typename Y = X>
typedef M ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::matrix_type
private

Constructor & Destructor Documentation

◆ SchurComplementMatrixOperator()

template<typename TAlgebra , typename M , typename X , typename Y = X>
ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::SchurComplementMatrixOperator ( SmartPtr< SchurComplementOperator< TAlgebra > >  op)
inline

Member Function Documentation

◆ apply()

template<typename TAlgebra , typename M , typename X , typename Y = X>
virtual void ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::apply ( Y &  f,
const X &  u 
)
inlinevirtual

◆ apply_sub()

template<typename TAlgebra , typename M , typename X , typename Y = X>
virtual void ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::apply_sub ( Y &  f,
const X &  u 
)
inlinevirtual

◆ calculate_matrix()

template<typename TAlgebra , typename M , typename X , typename Y = X>
virtual void ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::calculate_matrix ( )
inlinevirtual

◆ get_matrix()

template<typename TAlgebra , typename M , typename X , typename Y = X>
virtual M& ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::get_matrix ( )
inlinevirtual

◆ init() [1/2]

template<typename TAlgebra , typename M , typename X , typename Y = X>
virtual void ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init ( )
inlinevirtual

init operator

This method initializes the operator. Once initialized the 'apply'-method can be called. If the operator is a linearization this function returns false.

Returns
bool success flag

Reimplemented from ug::MatrixOperator< M, X, X >.

References ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::get_matrix(), ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::invalid, and ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::m_op.

Referenced by ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::calculate_matrix().

◆ init() [2/2]

template<typename TAlgebra , typename M , typename X , typename Y = X>
virtual void ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init ( const X &  u)
inlinevirtual

init operator depending on a function u

This method initializes the operator. Once initialized the 'apply'-method can be called. The function u is passed here, since the linear operator may be the linearization of some non-linear operator. Thus, the operator depends on the linearization point. If the operator is not a linearization, this method can be implemented by simply calling init() and forgetting about the linearization point.

Parameters
[in]ufunction (linearization point)
Returns
bool success flag

Reimplemented from ug::MatrixOperator< M, X, X >.

References ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init().

Referenced by ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init().

◆ set_op()

Member Data Documentation

◆ invalid

template<typename TAlgebra , typename M , typename X , typename Y = X>
bool ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::invalid

◆ m_op


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