Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar > Class Template Reference

Implicit concrete LinearOpWithSolveBase subclass that takes a flattended out multi-vector and performs a multi-RHS solve with it. More...

#include <Thyra_DefaultMultiVectorLinearOpWithSolve_decl.hpp>

Inheritance diagram for Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >:

(Note that these are not member symbols.)

template<class Scalar>
RCP< DefaultMultiVectorLinearOpWithSolve< Scalar > > multiVectorLinearOpWithSolve ()
 Nonmember constructor function.
template<class Scalar>
RCP< DefaultMultiVectorLinearOpWithSolve< Scalar > > nonconstMultiVectorLinearOpWithSolve (const RCP< LinearOpWithSolveBase< Scalar > > &lows, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Nonmember constructor function.
template<class Scalar>
RCP< DefaultMultiVectorLinearOpWithSolve< Scalar > > multiVectorLinearOpWithSolve (const RCP< const LinearOpWithSolveBase< Scalar > > &lows, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Nonmember constructor function.

Overridden from LinearOpWithSolveBase

bool solveSupportsImpl (EOpTransp M_trans) const
bool solveSupportsSolveMeasureTypeImpl (EOpTransp M_trans, const SolveMeasureType &solveMeasureType) const
SolveStatus< Scalar > solveImpl (const EOpTransp transp, const MultiVectorBase< Scalar > &B, const Ptr< MultiVectorBase< Scalar > > &X, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const

Constructors/initializers/accessors

 DefaultMultiVectorLinearOpWithSolve ()
 Construct to uninitialized.
void nonconstInitialize (const RCP< LinearOpWithSolveBase< Scalar > > &lows, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
void initialize (const RCP< const LinearOpWithSolveBase< Scalar > > &lows, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
RCP< LinearOpWithSolveBase< Scalar > > getNonconstLinearOpWithSolve ()
RCP< const LinearOpWithSolveBase< Scalar > > getLinearOpWithSolve () const
void uninitialize ()

Overridden from LinearOpBase

RCP< const VectorSpaceBase< Scalar > > range () const
RCP< const VectorSpaceBase< Scalar > > domain () const
RCP< const LinearOpBase< Scalar > > clone () const
bool opSupportedImpl (EOpTransp M_trans) const
void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const

Additional Inherited Members

bool solveSupports (EOpTransp transp) const
 Return if solve() supports the argument transp.
bool solveSupports (EOpTransp transp, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const
 Return if solve() supports a given transpose and solve criteria specification.
bool solveSupportsSolveMeasureType (EOpTransp transp, const SolveMeasureType &solveMeasureType) const
 Return if solve() supports the given the solve measure type.
SolveStatus< Scalar > solve (const EOpTransp A_trans, const MultiVectorBase< Scalar > &B, const Ptr< MultiVectorBase< Scalar > > &X, const Ptr< const SolveCriteria< Scalar > > solveCriteria=Teuchos::null) const
 Request the solution of a block linear system.
bool opSupported (EOpTransp M_trans) const
 Return if the M_trans operation of apply() is supported or not.
void apply (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 Apply the linear operator to a multi-vector : Y = alpha*op(M)*X + beta*Y.
virtual bool solveSupportsNewImpl (EOpTransp, const Ptr< const SolveCriteria< Scalar > >) const
 Virtual implementation of solveSupports().

Detailed Description

template<class Scalar>
class Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >

Implicit concrete LinearOpWithSolveBase subclass that takes a flattended out multi-vector and performs a multi-RHS solve with it.

ToDo: Finish documentation!

Definition at line 30 of file Thyra_DefaultMultiVectorLinearOpWithSolve_decl.hpp.

Constructor & Destructor Documentation

◆ DefaultMultiVectorLinearOpWithSolve()

template<class Scalar>
Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::DefaultMultiVectorLinearOpWithSolve ( )

Construct to uninitialized.

Definition at line 29 of file Thyra_DefaultMultiVectorLinearOpWithSolve_def.hpp.

Member Function Documentation

◆ nonconstInitialize()

template<class Scalar>
void Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::nonconstInitialize ( const RCP< LinearOpWithSolveBase< Scalar > > & lows,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )

◆ initialize()

template<class Scalar>
void Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::initialize ( const RCP< const LinearOpWithSolveBase< Scalar > > & lows,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )

◆ getNonconstLinearOpWithSolve()

template<class Scalar>
RCP< LinearOpWithSolveBase< Scalar > > Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::getNonconstLinearOpWithSolve ( )

◆ getLinearOpWithSolve()

template<class Scalar>
RCP< const LinearOpWithSolveBase< Scalar > > Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::getLinearOpWithSolve ( ) const

◆ uninitialize()

template<class Scalar>
void Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::uninitialize ( )

◆ range()

template<class Scalar>
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::range ( ) const
virtual

◆ domain()

template<class Scalar>
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::domain ( ) const
virtual

◆ clone()

template<class Scalar>
RCP< const LinearOpBase< Scalar > > Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::clone ( ) const
virtual

◆ opSupportedImpl()

template<class Scalar>
bool Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::opSupportedImpl ( EOpTransp M_trans) const
protectedvirtual

◆ applyImpl()

template<class Scalar>
void Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::applyImpl ( const EOpTransp M_trans,
const MultiVectorBase< Scalar > & X,
const Ptr< MultiVectorBase< Scalar > > & Y,
const Scalar alpha,
const Scalar beta ) const
protectedvirtual

◆ solveSupportsImpl()

template<class Scalar>
bool Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::solveSupportsImpl ( EOpTransp M_trans) const
protectedvirtual

◆ solveSupportsSolveMeasureTypeImpl()

template<class Scalar>
bool Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureTypeImpl ( EOpTransp M_trans,
const SolveMeasureType & solveMeasureType ) const
protectedvirtual

◆ solveImpl()

template<class Scalar>
SolveStatus< Scalar > Thyra::DefaultMultiVectorLinearOpWithSolve< Scalar >::solveImpl ( const EOpTransp transp,
const MultiVectorBase< Scalar > & B,
const Ptr< MultiVectorBase< Scalar > > & X,
const Ptr< const SolveCriteria< Scalar > > solveCriteria ) const
protectedvirtual

◆ multiVectorLinearOpWithSolve() [1/2]

template<class Scalar>
RCP< DefaultMultiVectorLinearOpWithSolve< Scalar > > multiVectorLinearOpWithSolve ( )
related

Nonmember constructor function.

Definition at line 150 of file Thyra_DefaultMultiVectorLinearOpWithSolve_decl.hpp.

◆ nonconstMultiVectorLinearOpWithSolve()

template<class Scalar>
RCP< DefaultMultiVectorLinearOpWithSolve< Scalar > > nonconstMultiVectorLinearOpWithSolve ( const RCP< LinearOpWithSolveBase< Scalar > > & lows,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )
related

Nonmember constructor function.

Definition at line 162 of file Thyra_DefaultMultiVectorLinearOpWithSolve_decl.hpp.

◆ multiVectorLinearOpWithSolve() [2/2]

template<class Scalar>
RCP< DefaultMultiVectorLinearOpWithSolve< Scalar > > multiVectorLinearOpWithSolve ( const RCP< const LinearOpWithSolveBase< Scalar > > & lows,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )
related

Nonmember constructor function.

Definition at line 181 of file Thyra_DefaultMultiVectorLinearOpWithSolve_decl.hpp.


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