Public Member Functions | Private Attributes
TSFExtended::InverseLTIOp< Scalar > Class Template Reference

InverseLTIOp encapsulates a block operator representation of timestepping for a linear, time-invariant system of ODEs. More...

Inheritance diagram for TSFExtended::InverseLTIOp< Scalar >:
LinearOpBase TSFExtended::HomogeneouslyBlockedLinearOp< Scalar > TSFExtended::SimplifiedLinearOpBase< Scalar > LinearOpBase TSFExtended::OpWithBackwardsCompatibleApply< Scalar > LinearOpBase Sundance::DefaultObjectWithVerbosity Sundance::ObjectWithVerbosityBase

List of all members.

Public Member Functions

 InverseLTIOp (int numTimesteps, const LinearOperator< Scalar > &A, const LinearOperator< Scalar > &At)
 Construct a InverseLTIOp that takes <t>numTimesteps</t> steps with the operator $ A$.
void applyOp (const Thyra::EOpTransp M_trans, const Vector< Scalar > &in, Vector< Scalar > out) const
 Apply the operator.

Private Attributes

LinearOperator< Scalar > A_
LinearOperator< Scalar > At_

Detailed Description

template<class Scalar>
class TSFExtended::InverseLTIOp< Scalar >

InverseLTIOp encapsulates a block operator representation of timestepping for a linear, time-invariant system of ODEs.

The ODEs are replaced by a discrete-time system

\[ {\bf x}_{k+1} = {\bf A} \cdot {\bf x}_k. \]

This can be written as the block system

\[ \left[ \begin{array}{cccc} I & 0 & 0 & \cdots \\ -A & I & 0 & \\ 0 & -A & I & \\ \vdots & & & \ddots \end{array} \right] \left[\begin{array}{c} x_0 \\ x_1 \\ x_2 \\ \vdots \end{array}\right] = \left[\begin{array}{c} x_0 \\ 0 \\ 0 \\ \vdots \end{array}\right] \]

. The inner matrix $ A$ depends on the timestepping algorithm used as well as the system of ODEs.

This class solves the system by backsubstitution.

Definition at line 70 of file TSFInverseLTIOp.hpp.


Constructor & Destructor Documentation

template<class Scalar >
TSFExtended::InverseLTIOp< Scalar >::InverseLTIOp ( int  numTimesteps,
const LinearOperator< Scalar > &  A,
const LinearOperator< Scalar > &  At 
) [inline]

Construct a InverseLTIOp that takes <t>numTimesteps</t> steps with the operator $ A$.

Definition at line 81 of file TSFInverseLTIOp.hpp.


Member Function Documentation

template<class Scalar >
void TSFExtended::InverseLTIOp< Scalar >::applyOp ( const Thyra::EOpTransp  M_trans,
const Vector< Scalar > &  in,
Vector< Scalar >  out 
) const [inline, virtual]

Member Data Documentation

template<class Scalar >
LinearOperator<Scalar> TSFExtended::InverseLTIOp< Scalar >::A_ [private]

Definition at line 149 of file TSFInverseLTIOp.hpp.

template<class Scalar >
LinearOperator<Scalar> TSFExtended::InverseLTIOp< Scalar >::At_ [private]

Definition at line 150 of file TSFInverseLTIOp.hpp.

Site Contact