31#if defined(LinearOperator_RECURSES)
32#error Recursive header files inclusion detected in LinearOperator.h
35#define LinearOperator_RECURSES
37#if !defined LinearOperator_h
39#define LinearOperator_h
44#include "DGtal/base/Common.h"
45#include "DGtal/base/ConstAlias.h"
46#include "DGtal/base/Clone.h"
47#include "DGtal/dec/Duality.h"
48#include "DGtal/dec/KForm.h"
67template <
typename TCalculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
82 typedef typename Calculus::Scalar
Scalar;
170 template <
typename Calculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
181 template <
typename Calculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
192 template <
typename Calculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
203 template <
typename Calculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
214 template <
typename Calculus, Order order_in, Duality duality_in, Order order_fold, Duality duality_fold, Order order_out, Duality duality_out>
225 template <
typename Calculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
235 template <
typename Calculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
244#include "DGtal/dec/LinearOperator.ih"
251#undef LinearOperator_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: LinearOperator represents discrete linear operator between discrete kforms in the DEC package.
LinearOperator(ConstAlias< Calculus > calculus, const Container &container)
void selfDisplay(std::ostream &out) const
LinearOperator & operator=(const LinearOperator &other)
BOOST_STATIC_ASSERT((order_out<=Calculus::dimensionEmbedded))
BOOST_STATIC_ASSERT((order_out >=0))
const Calculus * myCalculus
LinearOperator(ConstAlias< Calculus > calculus)
Calculus::Scalar Scalar
Calculus scalar type.
BOOST_STATIC_ASSERT((order_in >=0))
BOOST_STATIC_ASSERT((order_in<=Calculus::dimensionEmbedded))
Calculus::SparseMatrix Container
Container typr.
LinearOperator< Calculus, order_out, duality_out, order_in, duality_in > TransposedLinearOperator
Transposed operator type.
KForm< Calculus, order_in, duality_in > InputKForm
Input KForm type.
KForm< Calculus, order_out, duality_out > OutputKForm
Output KForm type.
TransposedLinearOperator transpose() const
DGtal is the top-level namespace which contains all DGtal functions and types.
KForm< Calculus, order, duality > operator*(const typename Calculus::Scalar &scalar, const KForm< Calculus, order, duality > &form)
Circulator< TIterator > operator+(typename IteratorCirculatorTraits< TIterator >::Difference d, Circulator< TIterator > &object)
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
KForm< Calculus, order, duality > operator-(const KForm< Calculus, order, duality > &form_a, const KForm< Calculus, order, duality > &form_b)