(git:f2099e5)
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: