DGtal 1.4.0
Loading...
Searching...
No Matches
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out > Class Template Reference

Aim: LinearOperator represents discrete linear operator between discrete kforms in the DEC package. More...

#include <DGtal/dec/LinearOperator.h>

Public Types

typedef TCalculus Calculus
 
typedef Calculus::SparseMatrix Container
 Container typr.
 
typedef Calculus::Scalar Scalar
 Calculus scalar type.
 
typedef KForm< Calculus, order_in, duality_in > InputKForm
 Input KForm type.
 
typedef KForm< Calculus, order_out, duality_out > OutputKForm
 Output KForm type.
 
typedef LinearOperator< Calculus, order_out, duality_out, order_in, duality_in > TransposedLinearOperator
 Transposed operator type.
 

Public Member Functions

 BOOST_STATIC_ASSERT ((order_in >=0))
 
 BOOST_STATIC_ASSERT ((order_in<=Calculus::dimensionEmbedded))
 
 BOOST_STATIC_ASSERT ((order_out >=0))
 
 BOOST_STATIC_ASSERT ((order_out<=Calculus::dimensionEmbedded))
 
 LinearOperator (ConstAlias< Calculus > calculus)
 
 LinearOperator (ConstAlias< Calculus > calculus, const Container &container)
 
LinearOperatoroperator= (const LinearOperator &other)
 
void selfDisplay (std::ostream &out) const
 
TransposedLinearOperator transpose () const
 
void clear ()
 
bool isValid () const
 

Data Fields

Container myContainer
 
const CalculusmyCalculus
 

Protected Member Functions

 LinearOperator ()
 

Detailed Description

template<typename TCalculus, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
class DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >

Aim: LinearOperator represents discrete linear operator between discrete kforms in the DEC package.

Description of template class 'LinearOperator'

Template Parameters
TCalculusshould be DiscreteExteriorCalculus.
order_inis the input order of the linear operator.
duality_inis the input duality of the linear operator.
order_outis the output order of the linear operator.
duality_outis the output duality of the linear operator.
Examples
dec/exampleDiscreteExteriorCalculusSolve.cpp.

Definition at line 68 of file LinearOperator.h.

Member Typedef Documentation

◆ Calculus

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
typedef TCalculus DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::Calculus

Definition at line 72 of file LinearOperator.h.

◆ Container

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
typedef Calculus::SparseMatrix DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::Container

Container typr.

Definition at line 80 of file LinearOperator.h.

◆ InputKForm

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
typedef KForm<Calculus, order_in, duality_in> DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::InputKForm

Input KForm type.

Definition at line 84 of file LinearOperator.h.

◆ OutputKForm

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
typedef KForm<Calculus, order_out, duality_out> DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::OutputKForm

Output KForm type.

Definition at line 86 of file LinearOperator.h.

◆ Scalar

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
typedef Calculus::Scalar DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::Scalar

Calculus scalar type.

Definition at line 82 of file LinearOperator.h.

◆ TransposedLinearOperator

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
typedef LinearOperator<Calculus, order_out, duality_out, order_in, duality_in> DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::TransposedLinearOperator

Transposed operator type.

Definition at line 88 of file LinearOperator.h.

Constructor & Destructor Documentation

◆ LinearOperator() [1/3]

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::LinearOperator ( ConstAlias< Calculus > calculus)

Constructor.

Parameters
calculusthe discrete exterior calculus to use.

◆ LinearOperator() [2/3]

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::LinearOperator ( ConstAlias< Calculus > calculus,
const Container & container )

Constructor.

Parameters
calculusthe discrete exterior calculus to use.
containerthe container to copy.

◆ LinearOperator() [3/3]

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::LinearOperator ( )
protected

Constructor. Forbidden by default (protected to avoid g++ warnings).

Member Function Documentation

◆ BOOST_STATIC_ASSERT() [1/4]

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::BOOST_STATIC_ASSERT ( (order_in >=0) )

◆ BOOST_STATIC_ASSERT() [2/4]

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::BOOST_STATIC_ASSERT ( (order_in<=Calculus::dimensionEmbedded) )

◆ BOOST_STATIC_ASSERT() [3/4]

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::BOOST_STATIC_ASSERT ( (order_out >=0) )

◆ BOOST_STATIC_ASSERT() [4/4]

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::BOOST_STATIC_ASSERT ( (order_out<=Calculus::dimensionEmbedded) )

◆ clear()

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
void DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::clear ( )

Clear current linear operator.

◆ isValid()

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
bool DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

◆ operator=()

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
LinearOperator & DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::operator= ( const LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out > & other)

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'.

◆ selfDisplay()

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
void DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::selfDisplay ( std::ostream & out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

◆ transpose()

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
TransposedLinearOperator DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::transpose ( ) const

Field Documentation

◆ myCalculus

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
const Calculus* DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::myCalculus

Pointer to const calculus.

Definition at line 122 of file LinearOperator.h.

◆ myContainer

template<typename TCalculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
Container DGtal::LinearOperator< TCalculus, order_in, duality_in, order_out, duality_out >::myContainer

Container used to actually hold the kform data.

Definition at line 117 of file LinearOperator.h.

Referenced by DGtal::ATSolver2D< TKSpace, TLinearAlgebra >::initOperators().


The documentation for this class was generated from the following file: