RVL::CompLinearOp< Scalar > Class Template Reference

Composition of linear operators $ Op_1, Op_2 \mapsto Op_2 \circ Op_1 $ (so subscripts indicate order of evaluation - that's how the constructor is organized). More...

#include <linop_apps.hh>

Inheritance diagram for RVL::CompLinearOp< Scalar >:

RVL::LinearOp< Scalar > RVL::Operator< Scalar > RVL::Writeable List of all members.

Public Member Functions

 CompLinearOp ()
 CompLinearOp (LinearOp< Scalar > const &_op1, LinearOp< Scalar > const &_op2)
 CompLinearOp (CompLinearOp const &op)
void setNext (LinearOp< Scalar > const &lop)
const Space< Scalar > & getDomain () const
const Space< Scalar > & getRange () const
ostream & write (ostream &str) const

Protected Member Functions

virtual LinearOp< Scalar > * clone () const
void apply (const Vector< Scalar > &x, Vector< Scalar > &y) const
void applyAdj (const Vector< Scalar > &x, Vector< Scalar > &y) const

Detailed Description

template<class Scalar>
class RVL::CompLinearOp< Scalar >

Composition of linear operators $ Op_1, Op_2 \mapsto Op_2 \circ Op_1 $ (so subscripts indicate order of evaluation - that's how the constructor is organized).

Alignment of domains and ranges checked as part of construction.

Definition at line 46 of file linop_apps.hh.


Constructor & Destructor Documentation

template<class Scalar>
RVL::CompLinearOp< Scalar >::CompLinearOp (  ) 

Definition at line 129 of file linop_apps.hh.

template<class Scalar>
RVL::CompLinearOp< Scalar >::CompLinearOp ( LinearOp< Scalar > const &  _op1,
LinearOp< Scalar > const &  _op2 
)

Definition at line 131 of file linop_apps.hh.

References RVL::CompLinearOp< Scalar >::getDomain(), and RVL::CompLinearOp< Scalar >::getRange().

template<class Scalar>
RVL::CompLinearOp< Scalar >::CompLinearOp ( CompLinearOp< Scalar > const &  op  ) 

Definition at line 166 of file linop_apps.hh.

References RVL::CompLinearOp< Scalar >::ops.


Member Function Documentation

template<class Scalar>
virtual LinearOp<Scalar>* RVL::CompLinearOp< Scalar >::clone (  )  const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 55 of file linop_apps.hh.

template<class Scalar>
void RVL::CompLinearOp< Scalar >::apply ( const Vector< Scalar > &  x,
Vector< Scalar > &  y 
) const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 59 of file linop_apps.hh.

References RVL::LinearOp< Scalar >::applyOp(), RVL::CompLinearOp< Scalar >::getRange(), and RVL::Vector< Scalar >::newPtr().

template<class Scalar>
void RVL::CompLinearOp< Scalar >::applyAdj ( const Vector< Scalar > &  x,
Vector< Scalar > &  y 
) const [protected, virtual]

Implements RVL::LinearOp< Scalar >.

Definition at line 93 of file linop_apps.hh.

References RVL::LinearOp< Scalar >::applyAdjOp(), RVL::CompLinearOp< Scalar >::getDomain(), RVL::CompLinearOp< Scalar >::getRange(), and RVL::Vector< Scalar >::newPtr().

template<class Scalar>
void RVL::CompLinearOp< Scalar >::setNext ( LinearOp< Scalar > const &  lop  ) 

Definition at line 173 of file linop_apps.hh.

References RVL::Operator< Scalar >::getDomain().

template<class Scalar>
const Space<Scalar>& RVL::CompLinearOp< Scalar >::getDomain (  )  const [virtual]

Implements RVL::Operator< Scalar >.

Definition at line 196 of file linop_apps.hh.

Referenced by RVL::CompLinearOp< Scalar >::applyAdj(), and RVL::CompLinearOp< Scalar >::CompLinearOp().

template<class Scalar>
const Space<Scalar>& RVL::CompLinearOp< Scalar >::getRange (  )  const [virtual]

Implements RVL::Operator< Scalar >.

Definition at line 200 of file linop_apps.hh.

Referenced by RVL::CompLinearOp< Scalar >::apply(), RVL::CompLinearOp< Scalar >::applyAdj(), and RVL::CompLinearOp< Scalar >::CompLinearOp().

template<class Scalar>
ostream& RVL::CompLinearOp< Scalar >::write ( ostream &  str  )  const [virtual]

Implements RVL::Writeable.

Definition at line 204 of file linop_apps.hh.


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for RVL by  doxygen 1.4.7