RVL::ScaleOpInv< Scalar > Class Template Reference

ScaleOpInv implementing the linear operator $ x\mapsto \frac{1}{a}x $ where $ a $ is a scalar. More...

#include <linop_base.hh>

Inheritance diagram for RVL::ScaleOpInv< Scalar >:

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

Public Member Functions

 ScaleOpInv (const LinearOp< Scalar > &op, Scalar _mu)
 ScaleOpInv (const ScaleOpFwd< Scalar > &op)
 ~ScaleOpInv ()
const Space< Scalar > & getDomain () const
const Space< Scalar > & getRange () const
Scalar getScale () const
void setScale (Scalar _mu)
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::ScaleOpInv< Scalar >

ScaleOpInv implementing the linear operator $ x\mapsto \frac{1}{a}x $ where $ a $ is a scalar.

It is built using the corresponding forward scale operator and offers the same methods as ScaleOpFwd does.

Definition at line 827 of file linop_base.hh.


Constructor & Destructor Documentation

template<class Scalar>
RVL::ScaleOpInv< Scalar >::ScaleOpInv ( const LinearOp< Scalar > &  op,
Scalar  _mu 
)

Definition at line 873 of file linop_base.hh.

References RVL::ProtectedDivision().

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

Definition at line 884 of file linop_base.hh.

References RVL::ScaleOpFwd< Scalar >::getScale(), RVL::ProtectedDivision(), and RVL::ScaleOpFwd< Scalar >::write().

template<class Scalar>
RVL::ScaleOpInv< Scalar >::~ScaleOpInv (  ) 

Definition at line 897 of file linop_base.hh.


Member Function Documentation

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

Implements RVL::Operator< Scalar >.

Definition at line 840 of file linop_base.hh.

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

Implements RVL::Operator< Scalar >.

Definition at line 844 of file linop_base.hh.

References RVL::Vector< Scalar >::copy(), RVL::Vector< Scalar >::scale(), and RVL::Vector< Scalar >::zero().

Referenced by RVL::ScaleOpInv< Scalar >::applyAdj().

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

Implements RVL::LinearOp< Scalar >.

Definition at line 860 of file linop_base.hh.

References RVL::ScaleOpInv< Scalar >::apply().

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

Implements RVL::Operator< Scalar >.

Definition at line 899 of file linop_base.hh.

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

Implements RVL::Operator< Scalar >.

Definition at line 900 of file linop_base.hh.

template<class Scalar>
Scalar RVL::ScaleOpInv< Scalar >::getScale (  )  const

Definition at line 902 of file linop_base.hh.

template<class Scalar>
void RVL::ScaleOpInv< Scalar >::setScale ( Scalar  _mu  ) 

Definition at line 903 of file linop_base.hh.

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

Implements RVL::Writeable.

Definition at line 905 of file linop_base.hh.


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