Thyra Version of the Day
Loading...
Searching...
No Matches
Related Functions | List of all members
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 >:
Inheritance graph
[legend]

Related Functions

(Note that these are not member functions.)

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

- Public Member Functions inherited from Thyra::LinearOpWithSolveBase< Scalar >
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.
 
- Public Member Functions inherited from Thyra::LinearOpBase< Scalar >
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).
 
- Protected Member Functions inherited from Thyra::LinearOpWithSolveBase< Scalar >
virtual bool solveSupportsNewImpl (EOpTransp, const Ptr< const SolveCriteria< Scalar > >) const
 Virtual implementation of solveSupports().
 
- Protected Member Functions inherited from Thyra::LinearOpBase< Scalar >

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 91 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

◆ range()

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

◆ domain()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultSerialDenseLinearOpWithSolve< Scalar >::domain
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

Friends And Related Function Documentation

◆ defaultSerialDenseLinearOpWithSolve() [1/2]

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

Nonmember constructor.

Definition at line 195 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 207 of file Thyra_DefaultSerialDenseLinearOpWithSolve_decl.hpp.


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