DGtal  1.0.0
DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, order_in, duality_in, order_out, duality_out > Class Template Reference

Aim: This wraps a linear algebra solver around a discrete exterior calculus. More...

#include <DGtal/dec/DiscreteExteriorCalculusSolver.h>

## Public Types

typedef TCalculus Calculus

typedef TLinearAlgebraSolver LinearAlgebraSolver

typedef LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > Operator

typedef KForm< Calculus, order_in, duality_in > SolutionKForm

typedef KForm< Calculus, order_out, duality_out > InputKForm

## Public Member Functions

BOOST_STATIC_ASSERT ((order_in >=0))

BOOST_STATIC_ASSERT ((order_in<=TCalculus::dimensionEmbedded))

BOOST_STATIC_ASSERT ((order_out >=0))

BOOST_STATIC_ASSERT ((order_out<=TCalculus::dimensionEmbedded))

DiscreteExteriorCalculusSolver ()

void selfDisplay (std::ostream &out) const

DiscreteExteriorCalculusSolvercompute (const Operator &linear_operator)

SolutionKForm solve (const InputKForm &input_kform) const

bool isValid () const

## Data Fields

const CalculusmyCalculus

LinearAlgebraSolver myLinearAlgebraSolver

## Detailed Description

### template<typename TCalculus, typename TLinearAlgebraSolver, Order order_in, Duality duality_in, Order order_out, Duality duality_out> class DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, order_in, duality_in, order_out, duality_out >

Aim: This wraps a linear algebra solver around a discrete exterior calculus.

Description of template class 'DiscreteExteriorCalculusSolver'

Template Parameters
 TCalculus should be DiscreteExteriorCalculus. TLinearAlgebraSolver should be a model of CLinearAlgebraSolver. order_in is the input order of the linear problem. duality_in is the input duality of the linear problem. order_out is the output order of the linear problem. duality_out is the output duality of the linear problem.
Examples
dec/exampleDECSurface.cpp, and dec/exampleDiscreteExteriorCalculusSolve.cpp.

Definition at line 69 of file DiscreteExteriorCalculusSolver.h.

## ◆ Calculus

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

Definition at line 78 of file DiscreteExteriorCalculusSolver.h.

## ◆ InputKForm

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

Definition at line 83 of file DiscreteExteriorCalculusSolver.h.

## ◆ LinearAlgebraSolver

template<typename TCalculus, typename TLinearAlgebraSolver, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
 typedef TLinearAlgebraSolver DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, order_in, duality_in, order_out, duality_out >::LinearAlgebraSolver

Definition at line 79 of file DiscreteExteriorCalculusSolver.h.

## ◆ Operator

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

Definition at line 81 of file DiscreteExteriorCalculusSolver.h.

## ◆ SolutionKForm

template<typename TCalculus, typename TLinearAlgebraSolver, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
 typedef KForm DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, order_in, duality_in, order_out, duality_out >::SolutionKForm

Definition at line 82 of file DiscreteExteriorCalculusSolver.h.

## ◆ DiscreteExteriorCalculusSolver()

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

Constructor.

## ◆ BOOST_STATIC_ASSERT() [1/4]

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

## ◆ BOOST_STATIC_ASSERT() [2/4]

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

## ◆ BOOST_STATIC_ASSERT() [3/4]

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

## ◆ BOOST_STATIC_ASSERT() [4/4]

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

## ◆ compute()

template<typename TCalculus, typename TLinearAlgebraSolver, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
 DiscreteExteriorCalculusSolver& DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, order_in, duality_in, order_out, duality_out >::compute ( const Operator & linear_operator )

Prefactorize problem / set problem operator.

Parameters
 linear_operator linear operator.
Returns
*this.
Examples
dec/exampleDECSurface.cpp, and dec/exampleDiscreteExteriorCalculusSolve.cpp.

Referenced by HodgeTester< Calculus, order >::test(), and test_linear_structure().

## ◆ isValid()

template<typename TCalculus, typename TLinearAlgebraSolver, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
 bool DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, 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.

## ◆ selfDisplay()

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

Writes/Displays the object on an output stream.

Parameters
 out the output stream where the object is written.

## ◆ solve()

template<typename TCalculus, typename TLinearAlgebraSolver, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
 SolutionKForm DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, order_in, duality_in, order_out, duality_out >::solve ( const InputKForm & input_kform ) const

Solve prefactorized / set problem input.

Parameters
 input_kform input k-form.
Returns
problem solution.
Examples
dec/exampleDECSurface.cpp, and dec/exampleDiscreteExteriorCalculusSolve.cpp.

Referenced by HodgeTester< Calculus, order >::test(), and test_linear_structure().

## ◆ myCalculus

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

Pointer to const calculus

Definition at line 95 of file DiscreteExteriorCalculusSolver.h.

## ◆ myLinearAlgebraSolver

template<typename TCalculus, typename TLinearAlgebraSolver, Order order_in, Duality duality_in, Order order_out, Duality duality_out>
 LinearAlgebraSolver DGtal::DiscreteExteriorCalculusSolver< TCalculus, TLinearAlgebraSolver, order_in, duality_in, order_out, duality_out >::myLinearAlgebraSolver

Linear algebra solver.

Definition at line 100 of file DiscreteExteriorCalculusSolver.h.

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