TimeEvolutionOps

Fortran module TimeEvolutionOps: August 2017 (dj)

Contains the subroutines for all time evolutions.

Authors

    1. Jaschke

      1. Wall

Details

The following subroutines / functions are defined for the applicable data type

procedure

include.f90

mpi.f90

mps_timeevo

X

TimeEvolutionOps_f90.mps_timeevo_mpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(mpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(mpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mps_timeevo_mpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(mpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlistc), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(mpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mps_timeevo_qmpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(qmpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(qmpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mps_timeevo_qmpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(qmpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorclist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(qmpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.qt_timeevo_tensorlist()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time with quantum trajectories according to a Lindblad master equation. The time evolution methods available are Krylov, TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(mpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(mpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.qt_timeevo_tensorlistc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time with quantum trajectories according to a Lindblad master equation. The time evolution methods available are Krylov, TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(mpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlistc), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(mpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.qt_timeevo_qtensorlist()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time with quantum trajectories according to a Lindblad master equation. The time evolution methods available are Krylov, TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(qmpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(qmpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.qt_timeevo_qtensorclist()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time with quantum trajectories according to a Lindblad master equation. The time evolution methods available are Krylov, TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(qmpsc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorclist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

PsiinitTYPE(qmpsc), inout

Initial state for the measurement of the Loschmidt echo.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_timeevo_tensorlist()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(mpdoc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(mpdoc), OPTIONAL, inout

Initial state for the measurement of the distance.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_timeevo_tensorlistc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(mpdoc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlistc), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(mpdoc), OPTIONAL, inout

Initial state for the measurement of the distance.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_timeevo_qtensorlist()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(qmpdoc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(qmpdoc), OPTIONAL, inout

Initial state for the measurement of the distance.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_timeevo_qtensorclist()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2, TEBD4, TDVP2, LRK2, or LRK4.

Arguments

PsiTYPE(qmpdoc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorclist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(qmpdoc), OPTIONAL, inout

Initial state for the measurement of the distance.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_timeevo_mpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(lptnc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(mpsc), OPTIONAL, inout

Initial state for the measurement of the Loschmidt echo.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_timeevo_mpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(lptnc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlistc), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(mpsc), OPTIONAL, inout

Initial state for the measurement of the Loschmidt echo.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_timeevo_qmpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(qlptnc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(qmpsc), OPTIONAL, inout

Initial state for the measurement of the Loschmidt echo.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_timeevo_qmpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in real time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(qlptnc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorclist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

PsiinitTYPE(qmpsc), OPTIONAL, inout

Initial state for the measurement of the Loschmidt echo.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.check_pbc_evomethod()[source]

fortran-subroutine - February 2019 (dj) Checks that PBC are only enabled for TEBD using matrix exponentials.

Arguments

pbcLOGICAL, in

Flag on periodic boundary conditions.

evomethodINTEGER, in

Flag on time evolution method.

ktebdINTEGER, in

Flag on usage of Krylov-TEBD or matrix exponential TEBD.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_lexp_tensorlist()[source]

fortran-subroutine - December 2017 (dj) Calculate the unweighted probability for a quantum jump due to a Lindblad exponential operator.

Arguments

PsiTYPE(mpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(tensorlist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the Lindblad exponential term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the Lindblad exponential term.

rrINTEGER, in

Select the rule set of Lindblad exponential terms in the array of all many-body string Lindblad terms.

idxINTEGER, inout

Next entry to be set in array sc.

scREAL(*), inout

Unweighted probability of the exponential rule set.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_lexp_tensorlistc()[source]

fortran-subroutine - December 2017 (dj) Calculate the unweighted probability for a quantum jump due to a Lindblad exponential operator.

Arguments

PsiTYPE(mpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(tensorlistc), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the Lindblad exponential term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the Lindblad exponential term.

rrINTEGER, in

Select the rule set of Lindblad exponential terms in the array of all many-body string Lindblad terms.

idxINTEGER, inout

Next entry to be set in array sc.

scREAL(*), inout

Unweighted probability of the exponential rule set.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_lexp_qtensorlist()[source]

fortran-subroutine - December 2017 (dj) Calculate the unweighted probability for a quantum jump due to a Lindblad exponential operator.

Arguments

PsiTYPE(qmpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(qtensorlist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the Lindblad exponential term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the Lindblad exponential term.

rrINTEGER, in

Select the rule set of Lindblad exponential terms in the array of all many-body string Lindblad terms.

idxINTEGER, inout

Next entry to be set in array sc.

scREAL(*), inout

Unweighted probability of the exponential rule set.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_lexp_qtensorclist()[source]

fortran-subroutine - December 2017 (dj) Calculate the unweighted probability for a quantum jump due to a Lindblad exponential operator.

Arguments

PsiTYPE(qmpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(qtensorclist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the Lindblad exponential term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the Lindblad exponential term.

rrINTEGER, in

Select the rule set of Lindblad exponential terms in the array of all many-body string Lindblad terms.

idxINTEGER, inout

Next entry to be set in array sc.

scREAL(*), inout

Unweighted probability of the exponential rule set.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbsl_tensorlist()[source]

fortran-subroutine - November 2017 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad operator.

Arguments

PsiTYPE(mpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(tensorlist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbsl_tensorlistc()[source]

fortran-subroutine - November 2017 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad operator.

Arguments

PsiTYPE(mpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(tensorlistc), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbsl_qtensorlist()[source]

fortran-subroutine - November 2017 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad operator.

Arguments

PsiTYPE(qmpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(qtensorlist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbsl_qtensorclist()[source]

fortran-subroutine - November 2017 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad operator.

Arguments

PsiTYPE(qmpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(qtensorclist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbslxy_tensorlist()[source]

fortran-subroutine - March 2018 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad XY operator.

Arguments

PsiTYPE(mpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(tensorlist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad XY term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbslxy_tensorlistc()[source]

fortran-subroutine - March 2018 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad XY operator.

Arguments

PsiTYPE(mpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(tensorlistc), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad XY term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbslxy_qtensorlist()[source]

fortran-subroutine - March 2018 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad XY operator.

Arguments

PsiTYPE(qmpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(qtensorlist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad XY term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.quantum_jump_mbslxy_qtensorclist()[source]

fortran-subroutine - March 2018 (dj) Calculate the unweighted probability for a quantum jump due to a many-body string Lindblad XY operator.

Arguments

PsiTYPE(qmpsc), inout

Calculate the probability for this wave-function.

OperatorsTYPE(qtensorclist), inout

The operators for the simulations, containing the Lindblad operators.

RsTYPE(MPORuleSet), in

The rule set for the evolution containing the setup for the many-body string Lindblad XY term.

HparamsTYPE(HamiltonianParameters)(*), in

Contains the possibly space and time dependent coupling for the terms in the Lindblad master equation.

xxINTEGER, in

The left-most site in the many-body string Lindblad term.

rrINTEGER, in

Select the rule set of many-body string Lindblad term in the array of all many-body string Lindblad terms.

scREAL, out

Unweighted probability.

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_itimeevo_mpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(lptn), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_itimeevo_mpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(lptnc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlistc), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_itimeevo_qmpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(qlptn), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.lptn_itimeevo_qmpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(qlptnc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorclist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_itimeevo_mpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(mpdo), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_itimeevo_mpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(mpdoc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(tensorlistc), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_itimeevo_qmpo()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(qmpdo), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorlist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code
TimeEvolutionOps_f90.mpdo_itimeevo_qmpoc()[source]

fortran-subroutine - April 2016 (updated, dj) Evolve the quantum state in imaginary time according to a time evolution method of choice from TEBD2.

Arguments

RhoTYPE(qmpdoc), inout

Evolve the wave function in real time.

timeREAL, inout

The time of the evolution; due to multiple quenches, the starting point can differ from 0.

OpsTYPE(qtensorclist), in

Contains the operators necessary to build the Hamiltonian.

RsTYPE(MPORuleSet), in

Defines the rules how to define the Hamiltonian.

iopINTEGER, in

Position of the identity matrix.

CpTYPE(ConvParam), in

Contains the convergence parameters of the algorithms.

quenchnameCHARACTER(*), in

Filename defining the quench.

obsnameCHARACTER(*), in

Target file where to store the observables.

ImapperTYPE(imap), in

Mapping for the symmetric subspaces of a local Hilbert space to the complete local Hilbert space.

Details

(defined in TimeEvolutionOps_include.f90)

Source Code

show / hide f90 code