RVL::DiagOp< Scalar > Class Template Reference

Explicit BlockOp construction for 2x2 diagonal. More...

#include <blockop.hh>

Inheritance diagram for RVL::DiagOp< Scalar >:

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

Public Member Functions

 DiagOp (size_t nfac)
 DiagOp (DiagOp< Scalar > const &x)
 ~DiagOp ()
void set (Operator< Scalar > const &a, size_t i)
Space< Scalar > const & getDomain () const
Space< Scalar > const & getRange () const
ostream & write (ostream &str) const

Protected Member Functions

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

Detailed Description

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

Explicit BlockOp construction for 2x2 diagonal.

Delivered as Op rather than BlockOp to avoid any inefficient access to off-diag componennts.

Definition at line 361 of file blockop.hh.


Constructor & Destructor Documentation

template<typename Scalar>
RVL::DiagOp< Scalar >::DiagOp ( size_t  nfac  ) 

Definition at line 542 of file blockop.hh.

template<typename Scalar>
RVL::DiagOp< Scalar >::DiagOp ( DiagOp< Scalar > const &  x  ) 

Definition at line 545 of file blockop.hh.

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

Definition at line 548 of file blockop.hh.


Member Function Documentation

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

Implements RVL::Operator< Scalar >.

Definition at line 379 of file blockop.hh.

References RVL::Components< Scalar >::getSize().

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

Implements RVL::Operator< Scalar >.

Definition at line 408 of file blockop.hh.

References RVL::Components< Scalar >::getSize().

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

Implements RVL::Operator< Scalar >.

Definition at line 438 of file blockop.hh.

References RVL::Components< Scalar >::getSize().

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

Reimplemented from RVL::Operator< Scalar >.

Definition at line 469 of file blockop.hh.

References RVL::Components< Scalar >::getSize().

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

Reimplemented from RVL::Operator< Scalar >.

Definition at line 503 of file blockop.hh.

References RVL::Components< Scalar >::getSize().

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

Implements RVL::Operator< Scalar >.

Definition at line 538 of file blockop.hh.

template<typename Scalar>
void RVL::DiagOp< Scalar >::set ( Operator< Scalar > const &  a,
size_t  i 
)

Definition at line 550 of file blockop.hh.

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

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

Implements RVL::Operator< Scalar >.

Definition at line 562 of file blockop.hh.

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

Implements RVL::Operator< Scalar >.

Definition at line 563 of file blockop.hh.

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

Implements RVL::Writeable.

Definition at line 565 of file blockop.hh.


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