#include <blockop.hh>
Inheritance diagram for RVL::BlockLinearOp< Scalar >:
Public Member Functions | |
BlockLinearOp () | |
BlockLinearOp (const BlockLinearOp< Scalar > &) | |
virtual | ~BlockLinearOp () |
virtual const ProductSpace< Scalar > & | getProductDomain () const =0 |
access to domain as ProductSpace | |
const Space< Scalar > & | getDomain () const |
access to domain as Space - delegates to getProductDomain | |
virtual const ProductSpace< Scalar > & | getProductRange () const =0 |
access to range as ProductSpace | |
const Space< Scalar > & | getRange () const |
access to range as Space - delegates to getProductRange | |
Protected Member Functions | |
virtual void | apply (int i, int j, const Vector< Scalar > &xj, Vector< Scalar > &yi) const =0 |
apply A_{i,j} | |
virtual void | apply (Vector< Scalar > const &x, Vector< Scalar > &y) const |
virtual void | applyAdj (int i, int j, const Vector< Scalar > &yi, Vector< Scalar > &xj) const =0 |
apply A_{i,j}^* | |
virtual void | applyAdj (const Vector< Scalar > &y, Vector< Scalar > &x) const |
applyAdj() is implemented in terms of applyComponentAdj(). | |
virtual BlockLinearOp< Scalar > * | cloneBlockLinearOp () const =0 |
Primary clone method returns object of this type; parent clone method delegates. | |
LinearOp< Scalar > * | clone () const |
Friends | |
class | BlockLinearOpBlock< Scalar > |
Y.H. at Oct 22, 2014 Since there is no LinOpProdDom, need class with product domain as well - WWS 03.03.15
Definition at line 590 of file blockop.hh.
RVL::BlockLinearOp< Scalar >::BlockLinearOp | ( | ) |
Definition at line 656 of file blockop.hh.
RVL::BlockLinearOp< Scalar >::BlockLinearOp | ( | const BlockLinearOp< Scalar > & | ) |
Definition at line 657 of file blockop.hh.
virtual RVL::BlockLinearOp< Scalar >::~BlockLinearOp | ( | ) | [virtual] |
Definition at line 658 of file blockop.hh.
virtual void RVL::BlockLinearOp< Scalar >::apply | ( | int | i, | |
int | j, | |||
const Vector< Scalar > & | xj, | |||
Vector< Scalar > & | yi | |||
) | const [protected, pure virtual] |
apply A_{i,j}
Implemented in RVL::HessianEvaluation< Scalar >.
Referenced by RVL::BlockLinearOp< Scalar >::apply().
virtual void RVL::BlockLinearOp< Scalar >::apply | ( | Vector< Scalar > const & | x, | |
Vector< Scalar > & | y | |||
) | const [protected, virtual] |
Implements RVL::Operator< Scalar >.
Definition at line 601 of file blockop.hh.
References RVL::BlockLinearOp< Scalar >::apply().
virtual void RVL::BlockLinearOp< Scalar >::applyAdj | ( | int | i, | |
int | j, | |||
const Vector< Scalar > & | yi, | |||
Vector< Scalar > & | xj | |||
) | const [protected, pure virtual] |
apply A_{i,j}^*
Implemented in RVL::HessianEvaluation< Scalar >.
Referenced by RVL::BlockLinearOp< Scalar >::applyAdj().
virtual void RVL::BlockLinearOp< Scalar >::applyAdj | ( | const Vector< Scalar > & | y, | |
Vector< Scalar > & | x | |||
) | const [protected, virtual] |
applyAdj() is implemented in terms of applyComponentAdj().
Default implementation supplied, which may be overridden.
Implements RVL::LinearOp< Scalar >.
Definition at line 629 of file blockop.hh.
References RVL::BlockLinearOp< Scalar >::applyAdj(), and RVL::Components< Scalar >::getSize().
virtual BlockLinearOp<Scalar>* RVL::BlockLinearOp< Scalar >::cloneBlockLinearOp | ( | ) | const [protected, pure virtual] |
Primary clone method returns object of this type; parent clone method delegates.
Implemented in RVL::HessianEvaluation< Scalar >.
Referenced by RVL::BlockLinearOp< Scalar >::clone().
LinearOp<Scalar>* RVL::BlockLinearOp< Scalar >::clone | ( | ) | const [protected, virtual] |
Implements RVL::Operator< Scalar >.
Reimplemented in RVL::HessianEvaluation< Scalar >.
Definition at line 652 of file blockop.hh.
References RVL::BlockLinearOp< Scalar >::cloneBlockLinearOp().
virtual const ProductSpace<Scalar>& RVL::BlockLinearOp< Scalar >::getProductDomain | ( | ) | const [pure virtual] |
access to domain as ProductSpace
Implemented in RVL::HessianEvaluation< Scalar >.
Referenced by RVL::BlockLinearOp< Scalar >::getDomain().
const Space<Scalar>& RVL::BlockLinearOp< Scalar >::getDomain | ( | ) | const [virtual] |
access to domain as Space - delegates to getProductDomain
Implements RVL::Operator< Scalar >.
Reimplemented in RVL::HessianEvaluation< Scalar >.
Definition at line 663 of file blockop.hh.
References RVL::BlockLinearOp< Scalar >::getProductDomain().
virtual const ProductSpace<Scalar>& RVL::BlockLinearOp< Scalar >::getProductRange | ( | ) | const [pure virtual] |
access to range as ProductSpace
Implemented in RVL::HessianEvaluation< Scalar >.
Referenced by RVL::BlockLinearOp< Scalar >::getRange().
const Space<Scalar>& RVL::BlockLinearOp< Scalar >::getRange | ( | ) | const [virtual] |
access to range as Space - delegates to getProductRange
Implements RVL::Operator< Scalar >.
Reimplemented in RVL::HessianEvaluation< Scalar >.
Definition at line 669 of file blockop.hh.
References RVL::BlockLinearOp< Scalar >::getProductRange().
friend class BlockLinearOpBlock< Scalar > [friend] |
Definition at line 592 of file blockop.hh.