(git:c5411e0)
Loading...
Searching...
No Matches
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
 
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
 
subroutine, public get_nsquare_norder (norm, nsquare, norder, eps_exp, method, do_emd)
 optimization function for pade/taylor order and number of squaring steps
 
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
 
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
 
subroutine, public exp_pade_real (exp_h, matrix, nsquare, npade)
 exponential of a real matrix, calculated using pade approximation together with scaling and squaring
 
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)
 

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: