(git:3add494)
matrix_exp Module Reference

Routines for calculating a complex matrix exponential. More...

Functions/Subroutines

subroutine, public taylor_only_imaginary (exp_H, im_matrix, nsquare, ntaylor)
 specialized subroutine for purely imaginary matrix exponentials More...
 
subroutine, public taylor_full_complex (exp_H, re_part, im_part, nsquare, ntaylor)
 subroutine for general complex matrix exponentials on input a separate cp_fm_type for real and complex part on output a size 2 cp_fm_type, first element is the real part of the exponential second the imaginary More...
 
subroutine, public get_nsquare_norder (norm, nsquare, norder, eps_exp, method, do_emd)
 optimization function for pade/taylor order and number of squaring steps More...
 
subroutine, public exp_pade_full_complex (exp_H, re_part, im_part, nsquare, npade)
 exponential of a complex matrix, calculated using pade approximation together with scaling and squaring More...
 
subroutine, public exp_pade_only_imaginary (exp_H, im_part, nsquare, npade)
 exponential of a complex matrix, calculated using pade approximation together with scaling and squaring More...
 
subroutine, public exp_pade_real (exp_H, matrix, nsquare, npade)
 exponential of a real matrix, calculated using pade approximation together with scaling and squaring More...
 
subroutine, public arnoldi (mos_old, mos_new, eps_exp, Hre, Him, mos_next, narn_old)
 exponential of a complex matrix, calculated using arnoldi subspace method (directly applies to the MOs) More...
 

Detailed Description

Routines for calculating a complex matrix exponential.

Author
Florian Schiffmann (02.09)

Function/Subroutine Documentation

◆ taylor_only_imaginary()

subroutine, public matrix_exp::taylor_only_imaginary ( type(cp_fm_type), dimension(2)  exp_H,
type(cp_fm_type), intent(in)  im_matrix,
integer, intent(in)  nsquare,
integer, intent(in)  ntaylor 
)

specialized subroutine for purely imaginary matrix exponentials

Parameters
exp_H...
im_matrix...
nsquare...
ntaylor...
Author
Florian Schiffmann (02.09)

Definition at line 68 of file matrix_exp.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ taylor_full_complex()

subroutine, public matrix_exp::taylor_full_complex ( type(cp_fm_type), dimension(2)  exp_H,
type(cp_fm_type), intent(in)  re_part,
type(cp_fm_type), intent(in)  im_part,
integer, intent(in)  nsquare,
integer, intent(in)  ntaylor 
)

subroutine for general complex matrix exponentials on input a separate cp_fm_type for real and complex part on output a size 2 cp_fm_type, first element is the real part of the exponential second the imaginary

Parameters
exp_H...
re_part...
im_part...
nsquare...
ntaylor...
Author
Florian Schiffmann (02.09)

Definition at line 164 of file matrix_exp.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_nsquare_norder()

subroutine, public matrix_exp::get_nsquare_norder ( real(dp), intent(in)  norm,
integer, intent(out)  nsquare,
integer, intent(out)  norder,
real(dp), intent(in)  eps_exp,
integer, intent(in)  method,
logical, intent(in)  do_emd 
)

optimization function for pade/taylor order and number of squaring steps

Parameters
norm...
nsquare...
norder...
eps_exp...
method...
do_emd...
Author
Florian Schiffmann (02.09)

Definition at line 243 of file matrix_exp.F.

Here is the caller graph for this function:

◆ exp_pade_full_complex()

subroutine, public matrix_exp::exp_pade_full_complex ( type(cp_fm_type), dimension(2)  exp_H,
type(cp_fm_type), intent(in)  re_part,
type(cp_fm_type), intent(in)  im_part,
integer, intent(in)  nsquare,
integer, intent(in)  npade 
)

exponential of a complex matrix, calculated using pade approximation together with scaling and squaring

Parameters
exp_H...
re_part...
im_part...
nsquare...
npade...
Author
Florian Schiffmann (02.09)

Definition at line 341 of file matrix_exp.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exp_pade_only_imaginary()

subroutine, public matrix_exp::exp_pade_only_imaginary ( type(cp_fm_type), dimension(2)  exp_H,
type(cp_fm_type), intent(in)  im_part,
integer, intent(in)  nsquare,
integer, intent(in)  npade 
)

exponential of a complex matrix, calculated using pade approximation together with scaling and squaring

Parameters
exp_H...
im_part...
nsquare...
npade...
Author
Florian Schiffmann (02.09)

Definition at line 446 of file matrix_exp.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exp_pade_real()

subroutine, public matrix_exp::exp_pade_real ( type(cp_fm_type), intent(in)  exp_H,
type(cp_fm_type), intent(in)  matrix,
integer, intent(in)  nsquare,
integer, intent(in)  npade 
)

exponential of a real matrix, calculated using pade approximation together with scaling and squaring

Parameters
exp_H...
matrix...
nsquare...
npade...
Author
Florian Schiffmann (02.09)

Definition at line 569 of file matrix_exp.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ arnoldi()

subroutine, public matrix_exp::arnoldi ( type(cp_fm_type), dimension(2)  mos_old,
type(cp_fm_type), dimension(2)  mos_new,
real(kind=dp), intent(in)  eps_exp,
type(cp_fm_type), intent(in), optional  Hre,
type(cp_fm_type), intent(in)  Him,
type(cp_fm_type), dimension(2), optional  mos_next,
integer, intent(inout)  narn_old 
)

exponential of a complex matrix, calculated using arnoldi subspace method (directly applies to the MOs)

Parameters
mos_old...
mos_new...
eps_exp...
Hre...
Him...
mos_next...
narn_old...
Author
Florian Schiffmann (02.09)

Definition at line 682 of file matrix_exp.F.

Here is the call graph for this function:
Here is the caller graph for this function: