Classes | |
| class | BdMatrixErr |
| exception class More... | |
| class | BdMatrix |
| The class BdMatrix is an implementation to store and do operations on sparse Matrices with a band structure. More... | |
| class | hcplx |
| helper class idea: use builtin class whereever possible More... | |
| class | VecErr |
| exception class More... | |
| class | BVector |
| provides basic Vector functionality but arithmetic operators (+=, - , *, /. More... | |
| class | cplx |
| Our own complex class. More... | |
| class | tbci_traits< TBCI::cplx< float > > |
| class | tbci_traits< TBCI::cplx< double > > |
| class | tbci_traits< TBCI::cplx< float > * > |
| class | tbci_traits< TBCI::cplx< double > * > |
| class | CRMatErr |
| class | CRMatrix |
| C++ class for sparse matrices using compressed row storage. More... | |
| class | CSCMatErr |
| class | CSCMatrix |
| class | NumErr |
| exception base class for the TBCI NumLib More... | |
| class | F_BandMatErr |
| class | F_BandMatrix |
| C++ class for banded matrices using band storage in a one-dimensional array. More... | |
| class | F_TMatrix |
| Temporary Base Class (non referable!) (acc. More... | |
| class | F_TSMatrix |
| Temporary object for scaled matrices. More... | |
| class | F_Matrix |
| class | FSVecErr |
| exception class More... | |
| class | FS_Vector |
| Implementation of fixed sized Vectors (template argument) which is favorable for small Vectors, where the overhead of dynamically allocating and freeing memory and it's management is too expensive. More... | |
| class | IdxErr |
| class | Index |
| Note that this pragma interface might create problems as the class index is not templated! More... | |
| class | ListItem |
| class | ListIterator |
| class | ListRIterator |
| class | List |
| class | nsList |
| A numerically sortable List. More... | |
| class | tbci_memalloc |
| struct | tbci_memalloc_cache_tls |
| struct | tbci_memalloc_cache |
For specializations of the memory allocator:
| |
| class | tbci_memalloc< double > |
| class | tbci_memalloc< doubleptr > |
| class | tbci_memalloc< float > |
| class | tbci_memalloc< floatptr > |
| class | tbci_memalloc< unsigned > |
| class | tbci_memalloc< uintptr > |
| class | tbci_memalloc< int > |
| class | tbci_memalloc< intptr > |
| class | tbci_memalloc< unsigned char > |
| class | tbci_memalloc< signed char > |
| class | tbci_memalloc< charptr > |
| class | tbci_memalloc< ucharptr > |
| class | tbci_memalloc< long > |
| class | tbci_memalloc< longptr > |
| class | tbci_memalloc< unsigned long > |
| class | tbci_memalloc< ulongptr > |
| class | tbci_memalloc< unsigned short > |
| class | tbci_memalloc< voidptr > |
| class | MatErr |
| exception class More... | |
| class | TMatrix |
| class | TSMatrix |
| class | Matrix |
| class | Mat_Brack |
| class | Matrix_Sig |
| Common interface definition (signature) for all Matrices. More... | |
| struct | thr_ctrl |
| class | tbci_memalloc< std::complex< double > > |
| class | tbci_memalloc< stdcomplexdoubleptr > |
| class | tbci_memalloc< std::complex< float > > |
| class | tbci_memalloc< stdcomplexfloatptr > |
| class | tbci_traits< std::complex< float > > |
| class | tbci_traits< std::complex< double > > |
| class | tbci_traits< std::complex< float > * > |
| class | tbci_traits< std::complex< double > * > |
| class | Symm_BdMatrix |
| Matrix class with optimized Matrix-Vector multiplication for symmetrical Matrices. More... | |
| class | tbci_traits |
| class | tbci_traits< bool > |
| class | tbci_traits< unsigned char > |
| class | tbci_traits< signed short > |
| class | tbci_traits< unsigned short > |
| class | tbci_traits< signed int > |
| class | tbci_traits< unsigned int > |
| class | tbci_traits< signed long > |
| class | tbci_traits< unsigned long > |
| class | tbci_traits< float > |
| class | tbci_traits< double > |
| class | tbci_traits< bool * > |
| class | tbci_traits< signed char * > |
| class | tbci_traits< unsigned char * > |
| class | tbci_traits< signed short * > |
| class | tbci_traits< unsigned short * > |
| class | tbci_traits< signed int * > |
| class | tbci_traits< unsigned int * > |
| class | tbci_traits< signed long * > |
| class | tbci_traits< unsigned long * > |
| class | tbci_traits< float * > |
| class | tbci_traits< double * > |
| class | tbci_traits< void * > |
| class | tbci_traits< long double > |
| class | tbci_traits< long double * > |
| class | tbci_traits< long long > |
| class | tbci_traits< long long * > |
| class | tbci_traits< volatile long > |
| class | TensErr |
| class | CTensor |
| Note (KG, 981214): We don't handle rank == 0. More... | |
| class | Tensor |
| Tensor class including arithmetics. More... | |
| class | TVector |
| Temporary Base Class Idiom: Class TVector is used for temporary variables. More... | |
| class | TSVector |
| class | Vector |
| class | BVector_Sig |
| abstract base class (signature) for Vectors without arithmetics More... | |
| class | Vector_Sig |
| abstract base class (signature) for Vectors with arithmetics More... | |
| class | DiagPreconditioner |
| class | DILU_BdMatrixPreconditioner |
| class | ILU0_Symm_BdMatrixPreconditioner |
| class | ILU0_BdMatrixPreconditioner |
| class | NoPreconditioner |
| class | Preconditioner_Sig |
| Abstract base class for all Preconditioners. More... | |
| class | cback |
Typedefs | |
| typedef enum _vararg | vararg |
| typedef double | cplx_base |
| typedef __complex__ double | cplx_t |
| typedef cplx< double > | COMPLEX_DOUBLE |
| typedef double * | doubleptr |
| typedef float * | floatptr |
| typedef unsigned int * | uintptr |
| typedef int * | intptr |
| typedef char * | charptr |
| typedef unsigned char * | ucharptr |
| typedef long * | longptr |
| typedef unsigned long * | ulongptr |
| typedef void * | voidptr |
| typedef void(* | thr_job_t )(struct thr_ctrl *) |
| typedef void *(* | useful_job_t )(void *) |
| typedef void | cbackfn (void *ptr, const int thr) |
| typedef std::complex< double > * | stdcomplexdoubleptr |
| typedef std::complex< float > * | stdcomplexfloatptr |
Enumerations | |
| enum | _vararg { vag0 = 0, vag1, vag2, vag3, vag4, vag5, vag6, vag7, vag8, vag9, vag10, vag11, vag12, vag13, vag14, vag15, vag16 } |
| This is a helper type to identify and count varargs. More... | |
| enum | rowcolvec { rowvec = 0, colvec = 1 } |
Functions | |
| template<typename T> | |
| BdMatrix< T > | transpose (BdMatrix< T > &mat) |
| template<typename T> | |
| BdMatrix< T > | operator* (const T &v, const BdMatrix< T > &m) |
| template<typename T> | |
| void | do_bdmat_vec_mult (const unsigned start, const unsigned end, TVector< T > *res, const BdMatrix< T > *mat, const Vector< T > *vec) |
| template<typename T> | |
| void | do_bdmat_vec_transmult (const unsigned start, const unsigned end, TVector< T > *res, const BdMatrix< T > *mat, const Vector< T > *vec) |
| template<typename T> | |
| void | do_bdmat_vec_dotmult (const unsigned start, const unsigned end, TVector< T > *res, const BdMatrix< T > *mat, const Vector< T > *vec) |
| template<typename T> | |
| void | job_bdmat_vec_mult (struct thr_ctrl *tc) |
| template<typename T> | |
| void | job_bdmat_vec_transmult (struct thr_ctrl *tc) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &ostr, const BdMatrix< T > &mat) |
| template<typename T> | |
| std::istream & | operator>> (std::istream &istr, BdMatrix< T > &mat) |
| template<typename T> | |
| void | SWAP (T &a, T &b) |
| SWAP function Note: We could implement a swap function without temporaries: a -= b b += a a -= b a = -a That's four arithmetic operations to save one temporary and it can be only done for integers. | |
| template<typename T> | |
| void | _tbci_copy (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| template<typename T> | |
| void | _tbci_fill (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| template<typename T> | |
| int | sign (const T &x) __attribute__((const )) |
| Signum. | |
| double | fabssqr (const double a) __attribute__((const )) |
| double | fabssqr (const float a) __attribute__((const )) |
| double | fabssqr (const int a) __attribute__((const )) |
| double | fabssqr (const unsigned a) __attribute__((const )) |
| double | fabssqr (const long double a) __attribute__((const )) |
| double | fabssqr (const long long a) __attribute__((const )) |
| template<typename T> | |
| T | sqr (const T &a) __attribute__((const )) |
| template<typename T> | |
| T | dot (const T &a1, const T &a2) __attribute__((const )) |
| double | fabssqr (const cplx_t &a) |
| double | fabssqr (const TBCI::hcplx &c) |
| cplx_t | dot (const cplx_t a, const cplx_t b) |
| bool | operator<= (const hcplx &a, const hcplx &b) |
| bool | operator< (const hcplx &a, const hcplx &b) |
| bool | operator>= (const hcplx &a, const hcplx &b) |
| bool | operator> (const hcplx &a, const hcplx &b) |
| bool | operator<= (const hcplx &a, const cplx_t &b) |
| bool | operator< (const hcplx &a, const cplx_t &b) |
| bool | operator>= (const hcplx &a, const cplx_t &b) |
| bool | operator> (const hcplx &a, const cplx_t &b) |
| bool | operator<= (const cplx_t &a, const hcplx &b) |
| bool | operator< (const cplx_t &a, const hcplx &b) |
| bool | operator>= (const cplx_t &a, const hcplx &b) |
| bool | operator> (const cplx_t &a, const hcplx &b) |
| std::ostream & | operator<< (std::ostream &os, const cplx_t &c) |
| std::istream & | operator>> (std::istream &in, cplx_t &c) |
| cplx_base | polar (const cplx_t &c) |
| cplx_t | expi (const cplx_base phi) |
| cplx_t | sqr (const cplx_t &c) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const BVector< T > &v) |
| template<typename T> | |
| std::istream & | operator>> (std::istream &in, BVector< T > &v) |
| template<typename T> | |
| BVector< T > | concat (const BVector< T > &b1, const BVector< T > &b2) |
| template<typename T> | |
| cplx< T > | dot (const cplx< T > &a, const cplx< T > &b) |
| template<typename T> | |
| cplx< T > | operator+ (const T a, const cplx< T > &b) |
| template<typename T> | |
| cplx< T > | operator- (const T a, const cplx< T > &b) |
| template<typename T> | |
| cplx< T > | operator* (const T a, const cplx< T > &b) |
| template<typename T> | |
| cplx< T > | operator/ (const T a, const cplx< T > &b) |
| template<typename T> | |
| double | fabssqr (const cplx< T > &c) |
| template<typename T> | |
| cplx< T > | sqr (const cplx< T > &c) |
| template<typename T> | |
| cplx< T > | expi (const T phi) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const cplx< T > &c) |
| template<typename T> | |
| std::istream & | operator>> (std::istream &in, cplx< T > &c) |
| template<typename T> | |
| TBCI::cplx< T > | polar (const T &r, const T &p) |
| template<typename T> | |
| void | MatVecMult (Vector< T > &res, const CRMatrix< T > &m, const Vector< T > &v) |
| template<typename T> | |
| CRMatrix< T > | operator* (const T &z, const CRMatrix< T > &m) |
| template<typename T> | |
| CRMatrix< T > | transpose (const CRMatrix< T > &crm) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &stream, const CRMatrix< T > &m) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &stream, const CSCMatrix< T > &m) |
| template<typename T> | |
| F_TMatrix< T > | operator* (const F_Matrix< T > &m1, const CSCMatrix< T > &m2) |
| template<typename T> | |
| F_TMatrix< T > | operator* (const CSCMatrix< T > &m1, const F_Matrix< T > &m2) |
| template<typename T> | |
| void | MatVecMult (Vector< T > &res, const CSCMatrix< T > &m, const Vector< T > &v) |
| template<typename T> | |
| CSCMatrix< T > | operator* (const T &z, const CSCMatrix< T > &m) |
| template<typename T> | |
| CSCMatrix< T > | transpose (const CSCMatrix< T > &cscm) |
| char err_bf[128] | __attribute__ ((weak)) |
| static char * | ltoa (const long l) |
| template<typename T> | |
| bool | operator== (const F_BandMatrix< T > &m1, const F_BandMatrix< T > &m2) |
| template<typename T> | |
| bool | operator!= (const F_BandMatrix< T > &m1, const F_BandMatrix< T > &m2) |
| template<typename T> | |
| F_BandMatrix< T > | operator- (const F_BandMatrix< T > &m) |
| template<typename T> | |
| TVector< T > | do_fbdmat_vec_mul (const F_BandMatrix< T > &m, const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | operator* (const F_BandMatrix< T > &m, const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | operator* (const F_BandMatrix< T > &m, const TVector< T > &tv) |
| template<typename T> | |
| TVector< T > | operator* (const F_BandMatrix< T > &m, const TSVector< T > &tsv) |
| template<typename T> | |
| F_BandMatrix< T > | do_fbdmat_scale (const F_BandMatrix< T > &m, const T z) |
| template<typename T> | |
| F_BandMatrix< T > | do_fbdmat_scale (const T z, const F_BandMatrix< T > &m) |
| template<typename T> | |
| F_BandMatrix< T > | operator* (const F_BandMatrix< T > &m, const T z) |
| template<typename T> | |
| F_BandMatrix< T > | operator* (const T z, const F_BandMatrix< T > &m) |
| template<typename T> | |
| F_BandMatrix< T > | operator/ (const F_BandMatrix< T > &m, const T z) |
| template<typename T> | |
| F_BandMatrix< T > | operator+ (const F_BandMatrix< T > &A, const F_BandMatrix< T > &B) |
| template<typename T> | |
| F_BandMatrix< T > | operator- (const F_BandMatrix< T > &A, const F_BandMatrix< T > &B) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &stream, const F_BandMatrix< T > &m) |
| template<typename T> | |
| F_BandMatrix< T > | transpose (const F_BandMatrix< T > &fbd) |
| template<typename T> | |
| F_TMatrix< T > | operator+ (const T &a, F_TMatrix< T > b) |
| template<typename T> | |
| F_TMatrix< T > | operator- (const T &a, F_TMatrix< T > b) |
| template<typename T> | |
| F_TSMatrix< T > | operator* (const T &a, F_TMatrix< T > b) |
| template<typename T> | |
| F_TMatrix< T > | operator+ (const T &a, const F_Matrix< T > &b) |
| template<typename T> | |
| F_TMatrix< T > | operator- (const T &a, const F_Matrix< T > &b) |
| template<typename T> | |
| F_TSMatrix< T > | operator* (const T &a, const F_Matrix< T > &b) |
| template<typename T> | |
| F_TMatrix< T > | operator+ (const T &a, F_TSMatrix< T > ts) |
| template<typename T> | |
| F_TMatrix< T > | operator- (const T &a, F_TSMatrix< T > ts) |
| template<typename T> | |
| F_TSMatrix< T > | operator* (const T &f, F_TSMatrix< T > ts) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const F_Matrix< T > &m) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, F_TMatrix< T > tm) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, F_TSMatrix< T > ts) |
| template<typename T> | |
| std::istream & | operator>> (std::istream &in, F_Matrix< T > &m) |
| template<typename T> | |
| F_TMatrix< T > | transpose (const F_TMatrix< T > &ftm) |
| template<unsigned dims, typename T> | |
| std::ostream & | operator<< (std::ostream &os, const FS_Vector< dims, T > &fv) |
| template<unsigned dims, typename T> | |
| std::istream & | operator>> (std::istream &in, FS_Vector< dims, T > &v) |
| template<unsigned dims, typename T> | |
| T | dot (const FS_Vector< dims, T > &fv1, const FS_Vector< dims, T > &fv2) |
| template<unsigned dims, typename T, unsigned long dims2> | |
| FS_Vector< dims, T > | slice (const FS_Vector< dims, T > &fv, const unsigned long s, const unsigned long e) |
| template<unsigned dims, typename T> | |
| FS_Vector< dims, T > | emul (const FS_Vector< dims, T > &f1, const FS_Vector< dims, T > &f2) |
| template<unsigned dims, typename T> | |
| FS_Vector< dims, T > | cemul (const FS_Vector< dims, T > &f1, const FS_Vector< dims, T > &f2) |
| template<unsigned dims, typename T> | |
| FS_Vector< dims, T > | ediv (const FS_Vector< dims, T > &f1, const FS_Vector< dims, T > &f2) |
| template<unsigned dims, typename T> | |
| FS_Vector< dims, T > | cediv (const FS_Vector< dims, T > &f1, const FS_Vector< dims, T > &f2) |
| template<unsigned dims, typename T> | |
| double | fabssqr (const FS_Vector< dims, T > &fv) |
| template<unsigned dims, typename T> | |
| FS_Vector< dims, T > | operator* (const T &v, const FS_Vector< dims, T > &fv) |
| template<unsigned dims, typename T> | |
| FS_Vector< dims, T > | operator+ (const T &v, const FS_Vector< dims, T > &fv) |
| template<unsigned dims, typename T> | |
| FS_Vector< dims, T > | operator- (const T &v, const FS_Vector< dims, T > &fv) |
| template<unsigned dims, typename T> | |
| T | min (const FS_Vector< dims, T > &fv) |
| template<unsigned dims, typename T> | |
| T | max (const FS_Vector< dims, T > &fv) |
| template<unsigned dims, typename T> | |
| T | sum (const FS_Vector< dims, T > &fv) |
| TVector< unsigned > | idx_fill_in1 (const Index &idx, const unsigned where, const unsigned what) |
| TVector< unsigned > | idx_fill_in2 (const Index &idx, const unsigned where1, const unsigned what1, const unsigned where2, const unsigned what2) |
| TVector< unsigned > | idx_remove1 (const Index &idx, const unsigned which) |
| TVector< unsigned > | idx_remove2 (const Index &idx, const unsigned which1, const unsigned which2) |
| TVector< unsigned > | idx_set1 (const Index &idx, const unsigned which, const unsigned what) |
| F_TMatrix< double > | inv (const F_Matrix< double > &A, int overwriteA=0) |
| F_TMatrix< double > | lu_solve (const F_Matrix< double > &A, const F_Matrix< double > &B, int overwriteA=0) |
| TVector< double > | lu_solve (const F_Matrix< double > &A, const Vector< double > &B, int overwriteA=0) |
| TVector< double > | lu_solve (const F_BandMatrix< double > &A, const Vector< double > &B) |
| TVector< double > | lu_solve_expert (const F_BandMatrix< double > &A, const Vector< double > &B, int equi) |
| Solution of linear eqution systems, partial pivoting. | |
| TVector< double > | lu_solve (F_BandMatrix< double > &A, const Vector< double > &B, int num_lower, int num_upper) |
| F_TMatrix< COMPLEX_DOUBLE > | inv (const F_Matrix< COMPLEX_DOUBLE > &A, int overwriteA=0) |
| F_TMatrix< COMPLEX_DOUBLE > | lu_solve (const F_Matrix< COMPLEX_DOUBLE > &A, const F_Matrix< COMPLEX_DOUBLE > &B, int overwriteA=0) |
| int | eig (const F_Matrix< double > &A, Vector< double > &EW) |
| eigenvalues (and eigenvectors) A*EV=EW*EV of symmetric double Matrix A | |
| int | eig (const F_Matrix< double > &A, Vector< double > &EW, F_Matrix< double > &EV) |
| int | eig (const F_BandMatrix< double > &A, Vector< double > &EW, F_Matrix< double > &EV) |
| int | eig (const F_BandMatrix< double > &A, Vector< double > &EW, F_Matrix< double > &EV, double ew_min, double ew_max) |
| int | eig (F_Matrix< cplx< double > > A, Vector< double > &EW) |
| int | eig (const F_Matrix< cplx< double > > &A, Vector< double > &EW, F_Matrix< cplx< double > > &EVec) |
| complex hermitean | |
| int | eig (const F_Matrix< COMPLEX_DOUBLE > &A, Vector< COMPLEX_DOUBLE > &EW) |
| int | eig (const F_Matrix< COMPLEX_DOUBLE > &A, Vector< COMPLEX_DOUBLE > &EW, F_Matrix< COMPLEX_DOUBLE > &EV) |
| int | eig (const F_BandMatrix< cplx< double > > &A, const F_BandMatrix< cplx< double > > &B, double EW_min, double EW_max, Vector< double > &Eigenwerte, F_Matrix< cplx< double > > &Eigenvectoren) |
| selected eigenvalues -vectors: A*EV=EW*B*EV of hermitean Matrix A, positive definite Matrix B | |
| int | eig (F_Matrix< std::complex< double > > A, Vector< double > &EW) |
| int | eig (const F_Matrix< std::complex< double > > &A, Vector< double > &EW, F_Matrix< std::complex< double > > &EVec) |
| int | eig (const F_BandMatrix< std::complex< double > > &A, const F_BandMatrix< std::complex< double > > &B, double EW_min, double EW_max, Vector< double > &Eigenwerte, F_Matrix< std::complex< double > > &Eigenvectoren) |
| template<typename T> | |
| int | Basis_Trafo (long int value, long int basis, Vector< T > &index) |
| template<typename T> | |
| T | Partial_Del (T(*func)(const Vector< T > &, const Vector< T > &), const Vector< T > &x, const Vector< T > &p, int mu, T h, T &err) |
| template<typename T> | |
| T | Chisq (Vector< T > &data, Vector< T > &func, Vector< T > &sig) |
| template<typename T> | |
| T | Chisquare_2D (T(*func)(const Vector< T > &, const Vector< T > &), Vector< T > ¶m, Vector< T > &x, Vector< T > &y, Vector< T > &z, Vector< T > &sigma) |
| template<typename T> | |
| TVector< T > | Grid_Min_2D (T(*func)(const Vector< T > &, const Vector< T > &), Vector< T > &x, Vector< T > &y, Vector< T > &z, Vector< T > &sig, Vector< T > &pmin, Vector< T > &pmax, Vector< T > &lambda, long int res, int max_it, char v) |
| template<typename T> | |
| T | LM_fit_2D (Vector< T > &x, Vector< T > &y, Vector< T > &z, Vector< T > &sig, Vector< T > ¶m, Vector< T > &plow, Vector< T > &phigh, T(*func)(const Vector< T > &, const Vector< T > &), Vector< T > lambda, Vector< T > &lscale, T tol, int iter, char ver) |
| template<typename T> | |
| tbci_memalloc< T > & | tbci_s_allocator () |
| template<> | |
| tbci_memalloc< double > & | tbci_s_allocator< double > () |
| template<> | |
| tbci_memalloc< doubleptr > & | tbci_s_allocator< doubleptr > () |
| template<> | |
| tbci_memalloc< float > & | tbci_s_allocator< float > () |
| template<> | |
| tbci_memalloc< floatptr > & | tbci_s_allocator< floatptr > () |
| template<> | |
| tbci_memalloc< unsigned > & | tbci_s_allocator< unsigned > () |
| template<> | |
| tbci_memalloc< uintptr > & | tbci_s_allocator< uintptr > () |
| template<> | |
| tbci_memalloc< int > & | tbci_s_allocator< int > () |
| template<> | |
| tbci_memalloc< intptr > & | tbci_s_allocator< intptr > () |
| template<> | |
| tbci_memalloc< unsigned char > & | tbci_s_allocator< unsigned char > () |
| template<> | |
| tbci_memalloc< signed char > & | tbci_s_allocator< signed char > () |
| template<> | |
| tbci_memalloc< charptr > & | tbci_s_allocator< charptr > () |
| template<> | |
| tbci_memalloc< ucharptr > & | tbci_s_allocator< ucharptr > () |
| template<> | |
| tbci_memalloc< long > & | tbci_s_allocator< long > () |
| template<> | |
| tbci_memalloc< longptr > & | tbci_s_allocator< longptr > () |
| template<> | |
| tbci_memalloc< unsigned long > & | tbci_s_allocator< unsigned long > () |
| template<> | |
| tbci_memalloc< ulongptr > & | tbci_s_allocator< ulongptr > () |
| template<> | |
| tbci_memalloc< unsigned short > & | tbci_s_allocator< unsigned short > () |
| template<> | |
| tbci_memalloc< voidptr > & | tbci_s_allocator< voidptr > () |
| template<typename T> | |
| void | do_mat_vec_mult (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const Vector< T > *vec) |
| template<typename T> | |
| void | do_mat_tsv_mult (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const TSVector< T > *vec) |
| template<typename T> | |
| void | do_mat_vec_transmult (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const Vector< T > *vec) |
| template<typename T> | |
| TMatrix< T > | operator+ (const T &a, TMatrix< T > b) |
| template<typename T> | |
| TMatrix< T > | operator- (const T &a, TMatrix< T > b) |
| template<typename T> | |
| TSMatrix< T > | operator* (const T &a, TMatrix< T > b) |
| template<typename T> | |
| TMatrix< T > | operator+ (const T &a, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | operator- (const T &a, const Matrix< T > &b) |
| template<typename T> | |
| TSMatrix< T > | operator* (const T &a, const Matrix< T > &b) |
| template<typename T> | |
| double | fabssqr (const TMatrix< T > &tm) |
| template<typename T> | |
| TMatrix< T > | transpose (const TMatrix< T > &tm) |
| template<typename T> | |
| TMatrix< T > | operator+ (const T &a, const TSMatrix< T > &ts) |
| template<typename T> | |
| TMatrix< T > | operator- (const T &a, const TSMatrix< T > &ts) |
| template<typename T> | |
| TSMatrix< T > | operator* (const T &f, TSMatrix< T > ts) |
| template<typename T> | |
| double | fabssqr (TSMatrix< T > &tsm) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const Matrix< T > &m) |
| template<typename T> | |
| std::istream & | operator>> (std::istream &in, Matrix< T > &m) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, TMatrix< T > tm) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const TSMatrix< T > &ts) |
| template<typename T> | |
| void | job_mat_mat_mult (struct thr_ctrl *tc) |
| template<typename T> | |
| double | fabssqr (const Matrix< T > &m) |
| template<typename T> | |
| void | job_mat_vec_mult (struct thr_ctrl *tc) |
| template<typename T> | |
| void | job_mat_vec_transmult (struct thr_ctrl *tc) |
| template<typename T> | |
| BVector< T > & | bvfillm (BVector< T > &bv, const Matrix< T > &m) |
| template<typename T> | |
| int | lu_decomp (Matrix< T > &mat) |
| LU decomposes the TBCI::Matrix mat. | |
| template<typename T> | |
| void | do_nothing (T dummy) |
| template<typename T> | |
| int | basis_trafo (long int value, long int basis, Vector< T > &index) |
| template<typename T> | |
| T | partial_del (T(*func)(const Vector< T > &, const Vector< T > &), const Vector< T > &x, const Vector< T > &p, int mu, T h, T &err) |
| template<typename T> | |
| T | chisq (Vector< T > &data, Vector< T > &func, Vector< T > &sig) |
| template<typename T> | |
| T | chisquare (T(*func)(const Vector< T > &, const Vector< T > &), Vector< T > ¶m, Vector< T > &x, Vector< T > &y, Vector< T > &sigma) |
| template<typename T> | |
| TVector< T > | grid_min (T(*func)(const Vector< T > &, const Vector< T > &), Vector< T > &x, Vector< T > &y, Vector< T > &sig, Vector< T > &pmin, Vector< T > &pmax, Vector< T > &lambda, long int res, int max_it, char v) |
| template<typename T> | |
| T | lev_mar (Vector< T > &x, Vector< T > &y, Vector< T > &sig, Vector< T > ¶m, Vector< T > &plow, Vector< T > &phigh, T(*func)(const Vector< T > &, const Vector< T > &), Vector< T > lambda, Vector< T > &lscale, T tol, int iter, char ver) |
| template<typename T> | |
| void | hpsort (Matrix< T > &x, int pos) |
| int | init_threads (const int thr=0) |
| void | free_threads () |
| Should be called on shutdown for multithreaded programs. | |
| int | threads_avail (const int=0) |
| Test availability of threads. | |
| void | disable_threads () |
| Switch off multithreading. | |
| void | reenable_threads () |
| Switch on multithreading again. | |
| void | bind_threads (bool bind_main=false) |
| Set scheduling affinity of threads Rather than letting the OS decide which CPU a thread runs on, this makes sure a thread can only run on one CPU. | |
| void | thread_start (const int thr_no, thr_job_t job, const unsigned long sz,...) |
| last arg must be (void*)0 ! | |
| void | thread_start_off (const int thr_no, thr_job_t job, const unsigned long offset, const unsigned long sz,...) |
| void | thread_wait (const int) |
| void * | thread_wait_useful (const int, useful_job_t=0, void *=0) |
| long double | thread_wait_result (const int) |
| template<typename T> | |
| static unsigned long | slice_offset (int thr, int no_thr, unsigned long dim, T *ptr) |
| void | thread_reg_callback (cbackfn ctor, cbackfn dtor, void *parm) |
| void | thread_dereg_callback (cbackfn ctor, cbackfn dtor, void *parm) |
| cplx< double > | besselh1 (double order, const cplx< double > &z) |
| cplx< double > | besselh2 (double order, const cplx< double > &z) |
| cplx< double > | besseli (double order, const cplx< double > &z) |
| cplx< double > | besselj (double order, const cplx< double > &z) |
| cplx< double > | besselk (double order, const cplx< double > &z) |
| cplx< double > | bessely (double order, const cplx< double > &z) |
| cplx< double > | gamma (const cplx< double > &z) |
| cplx< double > | HypergeometricM (const cplx< double > &a, const cplx< double > &b, const cplx< double > &z) |
| cplx< double > | HypergeometricU (const cplx< double > &a, const cplx< double > &b, const cplx< double > &z) |
| cplx< double > | hyper2geom1 (const cplx< double > &a, const cplx< double > &b, const cplx< double > &c, const cplx< double > &z) |
| std::complex< double > | besselh1 (double order, const std::complex< double > &z) |
| std::complex< double > | besselh2 (double order, const std::complex< double > &z) |
| std::complex< double > | besseli (double order, const std::complex< double > &z) |
| std::complex< double > | besselj (double order, const std::complex< double > &z) |
| std::complex< double > | besselk (double order, const std::complex< double > &z) |
| std::complex< double > | bessely (double order, const std::complex< double > &z) |
| std::complex< double > | gamma (const std::complex< double > &z) |
| std::complex< double > | HypergeometricM (const std::complex< double > &a, const std::complex< double > &b, const std::complex< double > &z) |
| std::complex< double > | HypergeometricU (const std::complex< double > &a, const std::complex< double > &b, const std::complex< double > &z) |
| std::complex< double > | hyper2geom1 (const std::complex< double > &a, const std::complex< double > &b, const std::complex< double > &c, const std::complex< double > &z) |
| template<typename T> | |
| double | fabssqr (const std::complex< T > &a) |
| template<> | |
| tbci_memalloc< std::complex < double > > & | tbci_s_allocator< std::complex< double > > () |
| template<> | |
| tbci_memalloc < stdcomplexdoubleptr > & | tbci_s_allocator< stdcomplexdoubleptr > () |
| template<> | |
| tbci_memalloc< std::complex < float > > & | tbci_s_allocator< std::complex< float > > () |
| template<> | |
| tbci_memalloc < stdcomplexfloatptr > & | tbci_s_allocator< stdcomplexfloatptr > () |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &out, const Symm_BdMatrix< T > &matrix) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const CTensor< T > &ct) |
| template<typename T> | |
| std::istream & | operator>> (std::istream &is, CTensor< T > &ct) |
| template<typename T> | |
| Tensor< T > | ctrmul (const Tensor< T > &t1, const Tensor< T > &t2, const unsigned i1, const unsigned i2) |
| template<typename T> | |
| Tensor< T > | metrmul (const Tensor< T > &metr, const Tensor< T > &t, const unsigned i1, const unsigned i2) |
| template<typename T> | |
| Tensor< T > | dctmul (const Tensor< T > &t0, const Tensor< T > &t1) |
| template<typename T> | |
| Tensor< T > | operator* (const T m, const Tensor< T > &t) |
| template<typename T> | |
| void | do_vec_vec_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| vec = vec + vec; | |
| template<typename T> | |
| void | do_vec_vec_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| vec = vec - vec; | |
| template<typename T> | |
| void | do_vec_vec_mul (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| vec = emul (vec, vec); | |
| template<typename T> | |
| void | do_vec_vec_cmul (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| vec = cemul(vec, vec); | |
| template<typename T> | |
| void | do_vec_vec_div (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| vec = ediv (vec, vec); | |
| template<typename T> | |
| void | do_vec_vec_cdiv (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| vec = cediv(vec, vec); | |
| template<typename T> | |
| void | do_vec_add_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec += vec; | |
| template<typename T> | |
| void | do_vec_sub_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec -= vec; | |
| template<typename T> | |
| void | do_vec_sub_vec_inv (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec -= vec; vec = -vec; | |
| template<typename T> | |
| void | do_vec_mul_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec *= vec; (emul) | |
| template<typename T> | |
| void | do_vec_cmul_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec *= conj(vec); (cemul) | |
| template<typename T> | |
| void | do_vec_cmul_vec_inv (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec *= conj(vec); (cemul) | |
| template<typename T> | |
| void | do_vec_div_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec /= vec; (ediv) | |
| template<typename T> | |
| void | do_vec_div_vec_inv (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec /= vec; (ediv) | |
| template<typename T> | |
| void | do_vec_cdiv_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec /= conj(vec); (cediv) | |
| template<typename T> | |
| void | do_vec_cdiv_vec_inv (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec /= conj(vec); (cediv) | |
| template<typename T> | |
| void | do_vec_val_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = vec + val | |
| template<typename T> | |
| void | do_vec_val_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = vec - val | |
| template<typename T> | |
| void | do_vec_val_mul (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = vec * val; | |
| template<typename T> | |
| void | do_val_vec_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val + vec; | |
| template<typename T> | |
| void | do_val_vec_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val - vec; | |
| template<typename T> | |
| void | do_val_vec_mul (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val * vec; | |
| template<typename T> | |
| void | do_val_vec_div (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val / vec; | |
| template<typename T> | |
| void | do_vec_add_val (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec += val; | |
| template<typename T> | |
| void | do_vec_sub_val (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec -= val; | |
| template<typename T> | |
| void | do_val_sub_vec (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec -= val; vec = -vec; | |
| template<typename T> | |
| void | do_vec_mul_val (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec *= val; | |
| template<typename T> | |
| void | do_vec_div_val (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec /= val; | |
| template<typename T> | |
| void | do_val_div_vec (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val / vec; | |
| template<typename T> | |
| void | do_val_add_vec (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec += val | |
| template<typename T> | |
| void | do_vec_add_svc (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec += val*vec | |
| template<typename T> | |
| void | do_vec_sub_svc (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec -= val*vec | |
| template<typename T> | |
| void | do_vec_sub_svc_inv (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec -= val*vec | |
| template<typename T> | |
| void | do_vec_svc_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = vec + s*vec; | |
| template<typename T> | |
| void | do_vec_svc_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = vec - s*vec; | |
| template<typename T> | |
| void | do_svc_vec_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec + vec; | |
| template<typename T> | |
| void | do_svc_vec_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec - vec; | |
| template<typename T> | |
| void | do_svc_svc_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec + s*vec; | |
| template<typename T> | |
| void | do_svc_svc_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec - s*vec; | |
| template<typename T> | |
| void | do_svc_add_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec *= s; vec += vec; | |
| template<typename T> | |
| void | do_svc_sub_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec *= s; vec -= vec; | |
| template<typename T> | |
| void | do_svc_add_svc (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec *= s; vec += s*vec; | |
| template<typename T> | |
| void | do_svc_sub_svc (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec *= s; vec -= s*vec; | |
| template<typename T> | |
| void | do_svc_val_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec + val | |
| template<typename T> | |
| void | do_svc_val_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec - val | |
| template<typename T> | |
| void | do_svc_add_val (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec; vec += val; | |
| template<typename T> | |
| void | do_svc_sub_val (const unsigned long sz, T *__restrict__ const res, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = s*vec; vec -= val; | |
| template<typename T> | |
| void | do_val_svc_add (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val + s*vec; | |
| template<typename T> | |
| void | do_val_svc_sub (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val - s*vec; | |
| template<typename T> | |
| void | do_val_svc_div (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, register typename tbci_traits< T >::loop_const_refval_type f1, register typename tbci_traits< T >::loop_const_refval_type f2) |
| vec = val / s*vec; | |
| template<typename T> | |
| void | do_vec_neg_vec (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1) |
| vec = -vec | |
| template<typename T> | |
| void | do_vec_neg (const unsigned long sz, T *__restrict__ const res) |
| vec = -vec | |
| template<typename T> | |
| void | do_vec_dot (const unsigned long sz, const T *__restrict__ const v1, const T *__restrict__ const v2, T &_f2) |
| val = SUM vec * ~vec; | |
| template<typename T> | |
| void | do_vec_mult (const unsigned long sz, const T *__restrict__ const v1, const T *__restrict__ const v2, T &_f2) |
| val = SUM vec * vec; | |
| template<typename T> | |
| void | do_vec_fabssqr (const unsigned long sz, const T *res, long double &_f2) |
| val = SUM fabssqr vec ; | |
| template<typename T> | |
| void | do_vec_sumsqr (const unsigned long sz, const T *res, T &_f2) |
| val = SUM sqr vec ; | |
| template<typename T> | |
| void | do_vec_sum (const unsigned long sz, const T *res, T &_f2) |
| val = SUM vec ; | |
| template<typename T> | |
| void | do_vv_comp (const unsigned long sz, const T *__restrict__ const v1, const T *__restrict__ const v2, volatile long &_f2) |
| f2 = number of differences vec, vec | |
| template<typename T> | |
| void | do_add_vec_vec_mul (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| template<typename T> | |
| void | do_add_vec_vec_cmul (const unsigned long sz, T *__restrict__ const res, const T *__restrict__ const v1, const T *__restrict__ const v2) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const TVector< T > &tv) |
| template<typename T> | |
| void | job_vec_vec_add (struct thr_ctrl *tc) |
| vec = vec + vec; | |
| template<typename T> | |
| void | job_vec_vec_sub (struct thr_ctrl *tc) |
| vec = vec - vec; | |
| template<typename T> | |
| void | job_vec_add_vec (struct thr_ctrl *tc) |
| vec += vec; | |
| template<typename T> | |
| void | job_vec_sub_vec (struct thr_ctrl *tc) |
| vec -= vec; | |
| template<typename T> | |
| void | job_vec_sub_vec_inv (struct thr_ctrl *tc) |
| vec -= vec; vec = -vec; | |
| template<typename T> | |
| void | job_vec_val_add (struct thr_ctrl *tc) |
| vec = vec + val; | |
| template<typename T> | |
| void | job_vec_val_sub (struct thr_ctrl *tc) |
| vec = vec - val; | |
| template<typename T> | |
| void | job_vec_val_mul (struct thr_ctrl *tc) |
| vec = vec * val; | |
| template<typename T> | |
| void | job_val_vec_mul (struct thr_ctrl *tc) |
| vec = val * vec; | |
| template<typename T> | |
| void | job_val_vec_add (struct thr_ctrl *tc) |
| vec = val + vec; | |
| template<typename T> | |
| void | job_val_vec_sub (struct thr_ctrl *tc) |
| vec = val - vec; | |
| template<typename T> | |
| void | job_val_vec_div (struct thr_ctrl *tc) |
| vec = val / vec; | |
| template<typename T> | |
| void | job_vec_add_val (struct thr_ctrl *tc) |
| vec += val; | |
| template<typename T> | |
| void | job_val_add_vec (struct thr_ctrl *tc) |
| vec += val; | |
| template<typename T> | |
| void | job_vec_sub_val (struct thr_ctrl *tc) |
| vec -= val; | |
| template<typename T> | |
| void | job_val_sub_vec (struct thr_ctrl *tc) |
| vec -= val; vec = -vec; | |
| template<typename T> | |
| void | job_vec_mul_val (struct thr_ctrl *tc) |
| vec *= val; | |
| template<typename T> | |
| void | job_vec_div_val (struct thr_ctrl *tc) |
| vec /= val; | |
| template<typename T> | |
| void | job_val_div_vec (struct thr_ctrl *tc) |
| vec = val/self; | |
| template<typename T> | |
| void | job_vec_svc_add (struct thr_ctrl *tc) |
| vec = vec + s*vec; | |
| template<typename T> | |
| void | job_svc_vec_add (struct thr_ctrl *tc) |
| vec = s*vec + vec; | |
| template<typename T> | |
| void | job_svc_svc_add (struct thr_ctrl *tc) |
| vec = s*vec + s*vec; | |
| template<typename T> | |
| void | job_vec_svc_sub (struct thr_ctrl *tc) |
| vec = vec - s*vec; | |
| template<typename T> | |
| void | job_svc_vec_sub (struct thr_ctrl *tc) |
| vec = s*vec - vec; | |
| template<typename T> | |
| void | job_svc_svc_sub (struct thr_ctrl *tc) |
| vec = s*vec - s*vec; | |
| template<typename T> | |
| void | job_vec_add_svc (struct thr_ctrl *tc) |
| vec += s*vec; | |
| template<typename T> | |
| void | job_vec_sub_svc (struct thr_ctrl *tc) |
| vec -= s*vec; | |
| template<typename T> | |
| void | job_vec_sub_svc_inv (struct thr_ctrl *tc) |
| vec -= s*vec; | |
| template<typename T> | |
| void | job_svc_val_add (struct thr_ctrl *tc) |
| vec = s*vec + val; | |
| template<typename T> | |
| void | job_svc_val_sub (struct thr_ctrl *tc) |
| vec = s*vec - val; | |
| template<typename T> | |
| void | job_val_svc_add (struct thr_ctrl *tc) |
| vec = val + s*vec; | |
| template<typename T> | |
| void | job_val_svc_sub (struct thr_ctrl *tc) |
| vec = val + s*vec; | |
| template<typename T> | |
| void | job_val_svc_div (struct thr_ctrl *tc) |
| vec = val / s*vec; | |
| template<typename T> | |
| const TVector< T > & | operator+ (const T &a, const TVector< T > &b) |
| TV = T + TV Transformed to TV += T. | |
| template<typename T> | |
| const TVector< T > & | operator- (const T &a, const TVector< T > &b) |
| TV = T - TV Transformed to -TV -= T. | |
| template<typename T> | |
| TSVector< T > | operator* (const T &a, const TVector< T > &b) |
| template<typename T> | |
| TSVector< T > | operator/ (const T &a, TVector< T > b) |
| template<typename T> | |
| TVector< T > & | conj (TVector< T > &tv) |
| template<typename T> | |
| TVector< T > & | real (TVector< T > &tv) |
| template<typename T> | |
| TVector< T > & | imag (TVector< T > &tv) |
| template<typename T> | |
| TVector< T > | conj (const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | real (const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | imag (const Vector< T > &v) |
| template<typename T> | |
| double | fabssqr (const Vector< T > &v) |
| template<typename T> | |
| const TSVector< T > & | operator* (const T &f, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | operator+ (const T &v, const TSVector< T > &tsv) |
| template<typename T> | |
| TVector< T > | operator- (const T &v, const TSVector< T > &tsv) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const TSVector< T > &ts) |
| template<typename T> | |
| double | fabssqr (const TSVector< T > &ts) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &os, const Vector< T > &v) |
| template<typename T> | |
| void | job_vec_dot (struct thr_ctrl *tc) |
| template<typename T> | |
| void | job_vec_mult (struct thr_ctrl *tc) |
| template<typename T> | |
| T | dot (const Vector< T > &a, const Vector< T > &b) |
| template<typename T> | |
| void | job_vv_comp (struct thr_ctrl *tc) |
| template<typename T> | |
| bool | par_comp (const Vector< T > &v1, const Vector< T > &v2) |
| template<typename T> | |
| bool | par_comp (const Vector< T > &v1, TVector< T > v2) |
| template<typename T> | |
| bool | par_comp (TVector< T > v1, const Vector< T > &v2) |
| template<typename T> | |
| bool | par_comp (TVector< T > v1, TVector< T > v2) |
| template<typename T> | |
| TVector< T > | operator+ (const T &a, const Vector< T > &v) |
| TV = T + V. | |
| template<typename T> | |
| TVector< T > | operator- (const T &a, const Vector< T > &v) |
| TV = T - V. | |
| template<typename T> | |
| TSVector< T > | operator* (const T &a, const Vector< T > &b) |
| template<typename T> | |
| TSVector< T > | operator/ (const T &a, const Vector< T > &b) |
| template<typename T> | |
| void | job_vec_fabssqr (struct thr_ctrl *tc) |
| template<typename T> | |
| double | fabssqr (TVector< T > tv) |
| template<typename T> | |
| TVector< T > | emul (const Vector< T > &a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | emul (TVector< T > a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | emul (const Vector< T > &a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | emul (TVector< T > a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | cemul (const Vector< T > &a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | cemul (TVector< T > a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | cemul (const Vector< T > &a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | cemul (TVector< T > a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | ediv (const Vector< T > &a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | ediv (TVector< T > a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | ediv (const Vector< T > &a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | ediv (TVector< T > a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | cediv (const Vector< T > &a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | cediv (TVector< T > a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | cediv (const Vector< T > &a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | cediv (TVector< T > a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | emul (TVector< T > tv, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | emul (const TSVector< T > &ts, TVector< T > tv) |
| template<typename T> | |
| TVector< T > | emul (const Vector< T > &v, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | emul (const TSVector< T > &ts, const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | emul (const TSVector< T > &ts1, const TSVector< T > &ts2) |
| template<typename T> | |
| TVector< T > | cemul (TVector< T > tv, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | cemul (const TSVector< T > &ts, TVector< T > tv) |
| template<typename T> | |
| TVector< T > | cemul (const Vector< T > &v, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | cemul (const TSVector< T > &ts, const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | cemul (const TSVector< T > &ts1, const TSVector< T > &ts2) |
| template<typename T> | |
| TVector< T > | ediv (TVector< T > tv, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | ediv (const Vector< T > &v, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | ediv (const TSVector< T > &ts1, const TSVector< T > &ts2) |
| template<typename T> | |
| TVector< T > | ediv (const TSVector< T > &ts, const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | ediv (const TSVector< T > &ts, TVector< T > tv) |
| template<typename T> | |
| TVector< T > | cediv (TVector< T > tv, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | cediv (const TSVector< T > &ts, TVector< T > tv) |
| template<typename T> | |
| TVector< T > | cediv (const Vector< T > &v, const TSVector< T > &ts) |
| template<typename T> | |
| TVector< T > | cediv (const TSVector< T > &ts, const Vector< T > &v) |
| template<typename T> | |
| TVector< T > | cediv (const TSVector< T > &ts1, const TSVector< T > &ts2) |
| template<typename T> | |
| TVector< T > | ediv (const T &a, TVector< T > b) |
| template<typename T> | |
| TVector< T > | ediv (const T &a, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | ediv (const T &a, const TSVector< T > &ts) |
| template<typename T> | |
| TMatrix< T > | emul (const Matrix< T > &a, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | cemul (const Matrix< T > &a, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | ediv (const Matrix< T > &a, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | cediv (const Matrix< T > &a, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | ediv (const T &a, TMatrix< T > b) |
| template<typename T> | |
| TMatrix< T > | ediv (const T &a, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | ediv (const T &a, const TSMatrix< T > &ts) |
| template<typename T> | |
| int | lu_decomp (BdMatrix< T > &mat) |
| LU decompose a TBCI::BdMatrix. | |
| template<typename T> | |
| TVector< T > | LU_fwd_subst (const BdMatrix< T > &lu, const Vector< T > &y) |
| template<typename T> | |
| TVector< T > | LU_bkw_subst (const BdMatrix< T > &lu, const Vector< T > &y) |
| template<typename T> | |
| TVector< T > | LU_solve (const BdMatrix< T > &lu, const Vector< T > &b) |
| Solve the equation Ax = b where A IS already LU decomposed. | |
| template<typename T> | |
| TVector< T > | lu_solve (BdMatrix< T > &mat, const Vector< T > &b) |
| Solve the equation Ax = b where A still needs to be LU decomposed. | |
| template<typename T> | |
| TMatrix< T > | LU_solve (const BdMatrix< T > &lu, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | lu_solve (BdMatrix< T > &mat, const Matrix< T > &b) |
| template<typename T> | |
| T | LU_det (const BdMatrix< T > &lu) |
| calculates determinant of an already LU decomposed BdMatrix | |
| template<typename T> | |
| T | lu_det (BdMatrix< T > &mat) |
| calculates the determinant of a BdMatrix by doing an LU decomposition | |
| template<typename T> | |
| TMatrix< T > | LU_invert (const BdMatrix< T > &lu) |
| return the inverse Matrix for an already LU decomposed BdMatrix | |
| template<typename T> | |
| TMatrix< T > | lu_invert (BdMatrix< T > &mat) |
| return the inverse Matrix for a BdMatrix by doing an LU decomposition | |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | BiCG (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M, unsigned int &max_iter, double &tol) |
| Iterative template solver -- BiCG. | |
| template<typename T, typename SysMatrix, typename T_tol> | |
| int | BiCGSTAB (const SysMatrix &A, Vector< T > &x, const Vector< T > &b, const Preconditioner_Sig< T, SysMatrix > &M, unsigned int &max_iter, T_tol &tol, const unsigned off=0) |
| BiCGSTAB solves the unsymmetric linear system Ax = b using the Preconditioned BiConjugate Gradient Stabilized method. | |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | CG (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M, unsigned int &max_iter, double &tol) |
| Iterative template solver routine -- CG. | |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | CG2 (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M, unsigned int &max_iter, double &tol) |
| CG2 solves the symmetric complex (positive definite?) linear system Ax=b using the Conjugate Gradient method. | |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | CGS (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M, unsigned int &max_iter, double &tol, const unsigned off=0) |
| Iterative template routine -- CGS. | |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | CHEBY (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M, unsigned int &max_iter, double &tol, T eigmin, T eigmax) |
| Iterative template routine -- CHEBY. | |
| template<typename Matrix> | |
| 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) |
| template<typename MatrixIn, typename MatrixOut> | |
| void | expm2 (const MatrixIn &exponent, MatrixOut &erg, double ERROR=1e-3) |
| template<typename MatrixIn, typename MatrixOut> | |
| void | expm3 (const MatrixIn &exponent, MatrixOut &erg, double ERROR=1e-3) |
| template<typename T> | |
| char | gaussj (Matrix< T > &a, Matrix< T > &b) |
| template<typename SysMatrix, typename SysVector> | |
| void | Update (SysVector &x, int k, SysMatrix &h, SysVector &s, SysVector *V) |
| template<typename T> | |
| void | GeneratePlaneRotation (const T &dx, const double &dy, double &cs, T &sn) |
| We follow Frayssé, Giraud, Gratton for the complex implementation of the Givens plane rotations. | |
| template<typename T> | |
| void | ApplyPlaneRotation (T &dx, T &dy, const double &cs, const T &sn) |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | GMRES (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M, int &m, unsigned int &max_iter, double &tol) |
| Iterative template routine -- GMRES. | |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | IR (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M, unsigned int &max_iter, double &tol) |
| Iterative template routine -- Preconditioned Richardson. | |
| template<typename T> | |
| TVector< T > | LU_fwd_subst (const Matrix< T > &lu, const Vector< T > &y) |
| template<typename T> | |
| TVector< T > | LU_bkw_subst (const Matrix< T > &lu, const Vector< T > &y) |
| template<typename T> | |
| TVector< T > | LU_solve (const Matrix< T > &lu, const Vector< T > &b) |
| template<typename T> | |
| TVector< T > | lu_solve (Matrix< T > &mat, const Vector< T > &b) |
| template<typename T> | |
| TMatrix< T > | LU_solve (const Matrix< T > &lu, const Matrix< T > &b) |
| template<typename T> | |
| TMatrix< T > | lu_solve (Matrix< T > &mat, const Matrix< T > &b) |
| template<typename T> | |
| T | LU_det (const Matrix< T > &lu) |
| calculates determinant of an already LU decomposed Matrix | |
| template<typename T> | |
| T | lu_det (Matrix< T > &mat) |
| calculates determinant of a Matrix by LU decomposition | |
| template<typename T> | |
| TMatrix< T > | LU_invert (const Matrix< T > &mat) |
| Returns the inverse of a already LU decomposed Matrix. | |
| template<typename T> | |
| TMatrix< T > | lu_invert (Matrix< T > &mat) |
| Returns the inverse of a Matrix by performing a LU decomposition. | |
| template<typename T, typename SysMatrix, typename SysVector> | |
| int | QMR (const SysMatrix &A, SysVector &x, const SysVector &b, const Preconditioner_Sig< T, SysMatrix > &M1, const Preconditioner_Sig< T, SysMatrix > &M2, unsigned int &max_iter, double &tol) |
| int | lu_solve (CSCMatrix< double > &M, Vector< double > &x, const Vector< double > &rhs, colperm_t permc_spec=NATURAL, bool verbose=false, bool symm=false) |
| TVector< double > | lu_solve (CSCMatrix< double > &M, const Vector< double > &rhs, colperm_t permc_spec=NATURAL, bool verbose=false, bool symm=false) |
| int | lu_solve (CSCMatrix< std::complex< double > > &M, Vector< std::complex< double > > &x, const Vector< std::complex< double > > &rhs, colperm_t permc_spec=NATURAL, bool verbose=false, bool symm=false) |
| SuperLU solver wrapper for std::complex numbers. | |
| TVector< std::complex< double > > | lu_solve (CSCMatrix< std::complex< double > > &M, const Vector< std::complex< double > > &rhs, colperm_t permc_spec=NATURAL, bool verbose=false, bool symm=false) |
| template<typename ARG> | |
| double | sv_decomp_pythag (ARG a, ARG b) |
| Calculate sqrt (a^2 + b^2) avoiding under/overflows. | |
| template<typename MatrixType, typename VectorType> | |
| void | sv_decomp (MatrixType &A, MatrixType &V, VectorType &W) |
| Singular Value Decomposition Decomposes matrix A into U * diag(W) * V^T A is overwritten with U. | |
| template<typename MatrixType, typename VectorType> | |
| void | sv_decomp_backsub (const MatrixType &U, const MatrixType &V, const VectorType &W, const VectorType &b, VectorType &x) |
| template<typename VectorType> | |
| static int | fix_condition (VectorType &vec, const double cndno=1e-12) |
| template<typename MatrixType, typename VectorType> | |
| VectorType | svd_solve (const MatrixType &mat, const VectorType &b, const double cndno=1e-12) |
| The interface to use the SVD solver: Solve the equation mat * x = b. | |
| template<typename MatrixType, typename T> | |
| TVector< T > | sv_decomp_backsub (const MatrixType &U, const MatrixType &V, const Vector< T > &W, const Vector< T > &b) |
| template<typename MatrixType, typename T> | |
| TVector< T > | svd_solve (const MatrixType &mat, const Vector< T > &b, const double cndno=1e-12) |
| The interface to use the SVD solver: Solve the equation mat * x = b. | |
| F_TMatrix< cplx< double > > | inv (const F_Matrix< cplx< double > > &A, int overwriteA) |
| F_TMatrix< cplx< double > > | lu_solve (const F_Matrix< cplx< double > > &A, const F_Matrix< cplx< double > > &B, int overwriteA) |
| int | eig (const F_Matrix< cplx< double > > &A, Vector< cplx< double > > &EW) |
| eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A | |
| int | eig (const F_Matrix< cplx< double > > &A, Vector< cplx< double > > &EW, F_Matrix< cplx< double > > &EV) |
| F_TMatrix< std::__complex__ float< double > > | inv (const F_Matrix< std::__complex__ float< double > > &A, int overwriteA) |
| F_TMatrix< std::__complex__ float< double > > | lu_solve (const F_Matrix< std::__complex__ float< double > > &A, const F_Matrix< std::__complex__ float< double > > &B, int overwriteA) |
| int | eig (const F_Matrix< std::__complex__ float< double > > &A, Vector< std::__complex__ float< double > > &EW) |
| eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A | |
| int | eig (const F_Matrix< std::__complex__ float< double > > &A, Vector< std::__complex__ float< double > > &EW, F_Matrix< std::__complex__ float< double > > &EV) |
| int | eig (const F_BandMatrix< std::__complex__ float< double > > &A, const F_BandMatrix< std::__complex__ float< double > > &B, double EW_min, double EW_max, Vector< double > &Eigenwerte, F_Matrix< std::__complex__ float< double > > &Eigenvectoren) |
| selected eigenvalues -vectors: A*EV=EW*B*EV of hermitean Matrix A, positive definite Matrix B | |
| int | eig (const F_Matrix< std::__complex__ float< double > > &A, Vector< double > &EW, F_Matrix< std::__complex__ float< double > > &EVec) |
| complex hermitean | |
| int | eig (F_Matrix< std::__complex__ float< double > > A, Vector< double > &EW) |
| int | lu_solve (CSCMatrix< cplx< double > > &M, Vector< cplx< double > > &x, const Vector< cplx< double > > &rhs, colperm_t permc_spec, bool verbose, bool symm) |
| TBCI::cplx< double > | hyper2geom1 (const TBCI::cplx< double > a, const TBCI::cplx< double > b, const TBCI::cplx< double > c, const TBCI::cplx< double > z) |
| std::complex< double > | hyper2geom1 (const std::complex< double > a, const std::complex< double > b, const std::complex< double > c, const std::complex< double > z) |
| template int | sign< double > (const double &) |
| template double | sqr< double > (const double &) |
| template double | dot< double > (const double &, const double &) |
| template void | _tbci_copy< double > (const unsigned long, double *const, const double *const) |
| template void | _tbci_fill< double > (const unsigned long, double *const, tbci_traits< double >::loop_const_refval_type) |
| template void | SWAP< double > (double &, double &) |
| void | __tbci_throw_exception0_VecErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_VecErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_VecErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_FSVecErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_FSVecErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_FSVecErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_MatErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_MatErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_MatErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_BdMatrixErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_BdMatrixErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_BdMatrixErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_IdxErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_IdxErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_IdxErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_TensErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_TensErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_TensErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_CRMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_CRMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_CRMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_CSCMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_CSCMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_CSCMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception0_F_BandMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception1_F_BandMatErr () __attribute__((weak)) |
| void | __tbci_throw_exception2_F_BandMatErr () __attribute__((weak)) |
| static int | detect_num_cpu () |
| static int | loadavg () |
| void | pthr_cond_signal_mutex (pthread_cond_t *cond, pthread_mutex_t *mut, volatile int *done) |
| int | pthr_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mut, volatile int *valptr) |
| void | lina_err (struct thr_ctrl *tc) |
| void | lina_empty (struct thr_ctrl *dummy) |
| void * | empty_thread (void *dummy) |
| void | pthread_mutex_bug_abort (struct thr_ctrl *tc, int err, const char *where) |
| void * | lina_thread (void *thr) |
| void | _thread_start_off (const int thr_no, thr_job_t job, const unsigned long off, const unsigned long sz, va_list vl) |
Variables | |
| struct TBCI::tbci_memalloc_cache_tls | aligned |
| pid_t | main_thread_pid = 0 |
| bool | bound_main = false |
| int | num_threads = 0 |
| struct thr_ctrl * | threads = 0 |
| int | ismainthread = 1 |
| int | thrno = 0 |
| struct thr_ctrl * | this_thread = 0 |
| int | threads_busy = 0 |
| bool | threads_bound = false |
| static List< cback > | thread_cbacks |
| unsigned long | poll_succ = 0 |
| unsigned long | poll_fail = 0 |
| unsigned long | polls_succ = 0 |
| unsigned long | polls_fail = 0 |
| int | tot_cpu_tm |
| typedef void TBCI::cbackfn(void *ptr, const int thr) |
| typedef char* TBCI::charptr |
Definition at line 611 of file malloc_cache.h.
| typedef std::complex< double > TBCI::COMPLEX_DOUBLE |
| typedef double TBCI::cplx_base |
Definition at line 28 of file builtin_cplx.h.
| typedef __complex__ double TBCI::cplx_t |
Definition at line 31 of file builtin_cplx.h.
| typedef double* TBCI::doubleptr |
Definition at line 598 of file malloc_cache.h.
| typedef float* TBCI::floatptr |
Definition at line 601 of file malloc_cache.h.
| typedef int* TBCI::intptr |
Definition at line 607 of file malloc_cache.h.
| typedef long* TBCI::longptr |
Definition at line 616 of file malloc_cache.h.
| typedef std:: complex<double>* TBCI::stdcomplexdoubleptr |
Definition at line 230 of file std_cplx.h.
| typedef std:: complex<float>* TBCI::stdcomplexfloatptr |
Definition at line 233 of file std_cplx.h.
| typedef void(* TBCI::thr_job_t)(struct thr_ctrl *) |
| typedef unsigned char* TBCI::ucharptr |
Definition at line 613 of file malloc_cache.h.
| typedef unsigned int* TBCI::uintptr |
Definition at line 604 of file malloc_cache.h.
| typedef unsigned long* TBCI::ulongptr |
Definition at line 619 of file malloc_cache.h.
| typedef void*(* TBCI::useful_job_t)(void *) |
| typedef enum _vararg TBCI::vararg |
| typedef void* TBCI::voidptr |
Definition at line 622 of file malloc_cache.h.
| enum TBCI::_vararg |
| enum TBCI::rowcolvec |
| volatile unsigned err_ptr TBCI::__attribute__ | ( | (weak) | ) |
| void TBCI::__tbci_throw_exception0_BdMatrixErr | ( | ) |
Definition at line 62 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_CRMatErr | ( | ) |
Definition at line 65 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_CSCMatErr | ( | ) |
Definition at line 66 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_F_BandMatErr | ( | ) |
Definition at line 67 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_FSVecErr | ( | ) |
Definition at line 60 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_IdxErr | ( | ) |
Definition at line 63 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_MatErr | ( | ) |
Definition at line 61 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_TensErr | ( | ) |
Definition at line 64 of file exceptions.cc.
| void TBCI::__tbci_throw_exception0_VecErr | ( | ) |
Definition at line 59 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_BdMatrixErr | ( | ) |
Definition at line 62 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_CRMatErr | ( | ) |
Definition at line 65 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_CSCMatErr | ( | ) |
Definition at line 66 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_F_BandMatErr | ( | ) |
Definition at line 67 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_FSVecErr | ( | ) |
Definition at line 60 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_IdxErr | ( | ) |
Definition at line 63 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_MatErr | ( | ) |
Definition at line 61 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_TensErr | ( | ) |
Definition at line 64 of file exceptions.cc.
| void TBCI::__tbci_throw_exception1_VecErr | ( | ) |
Definition at line 59 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_BdMatrixErr | ( | ) |
Definition at line 62 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_CRMatErr | ( | ) |
Definition at line 65 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_CSCMatErr | ( | ) |
Definition at line 66 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_F_BandMatErr | ( | ) |
Definition at line 67 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_FSVecErr | ( | ) |
Definition at line 60 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_IdxErr | ( | ) |
Definition at line 63 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_MatErr | ( | ) |
Definition at line 61 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_TensErr | ( | ) |
Definition at line 64 of file exceptions.cc.
| void TBCI::__tbci_throw_exception2_VecErr | ( | ) |
Definition at line 59 of file exceptions.cc.
| void TBCI::_tbci_copy | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| template void TBCI::_tbci_copy< double > | ( | const unsigned | long, | |
| double * | const, | |||
| const double * | const | |||
| ) |
| void TBCI::_tbci_fill | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| template void TBCI::_tbci_fill< double > | ( | const unsigned | long, | |
| double * | const, | |||
| tbci_traits< double >::loop_const_refval_type | ||||
| ) |
| void TBCI::_thread_start_off | ( | const int | thr_no, | |
| thr_job_t | job, | |||
| const unsigned long | off, | |||
| const unsigned long | sz, | |||
| va_list | vl | |||
| ) |
Definition at line 696 of file smp.cc.
References BCHKNR, ERRDECL, num_threads, pthr_cond_signal_mutex(), TBCI::thr_ctrl::t_job, TBCI::thr_ctrl::t_no, TBCI::thr_ctrl::t_off, TBCI::thr_ctrl::t_par, TBCI::thr_ctrl::t_setup, TBCI::thr_ctrl::t_setup_cond, TBCI::thr_ctrl::t_setup_done, TBCI::thr_ctrl::t_size, TCHK, THREAD_MAX_ARGS, thread_start(), and threads_busy.
Referenced by thread_start(), and thread_start_off().
| void TBCI::ApplyPlaneRotation | ( | T & | dx, | |
| T & | dy, | |||
| const double & | cs, | |||
| const T & | sn | |||
| ) | [inline] |
| int TBCI::basis_trafo | ( | long int | value, | |
| long int | basis, | |||
| Vector< T > & | index | |||
| ) | [inline] |
Definition at line 73 of file my_nr.h.
References log(), MATH__, TBCI::TVector< T >::size(), sqrt(), and T.
Referenced by grid_min().
| int TBCI::Basis_Trafo | ( | long int | value, | |
| long int | basis, | |||
| Vector< T > & | index | |||
| ) | [inline] |
Definition at line 66 of file LM_fit.h.
References CSTD__, log(), MATH__, TBCI::TVector< T >::size(), sqrt(), and T.
Referenced by Grid_Min_2D().
| std::complex< double > TBCI::besselh1 | ( | double | order, | |
| const std::complex< double > & | z | |||
| ) |
Definition at line 66 of file specfun_stdcplx.cpp.
References CPLX__, exp(), std::fabs(), LONG_, MATH__, pi, and zbesh_().
| cplx< double > TBCI::besselh1 | ( | double | order, | |
| const cplx< double > & | z | |||
| ) |
Definition at line 62 of file specfun.cpp.
References exp(), std::fabs(), TBCI::cplx< T >::imag(), LONG_, MATH__, pi, TBCI::cplx< T >::real(), and zbesh_().
| std::complex< double > TBCI::besselh2 | ( | double | order, | |
| const std::complex< double > & | z | |||
| ) |
Definition at line 90 of file specfun_stdcplx.cpp.
References CPLX__, exp(), std::fabs(), LONG_, MATH__, pi, and zbesh_().
| cplx< double > TBCI::besselh2 | ( | double | order, | |
| const cplx< double > & | z | |||
| ) |
Definition at line 86 of file specfun.cpp.
References exp(), std::fabs(), TBCI::cplx< T >::imag(), LONG_, MATH__, pi, TBCI::cplx< T >::real(), and zbesh_().
| std::complex< double > TBCI::besseli | ( | double | order, | |
| const std::complex< double > & | z | |||
| ) |
Definition at line 139 of file specfun_stdcplx.cpp.
References besselk(), CPLX__, std::fabs(), LONG_, MATH__, pi, sin(), and zbesi_().
| cplx< double > TBCI::besseli | ( | double | order, | |
| const cplx< double > & | z | |||
| ) |
Definition at line 135 of file specfun.cpp.
References besselk(), std::fabs(), TBCI::cplx< T >::imag(), LONG_, MATH__, pi, TBCI::cplx< T >::real(), sin(), and zbesi_().
| std::complex< double > TBCI::besselj | ( | double | order, | |
| const std::complex< double > & | z | |||
| ) |
| cplx< double > TBCI::besselj | ( | double | order, | |
| const cplx< double > & | z | |||
| ) |
Definition at line 110 of file specfun.cpp.
References bessely(), cos(), std::fabs(), TBCI::cplx< T >::imag(), LONG_, MATH__, pi, TBCI::cplx< T >::real(), sin(), and zbesj_().
| std::complex< double > TBCI::besselk | ( | double | order, | |
| const std::complex< double > & | z | |||
| ) |
Definition at line 164 of file specfun_stdcplx.cpp.
References CPLX__, std::fabs(), LONG_, MATH__, and zbesk_().
Referenced by besseli().
| cplx< double > TBCI::besselk | ( | double | order, | |
| const cplx< double > & | z | |||
| ) |
Definition at line 160 of file specfun.cpp.
References std::fabs(), TBCI::cplx< T >::imag(), LONG_, MATH__, TBCI::cplx< T >::real(), and zbesk_().
| std::complex< double > TBCI::bessely | ( | double | order, | |
| const std::complex< double > & | z | |||
| ) |
| cplx< double > TBCI::bessely | ( | double | order, | |
| const cplx< double > & | z | |||
| ) |
Definition at line 183 of file specfun.cpp.
References besselj(), cos(), std::fabs(), TBCI::cplx< T >::imag(), LONG_, MATH__, pi, TBCI::cplx< T >::real(), sin(), and zbesy_().
| int TBCI::BiCG | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| unsigned int & | max_iter, | |||
| double & | tol | |||
| ) | [inline] |
Iterative template solver -- BiCG.
BiCG solves the unsymmetric linear system Ax = b using the Preconditioned BiConjugate Gradient method
BiCG follows the algorithm described on p. 22 of the SIAM Templates book.
| x | -- approximate solution to Ax = b | |
| max_iter | -- the number of iterations performed before the tolerance was reached | |
| tol | -- the residual after the final iteration |
Definition at line 47 of file bicg.h.
References conj(), MATH__, TBCI::Preconditioner_Sig< T, MatrixType >::solve(), sqr(), sqrt(), TBCI::Preconditioner_Sig< T, MatrixType >::transSolve(), and UNLIKELY.
| int TBCI::BiCGSTAB | ( | const SysMatrix & | A, | |
| Vector< T > & | x, | |||
| const Vector< T > & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| unsigned int & | max_iter, | |||
| T_tol & | tol, | |||
| const unsigned | off = 0 | |||
| ) | [inline] |
BiCGSTAB solves the unsymmetric linear system Ax = b using the Preconditioned BiConjugate Gradient Stabilized method.
BiCGSTAB follows the algorithm described on p. 27 of the SIAM Templates book.
| A | -- System Matrix with coeffs of linear system to be solved | |
| x | -- input: initial guess value; output: approximate solution to Ax = b | |
| b | -- Vector (inhomogeneity) | |
| M | -- Preconditioner | |
| max_iter | -- input: max number of iterations allowed; output: the number of iterations performed before the tolerance was reached | |
| tol | -- input: desired accuracy (residual is a measure for the relative error); output: residual after the final iteration | |
| off | -- only used when debug output is generated: offset |
BiCGstab is a good general purpose iterative solver; it's convergence is not as fast as CGS, when CGS finally gets on the right path, but it works a bit more reliably and makes progress right from the start.
Definition at line 87 of file bicgstab.h.
References dot(), std::fabs(), fabssqr(), TBCI::Vector< T >::fabssqr(), LIKELY, MATH__, TBCI::Preconditioner_Sig< T, MatrixType >::solve(), sqr(), sqrt(), STD__, TBCI__, and UNLIKELY.
| void TBCI::bind_threads | ( | bool | bind_main = false |
) |
Set scheduling affinity of threads Rather than letting the OS decide which CPU a thread runs on, this makes sure a thread can only run on one CPU.
And it will always be the same CPU, which can have positive effects because of the cache.
| bind_main | Also bind main thread. Only use if no other parallelization support is used beyond the infrastructure from the TBCI library. |
Definition at line 569 of file smp.cc.
References bound_main, main_thread_pid, num_threads, TBCI::thr_ctrl::t_id, and threads_bound.
| BVector<T>& TBCI::bvfillm | ( | BVector< T > & | bv, | |
| const Matrix< T > & | m | |||
| ) | [inline] |
Definition at line 2221 of file matrix.h.
References BCHK, TBCI::TMatrix< T >::dim, TBCI::BVector< T >::dim, TBCI::TMatrix< T >::size(), T, TBCICOPY, TBCI::TMatrix< T >::vec, and TBCI::BVector< T >::vec.
| TMatrix<T> TBCI::cediv | ( | const Matrix< T > & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 509 of file vector_extra.h.
References BCHK, TBCI::TMatrix< T >::columns(), and TBCI::TMatrix< T >::rows().
| TVector<T> TBCI::cediv | ( | const TSVector< T > & | ts1, | |
| const TSVector< T > & | ts2 | |||
| ) | [inline] |
Definition at line 420 of file vector_extra.h.
References BCHK, conj(), CPLX__, TBCI::TSVector< T >::destroy(), ediv(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::cediv | ( | const TSVector< T > & | ts, | |
| const Vector< T > & | v | |||
| ) | [inline] |
Definition at line 407 of file vector_extra.h.
References BCHK, conj(), CPLX__, ediv(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::cediv | ( | const Vector< T > & | v, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 393 of file vector_extra.h.
References BCHK, conj(), CPLX__, ediv(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::cediv | ( | const TSVector< T > & | ts, | |
| TVector< T > | tv | |||
| ) | [inline] |
Definition at line 383 of file vector_extra.h.
References BCHK, conj(), CPLX__, TBCI::TSVector< T >::destroy(), ediv(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::set(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cediv | ( | TVector< T > | tv, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 373 of file vector_extra.h.
References BCHK, conj(), CPLX__, TBCI::TSVector< T >::destroy(), ediv(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::get(), TBCI::TVector< T >::set(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cediv | ( | TVector< T > | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 175 of file vector_extra.h.
References BCHK, TBCI::BVector< T >::destroy(), TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cediv | ( | const Vector< T > & | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 166 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cediv | ( | TVector< T > | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 157 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cediv | ( | const Vector< T > & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 147 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), and TBCI::TVector< T >::size().
| FS_Vector<dims,T> TBCI::cediv | ( | const FS_Vector< dims, T > & | f1, | |
| const FS_Vector< dims, T > & | f2 | |||
| ) | [inline] |
| TMatrix<T> TBCI::cemul | ( | const Matrix< T > & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 485 of file vector_extra.h.
References BCHK, TBCI::TMatrix< T >::columns(), and TBCI::TMatrix< T >::rows().
| TVector<T> TBCI::cemul | ( | const TSVector< T > & | ts1, | |
| const TSVector< T > & | ts2 | |||
| ) | [inline] |
Definition at line 297 of file vector_extra.h.
References BCHK, conj(), CPLX__, TBCI::TSVector< T >::destroy(), emul(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::cemul | ( | const TSVector< T > & | ts, | |
| const Vector< T > & | v | |||
| ) | [inline] |
Definition at line 284 of file vector_extra.h.
References BCHK, conj(), CPLX__, emul(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::cemul | ( | const Vector< T > & | v, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 270 of file vector_extra.h.
References BCHK, conj(), CPLX__, emul(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::cemul | ( | const TSVector< T > & | ts, | |
| TVector< T > | tv | |||
| ) | [inline] |
Definition at line 260 of file vector_extra.h.
References BCHK, conj(), CPLX__, TBCI::TSVector< T >::destroy(), emul(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::set(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cemul | ( | TVector< T > | tv, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 250 of file vector_extra.h.
References BCHK, conj(), CPLX__, TBCI::TSVector< T >::destroy(), emul(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::get(), TBCI::TVector< T >::set(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cemul | ( | TVector< T > | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 97 of file vector_extra.h.
References BCHK, TBCI::BVector< T >::destroy(), TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cemul | ( | const Vector< T > & | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 87 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cemul | ( | TVector< T > | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 77 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::cemul | ( | const Vector< T > & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 66 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| FS_Vector<dims,T> TBCI::cemul | ( | const FS_Vector< dims, T > & | f1, | |
| const FS_Vector< dims, T > & | f2 | |||
| ) | [inline] |
| int TBCI::CG | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| unsigned int & | max_iter, | |||
| double & | tol | |||
| ) | [inline] |
Iterative template solver routine -- CG.
CG solves the symmetric positive definite linear system Ax=b using the Conjugate Gradient method.
CG follows the algorithm described on p. 15 in the SIAM Templates book.
| x | -- approximate solution to Ax = b | |
| max_iter | -- the number of iterations performed before the tolerance was reached | |
| tol | -- the residual after the final iteration |
Definition at line 45 of file cg.h.
References dot(), and TBCI::Preconditioner_Sig< T, MatrixType >::solve().
| int TBCI::CG2 | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| unsigned int & | max_iter, | |||
| double & | tol | |||
| ) | [inline] |
CG2 solves the symmetric complex (positive definite?) linear system Ax=b using the Conjugate Gradient method.
Definition at line 112 of file cg.h.
References TBCI::Preconditioner_Sig< T, MatrixType >::solve().
| int TBCI::CGS | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| unsigned int & | max_iter, | |||
| double & | tol, | |||
| const unsigned | off = 0 | |||
| ) | [inline] |
Iterative template routine -- CGS.
CGS solves the unsymmetric linear system Ax = b using the Conjugate Gradient Squared method
CGS follows the algorithm described on p. 26 of the SIAM Templates book.
| A | -- System Matrix, contains the coeffs of the linear system | |
| x | -- input: initial guess value for solution; output: approximate solution to Ax = b | |
| b | -- Vector (inhomogeneity) | |
| M | -- Preconditioner | |
| max_iter | -- input: max number of iterations allowed; output: the number of iterations performed before the tolerance was reached | |
| tol | -- input: desired residual (measurement for relative error); output: the residual after the final iteration | |
| off | -- Only used for solver logging: offset counter |
Definition at line 70 of file cgs.h.
References dot(), MATH__, TBCI::Preconditioner_Sig< T, MatrixType >::solve(), sqr(), sqrt(), STD__, and TBCI__.
| int TBCI::CHEBY | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| unsigned int & | max_iter, | |||
| double & | tol, | |||
| T | eigmin, | |||
| T | eigmax | |||
| ) | [inline] |
Iterative template routine -- CHEBY.
CHEBY solves the symmetric positive definite linear system Ax = b using the Preconditioned Chebyshev Method
CHEBY follows the algorithm described on p. 30 of the SIAM Templates book.
| x | -- approximate solution to Ax = b | |
| max_iter | -- the number of iterations performed before the tolerance was reached | |
| tol | -- the residual after the final iteration |
Definition at line 60 of file cheby.h.
References TBCI::Preconditioner_Sig< T, MatrixType >::solve(), T, and VALUE_TYPE.
| T TBCI::chisq | ( | Vector< T > & | data, | |
| Vector< T > & | func, | |||
| Vector< T > & | sig | |||
| ) | [inline] |
Definition at line 159 of file my_nr.h.
References ALIGN, MIN_ALIGN, TBCI::TVector< T >::size(), sqr(), and T.
Referenced by grid_min().
| T TBCI::Chisq | ( | Vector< T > & | data, | |
| Vector< T > & | func, | |||
| Vector< T > & | sig | |||
| ) | [inline] |
Definition at line 155 of file LM_fit.h.
References ALIGN, MIN_ALIGN, TBCI::TVector< T >::size(), sqr(), and T.
Referenced by Grid_Min_2D().
| T TBCI::chisquare | ( | T(*)(const Vector< T > &, const Vector< T > &) | func, | |
| Vector< T > & | param, | |||
| Vector< T > & | x, | |||
| Vector< T > & | y, | |||
| Vector< T > & | sigma | |||
| ) | [inline] |
Definition at line 172 of file my_nr.h.
References ALIGN, std::arg(), MIN_ALIGN, TBCI::TVector< T >::size(), sqr(), T, and y.
Referenced by lev_mar().
| T TBCI::Chisquare_2D | ( | T(*)(const Vector< T > &, const Vector< T > &) | func, | |
| Vector< T > & | param, | |||
| Vector< T > & | x, | |||
| Vector< T > & | y, | |||
| Vector< T > & | z, | |||
| Vector< T > & | sigma | |||
| ) | [inline] |
| sigma | calculates function values of func at position x with params param and return chisq with given y values weighted with sigmas |
Definition at line 172 of file LM_fit.h.
References ALIGN, std::arg(), MIN_ALIGN, TBCI::TVector< T >::size(), sqr(), T, and y.
| BVector<T> TBCI::concat | ( | const BVector< T > & | b1, | |
| const BVector< T > & | b2 | |||
| ) | [inline] |
| TVector<T> TBCI::conj | ( | const Vector< T > & | v | ) | [inline] |
Definition at line 897 of file vector.h.
References TBCI::TVector< T >::conj, CPLX__, and TBCI::TVector< T >::size().
Referenced by ApplyPlaneRotation(), BiCG(), cediv(), cemul(), and dot().
| TVector<T>& TBCI::conj | ( | TVector< T > & | tv | ) | [inline] |
Definition at line 868 of file vector.h.
References TBCI::TVector< T >::conj, CPLX__, TBCI::TVector< T >::get(), TBCI::TVector< T >::set(), and TBCI::TVector< T >::size().
Referenced by cediv(), cemul(), do_bdmat_vec_dotmult(), and dot().
| Tensor<T> TBCI::ctrmul | ( | const Tensor< T > & | t1, | |
| const Tensor< T > & | t2, | |||
| const unsigned | i1, | |||
| const unsigned | i2 | |||
| ) | [inline] |
Definition at line 665 of file tensor.h.
References BCHK, TBCI::CTensor< T >::calc_offs(), TBCI::CTensor< T >::data, idx_fill_in1(), idx_remove2(), TBCI::Index::next_idx(), TBCI::CTensor< T >::rank, TBCI::CTensor< T >::shape, and TBCI::Vector< T >::slice().
| Tensor<T> TBCI::dctmul | ( | const Tensor< T > & | t0, | |
| const Tensor< T > & | t1 | |||
| ) | [inline] |
Definition at line 726 of file tensor.h.
References TBCI::BVector< T >::append(), TBCI::Index::next_idx(), TBCI::CTensor< T >::rank, TBCI::CTensor< T >::shape, and TBCI::Vector< T >::slice().
| static int TBCI::detect_num_cpu | ( | ) | [static] |
| void TBCI::disable_threads | ( | ) |
| void TBCI::do_add_vec_vec_cmul | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
| void TBCI::do_add_vec_vec_mul | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
Definition at line 273 of file vec_kern_unr_pref.h.
Referenced by do_bdmat_vec_mult(), and do_bdmat_vec_transmult().
| void TBCI::do_bdmat_vec_dotmult | ( | const unsigned | start, | |
| const unsigned | end, | |||
| TVector< T > * | res, | |||
| const BdMatrix< T > * | mat, | |||
| const Vector< T > * | vec | |||
| ) | [inline] |
Definition at line 1863 of file band_matrix.h.
References TBCI::BdMatrix< T >::adiag, ALIGN, TBCI::BdMatrix< T >::bdiag, conj(), CPLX__, TBCI::BdMatrix< T >::diag, TBCI::BdMatrix< T >::diagconf, TBCI::BdMatrix< T >::dim, do_add_vec_vec_cmul(), do_vec_vec_cmul(), TBCI::TVector< T >::getcref(), TBCI::BVector< T >::getcref(), LIKELY, MAX, TBCI::BdMatrix< T >::maxoff, MIN, MIN_ALIGN, MIN_ALIGN2, PREFETCH_R, PREFETCH_W, TBCI::TVector< T >::set(), TBCI::TVector< T >::setval(), and TBCI::BVector< T >::size().
| void TBCI::do_bdmat_vec_mult | ( | const unsigned | start, | |
| const unsigned | end, | |||
| TVector< T > * | res, | |||
| const BdMatrix< T > * | mat, | |||
| const Vector< T > * | vec | |||
| ) | [inline] |
Definition at line 1479 of file band_matrix.h.
References TBCI::BdMatrix< T >::adiag, ALIGN, TBCI::BdMatrix< T >::bdiag, TBCI::BdMatrix< T >::diag, TBCI::BdMatrix< T >::diagconf, TBCI::BdMatrix< T >::dim, do_add_vec_vec_mul(), do_vec_vec_mul(), TBCI::TVector< T >::getcref(), TBCI::BVector< T >::getcref(), LIKELY, MAX, TBCI::BdMatrix< T >::maxoff, MIN, MIN_ALIGN, MIN_ALIGN2, PREFETCH_R, PREFETCH_W, TBCI::TVector< T >::set(), TBCI::TVector< T >::setval(), and TBCI::BVector< T >::size().
| void TBCI::do_bdmat_vec_transmult | ( | const unsigned | start, | |
| const unsigned | end, | |||
| TVector< T > * | res, | |||
| const BdMatrix< T > * | mat, | |||
| const Vector< T > * | vec | |||
| ) | [inline] |
Definition at line 1691 of file band_matrix.h.
References TBCI::BdMatrix< T >::adiag, ALIGN, TBCI::BdMatrix< T >::bdiag, TBCI::BdMatrix< T >::diag, TBCI::BdMatrix< T >::diagconf, TBCI::BdMatrix< T >::dim, do_add_vec_vec_mul(), do_vec_vec_mul(), TBCI::TVector< T >::getcref(), TBCI::BVector< T >::getcref(), LIKELY, MAX, TBCI::BdMatrix< T >::maxoff, MIN, MIN_ALIGN, PREFETCH_R, PREFETCH_W, TBCI::TVector< T >::set(), TBCI::TVector< T >::setval(), and TBCI::BVector< T >::size().
| F_BandMatrix<T> TBCI::do_fbdmat_scale | ( | const T | z, | |
| const F_BandMatrix< T > & | m | |||
| ) | [inline] |
Definition at line 391 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::comp, TBCI::F_BandMatrix< T >::dim, TBCI::F_BandMatrix< T >::sub, and TBCI::F_BandMatrix< T >::super.
| F_BandMatrix<T> TBCI::do_fbdmat_scale | ( | const F_BandMatrix< T > & | m, | |
| const T | z | |||
| ) | [inline] |
Definition at line 380 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::comp, TBCI::F_BandMatrix< T >::dim, TBCI::F_BandMatrix< T >::sub, and TBCI::F_BandMatrix< T >::super.
| TVector<T> TBCI::do_fbdmat_vec_mul | ( | const F_BandMatrix< T > & | m, | |
| const Vector< T > & | v | |||
| ) | [inline] |
Definition at line 303 of file f_bandmatrix.h.
References BCHK, TBCI::F_BandMatrix< T >::comp, TBCI::F_BandMatrix< T >::dim, MIN, right, TBCI::TVector< T >::set(), TBCI::TVector< T >::size(), TBCI::F_BandMatrix< T >::sub, sum(), TBCI::F_BandMatrix< T >::super, and T.
| void TBCI::do_mat_tsv_mult | ( | const unsigned | start, | |
| const unsigned | end, | |||
| TVector< T > * | res, | |||
| const Matrix< T > * | mat, | |||
| const TSVector< T > * | vec | |||
| ) | [inline] |
| void TBCI::do_mat_vec_mult | ( | const unsigned | start, | |
| const unsigned | end, | |||
| TVector< T > * | res, | |||
| const Matrix< T > * | mat, | |||
| const Vector< T > * | vec | |||
| ) | [inline] |
| void TBCI::do_mat_vec_transmult | ( | const unsigned | start, | |
| const unsigned | end, | |||
| TVector< T > * | res, | |||
| const Matrix< T > * | mat, | |||
| const Vector< T > * | vec | |||
| ) | [inline] |
| void TBCI::do_nothing | ( | T | dummy | ) | [inline] |
| void TBCI::do_svc_add_svc | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_svc_add_val | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_svc_add_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_svc_sub_svc | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_svc_sub_val | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_svc_sub_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_svc_svc_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = s*vec + s*vec;
Definition at line 179 of file vec_kern_unr_pref.h.
Referenced by job_svc_svc_add().
| void TBCI::do_svc_svc_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = s*vec - s*vec;
Definition at line 183 of file vec_kern_unr_pref.h.
Referenced by job_svc_svc_sub().
| void TBCI::do_svc_val_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = s*vec + val
Definition at line 206 of file vec_kern_unr_pref.h.
Referenced by job_svc_val_add().
| void TBCI::do_svc_val_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = s*vec - val
Definition at line 210 of file vec_kern_unr_pref.h.
Referenced by job_svc_val_sub().
| void TBCI::do_svc_vec_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = s*vec + vec;
Definition at line 170 of file vec_kern_unr_pref.h.
Referenced by job_svc_vec_add().
| void TBCI::do_svc_vec_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = s*vec - vec;
Definition at line 174 of file vec_kern_unr_pref.h.
Referenced by job_svc_vec_sub().
| void TBCI::do_val_add_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_val_div_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val / vec;
Definition at line 134 of file vec_kern_unr_pref.h.
Referenced by job_val_div_vec().
| void TBCI::do_val_sub_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec -= val; vec = -vec;
Definition at line 122 of file vec_kern_unr_pref.h.
Referenced by job_val_sub_vec().
| void TBCI::do_val_svc_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val + s*vec;
Definition at line 224 of file vec_kern_unr_pref.h.
Referenced by job_val_svc_add().
| void TBCI::do_val_svc_div | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val / s*vec;
Definition at line 232 of file vec_kern_unr_pref.h.
Referenced by job_val_svc_div().
| void TBCI::do_val_svc_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val - s*vec;
Definition at line 228 of file vec_kern_unr_pref.h.
Referenced by job_val_svc_sub().
| void TBCI::do_val_vec_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val + vec;
Definition at line 97 of file vec_kern_unr_pref.h.
Referenced by job_val_vec_add().
| void TBCI::do_val_vec_div | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val / vec;
Definition at line 109 of file vec_kern_unr_pref.h.
Referenced by job_val_vec_div().
| void TBCI::do_val_vec_mul | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val * vec;
Definition at line 105 of file vec_kern_unr_pref.h.
Referenced by job_val_vec_mul().
| void TBCI::do_val_vec_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = val - vec;
Definition at line 101 of file vec_kern_unr_pref.h.
Referenced by job_val_vec_sub().
| void TBCI::do_vec_add_svc | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_add_val | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_add_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_cdiv_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_cdiv_vec_inv | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_cmul_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_cmul_vec_inv | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_div_val | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_div_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_div_vec_inv | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_dot | ( | const unsigned long | sz, | |
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| T & | _f2 | |||
| ) | [inline] |
val = SUM vec * ~vec;
Definition at line 246 of file vec_kern_unr_pref.h.
Referenced by job_vec_dot().
| void TBCI::do_vec_fabssqr | ( | const unsigned long | sz, | |
| const T * | res, | |||
| long double & | _f2 | |||
| ) | [inline] |
val = SUM fabssqr vec ;
Definition at line 255 of file vec_kern_unr_pref.h.
Referenced by TBCI::Matrix< T >::fabssqr(), TBCI::TSMatrix< T >::fabssqr(), and job_vec_fabssqr().
| void TBCI::do_vec_mul_val | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_mul_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_mult | ( | const unsigned long | sz, | |
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| T & | _f2 | |||
| ) | [inline] |
val = SUM vec * vec;
Definition at line 250 of file vec_kern_unr_pref.h.
Referenced by job_vec_mult().
| void TBCI::do_vec_neg | ( | const unsigned long | sz, | |
| T *__restrict__ const | res | |||
| ) | [inline] |
| void TBCI::do_vec_neg_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_sub_svc | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_sub_svc_inv | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec -= val*vec
Definition at line 156 of file vec_kern_unr_pref.h.
Referenced by job_vec_sub_svc_inv().
| void TBCI::do_vec_sub_val | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_sub_vec | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
| void TBCI::do_vec_sub_vec_inv | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1 | |||
| ) | [inline] |
vec -= vec; vec = -vec;
Definition at line 50 of file vec_kern_unr_pref.h.
Referenced by job_vec_sub_vec_inv().
| void TBCI::do_vec_sum | ( | const unsigned long | sz, | |
| const T * | res, | |||
| T & | _f2 | |||
| ) | [inline] |
| void TBCI::do_vec_sumsqr | ( | const unsigned long | sz, | |
| const T * | res, | |||
| T & | _f2 | |||
| ) | [inline] |
| void TBCI::do_vec_svc_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = vec + s*vec;
Definition at line 161 of file vec_kern_unr_pref.h.
Referenced by job_vec_svc_add().
| void TBCI::do_vec_svc_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = vec - s*vec;
Definition at line 165 of file vec_kern_unr_pref.h.
Referenced by job_vec_svc_sub().
| void TBCI::do_vec_val_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_val_mul | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
vec = vec * val;
Definition at line 92 of file vec_kern_unr_pref.h.
Referenced by job_vec_val_mul().
| void TBCI::do_vec_val_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| register typename tbci_traits< T >::loop_const_refval_type | f2 | |||
| ) | [inline] |
| void TBCI::do_vec_vec_add | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
vec = vec + vec;
Definition at line 17 of file vec_kern_unr_pref.h.
Referenced by job_vec_vec_add().
| void TBCI::do_vec_vec_cdiv | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
| void TBCI::do_vec_vec_cmul | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
vec = cemul(vec, vec);
Definition at line 29 of file vec_kern_unr_pref.h.
Referenced by do_bdmat_vec_dotmult().
| void TBCI::do_vec_vec_div | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
| void TBCI::do_vec_vec_mul | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
vec = emul (vec, vec);
Definition at line 25 of file vec_kern_unr_pref.h.
Referenced by do_bdmat_vec_mult(), and do_bdmat_vec_transmult().
| void TBCI::do_vec_vec_sub | ( | const unsigned long | sz, | |
| T *__restrict__ const | res, | |||
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2 | |||
| ) | [inline] |
vec = vec - vec;
Definition at line 21 of file vec_kern_unr_pref.h.
Referenced by job_vec_vec_sub().
| void TBCI::do_vv_comp | ( | const unsigned long | sz, | |
| const T *__restrict__ const | v1, | |||
| const T *__restrict__ const | v2, | |||
| volatile long & | _f2 | |||
| ) | [inline] |
f2 = number of differences vec, vec
Definition at line 268 of file vec_kern_unr_pref.h.
Referenced by job_vv_comp().
| T TBCI::dot | ( | const Vector< T > & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 1817 of file vector.h.
References BCHK, CACHELINE_SZ, TBCI::Vector< T >::dot, LIKELY, PREFETCH_R, TBCI::TVector< T >::size(), slice_offset(), SMP_VECSLICE, STD__, T, TBCI::thr_ctrl::t_res_dummy, THREAD_MAX_RES_LN, thread_start(), thread_wait(), threads, threads_avail(), and TBCI::BVector< T >::vec.
Referenced by BiCGSTAB(), CG(), CGS(), and GMRES().
| T TBCI::dot | ( | const FS_Vector< dims, T > & | fv1, | |
| const FS_Vector< dims, T > & | fv2 | |||
| ) | [inline] |
Definition at line 466 of file fs_vector.h.
| cplx<T> TBCI::dot | ( | const cplx< T > & | a, | |
| const cplx< T > & | b | |||
| ) | [inline] |
| cplx_t TBCI::dot | ( | const cplx_t | a, | |
| const cplx_t | b | |||
| ) | [inline] |
Definition at line 140 of file builtin_cplx.h.
| T TBCI::dot | ( | const T & | a1, | |
| const T & | a2 | |||
| ) | const [inline] |
| template double TBCI::dot< double > | ( | const double & | , | |
| const double & | ||||
| ) |
| TMatrix<T> TBCI::ediv | ( | const T & | a, | |
| const TSMatrix< T > & | ts | |||
| ) | [inline] |
Definition at line 540 of file vector_extra.h.
References TBCI::TSMatrix< T >::detach(), STD_SMP_TEMPLATE4C, and T.
| TMatrix<T> TBCI::ediv | ( | const T & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 530 of file vector_extra.h.
References TBCI::TMatrix< T >::columns(), TBCI::TMatrix< T >::rows(), and STD_SMP_TEMPLATE3VC.
| TMatrix<T> TBCI::ediv | ( | const T & | a, | |
| TMatrix< T > | b | |||
| ) | [inline] |
| TMatrix<T> TBCI::ediv | ( | const Matrix< T > & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 497 of file vector_extra.h.
References BCHK, TBCI::TMatrix< T >::columns(), ediv(), and TBCI::TMatrix< T >::rows().
| TVector<T> TBCI::ediv | ( | const T & | a, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 454 of file vector_extra.h.
References TBCI::TSVector< T >::detach(), TBCI::TSVector< T >::getcref(), TBCI::TSVector< T >::getfac(), TBCI::TSVector< T >::getfacref(), TBCI::TSVector< T >::size(), STD_SMP_TEMPLATE4C, T, and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::ediv | ( | const T & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 444 of file vector_extra.h.
References TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), TBCI::TVector< T >::size(), and STD_SMP_TEMPLATE3VC.
| TVector<T> TBCI::ediv | ( | const T & | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 436 of file vector_extra.h.
References TBCI::TVector< T >::setval(), TBCI::TVector< T >::size(), and STD_SMP_TEMPLATE2C.
| TVector<T> TBCI::ediv | ( | const TSVector< T > & | ts, | |
| TVector< T > | tv | |||
| ) | [inline] |
Definition at line 362 of file vector_extra.h.
References BCHK, TBCI::TSVector< T >::destroy(), ediv(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::set(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::ediv | ( | const TSVector< T > & | ts, | |
| const Vector< T > & | v | |||
| ) | [inline] |
Definition at line 349 of file vector_extra.h.
References BCHK, ediv(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::ediv | ( | const TSVector< T > & | ts1, | |
| const TSVector< T > & | ts2 | |||
| ) | [inline] |
Definition at line 335 of file vector_extra.h.
References BCHK, TBCI::TSVector< T >::destroy(), ediv(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::ediv | ( | const Vector< T > & | v, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 322 of file vector_extra.h.
References BCHK, ediv(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::ediv | ( | TVector< T > | tv, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 312 of file vector_extra.h.
References BCHK, TBCI::TSVector< T >::destroy(), ediv(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::setval(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::ediv | ( | TVector< T > | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 138 of file vector_extra.h.
References BCHK, TBCI::BVector< T >::destroy(), TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::ediv | ( | const Vector< T > & | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 129 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::ediv | ( | TVector< T > | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 120 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::ediv | ( | const Vector< T > & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 110 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), and TBCI::TVector< T >::size().
| FS_Vector<dims,T> TBCI::ediv | ( | const FS_Vector< dims, T > & | f1, | |
| const FS_Vector< dims, T > & | f2 | |||
| ) | [inline] |
| int TBCI::eig | ( | F_Matrix< std::__complex__ float< double > > | A, | |
| Vector< double > & | EW | |||
| ) |
Definition at line 294 of file lapack_stdcplx.cpp.
References TBCI::BVector< T >::get_fortran_vector(), integer, STD__, and zheev_().
| int TBCI::eig | ( | const F_Matrix< std::__complex__ float< double > > & | A, | |
| Vector< double > & | EW, | |||
| F_Matrix< std::__complex__ float< double > > & | EVec | |||
| ) |
complex hermitean
Definition at line 266 of file lapack_stdcplx.cpp.
References TBCI::BVector< T >::get_fortran_vector(), integer, STD__, and zheev_().
| int TBCI::eig | ( | const F_BandMatrix< std::__complex__ float< double > > & | A, | |
| const F_BandMatrix< std::__complex__ float< double > > & | B, | |||
| double | EW_min, | |||
| double | EW_max, | |||
| Vector< double > & | Eigenwerte, | |||
| F_Matrix< std::__complex__ float< double > > & | Eigenvectoren | |||
| ) |
selected eigenvalues -vectors: A*EV=EW*B*EV of hermitean Matrix A, positive definite Matrix B
Definition at line 145 of file lapack_stdcplx.cpp.
References CPLX__, doublecomplex::i, imag(), own_ev_(), own_ew_(), doublecomplex::r, real, TBCI::BVector< T >::resize(), STD__, and y.
| int TBCI::eig | ( | const F_Matrix< std::__complex__ float< double > > & | A, | |
| Vector< std::__complex__ float< double > > & | EW, | |||
| F_Matrix< std::__complex__ float< double > > & | EV | |||
| ) |
Definition at line 121 of file lapack_stdcplx.cpp.
References doublereal, integer, NEW, TBCIDELETE, and zgeev_().
| int TBCI::eig | ( | const F_Matrix< std::__complex__ float< double > > & | A, | |
| Vector< std::__complex__ float< double > > & | EW | |||
| ) |
eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A
Definition at line 100 of file lapack_stdcplx.cpp.
References doublereal, integer, NEW, TBCIDELETE, and zgeev_().
| int TBCI::eig | ( | const F_Matrix< cplx< double > > & | A, | |
| Vector< cplx< double > > & | EW, | |||
| F_Matrix< cplx< double > > & | EV | |||
| ) |
Definition at line 395 of file lapack.cpp.
References doublereal, integer, NEW, TBCIDELETE, and zgeev_().
| int TBCI::eig | ( | const F_Matrix< cplx< double > > & | A, | |
| Vector< cplx< double > > & | EW | |||
| ) |
eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A
Definition at line 374 of file lapack.cpp.
References doublereal, integer, NEW, TBCIDELETE, and zgeev_().
| int TBCI::eig | ( | const F_BandMatrix< std::complex< double > > & | A, | |
| const F_BandMatrix< std::complex< double > > & | B, | |||
| double | EW_min, | |||
| double | EW_max, | |||
| Vector< double > & | Eigenwerte, | |||
| F_Matrix< std::complex< double > > & | Eigenvectoren | |||
| ) |
| int TBCI::eig | ( | const F_Matrix< std::complex< double > > & | A, | |
| Vector< double > & | EW, | |||
| F_Matrix< std::complex< double > > & | EVec | |||
| ) |
| int TBCI::eig | ( | F_Matrix< std::complex< double > > | A, | |
| Vector< double > & | EW | |||
| ) |
| int TBCI::eig | ( | const F_BandMatrix< cplx< double > > & | A, | |
| const F_BandMatrix< cplx< double > > & | B, | |||
| double | EW_min, | |||
| double | EW_max, | |||
| Vector< double > & | Eigenwerte, | |||
| F_Matrix< cplx< double > > & | Eigenvectoren | |||
| ) |
selected eigenvalues -vectors: A*EV=EW*B*EV of hermitean Matrix A, positive definite Matrix B
Definition at line 419 of file lapack.cpp.
References CPLX__, doublecomplex::i, imag(), own_ev_(), own_ew_(), doublecomplex::r, real, TBCI::BVector< T >::resize(), STD__, and y.
| int TBCI::eig | ( | const F_Matrix< COMPLEX_DOUBLE > & | A, | |
| Vector< COMPLEX_DOUBLE > & | EW, | |||
| F_Matrix< COMPLEX_DOUBLE > & | EV | |||
| ) |
| int TBCI::eig | ( | const F_Matrix< COMPLEX_DOUBLE > & | A, | |
| Vector< COMPLEX_DOUBLE > & | EW | |||
| ) |
| int TBCI::eig | ( | const F_Matrix< cplx< double > > & | A, | |
| Vector< double > & | EW, | |||
| F_Matrix< cplx< double > > & | EVec | |||
| ) |
complex hermitean
Definition at line 539 of file lapack.cpp.
References TBCI::BVector< T >::get_fortran_vector(), integer, STD__, and zheev_().
| int TBCI::eig | ( | F_Matrix< cplx< double > > | A, | |
| Vector< double > & | EW | |||
| ) |
Definition at line 567 of file lapack.cpp.
References TBCI::BVector< T >::get_fortran_vector(), integer, STD__, and zheev_().
| int TBCI::eig | ( | const F_BandMatrix< double > & | A, | |
| Vector< double > & | EW, | |||
| F_Matrix< double > & | EV, | |||
| double | ew_min, | |||
| double | ew_max | |||
| ) |
Definition at line 320 of file lapack.cpp.
References TBCI::F_BandMatrix< T >::columns(), dsbevx_(), TBCI::F_Matrix< T >::get_col(), TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::F_BandMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_BandMatrix< T >::numSub(), TBCI::F_BandMatrix< T >::numSuper(), TBCI::BVector< T >::resize(), TBCI::F_Matrix< T >::resize(), and TBCI::F_Matrix< T >::set_col().
| int TBCI::eig | ( | const F_BandMatrix< double > & | A, | |
| Vector< double > & | EW, | |||
| F_Matrix< double > & | EV | |||
| ) |
Definition at line 296 of file lapack.cpp.
References TBCI::F_BandMatrix< T >::columns(), dsbev_(), TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::F_BandMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_BandMatrix< T >::numSub(), and TBCI::F_BandMatrix< T >::numSuper().
| int TBCI::eig | ( | const F_Matrix< double > & | A, | |
| Vector< double > & | EW, | |||
| F_Matrix< double > & | EV | |||
| ) |
Definition at line 279 of file lapack.cpp.
References TBCI::F_Matrix< T >::columns(), dsyev_(), TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), and integer.
| int TBCI::eig | ( | const F_Matrix< double > & | A, | |
| Vector< double > & | EW | |||
| ) |
eigenvalues (and eigenvectors) A*EV=EW*EV of symmetric double Matrix A
Definition at line 263 of file lapack.cpp.
References TBCI::F_Matrix< T >::columns(), dsyev_(), TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), and integer.
| TMatrix<T> TBCI::emul | ( | const Matrix< T > & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 473 of file vector_extra.h.
References BCHK, TBCI::TMatrix< T >::columns(), and TBCI::TMatrix< T >::rows().
| TVector<T> TBCI::emul | ( | const TSVector< T > & | ts1, | |
| const TSVector< T > & | ts2 | |||
| ) | [inline] |
Definition at line 235 of file vector_extra.h.
References BCHK, TBCI::TSVector< T >::destroy(), emul(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::emul | ( | const TSVector< T > & | ts, | |
| const Vector< T > & | v | |||
| ) | [inline] |
Definition at line 222 of file vector_extra.h.
References BCHK, emul(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::emul | ( | const Vector< T > & | v, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 209 of file vector_extra.h.
References BCHK, emul(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::mut, TBCI::BVector< T >::resize(), TBCI::TVector< T >::set(), TBCI::BVector< T >::setptr(), TBCI::BVector< T >::setsize(), TBCI::TVector< T >::size(), TBCI::TSVector< T >::size(), and TBCI::TSVector< T >::vecptr().
| TVector<T> TBCI::emul | ( | const TSVector< T > & | ts, | |
| TVector< T > | tv | |||
| ) | [inline] |
Definition at line 198 of file vector_extra.h.
References BCHK, TBCI::TSVector< T >::destroy(), emul(), TBCI::TVector< T >::get(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::set(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::emul | ( | TVector< T > | tv, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 188 of file vector_extra.h.
References BCHK, TBCI::TSVector< T >::destroy(), emul(), TBCI::TSVector< T >::get(), TBCI::TVector< T >::setval(), TBCI::TSVector< T >::size(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::emul | ( | TVector< T > | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 56 of file vector_extra.h.
References BCHK, TBCI::BVector< T >::destroy(), TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::emul | ( | const Vector< T > & | a, | |
| TVector< T > | b | |||
| ) | [inline] |
Definition at line 46 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::emul | ( | TVector< T > | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 36 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::emul | ( | const Vector< T > & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 25 of file vector_extra.h.
References BCHK, TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| FS_Vector<dims,T> TBCI::emul | ( | const FS_Vector< dims, T > & | f1, | |
| const FS_Vector< dims, T > & | f2 | |||
| ) | [inline] |
| cplx<T> TBCI::expi | ( | const T | phi | ) | [inline] |
Definition at line 460 of file cplx.h.
References ALIGN, TBCI::cplx< T >::cos(), MATH__, MIN_ALIGN, pi, TBCI::cplx< T >::sin(), and T.
Referenced by std::exp(), sqr(), and std::sqrt().
| cplx_t TBCI::expi | ( | const cplx_base | phi | ) | [inline] |
Definition at line 229 of file builtin_cplx.h.
References cos(), MATH__, pi2, and sin().
Referenced by TBCI::cplx< T >::exp(), polar(), TBCI::cplx< T >::power(), and TBCI::cplx< T >::sqrt().
| void TBCI::expm | ( | const Matrix & | exponent, | |
| Matrix & | E | |||
| ) | [inline] |
Definition at line 57 of file expm.h.
References lu_solve(), MAX, norm_1(), std::pow(), TBCI::TMatrix< T >::rows(), and TBCI__.
| void TBCI::expm2 | ( | const MatrixIn & | exponent, | |
| MatrixOut & | erg, | |||
| double | ERROR = 1e-3 | |||
| ) | [inline] |
| void TBCI::expm3 | ( | const MatrixIn & | exponent, | |
| MatrixOut & | erg, | |||
| double | ERROR = 1e-3 | |||
| ) | [inline] |
Definition at line 167 of file expm.h.
References std::fabs(), MATH__, MAX, norm_1(), std::pow(), and STD__.
| double TBCI::fabssqr | ( | TVector< T > | tv | ) | [inline] |
Definition at line 2374 of file vector.h.
References TBCI::TVector< T >::fabssqr().
Referenced by BiCGSTAB(), TBCI::TMatrix< T >::fabs(), std::fabs(), TBCI::hcplx::fabs(), GeneratePlaneRotation(), GMRES(), TBCI::cplx< T >::norm(), TBCI::cplx< T >::operator<(), operator<(), TBCI::FS_Vector< dims, T >::operator<=(), TBCI::cplx< T >::operator<=(), operator<=(), TBCI::cplx< T >::operator>(), operator>(), TBCI::FS_Vector< dims, T >::operator>=(), TBCI::cplx< T >::operator>=(), operator>=(), QMR(), and sqr().
| double TBCI::fabssqr | ( | const TSVector< T > & | ts | ) | [inline] |
| double TBCI::fabssqr | ( | const Vector< T > & | v | ) | [inline] |
| double TBCI::fabssqr | ( | const std::complex< T > & | a | ) | [inline] |
Definition at line 38 of file std_cplx.h.
| double TBCI::fabssqr | ( | const Matrix< T > & | m | ) | [inline] |
| double TBCI::fabssqr | ( | TSMatrix< T > & | tsm | ) | [inline] |
| double TBCI::fabssqr | ( | const TMatrix< T > & | tm | ) | [inline] |
| double TBCI::fabssqr | ( | const FS_Vector< dims, T > & | fv | ) | [inline] |
| double TBCI::fabssqr | ( | const cplx< T > & | c | ) | [inline] |
| double TBCI::fabssqr | ( | const TBCI::hcplx & | c | ) | [inline] |
Definition at line 95 of file builtin_cplx.h.
| double TBCI::fabssqr | ( | const cplx_t & | a | ) | [inline] |
Definition at line 92 of file builtin_cplx.h.
| double TBCI::fabssqr | ( | const long double | a | ) | const [inline] |
| double TBCI::fabssqr | ( | const double | a | ) | const [inline] |
Speaking of abs(), fabs() and fabssqr() : abs (T) returns type T, fabs() returns double and fabssqr() also a double (the sqr of fabs)
We want to be able to write templated code that can accept both std:: and TBCI:: types. Now, if such a routine uses functions like fabs() or abs(), we are in trouble: What namespace should the template author use for those? std:: or TBCI:: ?
Options are: (1) importing the pre-existing functions from std:: into TBCI:: (2) export the TBCI::functions to namespace std::
The answer may be different for each of those three types, as fabssqr() does not exist at all in std::, fabs() does exist, but only for doubles and abs() does exist for a number of builtin types as well as (std::complex)
In any case, the functions need to be completed, as no fabs() exists for non-double types, e.g. Additional complication is added by the fact that the whole thing should still work if compiled with NO_NS.
Solution (2) is the prefered one, as it does make users less dependent on TBCI. Unfortunately, this means that we may break backwards compatibility (on source level).
Note that the self-invented functions conj(), real(), imag() and fabssqr() remain in namespace TBCI. The same holds for sqr() and dot().
Definition at line 1024 of file basics.h.
Referenced by TBCI::F_Matrix< T >::fabs(), and TBCI::F_TSMatrix< T >::fabs().
| static int TBCI::fix_condition | ( | VectorType & | vec, | |
| const double | cndno = 1e-12 | |||
| ) | [inline, static] |
Definition at line 287 of file svd_solver.h.
References std::fabs(), MATH__, and MAX.
Referenced by svd_solve().
| void TBCI::free_threads | ( | ) |
Should be called on shutdown for multithreaded programs.
FIXME: Since Linux 2.6.16, we get the same time for all threads TODO: How to get per thread times
Definition at line 628 of file smp.cc.
References bound_main, CSTD__, ERRDECL, TBCI::List< T >::getfirst(), TBCI::List< T >::getnext(), ismainthread, main_thread_pid, NULL, num_threads, pthr_cond_signal_mutex(), TBCI::thr_ctrl::t_done, TBCI::thr_ctrl::t_done_cond, TBCI::thr_ctrl::t_id, TBCI::thr_ctrl::t_job, TBCI::thr_ctrl::t_no, TBCI::thr_ctrl::t_retval, TBCI::thr_ctrl::t_setup, TBCI::thr_ctrl::t_setup_cond, TBCI::thr_ctrl::t_setup_done, TCHK, threads_bound, and thrno.
| std::complex< double > TBCI::gamma | ( | const std::complex< double > & | z | ) |
Definition at line 42 of file specfun_stdcplx.cpp.
References std::arg(), cgamma_(), CPLX__, complex::i, and complex::r.
Referenced by HypergeometricU(), and QMR().
| cplx< double > TBCI::gamma | ( | const cplx< double > & | z | ) |
Definition at line 39 of file specfun.cpp.
References std::arg(), cgamma_(), complex::i, TBCI::cplx< T >::imag(), complex::r, and TBCI::cplx< T >::real().
| char TBCI::gaussj | ( | Matrix< T > & | a, | |
| Matrix< T > & | b | |||
| ) | [inline] |
gauss-jordan linear algebraic equation solver with pivoting; Num.Rec. p.39
Definition at line 46 of file gauss_jordan.h.
References BCHK, TBCI::TMatrix< T >::col, std::fabs(), GJ_MINVAL, HVAL, MATH__, TBCI::TMatrix< T >::row, STD__, SWAP(), and T.
Referenced by lev_mar(), and LM_fit_2D().
| void TBCI::GeneratePlaneRotation | ( | const T & | dx, | |
| const double & | dy, | |||
| double & | cs, | |||
| T & | sn | |||
| ) | [inline] |
We follow Frayssé, Giraud, Gratton for the complex implementation of the Givens plane rotations.
http://www.cerfacs.fr/algor/ There, cs is chosen to always be real, whereas sn is complex and the roation is given by (* denoting complex conjugate) x' = cs* x + sn* y y' = -sn x + cs y = 0
Definition at line 53 of file gmres.h.
References std::fabs(), fabssqr(), MATH__, sqrt(), T, and UNLIKELY.
Referenced by GMRES().
| int TBCI::GMRES | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| int & | m, | |||
| unsigned int & | max_iter, | |||
| double & | tol | |||
| ) | [inline] |
Iterative template routine -- GMRES.
GMRES solves the unsymmetric linear system Ax = b using the Generalized Minimum Residual method
GMRES follows the algorithm described on p. 20 of the SIAM Templates book.
| M | -- Preconditioner | |
| m | -- Maximum number of iterations before restart. If you can afford it, you may set it to size(b), in which convergence is guaranteed. Note that internally, a matrix of size (m+1)x(m+1) needs to be stored. |
| x | -- approximate solution to Ax = b | |
| max_iter | -- the number of iterations performed before the tolerance was reached | |
| tol | -- the residual after the final iteration |
Note: By fixing the plane rotation and replacing one inner prodcut by a dot product (which is taken by taking the innner product with the complex conjugate), I got GMres to work with complex numbers. Unfortunately, performance (convergence) is poor if used unpre- conditioned. This may or may not be a bug that's left. KG, 2002-07-25.
Definition at line 140 of file gmres.h.
References ApplyPlaneRotation(), dot(), std::fabs(), TBCI::Matrix< T >::fabs(), fabssqr(), GeneratePlaneRotation(), MATH__, TBCI::Preconditioner_Sig< T, MatrixType >::solve(), sqrt(), T, UNLIKELY, and Update().
| TVector<T> TBCI::grid_min | ( | T(*)(const Vector< T > &, const Vector< T > &) | func, | |
| Vector< T > & | x, | |||
| Vector< T > & | y, | |||
| Vector< T > & | sig, | |||
| Vector< T > & | pmin, | |||
| Vector< T > & | pmax, | |||
| Vector< T > & | lambda, | |||
| long int | res, | |||
| int | max_it, | |||
| char | v | |||
| ) | [inline] |
Definition at line 277 of file my_nr.h.
References ALIGN, std::arg(), basis_trafo(), chisq(), DELTAX, fac(), MIN_ALIGN, partial_del(), std::pow(), TBCI::TVector< T >::size(), sqr(), STD__, T, and y.
| TVector<T> TBCI::Grid_Min_2D | ( | T(*)(const Vector< T > &, const Vector< T > &) | func, | |
| Vector< T > & | x, | |||
| Vector< T > & | y, | |||
| Vector< T > & | z, | |||
| Vector< T > & | sig, | |||
| Vector< T > & | pmin, | |||
| Vector< T > & | pmax, | |||
| Vector< T > & | lambda, | |||
| long int | res, | |||
| int | max_it, | |||
| char | v | |||
| ) | [inline] |
| v | find minimun of func on grid with resolution res |
Definition at line 199 of file LM_fit.h.
References ALIGN, std::arg(), Basis_Trafo(), Chisq(), DELTAX, fac(), MATH__, min, MIN_ALIGN, Partial_Del(), std::pow(), TBCI::TVector< T >::size(), sqr(), STD__, T, and y.
| void TBCI::hpsort | ( | Matrix< T > & | x, | |
| int | pos | |||
| ) | [inline] |
Definition at line 453 of file my_nr.h.
References TBCI::TMatrix< T >::columns(), and TBCI::TMatrix< T >::rows().
| std:: complex<double> TBCI::hyper2geom1 | ( | const std::complex< double > | a, | |
| const std::complex< double > | b, | |||
| const std::complex< double > | c, | |||
| const std::complex< double > | z | |||
| ) |
Hypergeometric function 2F1 for complex arguments 2F1 is the solution to the hypergeometric differential equation x(1-x)y" + (c-(1+a+b)x)y' - aby = 0 We just do a summation over the expansion (a_k b_k/c_k * z^k / k!) with a_k := a * (a+1) * ... * (a+k-1)
Definition at line 22 of file hyper2geom1_stdcplx.cpp.
| TBCI:: cplx<double> TBCI::hyper2geom1 | ( | const TBCI::cplx< double > | a, | |
| const TBCI::cplx< double > | b, | |||
| const TBCI::cplx< double > | c, | |||
| const TBCI::cplx< double > | z | |||
| ) |
Hypergeometric function 2F1 for complex arguments 2F1 is the solution to the hypergeometric differential equation x(1-x)y" + (c-(1+a+b)x)y' - aby = 0 We just do a summation over the expansion (a_k b_k/c_k * z^k / k!) with a_k := a * (a+1) * ... * (a+k-1)
Definition at line 22 of file hyper2geom1.cpp.
| std:: complex<double> TBCI::hyper2geom1 | ( | const std::complex< double > & | a, | |
| const std::complex< double > & | b, | |||
| const std::complex< double > & | c, | |||
| const std::complex< double > & | z | |||
| ) |
| cplx<double> TBCI::hyper2geom1 | ( | const cplx< double > & | a, | |
| const cplx< double > & | b, | |||
| const cplx< double > & | c, | |||
| const cplx< double > & | z | |||
| ) |
| std::complex< double > TBCI::HypergeometricM | ( | const std::complex< double > & | a, | |
| const std::complex< double > & | b, | |||
| const std::complex< double > & | z | |||
| ) |
Definition at line 52 of file specfun_stdcplx.cpp.
References conhyp_(), CPLX__, doublecomplex::i, LONG_, and doublecomplex::r.
Referenced by HypergeometricU().
| cplx< double > TBCI::HypergeometricM | ( | const cplx< double > & | a, | |
| const cplx< double > & | b, | |||
| const cplx< double > & | z | |||
| ) |
Definition at line 49 of file specfun.cpp.
References conhyp_(), doublecomplex::i, LONG_, and doublecomplex::r.
| std::complex< double > TBCI::HypergeometricU | ( | const std::complex< double > & | a, | |
| const std::complex< double > & | b, | |||
| const std::complex< double > & | z | |||
| ) |
Definition at line 16 of file specfun_stdcplx.cpp.
References CPLX__, gamma(), HypergeometricM(), doublecomplex::i, pi, pow_zz(), doublecomplex::r, and z_sin().
| cplx< double > TBCI::HypergeometricU | ( | const cplx< double > & | a, | |
| const cplx< double > & | b, | |||
| const cplx< double > & | z | |||
| ) |
Definition at line 15 of file specfun.cpp.
References gamma(), HypergeometricM(), doublecomplex::i, TBCI::cplx< T >::imag(), pi, pow_zz(), doublecomplex::r, TBCI::cplx< T >::real(), and z_sin().
| TVector<unsigned> TBCI::idx_fill_in1 | ( | const Index & | idx, | |
| const unsigned | where, | |||
| const unsigned | what | |||
| ) | [inline] |
Definition at line 146 of file index.h.
References TBCI::Index::idx_fill_in1().
Referenced by TBCI::Tensor< T >::cntrmul(), and ctrmul().
| TVector<unsigned> TBCI::idx_fill_in2 | ( | const Index & | idx, | |
| const unsigned | where1, | |||
| const unsigned | what1, | |||
| const unsigned | where2, | |||
| const unsigned | what2 | |||
| ) | [inline] |
Definition at line 168 of file index.h.
References TBCI::Index::idx_fill_in2().
Referenced by TBCI::Tensor< T >::contract().
| TVector<unsigned> TBCI::idx_remove1 | ( | const Index & | idx, | |
| const unsigned | which | |||
| ) | [inline] |
| TVector<unsigned> TBCI::idx_remove2 | ( | const Index & | idx, | |
| const unsigned | which1, | |||
| const unsigned | which2 | |||
| ) | [inline] |
Definition at line 205 of file index.h.
References TBCI::Index::idx_remove2().
Referenced by TBCI::Tensor< T >::cntrmul(), TBCI::Tensor< T >::contract(), and ctrmul().
| TVector<unsigned> TBCI::idx_set1 | ( | const Index & | idx, | |
| const unsigned | which, | |||
| const unsigned | what | |||
| ) | [inline] |
Definition at line 219 of file index.h.
References TBCI::Index::idx_set1().
Referenced by metrmul().
| TVector<T> TBCI::imag | ( | const Vector< T > & | v | ) | [inline] |
Definition at line 918 of file vector.h.
References CPLX__, TBCI::TVector< T >::imag, and TBCI::TVector< T >::size().
Referenced by eig().
| TVector<T>& TBCI::imag | ( | TVector< T > & | tv | ) | [inline] |
Definition at line 887 of file vector.h.
References CPLX__, TBCI::TVector< T >::get(), TBCI::TVector< T >::imag, TBCI::TVector< T >::set(), and TBCI::TVector< T >::size().
| int TBCI::init_threads | ( | const int | thr = 0 |
) |
Needs to be called on startup for multithreaded programs
| thr | Number of threads to be created, 0 means automagically determine by looking at the hardware, a negativ numbers means that the automatic works, but only up to the maximum given. |
Definition at line 478 of file smp.cc.
References CSTD__, detect_num_cpu(), TBCI::List< T >::getfirst(), TBCI::List< T >::getnext(), ismainthread, lina_err(), lina_thread(), loadavg(), main_thread_pid, MAX_THREADS, NULL, num_threads, pthr_cond_wait(), TBCI::thr_ctrl::t_done, TBCI::thr_ctrl::t_done_cond, TBCI::thr_ctrl::t_done_done, TBCI::thr_ctrl::t_id, TBCI::thr_ctrl::t_job, TBCI::thr_ctrl::t_no, TBCI::thr_ctrl::t_setup, TBCI::thr_ctrl::t_setup_cond, TCHK, and thrno.
| F_TMatrix< std:: __complex__ float <double> > TBCI::inv | ( | const F_Matrix< std::__complex__ float< double > > & | A, | |
| int | overwriteA | |||
| ) |
Definition at line 32 of file lapack_stdcplx.cpp.
References CPLX__, TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::F_TMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_Matrix< T >::resize(), TBCI::F_TMatrix< T >::setval(), STD__, and zgesv_().
Referenced by LU_invert().
Definition at line 208 of file lapack.cpp.
References TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::F_TMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_Matrix< T >::resize(), TBCI::F_TMatrix< T >::setval(), STD__, and zgesv_().
| F_TMatrix< COMPLEX_DOUBLE > TBCI::inv | ( | const F_Matrix< COMPLEX_DOUBLE > & | A, | |
| int | overwriteA = 0 | |||
| ) |
| F_TMatrix< double > TBCI::inv | ( | const F_Matrix< double > & | A, | |
| int | overwriteA = 0 | |||
| ) |
Definition at line 181 of file lapack.cpp.
References TBCI::F_Matrix< T >::columns(), dgesv_(), TBCI::F_TMatrix< T >::get_fortran_matrix(), TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_Matrix< T >::resize(), TBCI::F_TMatrix< T >::setval(), and STD__.
| int TBCI::IR | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M, | |||
| unsigned int & | max_iter, | |||
| double & | tol | |||
| ) | [inline] |
Iterative template routine -- Preconditioned Richardson.
IR solves the unsymmetric linear system Ax = b using Iterative Refinement (preconditioned Richardson iteration).
| x | -- approximate solution to Ax = b | |
| max_iter | -- the number of iterations performed before the tolerance was reached | |
| tol | -- the residual after the final iteration |
Definition at line 41 of file ir.h.
References TBCI::Preconditioner_Sig< T, MatrixType >::solve().
| void TBCI::job_bdmat_vec_mult | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 2068 of file band_matrix.h.
References TBCI::BdMatrix< T >::do_bdmat_vec_mult, TBCI::thr_ctrl::t_off, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_bdmat_vec_transmult | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 2077 of file band_matrix.h.
References TBCI::BdMatrix< T >::do_bdmat_vec_transmult, TBCI::thr_ctrl::t_off, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_mat_mat_mult | ( | struct thr_ctrl * | tc | ) | [inline] |
| void TBCI::job_mat_vec_mult | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 2114 of file matrix.h.
References TBCI::TMatrix< T >::do_mat_vec_mult, TBCI::thr_ctrl::t_off, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_mat_vec_transmult | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 2122 of file matrix.h.
References TBCI::TMatrix< T >::do_mat_vec_transmult, TBCI::thr_ctrl::t_off, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_svc_svc_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = s*vec + s*vec;
Definition at line 464 of file vector.h.
References do_svc_svc_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_svc_svc_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = s*vec - s*vec;
Definition at line 491 of file vector.h.
References do_svc_svc_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_svc_val_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = s*vec + val;
Definition at line 528 of file vector.h.
References do_svc_val_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_svc_val_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = s*vec - val;
Definition at line 537 of file vector.h.
References do_svc_val_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_svc_vec_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = s*vec + vec;
Definition at line 455 of file vector.h.
References do_svc_vec_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_svc_vec_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = s*vec - vec;
Definition at line 482 of file vector.h.
References do_svc_vec_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_add_vec | ( | struct thr_ctrl * | tc | ) | [inline] |
vec += val;
Definition at line 396 of file vector.h.
References do_val_add_vec(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_div_vec | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val/self;
Definition at line 436 of file vector.h.
References do_val_div_vec(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_sub_vec | ( | struct thr_ctrl * | tc | ) | [inline] |
vec -= val; vec = -vec;
Definition at line 412 of file vector.h.
References do_val_sub_vec(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_svc_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val + s*vec;
Definition at line 546 of file vector.h.
References do_val_svc_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_svc_div | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val / s*vec;
Definition at line 564 of file vector.h.
References do_val_svc_div(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_svc_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val + s*vec;
Definition at line 555 of file vector.h.
References do_val_svc_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_vec_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val + vec;
Definition at line 364 of file vector.h.
References do_val_vec_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_vec_div | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val / vec;
Definition at line 380 of file vector.h.
References do_val_vec_div(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_vec_mul | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val * vec;
Definition at line 356 of file vector.h.
References do_val_vec_mul(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_val_vec_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = val - vec;
Definition at line 372 of file vector.h.
References do_val_vec_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_add_svc | ( | struct thr_ctrl * | tc | ) | [inline] |
vec += s*vec;
Definition at line 500 of file vector.h.
References do_vec_add_svc(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_add_val | ( | struct thr_ctrl * | tc | ) | [inline] |
vec += val;
Definition at line 388 of file vector.h.
References do_vec_add_val(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_add_vec | ( | struct thr_ctrl * | tc | ) | [inline] |
vec += vec;
Definition at line 308 of file vector.h.
References do_vec_add_vec(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_div_val | ( | struct thr_ctrl * | tc | ) | [inline] |
vec /= val;
Definition at line 428 of file vector.h.
References do_vec_div_val(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_dot | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 1799 of file vector.h.
References do_vec_dot(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_fabssqr | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 2333 of file vector.h.
References do_vec_fabssqr(), T, TBCI::thr_ctrl::t_par, TBCI::thr_ctrl::t_res, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_mul_val | ( | struct thr_ctrl * | tc | ) | [inline] |
vec *= val;
Definition at line 420 of file vector.h.
References do_vec_mul_val(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_mult | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 1808 of file vector.h.
References do_vec_mult(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_sub_svc | ( | struct thr_ctrl * | tc | ) | [inline] |
vec -= s*vec;
Definition at line 509 of file vector.h.
References do_vec_sub_svc(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_sub_svc_inv | ( | struct thr_ctrl * | tc | ) | [inline] |
vec -= s*vec;
Definition at line 518 of file vector.h.
References do_vec_sub_svc_inv(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_sub_val | ( | struct thr_ctrl * | tc | ) | [inline] |
vec -= val;
Definition at line 404 of file vector.h.
References do_vec_sub_val(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_sub_vec | ( | struct thr_ctrl * | tc | ) | [inline] |
vec -= vec;
Definition at line 316 of file vector.h.
References do_vec_sub_vec(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_sub_vec_inv | ( | struct thr_ctrl * | tc | ) | [inline] |
vec -= vec; vec = -vec;
Definition at line 324 of file vector.h.
References do_vec_sub_vec_inv(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_svc_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = vec + s*vec;
Definition at line 446 of file vector.h.
References do_vec_svc_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_svc_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = vec - s*vec;
Definition at line 473 of file vector.h.
References do_vec_svc_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_val_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = vec + val;
Definition at line 332 of file vector.h.
References do_vec_val_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_val_mul | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = vec * val;
Definition at line 348 of file vector.h.
References do_vec_val_mul(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_val_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = vec - val;
Definition at line 340 of file vector.h.
References do_vec_val_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_vec_add | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = vec + vec;
Definition at line 292 of file vector.h.
References do_vec_vec_add(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vec_vec_sub | ( | struct thr_ctrl * | tc | ) | [inline] |
vec = vec - vec;
Definition at line 300 of file vector.h.
References do_vec_vec_sub(), T, TBCI::thr_ctrl::t_par, and TBCI::thr_ctrl::t_size.
| void TBCI::job_vv_comp | ( | struct thr_ctrl * | tc | ) | [inline] |
Definition at line 1943 of file vector.h.
References do_vv_comp(), T, TBCI::thr_ctrl::t_par, TBCI::thr_ctrl::t_res_l, and TBCI::thr_ctrl::t_size.
| T TBCI::lev_mar | ( | Vector< T > & | x, | |
| Vector< T > & | y, | |||
| Vector< T > & | sig, | |||
| Vector< T > & | param, | |||
| Vector< T > & | plow, | |||
| Vector< T > & | phigh, | |||
| T(*)(const Vector< T > &, const Vector< T > &) | func, | |||
| Vector< T > | lambda, | |||
| Vector< T > & | lscale, | |||
| T | tol, | |||
| int | iter, | |||
| char | ver | |||
| ) | [inline] |
Definition at line 355 of file my_nr.h.
References ALIGN, std::arg(), chisquare(), DELTA, std::fabs(), fac(), gaussj(), MATH__, MIN_ALIGN, partial_del(), TBCI::TVector< T >::size(), STD__, T, and y.
| void TBCI::lina_err | ( | struct thr_ctrl * | tc | ) |
Definition at line 382 of file smp.cc.
References TBCI::thr_ctrl::t_no.
Referenced by init_threads(), and lina_thread().
| void* TBCI::lina_thread | ( | void * | thr | ) |
Definition at line 408 of file smp.cc.
References ismainthread, lina_err(), NULL, pthr_cond_signal_mutex(), pthr_cond_wait(), pthread_mutex_bug_abort(), TBCI::thr_ctrl::t_done, TBCI::thr_ctrl::t_done_cond, TBCI::thr_ctrl::t_done_done, TBCI::thr_ctrl::t_id, TBCI::thr_ctrl::t_job, TBCI::thr_ctrl::t_no, TBCI::thr_ctrl::t_pid, TBCI::thr_ctrl::t_res, TBCI::thr_ctrl::t_retval, TBCI::thr_ctrl::t_setup, TBCI::thr_ctrl::t_setup_cond, TBCI::thr_ctrl::t_setup_done, thrno, and UNLIKELY.
Referenced by init_threads().
| T TBCI::LM_fit_2D | ( | Vector< T > & | x, | |
| Vector< T > & | y, | |||
| Vector< T > & | z, | |||
| Vector< T > & | sig, | |||
| Vector< T > & | param, | |||
| Vector< T > & | plow, | |||
| Vector< T > & | phigh, | |||
| T(*)(const Vector< T > &, const Vector< T > &) | func, | |||
| Vector< T > | lambda, | |||
| Vector< T > & | lscale, | |||
| T | tol, | |||
| int | iter, | |||
| char | ver | |||
| ) | [inline] |
| ver | fit method: levenberg-marquardt leads to an linear equ derivatives are calculated numerically by num_derivatives parameter space is restricted by plow and phigh |
Definition at line 278 of file LM_fit.h.
References ALIGN, std::arg(), DELTA, std::fabs(), fac(), gaussj(), MATH__, MIN_ALIGN, Partial_Del(), TBCI::TVector< T >::size(), STD__, T, and y.
| static int TBCI::loadavg | ( | ) | [static] |
| static char* TBCI::ltoa | ( | const long | l | ) | [static] |
| TVector<T> TBCI::LU_bkw_subst | ( | const Matrix< T > & | lu, | |
| const Vector< T > & | y | |||
| ) | [inline] |
Definition at line 205 of file lu_solver.h.
References ALIGN2, BCHK, TBCI::TVector< T >::get(), MIN_ALIGN2, TBCI::TMatrix< T >::rows(), TBCI::TVector< T >::set(), TBCI::TVector< T >::size(), T, and y.
Referenced by LU_solve().
| TVector<T> TBCI::LU_bkw_subst | ( | const BdMatrix< T > & | lu, | |
| const Vector< T > & | y | |||
| ) | [inline] |
Definition at line 224 of file bd_lu_solver.h.
References ALIGN2, BCHK, TBCI::TVector< T >::get(), TBCI::BdMatrix< T >::getmaxoff(), MIN, MIN_ALIGN2, TBCI::BdMatrix< T >::rows(), TBCI::TVector< T >::set(), TBCI::TVector< T >::size(), and y.
| int TBCI::lu_decomp | ( | BdMatrix< T > & | mat | ) | [inline] |
LU decompose a TBCI::BdMatrix.
Decomposition is compactly stored in one BdMatrix The diagonal elements of the lower BdMatrix are all 1 (this is a feature of the algorithm)
Definition at line 57 of file bd_lu_solver.h.
References ALIGN2, BCHK, BDMLU_MINVAL, TBCI::BdMatrix< T >::expand(), std::fabs(), TBCI::BdMatrix< T >::getmaxoff(), MATH__, MAX, MIN, MIN_ALIGN2, TBCI::BdMatrix< T >::rows(), TBCI::BdMatrix< T >::setval(), STD__, T, and UNLIKELY.
Referenced by lu_det(), lu_invert(), and lu_solve().
| int TBCI::lu_decomp | ( | Matrix< T > & | mat | ) | [inline] |
LU decomposes the TBCI::Matrix mat.
Decomposition is compactly stored in one Matrix The diagonal elements of the lower Matrix are all 1 (this is a feature of the algorithm).
Definition at line 54 of file lu_solver.h.
References ALIGN2, BCHK, std::fabs(), MATH__, MIN_ALIGN2, MLU_MINVAL, T, and UNLIKELY.
| T TBCI::lu_det | ( | Matrix< T > & | mat | ) | [inline] |
calculates determinant of a Matrix by LU decomposition
Definition at line 293 of file lu_solver.h.
References lu_decomp(), and LU_det().
| T TBCI::LU_det | ( | const Matrix< T > & | lu | ) | [inline] |
calculates determinant of an already LU decomposed Matrix
Definition at line 281 of file lu_solver.h.
References ALIGN2, BCHK, TBCI::TMatrix< T >::columns(), MIN_ALIGN2, TBCI::TMatrix< T >::rows(), and T.
Referenced by lu_det().
| T TBCI::lu_det | ( | BdMatrix< T > & | mat | ) | [inline] |
calculates the determinant of a BdMatrix by doing an LU decomposition
Definition at line 329 of file bd_lu_solver.h.
References lu_decomp(), and LU_det().
| T TBCI::LU_det | ( | const BdMatrix< T > & | lu | ) | [inline] |
calculates determinant of an already LU decomposed BdMatrix
Definition at line 317 of file bd_lu_solver.h.
References ALIGN2, MIN_ALIGN2, and TBCI::BdMatrix< T >::rows().
| TVector<T> TBCI::LU_fwd_subst | ( | const Matrix< T > & | lu, | |
| const Vector< T > & | y | |||
| ) | [inline] |
Definition at line 183 of file lu_solver.h.
References ALIGN2, BCHK, TBCI::TVector< T >::get(), MIN_ALIGN2, TBCI::TMatrix< T >::rows(), TBCI::TVector< T >::set(), TBCI::TVector< T >::size(), T, and y.
Referenced by LU_solve().
| TVector<T> TBCI::LU_fwd_subst | ( | const BdMatrix< T > & | lu, | |
| const Vector< T > & | y | |||
| ) | [inline] |
Definition at line 207 of file bd_lu_solver.h.
References ALIGN2, BCHK, TBCI::TVector< T >::get(), TBCI::BdMatrix< T >::getmaxoff(), MAX, MIN_ALIGN2, TBCI::BdMatrix< T >::rows(), TBCI::TVector< T >::set(), TBCI::TVector< T >::size(), and y.
| TMatrix<T> TBCI::lu_invert | ( | Matrix< T > & | mat | ) | [inline] |
Returns the inverse of a Matrix by performing a LU decomposition.
Definition at line 320 of file lu_solver.h.
References lu_decomp(), and LU_invert().
| TMatrix<T> TBCI::LU_invert | ( | const Matrix< T > & | mat | ) | [inline] |
Returns the inverse of a already LU decomposed Matrix.
Definition at line 303 of file lu_solver.h.
References BCHK, TBCI::TMatrix< T >::columns(), inv(), LU_solve(), TBCI::TMatrix< T >::rows(), T, and y.
Referenced by lu_invert().
| TMatrix<T> TBCI::lu_invert | ( | BdMatrix< T > & | mat | ) | [inline] |
return the inverse Matrix for a BdMatrix by doing an LU decomposition
Definition at line 355 of file bd_lu_solver.h.
References lu_decomp(), and LU_invert().
| TMatrix<T> TBCI::LU_invert | ( | const BdMatrix< T > & | lu | ) | [inline] |
return the inverse Matrix for an already LU decomposed BdMatrix
Definition at line 338 of file bd_lu_solver.h.
References TBCI::BdMatrix< T >::columns(), inv(), LU_solve(), TBCI::BdMatrix< T >::rows(), and y.
| int TBCI::lu_solve | ( | CSCMatrix< cplx< double > > & | M, | |
| Vector< cplx< double > > & | x, | |||
| const Vector< cplx< double > > & | rhs, | |||
| colperm_t | permc_spec, | |||
| bool | verbose, | |||
| bool | symm | |||
| ) |
Definition at line 31 of file superlu_z.cpp.
References ABORT, Destroy_CompCol_Matrix(), Destroy_SuperMatrix_Store(), Destroy_SuperNode_Matrix(), mem_usage_t::expansions, mem_usage_t::for_lu, get_perm_c(), intMalloc(), SLU_DN, SLU_GE, SLU_NC, SLU_Z, sp_ienv(), StatFree(), StatInit(), SUPERLU_FREE, mem_usage_t::total_needed, U, zCreate_CompCol_Matrix(), zCreate_Dense_Matrix(), zgssv(), and zQuerySpace().
Referenced by expm(), and lu_solve().
| F_TMatrix< std:: __complex__ float <double> > TBCI::lu_solve | ( | const F_Matrix< std::__complex__ float< double > > & | A, | |
| const F_Matrix< std::__complex__ float< double > > & | B, | |||
| int | overwriteA | |||
| ) |
Definition at line 59 of file lapack_stdcplx.cpp.
References TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::F_TMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_Matrix< T >::resize(), STD__, and zgesv_().
| F_TMatrix<cplx<double> > TBCI::lu_solve | ( | const F_Matrix< cplx< double > > & | A, | |
| const F_Matrix< cplx< double > > & | B, | |||
| int | overwriteA | |||
| ) |
Definition at line 235 of file lapack.cpp.
References TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::F_TMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_Matrix< T >::resize(), STD__, and zgesv_().
| int TBCI::lu_solve | ( | CSCMatrix< std::complex< double > > & | M, | |
| Vector< std::complex< double > > & | x, | |||
| const Vector< std::complex< double > > & | rhs, | |||
| colperm_t | permc_spec = NATURAL, |
|||
| bool | verbose = false, |
|||
| bool | symm = false | |||
| ) |
SuperLU solver wrapper for std::complex numbers.
Definition at line 30 of file superlu_stdcplx.cpp.
References ABORT, Destroy_CompCol_Matrix(), Destroy_SuperMatrix_Store(), Destroy_SuperNode_Matrix(), mem_usage_t::expansions, mem_usage_t::for_lu, get_perm_c(), intMalloc(), SLU_DN, SLU_GE, SLU_NC, SLU_Z, sp_ienv(), StatFree(), StatInit(), SUPERLU_FREE, mem_usage_t::total_needed, U, zCreate_CompCol_Matrix(), zCreate_Dense_Matrix(), zgssv(), and zQuerySpace().
| int TBCI::lu_solve | ( | CSCMatrix< double > & | M, | |
| Vector< double > & | x, | |||
| const Vector< double > & | rhs, | |||
| colperm_t | permc_spec = NATURAL, |
|||
| bool | verbose = false, |
|||
| bool | symm = false | |||
| ) |
Sparse LU solver for CSCMatrix, calling SuperLU routine. SuperLU is a direct solver, that uses advanced techniques to order elements to make LU decomposition perform very well.
For pentadiagonal systems, it performs often better(!) than iterative solvers in case no good guess value is available or if very high accuracy is needed.
Definition at line 29 of file superlu_d.cpp.
References ABORT, TBCI::CSCMatrix< T >::columnPointer(), TBCI::CSCMatrix< T >::columns(), TBCI::CSCMatrix< T >::dataPointer(), dCreate_CompCol_Matrix(), dCreate_Dense_Matrix(), Destroy_CompCol_Matrix(), Destroy_SuperMatrix_Store(), Destroy_SuperNode_Matrix(), dgssv(), dQuerySpace(), mem_usage_t::expansions, mem_usage_t::for_lu, TBCI::BVector< T >::get_fortran_vector(), get_perm_c(), intMalloc(), TBCI::CSCMatrix< T >::rowIndexPointer(), TBCI::CSCMatrix< T >::rows(), TBCI::CSCMatrix< T >::size(), SLU_D, SLU_DN, SLU_GE, SLU_NC, sp_ienv(), StatFree(), StatInit(), SUPERLU_FREE, mem_usage_t::total_needed, and U.
| TMatrix<T> TBCI::lu_solve | ( | Matrix< T > & | mat, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
| TMatrix<T> TBCI::LU_solve | ( | const Matrix< T > & | lu, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 258 of file lu_solver.h.
References TBCI::TMatrix< T >::columns(), TBCI::TMatrix< T >::get_col(), LU_bkw_subst(), LU_fwd_subst(), TBCI::TMatrix< T >::rows(), and y.
Referenced by LU_invert(), and lu_solve().
| TVector<T> TBCI::lu_solve | ( | Matrix< T > & | mat, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Solve the equation Ax = b where A still needs to be LU decomposed
Definition at line 240 of file lu_solver.h.
References BCHK, std::fabs(), lu_decomp(), LU_solve(), MATH__, MLU_RES_WARN, and TBCI::TVector< T >::size().
| TVector<T> TBCI::LU_solve | ( | const Matrix< T > & | lu, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Solve the equation Ax = b where A IS already LU decomposed
Definition at line 225 of file lu_solver.h.
References LU_bkw_subst(), LU_fwd_subst(), and y.
| TMatrix<T> TBCI::lu_solve | ( | BdMatrix< T > & | mat, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
| TMatrix<T> TBCI::LU_solve | ( | const BdMatrix< T > & | lu, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 279 of file bd_lu_solver.h.
References TBCI::TMatrix< T >::columns(), TBCI::TMatrix< T >::get_col(), LU_bkw_subst(), LU_fwd_subst(), TBCI::TMatrix< T >::rows(), and y.
| TVector<T> TBCI::lu_solve | ( | BdMatrix< T > & | mat, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Solve the equation Ax = b where A still needs to be LU decomposed.
Definition at line 260 of file bd_lu_solver.h.
References BDMLU_RES_WARN, std::fabs(), lu_decomp(), LU_solve(), MATH__, TBCI::TVector< T >::size(), STD__, and UNLIKELY.
| TVector<T> TBCI::LU_solve | ( | const BdMatrix< T > & | lu, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Solve the equation Ax = b where A IS already LU decomposed.
Definition at line 246 of file bd_lu_solver.h.
References LU_bkw_subst(), LU_fwd_subst(), and y.
| F_TMatrix< COMPLEX_DOUBLE > TBCI::lu_solve | ( | const F_Matrix< COMPLEX_DOUBLE > & | A, | |
| const F_Matrix< COMPLEX_DOUBLE > & | B, | |||
| int | overwriteA = 0 | |||
| ) |
| TVector< double > TBCI::lu_solve | ( | F_BandMatrix< double > & | A, | |
| const Vector< double > & | B, | |||
| int | num_lower, | |||
| int | num_upper | |||
| ) |
Definition at line 105 of file lapack.cpp.
References TBCI::F_BandMatrix< T >::columns(), dgbsv_(), TBCI::F_BandMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_BandMatrix< T >::ldab(), TBCI::F_BandMatrix< T >::numSuper(), and STD__.
| TVector< double > TBCI::lu_solve | ( | const F_BandMatrix< double > & | A, | |
| const Vector< double > & | B | |||
| ) |
Definition at line 74 of file lapack.cpp.
References TBCI::F_BandMatrix< T >::clear(), TBCI::F_BandMatrix< T >::columns(), dgbsv_(), TBCI::F_BandMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_BandMatrix< T >::ldab(), TBCI::F_BandMatrix< T >::numSub(), TBCI::F_BandMatrix< T >::numSuper(), and STD__.
| TVector< double > TBCI::lu_solve | ( | const F_Matrix< double > & | A, | |
| const Vector< double > & | B, | |||
| int | overwriteA = 0 | |||
| ) |
Definition at line 129 of file lapack.cpp.
References TBCI::F_Matrix< T >::columns(), dgesv_(), TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, and STD__.
| F_TMatrix< double > TBCI::lu_solve | ( | const F_Matrix< double > & | A, | |
| const F_Matrix< double > & | B, | |||
| int | overwriteA = 0 | |||
| ) |
Definition at line 156 of file lapack.cpp.
References TBCI::F_Matrix< T >::columns(), dgesv_(), TBCI::F_TMatrix< T >::get_fortran_matrix(), TBCI::F_Matrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, and STD__.
| TVector< double > TBCI::lu_solve_expert | ( | const F_BandMatrix< double > & | A, | |
| const Vector< double > & | B, | |||
| int | equilibrate = 1 | |||
| ) |
Solution of linear eqution systems, partial pivoting.
Definition at line 24 of file lapack.cpp.
References TBCI::F_BandMatrix< T >::columns(), dgbsvx_(), dlamch_(), fact(), TBCI::F_BandMatrix< T >::get_fortran_matrix(), TBCI::BVector< T >::get_fortran_vector(), integer, TBCI::F_BandMatrix< T >::ldab(), TBCI::F_BandMatrix< T >::numSub(), TBCI::F_BandMatrix< T >::numSuper(), TBCI::TVector< T >::size(), and STD__.
| void TBCI::MatVecMult | ( | Vector< T > & | res, | |
| const CSCMatrix< T > & | m, | |||
| const Vector< T > & | v | |||
| ) | [inline] |
| void TBCI::MatVecMult | ( | Vector< T > & | res, | |
| const CRMatrix< T > & | m, | |||
| const Vector< T > & | v | |||
| ) | [inline] |
| T TBCI::max | ( | const FS_Vector< dims, T > & | fv | ) | [inline] |
| Tensor<T> TBCI::metrmul | ( | const Tensor< T > & | metr, | |
| const Tensor< T > & | t, | |||
| const unsigned | i1, | |||
| const unsigned | i2 | |||
| ) | [inline] |
Definition at line 685 of file tensor.h.
References BCHK, BCHKNR, TBCI::CTensor< T >::calc_offs(), TBCI::CTensor< T >::data, idx_set1(), TBCI::Index::next_idx(), TBCI::CTensor< T >::rank, and TBCI::CTensor< T >::shape.
| T TBCI::min | ( | const FS_Vector< dims, T > & | fv | ) | [inline] |
Definition at line 584 of file fs_vector.h.
References TBCI::FS_Vector< dims, T >::min().
Referenced by TBCI::BdMatrix< T >::resize().
| double TBCI::norm_1 | ( | const TMatrix< T > & | mat | ) | [inline] |
We need a special implementation for TMatrix to prevent memory leak.
Definition at line 35 of file expm.h.
References TBCI::TMatrix< T >::columns(), std::fabs(), TBCI::TMatrix< T >::get(), TBCI::TMatrix< T >::mark_destroy(), MATH__, MAX, max, TBCI::TMatrix< T >::rows(), and sum().
| double TBCI::norm_1 | ( | const Matrix & | mat | ) | [inline] |
Definition at line 18 of file expm.h.
References TBCI::TMatrix< T >::columns(), std::fabs(), TBCI::TMatrix< T >::get(), MATH__, MAX, max, TBCI::TMatrix< T >::rows(), and sum().
| bool TBCI::operator!= | ( | const F_BandMatrix< T > & | m1, | |
| const F_BandMatrix< T > & | m2 | |||
| ) | [inline] |
| TSVector<T> TBCI::operator* | ( | const T & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
| const TSVector<T>& TBCI::operator* | ( | const T & | f, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 1202 of file vector.h.
References TBCI::TSVector< T >::getfac(), and TBCI::TSVector< T >::getfacref().
| TSVector<T> TBCI::operator* | ( | const T & | a, | |
| const TVector< T > & | b | |||
| ) | [inline] |
| Tensor<T> TBCI::operator* | ( | const T | m, | |
| const Tensor< T > & | t | |||
| ) | [inline] |
| TSMatrix<T> TBCI::operator* | ( | const T & | f, | |
| TSMatrix< T > | ts | |||
| ) | [inline] |
| TSMatrix<T> TBCI::operator* | ( | const T & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
| TSMatrix<T> TBCI::operator* | ( | const T & | a, | |
| TMatrix< T > | b | |||
| ) | [inline] |
| FS_Vector<dims,T> TBCI::operator* | ( | const T & | v, | |
| const FS_Vector< dims, T > & | fv | |||
| ) | [inline] |
Definition at line 564 of file fs_vector.h.
| F_TSMatrix<T> TBCI::operator* | ( | const T & | f, | |
| F_TSMatrix< T > | ts | |||
| ) | [inline] |
Definition at line 1149 of file f_matrix.h.
| F_TSMatrix<T> TBCI::operator* | ( | const T & | a, | |
| const F_Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 765 of file f_matrix.h.
| F_TSMatrix<T> TBCI::operator* | ( | const T & | a, | |
| F_TMatrix< T > | b | |||
| ) | [inline] |
Definition at line 740 of file f_matrix.h.
| F_BandMatrix<T> TBCI::operator* | ( | const T | z, | |
| const F_BandMatrix< T > & | m | |||
| ) | [inline] |
| F_BandMatrix<T> TBCI::operator* | ( | const F_BandMatrix< T > & | m, | |
| const T | z | |||
| ) | [inline] |
| TVector<T> TBCI::operator* | ( | const F_BandMatrix< T > & | m, | |
| const TSVector< T > & | tsv | |||
| ) | [inline] |
Definition at line 337 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::do_fbdmat_vec_mul.
| TVector<T> TBCI::operator* | ( | const F_BandMatrix< T > & | m, | |
| const TVector< T > & | tv | |||
| ) | [inline] |
Definition at line 329 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::do_fbdmat_vec_mul.
| TVector<T> TBCI::operator* | ( | const F_BandMatrix< T > & | m, | |
| const Vector< T > & | v | |||
| ) | [inline] |
Definition at line 322 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::do_fbdmat_vec_mul.
| CSCMatrix<T> TBCI::operator* | ( | const T & | z, | |
| const CSCMatrix< T > & | m | |||
| ) | [inline] |
| F_TMatrix<T> TBCI::operator* | ( | const CSCMatrix< T > & | m1, | |
| const F_Matrix< T > & | m2 | |||
| ) | [inline] |
| F_TMatrix<T> TBCI::operator* | ( | const F_Matrix< T > & | m1, | |
| const CSCMatrix< T > & | m2 | |||
| ) | [inline] |
| CRMatrix<T> TBCI::operator* | ( | const T & | z, | |
| const CRMatrix< T > & | m | |||
| ) | [inline] |
| cplx<T> TBCI::operator* | ( | const T | a, | |
| const cplx< T > & | b | |||
| ) | [inline] |
| BdMatrix<T> TBCI::operator* | ( | const T & | v, | |
| const BdMatrix< T > & | m | |||
| ) | [inline] |
Definition at line 1417 of file band_matrix.h.
| TVector<T> TBCI::operator+ | ( | const T & | a, | |
| const Vector< T > & | v | |||
| ) | [inline] |
TV = T + V.
Definition at line 2226 of file vector.h.
References TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), TBCI::TVector< T >::size(), STD_SMP_TEMPLATE3VC, and T.
| TVector<T> TBCI::operator+ | ( | const T & | v, | |
| const TSVector< T > & | tsv | |||
| ) | [inline] |
| const TVector<T>& TBCI::operator+ | ( | const T & | a, | |
| const TVector< T > & | b | |||
| ) | [inline] |
TV = T + TV Transformed to TV += T.
Definition at line 783 of file vector.h.
References TBCI::BVector< T >::dim, TBCI::TVector< T >::setval(), TBCI::TVector< T >::size(), STD_SMP_TEMPLATE2C, T, and TBCI::BVector< T >::vec.
| TMatrix<T> TBCI::operator+ | ( | const T & | a, | |
| const TSMatrix< T > & | ts | |||
| ) | [inline] |
Definition at line 1377 of file matrix.h.
References TBCI::TSMatrix< T >::detach(), STD_SMP_TEMPLATE4C, and T.
| TMatrix<T> TBCI::operator+ | ( | const T & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
| TMatrix<T> TBCI::operator+ | ( | const T & | a, | |
| TMatrix< T > | b | |||
| ) | [inline] |
| FS_Vector<dims,T> TBCI::operator+ | ( | const T & | v, | |
| const FS_Vector< dims, T > & | fv | |||
| ) | [inline] |
| F_TMatrix<T> TBCI::operator+ | ( | const T & | a, | |
| F_TSMatrix< T > | ts | |||
| ) | [inline] |
Definition at line 1047 of file f_matrix.h.
| F_TMatrix<T> TBCI::operator+ | ( | const T & | a, | |
| const F_Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 757 of file f_matrix.h.
| F_TMatrix<T> TBCI::operator+ | ( | const T & | a, | |
| F_TMatrix< T > | b | |||
| ) | [inline] |
Definition at line 733 of file f_matrix.h.
| F_BandMatrix<T> TBCI::operator+ | ( | const F_BandMatrix< T > & | A, | |
| const F_BandMatrix< T > & | B | |||
| ) | [inline] |
Definition at line 522 of file f_bandmatrix.h.
References BCHK, TBCI::F_BandMatrix< T >::dim, MAX, TBCI::F_BandMatrix< T >::numSub(), TBCI::F_BandMatrix< T >::numSuper(), and TBCI::F_BandMatrix< T >::size().
| cplx<T> TBCI::operator+ | ( | const T | a, | |
| const cplx< T > & | b | |||
| ) | [inline] |
| TVector<T> TBCI::operator- | ( | const T & | a, | |
| const Vector< T > & | v | |||
| ) | [inline] |
TV = T - V.
Definition at line 2240 of file vector.h.
References TBCI::TVector< T >::getcref(), TBCI::TVector< T >::setval(), TBCI::TVector< T >::size(), STD_SMP_TEMPLATE3VC, and T.
| TVector<T> TBCI::operator- | ( | const T & | v, | |
| const TSVector< T > & | tsv | |||
| ) | [inline] |
| const TVector<T>& TBCI::operator- | ( | const T & | a, | |
| const TVector< T > & | b | |||
| ) | [inline] |
TV = T - TV Transformed to -TV -= T.
Definition at line 795 of file vector.h.
References TBCI::BVector< T >::dim, TBCI::TVector< T >::setval(), TBCI::TVector< T >::size(), STD_SMP_TEMPLATE2C, T, and TBCI::BVector< T >::vec.
| TMatrix<T> TBCI::operator- | ( | const T & | a, | |
| const TSMatrix< T > & | ts | |||
| ) | [inline] |
Definition at line 1385 of file matrix.h.
References TBCI::TSMatrix< T >::detach(), STD_SMP_TEMPLATE4C, and T.
| TMatrix<T> TBCI::operator- | ( | const T & | a, | |
| const Matrix< T > & | b | |||
| ) | [inline] |
| TMatrix<T> TBCI::operator- | ( | const T & | a, | |
| TMatrix< T > | b | |||
| ) | [inline] |
| FS_Vector<dims,T> TBCI::operator- | ( | const T & | v, | |
| const FS_Vector< dims, T > & | fv | |||
| ) | [inline] |
| F_TMatrix<T> TBCI::operator- | ( | const T & | a, | |
| F_TSMatrix< T > | ts | |||
| ) | [inline] |
Definition at line 1048 of file f_matrix.h.
| F_TMatrix<T> TBCI::operator- | ( | const T & | a, | |
| const F_Matrix< T > & | b | |||
| ) | [inline] |
Definition at line 758 of file f_matrix.h.
| F_TMatrix<T> TBCI::operator- | ( | const T & | a, | |
| F_TMatrix< T > | b | |||
| ) | [inline] |
Definition at line 734 of file f_matrix.h.
| F_BandMatrix<T> TBCI::operator- | ( | const F_BandMatrix< T > & | A, | |
| const F_BandMatrix< T > & | B | |||
| ) | [inline] |
Definition at line 555 of file f_bandmatrix.h.
References BCHK, TBCI::F_BandMatrix< T >::dim, MAX, TBCI::F_BandMatrix< T >::numSub(), TBCI::F_BandMatrix< T >::numSuper(), and TBCI::F_BandMatrix< T >::size().
| F_BandMatrix<T> TBCI::operator- | ( | const F_BandMatrix< T > & | m | ) | [inline] |
Definition at line 293 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::comp, TBCI::F_BandMatrix< T >::dim, TBCI::F_BandMatrix< T >::sub, and TBCI::F_BandMatrix< T >::super.
| cplx<T> TBCI::operator- | ( | const T | a, | |
| const cplx< T > & | b | |||
| ) | [inline] |
| TSVector<T> TBCI::operator/ | ( | const T & | a, | |
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 2265 of file vector.h.
References BCHK, TBCI::Vector< T >::fabssqr(), std::norm(), and T.
| TSVector<T> TBCI::operator/ | ( | const T & | a, | |
| TVector< T > | b | |||
| ) | [inline] |
| F_BandMatrix<T> TBCI::operator/ | ( | const F_BandMatrix< T > & | m, | |
| const T | z | |||
| ) | [inline] |
Definition at line 423 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::comp, TBCI::F_BandMatrix< T >::dim, TBCI::F_BandMatrix< T >::sub, and TBCI::F_BandMatrix< T >::super.
| cplx<T> TBCI::operator/ | ( | const T | a, | |
| const cplx< T > & | b | |||
| ) | [inline] |
| bool TBCI::operator< | ( | const cplx_t & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| bool TBCI::operator< | ( | const hcplx & | a, | |
| const cplx_t & | b | |||
| ) | [inline] |
| bool TBCI::operator< | ( | const hcplx & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const Vector< T > & | v | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const TSVector< T > & | ts | |||
| ) | [inline] |
Definition at line 1465 of file vector.h.
References TBCI::TSVector< T >::destroy(), TBCI::TSVector< T >::dim, and TBCI::TSVector< T >::vec.
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const TVector< T > & | tv | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const CTensor< T > & | ct | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | out, | |
| const Symm_BdMatrix< T > & | matrix | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const TSMatrix< T > & | ts | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| TMatrix< T > | tm | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const Matrix< T > & | m | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const FS_Vector< dims, T > & | fv | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| F_TSMatrix< T > | ts | |||
| ) | [inline] |
Definition at line 1365 of file f_matrix.h.
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| F_TMatrix< T > | tm | |||
| ) | [inline] |
Definition at line 1356 of file f_matrix.h.
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const F_Matrix< T > & | m | |||
| ) | [inline] |
Definition at line 1344 of file f_matrix.h.
| std:: ostream& TBCI::operator<< | ( | std::ostream & | stream, | |
| const F_BandMatrix< T > & | m | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | stream, | |
| const CSCMatrix< T > & | m | |||
| ) | [inline] |
Definition at line 251 of file cscmatrix.h.
| std:: ostream& TBCI::operator<< | ( | std::ostream & | stream, | |
| const CRMatrix< T > & | m | |||
| ) | [inline] |
Definition at line 773 of file crmatrix.h.
References TBCI::CRMatrix< T >::columns(), TBCI::CRMatrix< T >::rows(), and STD__.
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const cplx< T > & | c | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const BVector< T > & | v | |||
| ) | [inline] |
| std:: ostream& TBCI::operator<< | ( | std::ostream & | os, | |
| const cplx_t & | c | |||
| ) | [inline] |
Definition at line 182 of file builtin_cplx.h.
| std:: ostream& TBCI::operator<< | ( | std::ostream & | ostr, | |
| const BdMatrix< T > & | mat | |||
| ) | [inline] |
| bool TBCI::operator<= | ( | const cplx_t & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| bool TBCI::operator<= | ( | const hcplx & | a, | |
| const cplx_t & | b | |||
| ) | [inline] |
| bool TBCI::operator<= | ( | const hcplx & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| bool TBCI::operator== | ( | const F_BandMatrix< T > & | m1, | |
| const F_BandMatrix< T > & | m2 | |||
| ) | [inline] |
Definition at line 270 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::dim.
Referenced by TBCI::CTensor< T >::operator!=(), TBCI::CSCMatrix< T >::operator!=(), TBCI::CRMatrix< T >::operator!=(), and TBCI::Vector< unsigned >::operator==().
| bool TBCI::operator> | ( | const cplx_t & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| bool TBCI::operator> | ( | const hcplx & | a, | |
| const cplx_t & | b | |||
| ) | [inline] |
| bool TBCI::operator> | ( | const hcplx & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| bool TBCI::operator>= | ( | const cplx_t & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| bool TBCI::operator>= | ( | const hcplx & | a, | |
| const cplx_t & | b | |||
| ) | [inline] |
| bool TBCI::operator>= | ( | const hcplx & | a, | |
| const hcplx & | b | |||
| ) | [inline] |
| std:: istream& TBCI::operator>> | ( | std::istream & | is, | |
| CTensor< T > & | ct | |||
| ) | [inline] |
Definition at line 371 of file tensor.h.
References TBCI::Index::next_idx(), TBCI::CTensor< T >::noel, and TBCI::CTensor< T >::rank.
| std:: istream& TBCI::operator>> | ( | std::istream & | in, | |
| Matrix< T > & | m | |||
| ) | [inline] |
Definition at line 1805 of file matrix.h.
References TBCI::TMatrix< T >::col, TBCI::TMatrix< T >::row, and TBCI::TMatrix< T >::set_row().
| std:: istream& TBCI::operator>> | ( | std::istream & | in, | |
| FS_Vector< dims, T > & | v | |||
| ) | [inline] |
| std:: istream& TBCI::operator>> | ( | std::istream & | in, | |
| F_Matrix< T > & | m | |||
| ) | [inline] |
Definition at line 1372 of file f_matrix.h.
References TBCI::F_TMatrix< T >::col, TBCI::F_TMatrix< T >::row, and TBCI::F_Matrix< T >::set_col().
| std:: istream& TBCI::operator>> | ( | std::istream & | in, | |
| cplx< T > & | c | |||
| ) | [inline] |
| std:: istream& TBCI::operator>> | ( | std::istream & | in, | |
| BVector< T > & | v | |||
| ) | [inline] |
Definition at line 553 of file bvector.h.
References ALIGN, TBCI::BVector< T >::dim, MIN_ALIGN, T, and TBCI::BVector< T >::vec.
| std:: istream& TBCI::operator>> | ( | std::istream & | in, | |
| cplx_t & | c | |||
| ) | [inline] |
Definition at line 188 of file builtin_cplx.h.
| std:: istream& TBCI::operator>> | ( | std::istream & | istr, | |
| BdMatrix< T > & | mat | |||
| ) | [inline] |
Definition at line 2309 of file band_matrix.h.
References abs, TBCI::BVector< T >::contains(), CSTD__, TBCI::BdMatrix< T >::diagconf, TBCI::BdMatrix< T >::dim, TBCI::BdMatrix< T >::setval(), and STD__.
| bool TBCI::par_comp | ( | TVector< T > | v1, | |
| TVector< T > | v2 | |||
| ) | [inline] |
| bool TBCI::par_comp | ( | TVector< T > | v1, | |
| const Vector< T > & | v2 | |||
| ) | [inline] |
| bool TBCI::par_comp | ( | const Vector< T > & | v1, | |
| TVector< T > | v2 | |||
| ) | [inline] |
| bool TBCI::par_comp | ( | const Vector< T > & | v1, | |
| const Vector< T > & | v2 | |||
| ) | [inline] |
Definition at line 1952 of file vector.h.
References TBCI::TVector< T >::getcref(), LIKELY, PREFETCH_R, TBCI::TVector< T >::size(), slice_offset(), SMP_VECSLICE, T, thread_start(), thread_wait(), threads, and threads_avail().
Referenced by par_comp().
| T TBCI::partial_del | ( | T(*)(const Vector< T > &, const Vector< T > &) | func, | |
| const Vector< T > & | x, | |||
| const Vector< T > & | p, | |||
| int | mu, | |||
| T | h, | |||
| T & | err | |||
| ) | [inline] |
| T TBCI::Partial_Del | ( | T(*)(const Vector< T > &, const Vector< T > &) | func, | |
| const Vector< T > & | x, | |||
| const Vector< T > & | p, | |||
| int | mu, | |||
| T | h, | |||
| T & | err | |||
| ) | [inline] |
Definition at line 97 of file LM_fit.h.
References ALIGN, BIG, CON, CON2, std::fabs(), fac(), MATH__, MAX, MIN_ALIGN, NTAB, SAFE, TBCI::TVector< T >::size(), STD__, and T.
Referenced by Grid_Min_2D(), and LM_fit_2D().
| TBCI:: cplx<T> TBCI::polar | ( | const T & | r, | |
| const T & | p | |||
| ) | [inline] |
| cplx_base TBCI::polar | ( | const cplx_t & | c | ) | [inline] |
| void TBCI::pthr_cond_signal_mutex | ( | pthread_cond_t * | cond, | |
| pthread_mutex_t * | mut, | |||
| volatile int * | done | |||
| ) | [inline] |
Definition at line 331 of file smp.cc.
References _cpu_relax, ERRDECL, POLL_REPS, and TCHK.
Referenced by _thread_start_off(), free_threads(), and lina_thread().
| int TBCI::pthr_cond_wait | ( | pthread_cond_t * | cond, | |
| pthread_mutex_t * | mut, | |||
| volatile int * | valptr | |||
| ) | [inline] |
Definition at line 358 of file smp.cc.
References _cpu_relax, ERRDECL, and POLL_REP.
Referenced by init_threads(), lina_thread(), thread_wait(), and thread_wait_result().
| void TBCI::pthread_mutex_bug_abort | ( | struct thr_ctrl * | tc, | |
| int | err, | |||
| const char * | where | |||
| ) |
Definition at line 398 of file smp.cc.
References CSTD__, and TBCI::thr_ctrl::t_no.
Referenced by lina_thread(), thread_wait(), and thread_wait_result().
| int TBCI::QMR | ( | const SysMatrix & | A, | |
| SysVector & | x, | |||
| const SysVector & | b, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M1, | |||
| const Preconditioner_Sig< T, SysMatrix > & | M2, | |||
| unsigned int & | max_iter, | |||
| double & | tol | |||
| ) | [inline] |
Iterative template routine -- QMR
QMR solves the unsymmetric linear system Ax = b using the Quasi-Minimal Residual method following the algorithm as described on p. 24 in the SIAM Templates book.
| x | -- approximate solution to Ax=b | |
| max_iter | -- the number of iterations performed before the tolerance was reached | |
| tol | -- the residual after the final iteration |
Definition at line 59 of file qmr.h.
References fabssqr(), gamma(), MATH__, QMR_OUT, TBCI::Preconditioner_Sig< T, MatrixType >::solve(), sqr(), sqrt(), std::sqrt(), STD__, TBCI::Preconditioner_Sig< T, MatrixType >::transSolve(), and y.
| TVector<T> TBCI::real | ( | const Vector< T > & | v | ) | [inline] |
Definition at line 907 of file vector.h.
References CPLX__, TBCI::TVector< T >::real, and TBCI::TVector< T >::size().
| TVector<T>& TBCI::real | ( | TVector< T > & | tv | ) | [inline] |
Definition at line 877 of file vector.h.
References CPLX__, TBCI::TVector< T >::get(), TBCI::TVector< T >::real, TBCI::TVector< T >::set(), and TBCI::TVector< T >::size().
Referenced by TBCI::FS_Vector< dims, T >::fabssqr().
| void TBCI::reenable_threads | ( | ) |
| int TBCI::sign | ( | const T & | x | ) | const [inline] |
| template int TBCI::sign< double > | ( | const double & | ) |
| FS_Vector<dims,T> TBCI::slice | ( | const FS_Vector< dims, T > & | fv, | |
| const unsigned long | s, | |||
| const unsigned long | e | |||
| ) | [inline] |
Definition at line 495 of file fs_vector.h.
References BCHK, TBCI::FS_Vector< dims, T >::clear(), CSTD__, dims, MIN, T, TBCI::FS_Vector< dims, T >::vecptr(), and TBCI::FS_Vector< dims, T >::x.
| static unsigned long TBCI::slice_offset | ( | int | thr, | |
| int | no_thr, | |||
| unsigned long | dim, | |||
| T * | ptr | |||
| ) | [inline, static] |
Definition at line 192 of file smp.h.
Referenced by dot(), TBCI::Vector< T >::fabssqr(), TBCI::Matrix< T >::operator*(), TBCI::BdMatrix< T >::operator*(), par_comp(), and TBCI::BdMatrix< T >::transMult().
| cplx<T> TBCI::sqr | ( | const cplx< T > & | c | ) | [inline] |
Definition at line 449 of file cplx.h.
References TBCI::cplx< T >::im, TBCI::cplx< T >::imag(), TBCI::cplx< T >::real(), and T.
Referenced by BiCG(), BiCGSTAB(), CGS(), chisq(), Chisq(), chisquare(), Chisquare_2D(), grid_min(), Grid_Min_2D(), and QMR().
| cplx_t TBCI::sqr | ( | const cplx_t & | c | ) | [inline] |
| T TBCI::sqr | ( | const T & | a | ) | const [inline] |
Definition at line 1041 of file basics.h.
Referenced by TBCI::cplx< T >::acos(), TBCI::cplx< T >::acosh(), TBCI::cplx< T >::asin(), and TBCI::cplx< T >::asinh().
| template double TBCI::sqr< double > | ( | const double & | ) |
| T TBCI::sum | ( | const FS_Vector< dims, T > & | fv | ) | [inline] |
Definition at line 594 of file fs_vector.h.
References TBCI::FS_Vector< dims, T >::sum().
Referenced by cgamma_(), do_fbdmat_vec_mul(), norm_1(), TBCI::ILU0_BdMatrixPreconditioner< T >::solve(), TBCI::ILU0_Symm_BdMatrixPreconditioner< T >::solve(), and TBCI::F_BandMatrix< T >::transMult().
| void TBCI::sv_decomp | ( | MatrixType & | A, | |
| MatrixType & | V, | |||
| VectorType & | W | |||
| ) | [inline] |
Singular Value Decomposition Decomposes matrix A into U * diag(W) * V^T A is overwritten with U.
Definition at line 44 of file svd_solver.h.
References std::fabs(), MATH__, MAX, MIN, sqrt(), STD__, sv_decomp_pythag(), SVDFLOAT, and y.
| TVector<T> TBCI::sv_decomp_backsub | ( | const MatrixType & | U, | |
| const MatrixType & | V, | |||
| const Vector< T > & | W, | |||
| const Vector< T > & | b | |||
| ) | [inline] |
Definition at line 332 of file svd_solver.h.
References TBCI::TVector< T >::set(), TBCI::TVector< T >::size(), SVDFLOAT, and U.
Referenced by svd_solve().
| void TBCI::sv_decomp_backsub | ( | const MatrixType & | U, | |
| const MatrixType & | V, | |||
| const VectorType & | W, | |||
| const VectorType & | b, | |||
| VectorType & | x | |||
| ) | [inline] |
| double TBCI::sv_decomp_pythag | ( | ARG | a, | |
| ARG | b | |||
| ) | [inline] |
Calculate sqrt (a^2 + b^2) avoiding under/overflows.
Definition at line 22 of file svd_solver.h.
References std::fabs(), MATH__, and sqrt().
Referenced by sv_decomp().
| TVector<T> TBCI::svd_solve | ( | const MatrixType & | mat, | |
| const Vector< T > & | b, | |||
| const double | cndno = 1e-12 | |||
| ) | [inline] |
The interface to use the SVD solver: Solve the equation mat * x = b.
Input mat, b: Return value x Optimized version returning a TVector. cndno is the maximum allowable condition numbers. Singular values below maxSV * cndno are set to zero.
Note that we don't change the mat, unlike in LU solver, as we can't store the complete result of the decomposition in it anyway.
Definition at line 370 of file svd_solver.h.
References fix_condition(), MatrixType, and sv_decomp_backsub().
| VectorType TBCI::svd_solve | ( | const MatrixType & | mat, | |
| const VectorType & | b, | |||
| const double | cndno = 1e-12 | |||
| ) | [inline] |
The interface to use the SVD solver: Solve the equation mat * x = b.
Input mat, b: Return value x Optimized version returning a TVector below. cndno is the maximum allowable condition numbers. Singular values below maxSV * cndno are set to zero.
Definition at line 315 of file svd_solver.h.
References fix_condition(), MatrixType, and sv_decomp_backsub().
| void TBCI::SWAP | ( | T & | a, | |
| T & | b | |||
| ) | [inline] |
SWAP function Note: We could implement a swap function without temporaries: a -= b b += a a -= b a = -a That's four arithmetic operations to save one temporary and it can be only done for integers.
Unlikely that it's worth it.
Definition at line 759 of file basics.h.
References ALIGN, MIN_ALIGN, and T.
Referenced by TBCI::tbci_memalloc_cache< floatptr >::_init(), gaussj(), TBCI::F_TMatrix< T >::herm(), TBCI::TMatrix< T >::swap(), TBCI::F_TMatrix< T >::swap(), TBCI::F_BandMatrix< T >::swap(), TBCI::CSCMatrix< T >::swap(), TBCI::CRMatrix< T >::swap(), TBCI::BVector< T >::swap(), TBCI::F_TMatrix< T >::trans(), TBCI::CTensor< T >::transpose(), TBCI::TMatrix< T >::transpose(), and TBCI::F_TMatrix< T >::transpose().
| template void TBCI::SWAP< double > | ( | double & | , | |
| double & | ||||
| ) |
| tbci_memalloc< T > & TBCI::tbci_s_allocator | ( | ) | [inline] |
Definition at line 561 of file malloc_cache.h.
| tbci_memalloc< charptr >& TBCI::tbci_s_allocator< charptr > | ( | ) | [inline] |
| tbci_memalloc< double >& TBCI::tbci_s_allocator< double > | ( | ) | [inline] |
| tbci_memalloc< doubleptr >& TBCI::tbci_s_allocator< doubleptr > | ( | ) | [inline] |
| tbci_memalloc< float >& TBCI::tbci_s_allocator< float > | ( | ) | [inline] |
| tbci_memalloc< floatptr >& TBCI::tbci_s_allocator< floatptr > | ( | ) | [inline] |
| tbci_memalloc< int >& TBCI::tbci_s_allocator< int > | ( | ) | [inline] |
| tbci_memalloc< intptr >& TBCI::tbci_s_allocator< intptr > | ( | ) | [inline] |
| tbci_memalloc< long >& TBCI::tbci_s_allocator< long > | ( | ) | [inline] |
| tbci_memalloc< longptr >& TBCI::tbci_s_allocator< longptr > | ( | ) | [inline] |
| tbci_memalloc< signed char >& TBCI::tbci_s_allocator< signed char > | ( | ) | [inline] |
| tbci_memalloc< std:: complex<double> >& TBCI::tbci_s_allocator< std::complex< double > > | ( | ) | [inline] |
| tbci_memalloc< std:: complex<float> >& TBCI::tbci_s_allocator< std::complex< float > > | ( | ) | [inline] |
| tbci_memalloc< stdcomplexdoubleptr >& TBCI::tbci_s_allocator< stdcomplexdoubleptr > | ( | ) | [inline] |
| tbci_memalloc< stdcomplexfloatptr >& TBCI::tbci_s_allocator< stdcomplexfloatptr > | ( | ) | [inline] |
| tbci_memalloc< ucharptr >& TBCI::tbci_s_allocator< ucharptr > | ( | ) | [inline] |
| tbci_memalloc< uintptr >& TBCI::tbci_s_allocator< uintptr > | ( | ) | [inline] |
| tbci_memalloc< ulongptr >& TBCI::tbci_s_allocator< ulongptr > | ( | ) | [inline] |
| tbci_memalloc< unsigned >& TBCI::tbci_s_allocator< unsigned > | ( | ) | [inline] |
| tbci_memalloc< unsigned char >& TBCI::tbci_s_allocator< unsigned char > | ( | ) | [inline] |
| tbci_memalloc< unsigned long >& TBCI::tbci_s_allocator< unsigned long > | ( | ) | [inline] |
| tbci_memalloc< unsigned short >& TBCI::tbci_s_allocator< unsigned short > | ( | ) | [inline] |
| tbci_memalloc< voidptr >& TBCI::tbci_s_allocator< voidptr > | ( | ) | [inline] |
| void TBCI::thread_dereg_callback | ( | cbackfn | ctor, | |
| cbackfn | dtor, | |||
| void * | parm | |||
| ) |
Definition at line 303 of file smp.cc.
References BCHK, TBCI::List< T >::delcurr(), and TBCI::List< T >::setcurr().
Referenced by TBCI::tbci_memalloc_cache< floatptr >::~tbci_memalloc_cache().
| void TBCI::thread_reg_callback | ( | cbackfn | ctor, | |
| cbackfn | dtor, | |||
| void * | parm | |||
| ) |
Definition at line 296 of file smp.cc.
References TBCI::List< T >::append().
Referenced by TBCI::tbci_memalloc_cache< floatptr >::tbci_memalloc_cache().
| void TBCI::thread_start | ( | const int | thr_no, | |
| thr_job_t | job, | |||
| const unsigned long | sz, | |||
| ... | ||||
| ) |
last arg must be (void*)0 !
Definition at line 728 of file smp.cc.
References _thread_start_off().
Referenced by _thread_start_off(), dot(), TBCI::Vector< T >::fabssqr(), TBCI::Vector< T >::operator*(), and par_comp().
| void TBCI::thread_start_off | ( | const int | thr_no, | |
| thr_job_t | job, | |||
| const unsigned long | offset, | |||
| const unsigned long | sz, | |||
| ... | ||||
| ) |
Definition at line 719 of file smp.cc.
References _thread_start_off().
Referenced by TBCI::Matrix< T >::operator*(), TBCI::BdMatrix< T >::operator*(), TBCI::Matrix< T >::transMult(), and TBCI::BdMatrix< T >::transMult().
| void TBCI::thread_wait | ( | const int | thr_no | ) |
Definition at line 737 of file smp.cc.
References BCHKNR, num_threads, pthr_cond_wait(), pthread_mutex_bug_abort(), TBCI::thr_ctrl::t_done, TBCI::thr_ctrl::t_done_cond, TBCI::thr_ctrl::t_done_done, TBCI::thr_ctrl::t_no, threads_busy, and UNLIKELY.
Referenced by dot(), TBCI::Vector< T >::operator*(), TBCI::Matrix< T >::operator*(), TBCI::BdMatrix< T >::operator*(), par_comp(), TBCI::Matrix< T >::transMult(), and TBCI::BdMatrix< T >::transMult().
| long double TBCI::thread_wait_result | ( | const int | thr_no | ) |
Definition at line 773 of file smp.cc.
References BCHKNR, LONG_DOUBLE, num_threads, pthr_cond_wait(), pthread_mutex_bug_abort(), TBCI::thr_ctrl::t_done, TBCI::thr_ctrl::t_done_cond, TBCI::thr_ctrl::t_done_done, TBCI::thr_ctrl::t_no, TBCI::thr_ctrl::t_res, TCHK, and threads_busy.
Referenced by TBCI::Vector< T >::fabssqr().
| void * TBCI::thread_wait_useful | ( | const int | thr_no, | |
| useful_job_t | job = 0, |
|||
| void * | arg = 0 | |||
| ) |
Definition at line 755 of file smp.cc.
References _cpu_relax, ERRDECL, NULL, TBCI::thr_ctrl::t_done, TBCI::thr_ctrl::t_done_done, and TCHK.
| int TBCI::threads_avail | ( | const | int = 0 |
) |
Test availability of threads.
Definition at line 793 of file smp.cc.
References num_threads, threads_busy, and UNLIKELY.
Referenced by dot(), TBCI::Vector< T >::fabssqr(), TBCI::Vector< T >::operator*(), TBCI::Matrix< T >::operator*(), TBCI::BdMatrix< T >::operator*(), par_comp(), TBCI::Matrix< T >::transMult(), and TBCI::BdMatrix< T >::transMult().
| TMatrix<T> TBCI::transpose | ( | const TMatrix< T > & | tm | ) | [inline] |
| F_TMatrix<T> TBCI::transpose | ( | const F_TMatrix< T > & | ftm | ) | [inline] |
| F_BandMatrix<T> TBCI::transpose | ( | const F_BandMatrix< T > & | fbd | ) | [inline] |
Definition at line 628 of file f_bandmatrix.h.
References TBCI::F_BandMatrix< T >::transposed_copy().
| CSCMatrix<T> TBCI::transpose | ( | const CSCMatrix< T > & | cscm | ) | [inline] |
| CRMatrix<T> TBCI::transpose | ( | const CRMatrix< T > & | crm | ) | [inline] |
| BdMatrix<T> TBCI::transpose | ( | BdMatrix< T > & | mat | ) | [inline] |
Definition at line 1362 of file band_matrix.h.
| void TBCI::Update | ( | SysVector & | x, | |
| int | k, | |||
| SysMatrix & | h, | |||
| SysVector & | s, | |||
| SysVector * | V | |||
| ) | [inline] |
| struct TBCI::thr_ctrl TBCI::aligned |
Thread Control structure
| bool TBCI::bound_main = false |
| int TBCI::ismainthread = 1 |
Definition at line 97 of file smp.cc.
Referenced by TBCI::tbci_memalloc_cache< T >::alloc(), TBCI::tbci_memalloc_cache< T >::dealloc(), free_threads(), init_threads(), and lina_thread().
| pid_t TBCI::main_thread_pid = 0 |
Definition at line 94 of file smp.cc.
Referenced by bind_threads(), free_threads(), and init_threads().
| int TBCI::num_threads = 0 |
Definition at line 91 of file smp.cc.
Referenced by _thread_start_off(), bind_threads(), free_threads(), init_threads(), TBCI::tbci_memalloc_cache< floatptr >::tbci_memalloc_cache(), thread_wait(), thread_wait_result(), and threads_avail().
| unsigned long TBCI::poll_fail = 0 |
| unsigned long TBCI::poll_succ = 0 |
| unsigned long TBCI::polls_fail = 0 |
| unsigned long TBCI::polls_succ = 0 |
struct thr_ctrl * TBCI::this_thread = 0 [read] |
List<cback> TBCI::thread_cbacks [static] |
struct thr_ctrl * TBCI::threads = 0 [read] |
Definition at line 93 of file smp.cc.
Referenced by dot(), TBCI::Vector< T >::operator*(), and par_comp().
| bool TBCI::threads_bound = false |
| int TBCI::threads_busy = 0 |
Definition at line 92 of file smp.cc.
Referenced by _thread_start_off(), disable_threads(), reenable_threads(), thread_wait(), thread_wait_result(), and threads_avail().
| int TBCI::thrno = 0 |
Definition at line 98 of file smp.cc.
Referenced by TBCI::tbci_memalloc_cache< T >::alloc(), TBCI::tbci_memalloc_cache< T >::enter(), TBCI::tbci_memalloc_cache< T >::find_and_rmv(), TBCI::tbci_memalloc_cache< T >::find_by_sz(), TBCI::tbci_memalloc_cache< T >::free_and_enter(), free_threads(), init_threads(), lina_thread(), TBCI::tbci_memalloc_cache< T >::rmv(), and TBCI::tbci_memalloc_cache< floatptr >::smp_deinit().
| int TBCI::tot_cpu_tm |
1.5.6