g4tools  5.4.0
Classes | Namespaces | Macros | Functions
mat File Reference
#include "MATCOM"
#include <ostream>
Include dependency graph for mat:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tools::mat< T, D >
 
class  tools::nmat< T >
 

Namespaces

 tools
 inlined C code : ///////////////////////////////////
 

Macros

#define tools_mat
 
#define TOOLS_MAT_CLASS   mat
 
#define TOOLS_MAT_CLASS   nmat
 
#define TOOLS_MELEM   const typename MAT::elem_t&
 

Functions

template<class T , unsigned int D>
nmat< T > tools::copy (const mat< T, D > &a_from)
 
template<class VECTOR >
void tools::multiply (VECTOR &a_vec, const typename VECTOR::value_type &a_mat)
 
template<class VECTOR >
void tools::multiply (VECTOR &a_vec, const typename VECTOR::value_type::elem_t &a_value)
 
template<class MAT >
void tools::conjugate (MAT &a_m, typename MAT::elem_t(*a_conj)(const typename MAT::elem_t &))
 related to complex numbers : ////////////////////////////////////////////////////// More...
 
template<class MAT >
bool tools::is_real (MAT &a_m, typename MAT::elem_t::value_type(*a_imag)(const typename MAT::elem_t &))
 
template<class MAT , class PREC >
bool tools::is_real_prec (MAT &a_m, typename MAT::elem_t::value_type(*a_imag)(const typename MAT::elem_t &), const PREC &a_prec, PREC(*a_fabs)(const typename MAT::elem_t::value_type &))
 
template<class MAT >
bool tools::is_imag (MAT &a_m, typename MAT::elem_t::value_type(*a_real)(const typename MAT::elem_t &))
 
template<class CMAT , class RMAT >
bool tools::to_real (const CMAT &a_c, RMAT &a_r, typename CMAT::elem_t::value_type(*a_real)(const typename CMAT::elem_t &))
 
template<class RMAT , class CMAT >
bool tools::to_complex (const RMAT &a_r, CMAT &a_c)
 
template<class MAT >
void tools::dagger (MAT &a_m, typename MAT::elem_t(*a_conj)(const typename MAT::elem_t &))
 
template<class CMAT , class RMAT >
bool tools::decomplex (const CMAT &a_c, RMAT &a_r, typename CMAT::elem_t::value_type(*a_real)(const typename CMAT::elem_t &), typename CMAT::elem_t::value_type(*a_imag)(const typename CMAT::elem_t &))
 
template<class VEC_CMAT , class VEC_RMAT >
bool tools::decomplex (const VEC_CMAT &a_vc, VEC_RMAT &a_vr, typename VEC_CMAT::value_type::elem_t::value_type(*a_real)(const typename VEC_CMAT::value_type::elem_t &), typename VEC_CMAT::value_type::elem_t::value_type(*a_imag)(const typename VEC_CMAT::value_type::elem_t &))
 
template<class MAT >
MAT tools::commutator (const MAT &a1, const MAT &a2)
 
template<class MAT >
MAT tools::anticommutator (const MAT &a1, const MAT &a2)
 
template<class MAT >
void tools::commutator (const MAT &a1, const MAT &a2, MAT &a_tmp, MAT &a_res)
 
template<class MAT , class T >
void tools::commutator (const MAT &a1, const MAT &a2, MAT &a_tmp, T a_vtmp[], MAT &a_res)
 
template<class MAT >
void tools::anticommutator (const MAT &a1, const MAT &a2, MAT &a_tmp, MAT &a_res)
 
template<class MAT , class T >
void tools::anticommutator (const MAT &a1, const MAT &a2, MAT &a_tmp, T a_vtmp[], MAT &a_res)
 
template<class T , unsigned int D>
bool tools::commutator_equal (const mat< T, D > &a_1, const mat< T, D > &a_2, const mat< T, D > &a_c, const T &a_prec)
 
template<class T , unsigned int D>
bool tools::anticommutator_equal (const mat< T, D > &a_1, const mat< T, D > &a_2, const mat< T, D > &a_c, const T &a_prec)
 
template<class T , unsigned int D>
mat< T, D > tools::operator- (const mat< T, D > &a1, const mat< T, D > &a2)
 
template<class T , unsigned int D>
mat< T, D > tools::operator+ (const mat< T, D > &a1, const mat< T, D > &a2)
 
template<class T , unsigned int D>
mat< T, D > tools::operator* (const mat< T, D > &a1, const mat< T, D > &a2)
 
template<class T , unsigned int D>
mat< T, D > tools::operator* (const T &a_fac, const mat< T, D > &a_m)
 
template<class T >
nmat< T > tools::operator- (const nmat< T > &a1, const nmat< T > &a2)
 
template<class T >
nmat< T > tools::operator+ (const nmat< T > &a1, const nmat< T > &a2)
 
template<class T >
nmat< T > tools::operator* (const nmat< T > &a1, const nmat< T > &a2)
 
template<class T >
nmat< T > tools::operator* (const T &a_fac, const nmat< T > &a_m)
 
template<class MAT , class REAL >
bool tools::mat_fabs (const MAT &a_in, MAT &a_ou, REAL(*a_fabs)(const typename MAT::elem_t &))
 
template<class MAT >
void tools::matrix_set (MAT &a_m, TOOLS_MELEM a_00, TOOLS_MELEM a_01, TOOLS_MELEM a_10, TOOLS_MELEM a_11)
 specific D=2 /////////////////////////////// More...
 
template<class MAT >
void tools::matrix_set (MAT &a_m, TOOLS_MELEM a_00, TOOLS_MELEM a_01, TOOLS_MELEM a_02, TOOLS_MELEM a_10, TOOLS_MELEM a_11, TOOLS_MELEM a_12, TOOLS_MELEM a_20, TOOLS_MELEM a_21, TOOLS_MELEM a_22)
 specific D=3 /////////////////////////////// More...
 
template<class MAT >
void tools::matrix_set (MAT &a_m, TOOLS_MELEM a_00, TOOLS_MELEM a_01, TOOLS_MELEM a_02, TOOLS_MELEM a_03, TOOLS_MELEM a_10, TOOLS_MELEM a_11, TOOLS_MELEM a_12, TOOLS_MELEM a_13, TOOLS_MELEM a_20, TOOLS_MELEM a_21, TOOLS_MELEM a_22, TOOLS_MELEM a_23, TOOLS_MELEM a_30, TOOLS_MELEM a_31, TOOLS_MELEM a_32, TOOLS_MELEM a_33)
 specific D=4 /////////////////////////////// More...
 
template<class MAT >
void tools::matrix_set (MAT &a_m, TOOLS_MELEM a_00, TOOLS_MELEM a_01, TOOLS_MELEM a_02, TOOLS_MELEM a_03, TOOLS_MELEM a_04, TOOLS_MELEM a_10, TOOLS_MELEM a_11, TOOLS_MELEM a_12, TOOLS_MELEM a_13, TOOLS_MELEM a_14, TOOLS_MELEM a_20, TOOLS_MELEM a_21, TOOLS_MELEM a_22, TOOLS_MELEM a_23, TOOLS_MELEM a_24, TOOLS_MELEM a_30, TOOLS_MELEM a_31, TOOLS_MELEM a_32, TOOLS_MELEM a_33, TOOLS_MELEM a_34, TOOLS_MELEM a_40, TOOLS_MELEM a_41, TOOLS_MELEM a_42, TOOLS_MELEM a_43, TOOLS_MELEM a_44)
 specific D=5 /////////////////////////////// More...
 
template<class MAT >
void tools::matrix_set (MAT &a_m, TOOLS_MELEM a_00, TOOLS_MELEM a_01, TOOLS_MELEM a_02, TOOLS_MELEM a_03, TOOLS_MELEM a_04, TOOLS_MELEM a_05, TOOLS_MELEM a_10, TOOLS_MELEM a_11, TOOLS_MELEM a_12, TOOLS_MELEM a_13, TOOLS_MELEM a_14, TOOLS_MELEM a_15, TOOLS_MELEM a_20, TOOLS_MELEM a_21, TOOLS_MELEM a_22, TOOLS_MELEM a_23, TOOLS_MELEM a_24, TOOLS_MELEM a_25, TOOLS_MELEM a_30, TOOLS_MELEM a_31, TOOLS_MELEM a_32, TOOLS_MELEM a_33, TOOLS_MELEM a_34, TOOLS_MELEM a_35, TOOLS_MELEM a_40, TOOLS_MELEM a_41, TOOLS_MELEM a_42, TOOLS_MELEM a_43, TOOLS_MELEM a_44, TOOLS_MELEM a_45, TOOLS_MELEM a_50, TOOLS_MELEM a_51, TOOLS_MELEM a_52, TOOLS_MELEM a_53, TOOLS_MELEM a_54, TOOLS_MELEM a_55)
 specific D=6 /////////////////////////////// More...
 
template<class MAT >
void tools::matrix_set (MAT &a_m, TOOLS_MELEM a_00, TOOLS_MELEM a_01, TOOLS_MELEM a_02, TOOLS_MELEM a_03, TOOLS_MELEM a_04, TOOLS_MELEM a_05, TOOLS_MELEM a_06, TOOLS_MELEM a_07, TOOLS_MELEM a_08, TOOLS_MELEM a_09, TOOLS_MELEM a_10, TOOLS_MELEM a_11, TOOLS_MELEM a_12, TOOLS_MELEM a_13, TOOLS_MELEM a_14, TOOLS_MELEM a_15, TOOLS_MELEM a_16, TOOLS_MELEM a_17, TOOLS_MELEM a_18, TOOLS_MELEM a_19, TOOLS_MELEM a_20, TOOLS_MELEM a_21, TOOLS_MELEM a_22, TOOLS_MELEM a_23, TOOLS_MELEM a_24, TOOLS_MELEM a_25, TOOLS_MELEM a_26, TOOLS_MELEM a_27, TOOLS_MELEM a_28, TOOLS_MELEM a_29, TOOLS_MELEM a_30, TOOLS_MELEM a_31, TOOLS_MELEM a_32, TOOLS_MELEM a_33, TOOLS_MELEM a_34, TOOLS_MELEM a_35, TOOLS_MELEM a_36, TOOLS_MELEM a_37, TOOLS_MELEM a_38, TOOLS_MELEM a_39, TOOLS_MELEM a_40, TOOLS_MELEM a_41, TOOLS_MELEM a_42, TOOLS_MELEM a_43, TOOLS_MELEM a_44, TOOLS_MELEM a_45, TOOLS_MELEM a_46, TOOLS_MELEM a_47, TOOLS_MELEM a_48, TOOLS_MELEM a_49, TOOLS_MELEM a_50, TOOLS_MELEM a_51, TOOLS_MELEM a_52, TOOLS_MELEM a_53, TOOLS_MELEM a_54, TOOLS_MELEM a_55, TOOLS_MELEM a_56, TOOLS_MELEM a_57, TOOLS_MELEM a_58, TOOLS_MELEM a_59, TOOLS_MELEM a_60, TOOLS_MELEM a_61, TOOLS_MELEM a_62, TOOLS_MELEM a_63, TOOLS_MELEM a_64, TOOLS_MELEM a_65, TOOLS_MELEM a_66, TOOLS_MELEM a_67, TOOLS_MELEM a_68, TOOLS_MELEM a_69, TOOLS_MELEM a_70, TOOLS_MELEM a_71, TOOLS_MELEM a_72, TOOLS_MELEM a_73, TOOLS_MELEM a_74, TOOLS_MELEM a_75, TOOLS_MELEM a_76, TOOLS_MELEM a_77, TOOLS_MELEM a_78, TOOLS_MELEM a_79, TOOLS_MELEM a_80, TOOLS_MELEM a_81, TOOLS_MELEM a_82, TOOLS_MELEM a_83, TOOLS_MELEM a_84, TOOLS_MELEM a_85, TOOLS_MELEM a_86, TOOLS_MELEM a_87, TOOLS_MELEM a_88, TOOLS_MELEM a_89, TOOLS_MELEM a_90, TOOLS_MELEM a_91, TOOLS_MELEM a_92, TOOLS_MELEM a_93, TOOLS_MELEM a_94, TOOLS_MELEM a_95, TOOLS_MELEM a_96, TOOLS_MELEM a_97, TOOLS_MELEM a_98, TOOLS_MELEM a_99)
 specific D=10 ////////////////////////////// More...
 
template<class MAT >
void tools::dump (std::ostream &a_out, const std::string &aCMT, const MAT &a_matrix)
 
template<class MAT >
bool tools::check_invert (const MAT &a_matrix, std::ostream &a_out)
 

Macro Definition Documentation

◆ tools_mat

#define tools_mat

Definition at line 5 of file mat.

◆ TOOLS_MAT_CLASS [1/2]

#define TOOLS_MAT_CLASS   mat

Definition at line 94 of file mat.

◆ TOOLS_MAT_CLASS [2/2]

#define TOOLS_MAT_CLASS   nmat

Definition at line 94 of file mat.

◆ TOOLS_MELEM

#define TOOLS_MELEM   const typename MAT::elem_t&

Definition at line 506 of file mat.