RVL::RestrictOp< Scalar > Class Template Reference

restriction, or partial evaluation, of an operator on a product space. More...

#include <op.hh>

Inheritance diagram for RVL::RestrictOp< Scalar >:

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

Public Member Functions

 RestrictOp (OperatorProductDomain< Scalar > const &_f, Vector< Scalar > const &x0, int _i)
 main constructor:
 RestrictOp (RestrictOp< Scalar > const &g)
 ~RestrictOp ()
Space< Scalar > const & getDomain () const
Space< Scalar > const & getRange () const
Scalar getMaxStep (const Vector< Scalar > &x, const Vector< Scalar > &dx) const
ostream & write (ostream &str) const

Protected Member Functions

void apply (Vector< Scalar > const &x, Vector< Scalar > &y) const
void applyDeriv (Vector< Scalar > const &x, Vector< Scalar > const &dx, Vector< Scalar > &dy) const
void applyAdjDeriv (Vector< Scalar > const &x, Vector< Scalar > const &dy, Vector< Scalar > &dx) const
void applyDeriv2 (Vector< Scalar > const &x, Vector< Scalar > const &dx0, Vector< Scalar > const &dx1, Vector< Scalar > &dy) const
void applyAdjDeriv2 (Vector< Scalar > const &x, Vector< Scalar > const &dy, Vector< Scalar > const &dx1, Vector< Scalar > &dx0) const
Operator< Scalar > * clone () const

Detailed Description

template<typename Scalar>
class RVL::RestrictOp< Scalar >

restriction, or partial evaluation, of an operator on a product space.

At the moment limited fixing all but one factor of domain.

Definition at line 528 of file op.hh.


Constructor & Destructor Documentation

template<typename Scalar>
RVL::RestrictOp< Scalar >::RestrictOp ( OperatorProductDomain< Scalar > const &  _f,
Vector< Scalar > const &  x0,
int  _i 
)

main constructor:

Parameters:
_f = operaator to be restricted
_x = vector in domain, all components except ith to be fixed
_i = index of domain space of restriction

Definition at line 622 of file op.hh.

References RVL::Vector< Scalar >::getSpace().

template<typename Scalar>
RVL::RestrictOp< Scalar >::RestrictOp ( RestrictOp< Scalar > const &  g  ) 

Definition at line 645 of file op.hh.

template<typename Scalar>
RVL::RestrictOp< Scalar >::~RestrictOp (  ) 

Definition at line 647 of file op.hh.


Member Function Documentation

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

Implements RVL::Operator< Scalar >.

Definition at line 545 of file op.hh.

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

template<typename Scalar>
void RVL::RestrictOp< Scalar >::applyDeriv ( Vector< Scalar > const &  x,
Vector< Scalar > const &  dx,
Vector< Scalar > &  dy 
) const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 557 of file op.hh.

References RVL::OperatorProductDomain< Scalar >::export_applyPartialDeriv().

template<typename Scalar>
void RVL::RestrictOp< Scalar >::applyAdjDeriv ( Vector< Scalar > const &  x,
Vector< Scalar > const &  dy,
Vector< Scalar > &  dx 
) const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 570 of file op.hh.

References RVL::OperatorProductDomain< Scalar >::export_applyAdjPartialDeriv().

template<typename Scalar>
void RVL::RestrictOp< Scalar >::applyDeriv2 ( Vector< Scalar > const &  x,
Vector< Scalar > const &  dx0,
Vector< Scalar > const &  dx1,
Vector< Scalar > &  dy 
) const [protected, virtual]

Reimplemented from RVL::Operator< Scalar >.

Definition at line 583 of file op.hh.

References RVL::OperatorProductDomain< Scalar >::export_applyPartialDeriv2().

template<typename Scalar>
void RVL::RestrictOp< Scalar >::applyAdjDeriv2 ( Vector< Scalar > const &  x,
Vector< Scalar > const &  dy,
Vector< Scalar > const &  dx1,
Vector< Scalar > &  dx0 
) const [protected, virtual]

Reimplemented from RVL::Operator< Scalar >.

Definition at line 597 of file op.hh.

References RVL::OperatorProductDomain< Scalar >::export_applyAdjPartialDeriv2().

template<typename Scalar>
Operator<Scalar>* RVL::RestrictOp< Scalar >::clone (  )  const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 611 of file op.hh.

template<typename Scalar>
Space<Scalar> const& RVL::RestrictOp< Scalar >::getDomain (  )  const [virtual]

Implements RVL::Operator< Scalar >.

Definition at line 649 of file op.hh.

template<typename Scalar>
Space<Scalar> const& RVL::RestrictOp< Scalar >::getRange (  )  const [virtual]

Implements RVL::Operator< Scalar >.

Definition at line 650 of file op.hh.

template<typename Scalar>
Scalar RVL::RestrictOp< Scalar >::getMaxStep ( const Vector< Scalar > &  x,
const Vector< Scalar > &  dx 
) const [virtual]

Reimplemented from RVL::Operator< Scalar >.

Definition at line 652 of file op.hh.

References RVL::Vector< Scalar >::copy().

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

Implements RVL::Writeable.

Definition at line 668 of file op.hh.


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