Operator with product domain presumed to be linear in last component, from which a linear operator may be conveniently extracted by restriction. More...
#include <op.hh>
Protected Member Functions | |
virtual void | apply0 (const Vector< Scalar > &x0, const Vector< Scalar > &x1, Vector< Scalar > &y) const =0 |
![]() | |
virtual void | applyAdj0 (const Vector< Scalar > &x0, const Vector< Scalar > &y, Vector< Scalar > &x1) const =0 |
![]() ![]() | |
virtual void | applyPartialDeriv0 (const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dx0, Vector< Scalar > &dy) const =0 |
![]() | |
virtual void | applyAdjPartialDeriv0 (const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dy, Vector< Scalar > &dx0) const =0 |
adjoint of ![]() | |
virtual void | applyAdjPartialDeriv1 (const Vector< Scalar > &x0, const Vector< Scalar > &dx0, const Vector< Scalar > &dy, Vector< Scalar > &x1) const |
adjoint of ![]() | |
virtual void | applyPartialDeriv20 (const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dx00, const Vector< Scalar > &dx01, Vector< Scalar > &dy) const |
virtual void | applyAdjPartialDeriv20 (const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dy, const Vector< Scalar > &dx01, Vector< Scalar > &dx00) const |
void | apply (Vector< Scalar > const &x, Vector< Scalar > &y) const |
void | applyPartialDeriv (int i, const Vector< Scalar > &x, const Vector< Scalar > &dxi, Vector< Scalar > &dy) const |
void | applyAdjPartialDeriv (int i, const Vector< Scalar > &x, const Vector< Scalar > &dy, Vector< Scalar > &dxi) const |
void | applyPartialDeriv2 (int i, int j, const Vector< Scalar > &x, const Vector< Scalar > &dxi, const Vector< Scalar > &dxj, Vector< Scalar > &dy) const |
void | applyAdjPartialDeriv2 (int i, int j, const Vector< Scalar > &x, const Vector< Scalar > &dy, const Vector< Scalar > &dxj, Vector< Scalar > &dxi) const |
Static Protected Member Functions | |
static void | export_apply0 (LinOpValOp< Scalar > const &op, const Vector< Scalar > &x0, const Vector< Scalar > &x1, Vector< Scalar > &y) |
static void | export_applyAdj0 (LinOpValOp< Scalar > const &op, const Vector< Scalar > &x0, const Vector< Scalar > &y, Vector< Scalar > &x1) |
static void | export_applyPartialDeriv0 (LinOpValOp< Scalar > const &op, const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dx0, Vector< Scalar > &dy) |
static void | export_applyAdjPartialDeriv0 (LinOpValOp< Scalar > const &op, const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dy, Vector< Scalar > &dx0) |
static void | export_applyAdjPartialDeriv1 (LinOpValOp< Scalar > const &op, const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dy, Vector< Scalar > &dx0) |
static void | export_applyPartialDeriv20 (LinOpValOp< Scalar > const &op, const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dx00, const Vector< Scalar > &dx01, Vector< Scalar > &dy) |
static void | export_applyAdjPartialDeriv20 (LinOpValOp< Scalar > const &op, const Vector< Scalar > &x0, const Vector< Scalar > &x1, const Vector< Scalar > &dy, const Vector< Scalar > &dx01, Vector< Scalar > &dx00) |
Friends | |
class | LinearRestrictOp< Scalar > |
Operator with product domain presumed to be linear in last component, from which a linear operator may be conveniently extracted by restriction.
The only essential additional attribute is an adjoint application method for the last component. Currently restricted to two components (either or both of which may themselves be products of course). Concrete implementations of some methods provided.
In comments below will write rather than
to emphasize assumed linearity of
in 2nd arg.
Definition at line 694 of file op.hh.
virtual void RVL::LinOpValOp< Scalar >::apply0 | ( | const Vector< Scalar > & | x0, | |
const Vector< Scalar > & | x1, | |||
Vector< Scalar > & | y | |||
) | const [protected, pure virtual] |
virtual void RVL::LinOpValOp< Scalar >::applyAdj0 | ( | const Vector< Scalar > & | x0, | |
const Vector< Scalar > & | y, | |||
Vector< Scalar > & | x1 | |||
) | const [protected, pure virtual] |
= adjoint of
Implemented in RVL::ConstLinOpValOp< Scalar >, RVL::TangentMap< Scalar >, RVL::CompLOVOp< Scalar >, and RVL::LinCompLOVOp< Scalar >.
virtual void RVL::LinOpValOp< Scalar >::applyPartialDeriv0 | ( | const Vector< Scalar > & | x0, | |
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dx0, | |||
Vector< Scalar > & | dy | |||
) | const [protected, pure virtual] |
virtual void RVL::LinOpValOp< Scalar >::applyAdjPartialDeriv0 | ( | const Vector< Scalar > & | x0, | |
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dy, | |||
Vector< Scalar > & | dx0 | |||
) | const [protected, pure virtual] |
adjoint of
Implemented in RVL::ConstLinOpValOp< Scalar >, RVL::TangentMap< Scalar >, RVL::CompLOVOp< Scalar >, and RVL::LinCompLOVOp< Scalar >.
virtual void RVL::LinOpValOp< Scalar >::applyAdjPartialDeriv1 | ( | const Vector< Scalar > & | x0, | |
const Vector< Scalar > & | dx0, | |||
const Vector< Scalar > & | dy, | |||
Vector< Scalar > & | x1 | |||
) | const [protected, virtual] |
virtual void RVL::LinOpValOp< Scalar >::applyPartialDeriv20 | ( | const Vector< Scalar > & | x0, | |
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dx00, | |||
const Vector< Scalar > & | dx01, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
Reimplemented in RVL::ConstLinOpValOp< Scalar >, RVL::TangentMap< Scalar >, RVL::CompLOVOp< Scalar >, and RVL::LinCompLOVOp< Scalar >.
virtual void RVL::LinOpValOp< Scalar >::applyAdjPartialDeriv20 | ( | const Vector< Scalar > & | x0, | |
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dy, | |||
const Vector< Scalar > & | dx01, | |||
Vector< Scalar > & | dx00 | |||
) | const [protected, virtual] |
Reimplemented in RVL::ConstLinOpValOp< Scalar >, RVL::TangentMap< Scalar >, RVL::CompLOVOp< Scalar >, and RVL::LinCompLOVOp< Scalar >.
static void RVL::LinOpValOp< Scalar >::export_apply0 | ( | LinOpValOp< Scalar > const & | op, | |
const Vector< Scalar > & | x0, | |||
const Vector< Scalar > & | x1, | |||
Vector< Scalar > & | y | |||
) | [static, protected] |
static void RVL::LinOpValOp< Scalar >::export_applyAdj0 | ( | LinOpValOp< Scalar > const & | op, | |
const Vector< Scalar > & | x0, | |||
const Vector< Scalar > & | y, | |||
Vector< Scalar > & | x1 | |||
) | [static, protected] |
static void RVL::LinOpValOp< Scalar >::export_applyPartialDeriv0 | ( | LinOpValOp< Scalar > const & | op, | |
const Vector< Scalar > & | x0, | |||
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dx0, | |||
Vector< Scalar > & | dy | |||
) | [static, protected] |
static void RVL::LinOpValOp< Scalar >::export_applyAdjPartialDeriv0 | ( | LinOpValOp< Scalar > const & | op, | |
const Vector< Scalar > & | x0, | |||
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dy, | |||
Vector< Scalar > & | dx0 | |||
) | [static, protected] |
static void RVL::LinOpValOp< Scalar >::export_applyAdjPartialDeriv1 | ( | LinOpValOp< Scalar > const & | op, | |
const Vector< Scalar > & | x0, | |||
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dy, | |||
Vector< Scalar > & | dx0 | |||
) | [static, protected] |
static void RVL::LinOpValOp< Scalar >::export_applyPartialDeriv20 | ( | LinOpValOp< Scalar > const & | op, | |
const Vector< Scalar > & | x0, | |||
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dx00, | |||
const Vector< Scalar > & | dx01, | |||
Vector< Scalar > & | dy | |||
) | [static, protected] |
static void RVL::LinOpValOp< Scalar >::export_applyAdjPartialDeriv20 | ( | LinOpValOp< Scalar > const & | op, | |
const Vector< Scalar > & | x0, | |||
const Vector< Scalar > & | x1, | |||
const Vector< Scalar > & | dy, | |||
const Vector< Scalar > & | dx01, | |||
Vector< Scalar > & | dx00 | |||
) | [static, protected] |
void RVL::LinOpValOp< Scalar >::apply | ( | Vector< Scalar > const & | x, | |
Vector< Scalar > & | y | |||
) | const [protected, virtual] |
Implements RVL::Operator< Scalar >.
void RVL::LinOpValOp< Scalar >::applyPartialDeriv | ( | int | i, | |
const Vector< Scalar > & | x, | |||
const Vector< Scalar > & | dxi, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
Implements RVL::OperatorProductDomain< Scalar >.
void RVL::LinOpValOp< Scalar >::applyAdjPartialDeriv | ( | int | i, | |
const Vector< Scalar > & | x, | |||
const Vector< Scalar > & | dy, | |||
Vector< Scalar > & | dxi | |||
) | const [protected, virtual] |
Implements RVL::OperatorProductDomain< Scalar >.
void RVL::LinOpValOp< Scalar >::applyPartialDeriv2 | ( | int | i, | |
int | j, | |||
const Vector< Scalar > & | x, | |||
const Vector< Scalar > & | dxi, | |||
const Vector< Scalar > & | dxj, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
Reimplemented from RVL::OperatorProductDomain< Scalar >.
void RVL::LinOpValOp< Scalar >::applyAdjPartialDeriv2 | ( | int | i, | |
int | j, | |||
const Vector< Scalar > & | x, | |||
const Vector< Scalar > & | dy, | |||
const Vector< Scalar > & | dxj, | |||
Vector< Scalar > & | dxi | |||
) | const [protected, virtual] |
Reimplemented from RVL::OperatorProductDomain< Scalar >.
friend class LinearRestrictOp< Scalar > [friend] |