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

Simple concreate subclass of LinearOpWithSolveBase for serial dense matrices implemented using LAPACK. More...

#include <Thyra_DefaultSerialDenseLinearOpWithSolve_decl.hpp>

Inheritance diagram for Thyra::DefaultSerialDenseLinearOpWithSolve< Scalar >:

(Note that these are not member symbols.)

template<class Scalar>
RCP< DefaultSerialDenseLinearOpWithSolve< Scalar > > defaultSerialDenseLinearOpWithSolve ()
 Nonmember constructor.
template<class Scalar>
RCP< DefaultSerialDenseLinearOpWithSolve< Scalar > > defaultSerialDenseLinearOpWithSolve (const RCP< const MultiVectorBase< Scalar > > &M)
 Nonmember constructor.

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

 DefaultSerialDenseLinearOpWithSolve ()
void initialize (const RCP< const MultiVectorBase< Scalar > > &M)
RCP< const LinearOpBase< Scalar > > getFwdOp () const

Overridden from LinearOpBase

RCP< const VectorSpaceBase< Scalar > > range () const
RCP< const VectorSpaceBase< Scalar > > domain () 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 RCP< const LinearOpBase< Scalar > > clone () const
 Clone the linear operator object (if supported).
virtual bool solveSupportsNewImpl (EOpTransp, const Ptr< const SolveCriteria< Scalar > >) const
 Virtual implementation of solveSupports().

Detailed Description

template<class Scalar>
class Thyra::DefaultSerialDenseLinearOpWithSolve< Scalar >

Simple concreate subclass of LinearOpWithSolveBase for serial dense matrices implemented using LAPACK.

This class uses the helper class DetachedMultiVectorView to extract an explicit view of the matrix elements and then uses Teuchos::LAPACK to factor M = L * U and then do back-solves with the factors L and U.

Even through this class accesses explicit matrix entries and is called SerialDense, it is still considered an ANA subclass since it does not have any direct dependance on a specific computing environment or concreate operator/vector/vectorspace implementation.

ToDo: Finish Documentation!

Definition at line 58 of file Thyra_DefaultSerialDenseLinearOpWithSolve_decl.hpp.

Constructor & Destructor Documentation

◆ DefaultSerialDenseLinearOpWithSolve()

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

Member Function Documentation

◆ initialize()

template<class Scalar>
void Thyra::DefaultSerialDenseLinearOpWithSolve< Scalar >::initialize ( const RCP< const MultiVectorBase< Scalar > > & M)

◆ getFwdOp()

template<class Scalar>
RCP< const LinearOpBase< Scalar > > Thyra::DefaultSerialDenseLinearOpWithSolve< Scalar >::getFwdOp ( ) const

◆ range()

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

◆ domain()

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

◆ opSupportedImpl()

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

◆ applyImpl()

template<class Scalar>
void Thyra::DefaultSerialDenseLinearOpWithSolve< 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::DefaultSerialDenseLinearOpWithSolve< Scalar >::solveSupportsImpl ( EOpTransp M_trans) const
protectedvirtual

◆ solveSupportsSolveMeasureTypeImpl()

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

◆ solveImpl()

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

◆ defaultSerialDenseLinearOpWithSolve() [1/2]

template<class Scalar>
RCP< DefaultSerialDenseLinearOpWithSolve< Scalar > > defaultSerialDenseLinearOpWithSolve ( )
related

Nonmember constructor.

Definition at line 162 of file Thyra_DefaultSerialDenseLinearOpWithSolve_decl.hpp.

◆ defaultSerialDenseLinearOpWithSolve() [2/2]

template<class Scalar>
RCP< DefaultSerialDenseLinearOpWithSolve< Scalar > > defaultSerialDenseLinearOpWithSolve ( const RCP< const MultiVectorBase< Scalar > > & M)
related

Nonmember constructor.

Definition at line 174 of file Thyra_DefaultSerialDenseLinearOpWithSolve_decl.hpp.


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