ALF  dev.
A QMC Code for fermionic models
Functions/Subroutines | Variables
hop_mod Module Reference

This module computes and stores the exponential of the hopping matrix. It also provide routines to carry out multiplications with \( e^{ - \Delta \tau H_t } = \prod_{n=1}^{N} e^{ - \Delta \tau_n H_t(n) } \), \( e^{ \Delta \tau H_t } = \prod_{n=N}^{1} e^{ \Delta \tau_n H_t(n) } \), \( e^{ - \Delta \tau H_t/2 } = \prod_{n=1}^{N} e^{ - \Delta \tau_n H_t(n)/2 } \), and \( e^{ \Delta \tau H_t/2 } = \prod_{n=N}^{1} e^{ \Delta \tau_n H_t(n)/2 } \). The last equality are important for the symmetric Trotter option. (See variable: Symm in the Hamiltonian module) More...

Functions/Subroutines

subroutine opt_postprocess (ExpOpT_vec, op)
 This function serves as a central entry point to collect the processing that occurs in mapping an OpT input matrix to the internal matrix-like data structure. More...
 
subroutine hop_mod_init
 This functions sets up the exponentiated matrices. We symmetrize the upper part of those matrices. More...
 
subroutine hop_mod_mmthr (In, nf, t)
 
subroutine hop_mod_mmthr_m1 (In, nf, t)
 
subroutine hop_mod_mmthl (In, nf, t)
 
subroutine hop_mod_mmthlc (In, nf, t)
 
subroutine hop_mod_mmthl_m1 (In, nf, t)
 
subroutine hop_mod_symm (Out, In, t1, t2)
 Out = exp(-Delta tau /2 T) In exp( Delta tau /2 T) More...
 

Variables

type(dynamicmatrixarray), dimension(:), allocatable, private expopt_vec
 
integer, save, private ncheck
 
real(kind=kind(0.d0)), save, private zero
 

Detailed Description

This module computes and stores the exponential of the hopping matrix. It also provide routines to carry out multiplications with \( e^{ - \Delta \tau H_t } = \prod_{n=1}^{N} e^{ - \Delta \tau_n H_t(n) } \), \( e^{ \Delta \tau H_t } = \prod_{n=N}^{1} e^{ \Delta \tau_n H_t(n) } \), \( e^{ - \Delta \tau H_t/2 } = \prod_{n=1}^{N} e^{ - \Delta \tau_n H_t(n)/2 } \), and \( e^{ \Delta \tau H_t/2 } = \prod_{n=N}^{1} e^{ \Delta \tau_n H_t(n)/2 } \). The last equality are important for the symmetric Trotter option. (See variable: Symm in the Hamiltonian module)

Author
ALF-project

Function/Subroutine Documentation

◆ hop_mod_init()

subroutine hop_mod::hop_mod_init ( )

This functions sets up the exponentiated matrices. We symmetrize the upper part of those matrices.

Author
ALF-project

Definition at line 120 of file Hop_mod.F90.

◆ hop_mod_symm()

subroutine hop_mod::hop_mod_symm ( complex (kind=kind(0.d0)), dimension(:,:,:), intent(out)  Out,
complex (kind=kind(0.d0)), dimension(:,:,:), intent(in)  In,
integer, intent(in)  t1,
integer, intent(in), optional  t2 
)

Out = exp(-Delta tau /2 T) In exp( Delta tau /2 T)

Author
ALF-project

Definition at line 282 of file Hop_mod.F90.

◆ opt_postprocess()

subroutine hop_mod::opt_postprocess ( type(dynamicmatrixarray), intent(inout)  ExpOpT_vec,
type(operator), intent(in)  op 
)

This function serves as a central entry point to collect the processing that occurs in mapping an OpT input matrix to the internal matrix-like data structure.

Author
ALF-project
Parameters
ExpOpT_vec[inout]a DynamicMatrixArray structure to which we append new elements.
op[in]an Operator that describes an OpT hopping matrix.

Definition at line 80 of file Hop_mod.F90.