TBCI Numerical high perf. C++ Library 2.8.0
expm.h File Reference

Solver for linear systems by doing an exponential expansion. More...

#include "tbci/basics.h"
#include "tbci/matrix.h"
Include dependency graph for expm.h:

Go to the source code of this file.

Functions

template<typename Matrix>
NAMESPACE_TBCI double norm_1 (const Matrix &mat)
template<typename T>
double norm_1 (const TMatrix< T > &mat)
 We need a special implementation for TMatrix to prevent memory leak.
template<typename Matrix>
void expm (const Matrix &exponent, Matrix &E)
 INST2 (template< Matrix< T >, Matrix< T > > class NN friend void expm2(const Matrix< T > &exponent, Matrix< T > &erg, double);) INST2(template< BdMatrix< T >
Matrix< T > class NN friend void expm2 (const BdMatrix< T > &exponent, Matrix< T > &erg, double)
template<typename MatrixIn, typename MatrixOut>
void expm2 (const MatrixIn &exponent, MatrixOut &erg, double ERROR=1e-3)
 INST2 (template< Matrix< T >, Matrix< T > > class NN friend void expm3(const Matrix< T > &exponent, Matrix< T > &erg, double);) INST2(template< BdMatrix< T >
Matrix< T > class NN friend void expm3 (const BdMatrix< T > &exponent, Matrix< T > &erg, double)
template<typename MatrixIn, typename MatrixOut>
void expm3 (const MatrixIn &exponent, MatrixOut &erg, double ERROR=1e-3)

Detailed Description

Solver for linear systems by doing an exponential expansion.

Definition in file expm.h.

Function Documentation

◆ expm()

template<typename Matrix>
void expm ( const Matrix & exponent,
Matrix & E )

Definition at line 57 of file expm.h.

References c, expm(), lu_solve(), MAX, norm_1(), p, pow(), TMatrix< T >::rows(), and TBCI__.

Referenced by expm().

◆ expm2() [1/2]

Matrix< T > class NN friend void expm2 ( const BdMatrix< T > & exponent,
Matrix< T > & erg,
double  )

References expm2().

Referenced by expm2(), expm2(), and INST2().

◆ expm2() [2/2]

template<typename MatrixIn, typename MatrixOut>
void expm2 ( const MatrixIn & exponent,
MatrixOut & erg,
double ERROR = 1e-3 )

Definition at line 116 of file expm.h.

References expm2(), i, MAX, norm_1(), and pow().

◆ expm3() [1/2]

Matrix< T > class NN friend void expm3 ( const BdMatrix< T > & exponent,
Matrix< T > & erg,
double  )

References expm3().

Referenced by expm3(), expm3(), and INST2().

◆ expm3() [2/2]

template<typename MatrixIn, typename MatrixOut>
void expm3 ( const MatrixIn & exponent,
MatrixOut & erg,
double ERROR = 1e-3 )

Definition at line 167 of file expm.h.

References expm3(), fabs(), i, MATH__, MAX, norm_1(), pow(), and STD__.

◆ INST2() [1/2]

INST2 ( template< Matrix< T >, Matrix< T > > class NN friend void expm2(const Matrix< T > &exponent, Matrix< T > &erg, double); )

References expm2().

◆ INST2() [2/2]

INST2 ( template< Matrix< T >, Matrix< T > > class NN friend void expm3(const Matrix< T > &exponent, Matrix< T > &erg, double); )

References expm3().

◆ norm_1() [1/2]

template<typename Matrix>
NAMESPACE_TBCI double norm_1 ( const Matrix & mat)

Definition at line 18 of file expm.h.

References TMatrix< T >::columns(), fabs(), TMatrix< T >::get(), i, MATH__, MAX, max, TMatrix< T >::rows(), and sum().

Referenced by expm(), expm2(), expm3(), and norm_1().

◆ norm_1() [2/2]

template<typename T>
double norm_1 ( const TMatrix< T > & mat)

We need a special implementation for TMatrix to prevent memory leak.

Definition at line 35 of file expm.h.

References TMatrix< T >::columns(), fabs(), TMatrix< T >::get(), i, TMatrix< T >::mark_destroy(), MATH__, MAX, max, norm_1(), TMatrix< T >::rows(), and sum().