MCTDH-X
v2.22
|
This module collects useful functions and vector routines. More...
Public Member Functions | |
real *8 function | factorial (N) |
Compute factorial. More... | |
real *8 function | logfactorial (N) |
Compute logarithm of factorial. More... | |
real *8 function | binomialcoefficient (N, K) |
Compute a Binomial coefficient. More... | |
real *8 function | ddgamma (x) |
Compute the Gamma function. More... | |
double precision function | dlgama (x) |
Compute the logarithm of the Gamma function. More... | |
double precision function | beta (a, b) |
Compute the beta function. More... | |
subroutine | normvxd (vec, norm, dim) |
Calculate the norm of a real vector vec of dimension dim. More... | |
subroutine | normvxz (vec, norm, dim) |
Calculate the norm of a complex vector vec of dimension dim. More... | |
subroutine | zeromxd (mat, dim1, dim2) |
Set matrix mat of dimension dim1 x dim2 to zero. More... | |
subroutine | zerovxd (vec, dim) |
Set real vector vec of dimension dim to 0.d0. More... | |
subroutine | tranqxd (a, dim) |
Transpose a real square dim x dim matrix a. More... | |
subroutine | cpvxdz (v, w, dim) |
Copy the real vector v to the real part of the complex vector w. More... | |
subroutine | cpvxd (v, w, dim) |
Copy the real vector v of dimension dim to the real vector w. More... | |
subroutine | schmidtortho_nlevel (psi, gdim, dim, nlevel, ierr) |
Schmidt Orthonormalization of a set of dim complex vectors of dimension gdim stored in psi. More... | |
subroutine | schmidtortho_nlevel2 (psi, gdim, dim, nlevel, ierr) |
Schmidt Orthonormalization of a set of dim complex vectors of dimension gdim stored in psi. More... | |
subroutine | schmidtortho (psi, gdim, dim, ierr) |
Schmidt Orthonormalization of a set of dim complex vectors of dimension gdim stored in psi. More... | |
subroutine | schmidtorthod (psi, dim) |
Schmidt Orthonormalization of a set of dim real vectors of dimension gdim stored in psi. More... | |
subroutine | xvixddo (x, v, dim) |
Devides a real vector v of length dim by a real number x. Called by schmidtortho. More... | |
subroutine | xvixdzo (x, v, dim) |
Devides a complex vector v of length dim by a real number x. More... | |
subroutine | xvxxdds (x, v, w, dim) |
Subtract from a real vector w of dimension dim x (real) times the real vector v of dimension dim. More... | |
subroutine | xvxxzzs (x, v, w, dim) |
Subtract from a complex vector w of dimension dim x (complex) times the complex vector v of dimension dim. More... | |
subroutine | vvtxdd (u, v, s, dim) |
Calculate the scalar product s of the two real vectors u,v of dimension dim. More... | |
subroutine | vvaxzz (u, v, s, dim) |
Calculate the scalar product s of the two complex vectors u,v of dimension dim. More... | |
This module collects useful functions and vector routines.
double precision function function_library::beta | ( | double precision | a, |
double precision | b | ||
) |
Compute the beta function.
References dlgama().
Referenced by dav_integrators::bdavstep(), binomialcoefficient(), dav_integrators::davstep(), nr::brent::dbrent::dfpmin::mnbrak::modlnp(), runge_kutta::od85cr(), runge_kutta::odp5cr(), runge_kutta::rungekutta5(), runge_kutta::rungekutta8(), sil_integrators::sildiag(), sil_integrators::silstep(), and nr::brent::dbrent::dfpmin::mnbrak::ssbfgs().
real*8 function function_library::binomialcoefficient | ( | integer | N, |
integer | K | ||
) |
Compute a Binomial coefficient.
References beta().
Referenced by coefficients_parameters::coefficients_parameters_init(), analysis_routines_manybody::get_anyordercorrelations(), analysis_routines_manybody::get_singleshot(), input_output::guess_read_ci(), and hamiltonianaction_coefficients::initialize_coefficient_parameters().
subroutine function_library::cpvxd | ( | real*8, dimension(dim) | v, |
real*8, dimension(dim) | w, | ||
integer | dim | ||
) |
Copy the real vector v of dimension dim to the real vector w.
Referenced by sil_integrators::sildiag(), and sil_integrators::silstep().
subroutine function_library::cpvxdz | ( | real*8, dimension(dim) | v, |
complex*16, dimension(dim) | w, | ||
integer | dim | ||
) |
Copy the real vector v to the real part of the complex vector w.
real*8 function function_library::ddgamma | ( | real*8 | x | ) |
Compute the Gamma function.
Referenced by get_initial_orbitals().
double precision function function_library::dlgama | ( | double precision | x | ) |
Compute the logarithm of the Gamma function.
Referenced by beta(), auxiliary_analysis_routines::loopy_permanent(), and auxiliary_analysis_routines::u_transform().
real*8 function function_library::factorial | ( | integer | N | ) |
Compute factorial.
Referenced by auxiliary_analysis_routines::u_trans().
real*8 function function_library::logfactorial | ( | integer | N | ) |
Compute logarithm of factorial.
subroutine function_library::normvxd | ( | real*8, dimension(dim) | vec, |
real*8 | norm, | ||
integer | dim | ||
) |
Calculate the norm of a real vector vec of dimension dim.
Referenced by schmidtorthod().
subroutine function_library::normvxz | ( | complex*16, dimension(dim) | vec, |
real*8 | norm, | ||
integer | dim | ||
) |
Calculate the norm of a complex vector vec of dimension dim.
Referenced by dvr_initialization::gengauss(), dvr_initialization::genhigher(), analysis_routines_2d::get_lz(), auxiliary_fftroutines::get_sorted_fft(), and auxiliary_fftroutines::twod_zero_padding().
subroutine function_library::schmidtortho | ( | complex*16, dimension(gdim,dim) | psi, |
integer | gdim, | ||
integer | dim, | ||
integer | ierr | ||
) |
Schmidt Orthonormalization of a set of dim complex vectors of dimension gdim stored in psi.
Referenced by orbital_equationofmotion::func(), dvr_initialization::gengauss(), get_initial_orbitals(), analysis_routines_manybody::get_loc_frag(), input_output::guess_read_orb(), dvr_initialization::init_kineticenergy_dvr(), and schmidtortho_nlevel2().
subroutine function_library::schmidtortho_nlevel | ( | complex*16, dimension(gdim,dim,nlevel) | psi, |
integer | gdim, | ||
integer | dim, | ||
integer | nlevel, | ||
integer | ierr | ||
) |
Schmidt Orthonormalization of a set of dim complex vectors of dimension gdim stored in psi.
Referenced by orbital_equationofmotion::func_nlevel(), and get_initial_nlevelorbitals().
subroutine function_library::schmidtortho_nlevel2 | ( | complex*16, dimension(gdim,dim,nlevel) | psi, |
integer | gdim, | ||
integer | dim, | ||
integer | nlevel, | ||
integer | ierr | ||
) |
Schmidt Orthonormalization of a set of dim complex vectors of dimension gdim stored in psi.
References schmidtortho().
subroutine function_library::schmidtorthod | ( | real*8, dimension(dim,dim) | psi, |
integer | dim | ||
) |
subroutine function_library::tranqxd | ( | real*8, dimension(dim,dim) | a, |
integer | dim | ||
) |
Transpose a real square dim x dim matrix a.
Referenced by schmidtorthod().
subroutine function_library::vvaxzz | ( | complex*16, dimension(dim) | u, |
complex*16, dimension(dim) | v, | ||
complex*16 | s, | ||
integer | dim | ||
) |
Calculate the scalar product s of the two complex vectors u,v of dimension dim.
Referenced by dvr_initialization::genhigher().
subroutine function_library::vvtxdd | ( | real*8, dimension(dim) | u, |
real*8, dimension(dim) | v, | ||
real*8 | s, | ||
integer | dim | ||
) |
Calculate the scalar product s of the two real vectors u,v of dimension dim.
Referenced by schmidtorthod().
subroutine function_library::xvixddo | ( | real*8 | x, |
real*8, dimension(dim) | v, | ||
integer | dim | ||
) |
Devides a real vector v of length dim by a real number x. Called by schmidtortho.
Referenced by schmidtorthod().
subroutine function_library::xvixdzo | ( | real*8 | x, |
complex*16, dimension(dim) | v, | ||
integer | dim | ||
) |
Devides a complex vector v of length dim by a real number x.
Referenced by dvr_initialization::gengauss(), dvr_initialization::genhigher(), auxiliary_fftroutines::get_sorted_fft(), and auxiliary_fftroutines::twod_zero_padding().
subroutine function_library::xvxxdds | ( | real*8 | x, |
real*8, dimension(dim) | v, | ||
real*8, dimension(dim) | w, | ||
integer | dim | ||
) |
Subtract from a real vector w of dimension dim x (real) times the real vector v of dimension dim.
Referenced by schmidtorthod().
subroutine function_library::xvxxzzs | ( | complex*16 | x, |
complex*16, dimension(dim) | v, | ||
complex*16, dimension(dim) | w, | ||
integer | dim | ||
) |
Subtract from a complex vector w of dimension dim x (complex) times the complex vector v of dimension dim.
Referenced by dvr_initialization::genhigher().
subroutine function_library::zeromxd | ( | real*8, dimension(dim1,dim2) | mat, |
integer | dim1, | ||
integer | dim2 | ||
) |
Set matrix mat of dimension dim1 x dim2 to zero.
Referenced by dvr_initialization::initexp(), dvr_initialization::initho(), and dvr_initialization::initrho().
subroutine function_library::zerovxd | ( | real*8, dimension(dim) | vec, |
integer | dim | ||
) |
Set real vector vec of dimension dim to 0.d0.
Referenced by dav_integrators::bdavstep(), and dvr_initialization::initho().