KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::Determinant< dim, Scalar, byValue > Class Template Reference

A class for computing determinants and their derivatives. More...

#include <determinant.hh>

Detailed Description

template<int dim, class Scalar = double, bool byValue = true>
class Kaskade::Determinant< dim, Scalar, byValue >

A class for computing determinants and their derivatives.

Class for computing determinants of matrices and (directional) derivatives thereof.

Template Parameters
dimthe size of the matrix
Scalarthe matrix entry type
byValueif true, the matrix is stored inside the determinant object, otherwise only a reference is stored

On construction, the Determinant class takes a reference to the matrix (or a functor returning the matrix) and computes determinants and derivatives on demand. That is, if the referenced matrix is modified, the modification is reflected in the next determinant computation.

Definition at line 101 of file linalg/determinant.hh.

Public Types

using Matrix = Dune::FieldMatrix< Scalar, dim, dim >
 

Public Member Functions

 Determinant (Matrix const &A_)
 
 Determinant (Determinant const &)=default
 
Determinantoperator= (Determinant const &)=default
 
double d0 () const
 
double d1 (Matrix const &dA) const
 
double d2 (Matrix const &dA1, Matrix const &dA2) const
 
double d3 (Matrix const &dA1, Matrix const &dA2, Matrix const &dA3) const
 

Member Typedef Documentation

◆ Matrix

template<int dim, class Scalar = double, bool byValue = true>
using Kaskade::Determinant< dim, Scalar, byValue >::Matrix = Dune::FieldMatrix<Scalar,dim,dim>

Definition at line 106 of file linalg/determinant.hh.

Constructor & Destructor Documentation

◆ Determinant() [1/2]

template<int dim, class Scalar = double, bool byValue = true>
Kaskade::Determinant< dim, Scalar, byValue >::Determinant ( Matrix const &  A_)
inlineexplicit

Definition at line 108 of file linalg/determinant.hh.

◆ Determinant() [2/2]

template<int dim, class Scalar = double, bool byValue = true>
Kaskade::Determinant< dim, Scalar, byValue >::Determinant ( Determinant< dim, Scalar, byValue > const &  )
default

Member Function Documentation

◆ d0()

template<int dim, class Scalar = double, bool byValue = true>
double Kaskade::Determinant< dim, Scalar, byValue >::d0 ( ) const
inline

◆ d1()

template<int dim, class Scalar = double, bool byValue = true>
double Kaskade::Determinant< dim, Scalar, byValue >::d1 ( Matrix const &  dA) const
inline

Definition at line 118 of file linalg/determinant.hh.

◆ d2()

template<int dim, class Scalar = double, bool byValue = true>
double Kaskade::Determinant< dim, Scalar, byValue >::d2 ( Matrix const &  dA1,
Matrix const &  dA2 
) const
inline

Definition at line 123 of file linalg/determinant.hh.

◆ d3()

template<int dim, class Scalar = double, bool byValue = true>
double Kaskade::Determinant< dim, Scalar, byValue >::d3 ( Matrix const &  dA1,
Matrix const &  dA2,
Matrix const &  dA3 
) const
inline

Definition at line 128 of file linalg/determinant.hh.

◆ operator=()

template<int dim, class Scalar = double, bool byValue = true>
Determinant & Kaskade::Determinant< dim, Scalar, byValue >::operator= ( Determinant< dim, Scalar, byValue > const &  )
default

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