ALF dev.
A QMC Code for fermionic models
Loading...
Searching...
No Matches
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.
subroutine hop_mod_init
 This functions sets up the exponentiated matrices. We symmetrize the upper part of those matrices.
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).

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 119 of file Hop_mod.F90.

◆ hop_mod_mmthl()

subroutine hop_mod::hop_mod_mmthl ( complex (kind=kind(0.d0)), dimension(:,:), intent(inout) in,
integer nf,
integer, intent(in) t )

Definition at line 187 of file Hop_mod.F90.

◆ hop_mod_mmthl_m1()

subroutine hop_mod::hop_mod_mmthl_m1 ( complex (kind=kind(0.d0)), dimension(:,:), intent(inout) in,
integer nf,
integer, intent(in) t )

Definition at line 233 of file Hop_mod.F90.

◆ hop_mod_mmthlc()

subroutine hop_mod::hop_mod_mmthlc ( complex (kind=kind(0.d0)), dimension(:,:), intent(inout) in,
integer nf,
integer, intent(in) t )

Definition at line 210 of file Hop_mod.F90.

◆ hop_mod_mmthr()

subroutine hop_mod::hop_mod_mmthr ( complex (kind=kind(0.d0)), dimension(:,:), intent(inout) in,
integer, intent(in) nf,
integer, intent(in) t )

Definition at line 145 of file Hop_mod.F90.

◆ hop_mod_mmthr_m1()

subroutine hop_mod::hop_mod_mmthr_m1 ( complex (kind=kind(0.d0)), dimension(:,:), intent(inout) in,
integer nf,
integer, intent(in) t )

Definition at line 164 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 281 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 79 of file Hop_mod.F90.

Variable Documentation

◆ expopt_vec

type(dynamicmatrixarray), dimension(:), allocatable, private hop_mod::expopt_vec
private

Definition at line 60 of file Hop_mod.F90.

◆ ncheck

integer, save, private hop_mod::ncheck
private

Definition at line 61 of file Hop_mod.F90.

◆ zero

real (kind=kind(0.d0)), save, private hop_mod::zero
private

Definition at line 62 of file Hop_mod.F90.