Thyra
Version of the Day
|
Simple example subclass for serial tridiagonal matrices. More...
#include <ExampleTridiagSerialLinearOp.hpp>
Public Member Functions | |
ExampleTridiagSerialLinearOp () | |
Construct to uninitialized. More... | |
ExampleTridiagSerialLinearOp (const Thyra::Ordinal dim, const Teuchos::ArrayView< const Scalar > &lower, const Teuchos::ArrayView< const Scalar > &diag, const Teuchos::ArrayView< const Scalar > &upper) | |
initialize() . More... | |
void | initialize (const Thyra::Ordinal dim, const Teuchos::ArrayView< const Scalar > &lower, const Teuchos::ArrayView< const Scalar > &diag, const Teuchos::ArrayView< const Scalar > &upper) |
Public Member Functions inherited from Thyra::LinearOpDefaultBase< Scalar > | |
std::string | description () const |
Default description that gives the label, type, and dimenstion . More... | |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
Generates a default outputting for all linear operators. More... | |
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. More... | |
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 . More... | |
virtual RCP< const LinearOpBase< Scalar > > | clone () const |
Clone the linear operator object (if supported). More... | |
Protected Member Functions | |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | range () const |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | domain () const |
bool | opSupportedImpl (Thyra::EOpTransp M_trans) const |
void | applyImpl (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< Scalar > &X_in, const Teuchos::Ptr< Thyra::MultiVectorBase< Scalar > > &Y_inout, const Scalar alpha, const Scalar beta) const |
Protected Member Functions inherited from Thyra::LinearOpBase< Scalar > |
Additional Inherited Members | |
Related Functions inherited from Thyra::LinearOpBase< Scalar > | |
template<class Scalar > | |
bool | isFullyUninitialized (const LinearOpBase< Scalar > &M) |
Determines if a linear operator is in the "Fully Uninitialized" state or not. More... | |
template<class Scalar > | |
bool | isPartiallyInitialized (const LinearOpBase< Scalar > &M) |
Determines if a linear operator is in the "Partially Initialized" state or not. More... | |
template<class Scalar > | |
bool | isFullyInitialized (const LinearOpBase< Scalar > &M) |
Determines if a linear operator is in the "Fully Initialized" state or not. More... | |
template<class Scalar > | |
bool | opSupported (const LinearOpBase< Scalar > &M, EOpTransp M_trans) |
Determines if an operation is supported for a single scalar type. More... | |
template<class Scalar > | |
void | apply (const LinearOpBase< Scalar > &M, const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha=static_cast< Scalar >(1.0), const Scalar beta=static_cast< Scalar >(0.0)) |
Non-member function call for M.apply(...) . More... | |
void | apply (const LinearOpBase< double > &M, const EOpTransp M_trans, const MultiVectorBase< double > &X, const Ptr< MultiVectorBase< double > > &Y, const double alpha=1.0, const double beta=0.0) |
Calls apply<double>(...) . More... | |
Simple example subclass for serial tridiagonal matrices.
This subclass form a linear operator for tridiagonal matrices of the form:
given the arrays lower[]
, diag[]
, and upper[]
of dimension dim-1
, dim
and dim-1
respectively (see initialize()
).
See the source code for this simple example by clicking on the link to the definition below.
Definition at line 47 of file ExampleTridiagSerialLinearOp.hpp.
|
inline |
Construct to uninitialized.
Definition at line 52 of file ExampleTridiagSerialLinearOp.hpp.
|
inline |
Definition at line 55 of file ExampleTridiagSerialLinearOp.hpp.
|
inline |
Initialize given lower, diagonal and upper arrays of data.
dim | [in] Dimension of this matrix (must be >= 2). |
lower | [in] Array (length dim-1 ) of the lower diagonal elements |
diag | [in] Array (length dim ) of the central diagonal elements |
upper | [in] Array (length dim-1 ) of the upper diagonal elements |
Preconditions:
dim >= 2
Postconditions:
Definition at line 84 of file ExampleTridiagSerialLinearOp.hpp.
|
inlineprotectedvirtual |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 103 of file ExampleTridiagSerialLinearOp.hpp.
|
inlineprotectedvirtual |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 107 of file ExampleTridiagSerialLinearOp.hpp.
|
inlineprotectedvirtual |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 111 of file ExampleTridiagSerialLinearOp.hpp.
|
protectedvirtual |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 134 of file ExampleTridiagSerialLinearOp.hpp.