TEBDOps¶
Fortran module TEBDOps: August 2017 (dj)
Contains the subroutines for the TEBD
Authors
Jaschke
Wall
Details
The following subroutines / functions are defined for the applicable data type
procedure |
include.f90 |
mpi.f90 |
---|---|---|
tebd2 |
X |
|
tebd4 |
X |
- TEBDOps_f90.tebd2_mpsc_tensorlist_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(mpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_mpsc_tensorlistc_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(mpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlistc), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_qmpsc_qtensorlist_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(qmpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_qmpsc_qtensorclist_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(qmpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorclist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_mps_tensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(mps), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_mpsc_tensorlistc_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(mpsc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlistc), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_qmps_qtensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(qmps), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_qmpsc_qtensorclist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(qmpsc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorclist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_lptn_tensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(lptn), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_lptnc_tensorlistc_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(lptnc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlistc), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_qlptn_qtensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(qlptn), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_qlptnc_qtensorclist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 2nd order implementation.
Arguments
- PsiTYPE(qlptnc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorclist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). This ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_mpsc_tensorlist_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(mpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_mpsc_tensorlistc_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(mpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlistc), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_qmpsc_qtensorlist_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(qmpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_qmpsc_qtensorclist_complex()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(qmpsc), inout
Propagate this state in time.
- deltatcomplex, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorclist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_mps_tensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(mps), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_mpsc_tensorlistc_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(mpsc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlistc), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_qmps_qtensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(qmps), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_qmpsc_qtensorclist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(qmpsc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorclist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_lptn_tensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(lptn), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_lptnc_tensorlistc_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(lptnc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(tensorlistc), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_qlptn_qtensorlist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(qlptn), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorlist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd4_qlptnc_qtensorclist_real()[source]¶
fortran-subroutine - August 2017 (dj, updated) Propagate psi with the TEBD algorithm. 4th order implementation.
Arguments
- PsiTYPE(qlptnc), inout
Propagate this state in time.
- deltatreal, in
Time step for evolution.
- RsTYPE(MPORuleSet), in
Rule set for the construction of the Hamiltonian.
- OpsTYPE(qtensorclist), in
Operators needed to build the Hamiltonian.
- HparamsTYPE(HamiltonianParameters)(*), in
The couplings for the terms in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- renormLOGICAL, in
Flag if state vector should be renormalized to 1 (true). ‘N’ : do not normalize (default); ‘M’ : normalize for MPS 1 / sqrt(norm);
- mpo_is_hermitianLOGICAL, in
Flag if the MPO is hermitian, i.e. for Hamiltonian, or if it is a non-hermitian Liouville operator.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Details
Currently uses complete reorthogonalization for stability. (defined in TimeEvolutionOps_include.f90)
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_mpsc_tensor_complex()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_mpsc_tensorc_complex()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qmpsc_qtensor_complex()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qmpsc_qtensorc_complex()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_mps_tensor_real()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_mpsc_tensorc_real()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qmps_qtensor_real()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qmpsc_qtensorc_real()[source]¶
fortran-subroutine - Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_lptn_tensor_real()[source]¶
fortran-subroutine - October 2017 (dj)
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_lptnc_tensorc_real()[source]¶
fortran-subroutine - October 2017 (dj)
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qlptn_qtensor_real()[source]¶
fortran-subroutine - October 2017 (dj)
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qlptnc_qtensorc_real()[source]¶
fortran-subroutine - October 2017 (dj)
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_lptn_tensorc_real()[source]¶
fortran-subroutine - October 2017 (dj) Dummy interface for Liouville space evolution on LPTN/MPS.
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qlptn_qtensorc_real()[source]¶
fortran-subroutine - October 2017 (dj) Dummy interface for Liouville space evolution on LPTN/MPS.
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_mps_tensorc_real()[source]¶
fortran-subroutine - October 2017 (dj) Dummy interface for Liouville space evolution on LPTN/MPS.
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qmps_qtensorc_real()[source]¶
fortran-subroutine - October 2017 (dj) Dummy interface for Liouville space evolution on LPTN/MPS.
Arguments
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Details
The Hamiltonian is assumed to be hermitian. Effective Hamiltonian does not make sense on a density matrix and Lindblad master equation would be evolved with Kraus operators.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_22122_tensorlist()[source]¶
fortran-subroutine - October 2017 (dj) Evolve an LPTN under a second order TEBD decomposition. This is the “local Lindblads only” version.
Arguments
- RhoTYPE(MP, inout
Density matrix to be evolved.
- deltatCOMPLEX, in
Time step for this step.
- RsTYPE(MPORuleSet), in
The rule set for the Lindblad master equation.
- OpsTYPE(tensorlist), in
Contains the operators necessary to build the Lindblad equation.
- HparamsTYPE(HamiltonianParameters), in
Contains the coupling constants for each term in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
Details
We first use a second order Trotter decomposition on the Hamiltonian H and dissipative part D of the system leading to epx(H + D) = exp(H / 2) exp(D) exp(H / 2). We apply the usual Sornborger second order decomposition to the exp(H / 2) term.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_22122_tensorlistc()[source]¶
fortran-subroutine - October 2017 (dj) Evolve an LPTN under a second order TEBD decomposition. This is the “local Lindblads only” version.
Arguments
- RhoTYPE(MP, inout
Density matrix to be evolved.
- deltatCOMPLEX, in
Time step for this step.
- RsTYPE(MPORuleSet), in
The rule set for the Lindblad master equation.
- OpsTYPE(tensorlistc), in
Contains the operators necessary to build the Lindblad equation.
- HparamsTYPE(HamiltonianParameters), in
Contains the coupling constants for each term in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
Details
We first use a second order Trotter decomposition on the Hamiltonian H and dissipative part D of the system leading to epx(H + D) = exp(H / 2) exp(D) exp(H / 2). We apply the usual Sornborger second order decomposition to the exp(H / 2) term.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_22122_qtensorlist()[source]¶
fortran-subroutine - October 2017 (dj) Evolve an LPTN under a second order TEBD decomposition. This is the “local Lindblads only” version.
Arguments
- RhoTYPE(MP, inout
Density matrix to be evolved.
- deltatCOMPLEX, in
Time step for this step.
- RsTYPE(MPORuleSet), in
The rule set for the Lindblad master equation.
- OpsTYPE(qtensorlist), in
Contains the operators necessary to build the Lindblad equation.
- HparamsTYPE(HamiltonianParameters), in
Contains the coupling constants for each term in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
Details
We first use a second order Trotter decomposition on the Hamiltonian H and dissipative part D of the system leading to epx(H + D) = exp(H / 2) exp(D) exp(H / 2). We apply the usual Sornborger second order decomposition to the exp(H / 2) term.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd2_22122_qtensorclist()[source]¶
fortran-subroutine - October 2017 (dj) Evolve an LPTN under a second order TEBD decomposition. This is the “local Lindblads only” version.
Arguments
- RhoTYPE(MP, inout
Density matrix to be evolved.
- deltatCOMPLEX, in
Time step for this step.
- RsTYPE(MPORuleSet), in
The rule set for the Lindblad master equation.
- OpsTYPE(qtensorclist), in
Contains the operators necessary to build the Lindblad equation.
- HparamsTYPE(HamiltonianParameters), in
Contains the coupling constants for each term in the Hamiltonian.
- iopINTEGER, in
Position of the identity operator in the list of operators Ops.
- convergedLOGICAL, out
Not referenced, only to provide equal interface.
- cerrREAL, inout
The cumulated error. The error done during this subroutine is added to the incoming value.
- CpTYPE(ConvParam), in
Contains the convergence parameters for the simulation.
Details
We first use a second order Trotter decomposition on the Hamiltonian H and dissipative part D of the system leading to epx(H + D) = exp(H / 2) exp(D) exp(H / 2). We apply the usual Sornborger second order decomposition to the exp(H / 2) term.
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_lptnc_TENSOR_HTYPE()[source]¶
fortran-subroutine - September 2017 (dj) Apply Trotter decomposition to an LPTN tensor network.
Arguments
- RhoTYPE(lptnc), inout
Density matrix to be propagated as LPTN.
- PtsTYPE(tensorc)(*, *), inout
The 2-site propagators containing the unitary part of the time evolution. The first dimension runs of the sites, the second index over different weights.
- KsTYPE(tensorc)(*, *), inout
Contains the local Kraus operators. The first dimension runs again over the sites, the second index over different weights in the Trotter decomposition.
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- idxsINTEGER(*), in
Defines for each loop which second dimension is accessed in Pts and Ks.
- termCHARACTER(*), in
Specifies if 2-site propagator of the Hamiltonian or Kraus operator is applied.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.tebd_method_qlptnc_TENSOR_HTYPE()[source]¶
fortran-subroutine - September 2017 (dj) Apply Trotter decomposition to an LPTN tensor network.
Arguments
- RhoTYPE(qlptnc), inout
Density matrix to be propagated as LPTN.
- PtsTYPE(qtensorc)(*, *), inout
The 2-site propagators containing the unitary part of the time evolution. The first dimension runs of the sites, the second index over different weights.
- KsTYPE(qtensorc)(*, *), inout
Contains the local Kraus operators. The first dimension runs again over the sites, the second index over different weights in the Trotter decomposition.
- loopINTEGER(*, *), in
Defines the loops of the decomposition. The second dimension corresponds to the number of loops. The first dimension is always of size three and contains the first site in the loop, the final site in the loop, and the increment of the loop, in this order.
- idxsINTEGER(*), in
Defines for each loop which second dimension is accessed in Pts and Ks.
- termCHARACTER(*), in
Specifies if 2-site propagator of the Hamiltonian or Kraus operator is applied.
- CpTYPE(ConvParam), in
Specifies the convergence parameters for the algorithms.
- convergedLOGICAL, out
Flag if TEBD step converged.
- cerrREAL, inout
Cumulative truncation error.
- pbcLOGICAL, in
Flag if PBC are used (then true).
Source Code
show / hide f90 code
- TEBDOps_f90.prepare_op2_tensor()[source]¶
fortran-subroutine - September 2017 (dj) Build all two-site operators.
Arguments
- mpo_is_hermitianLOGICAL, in
Flag if term in the exponential is hermitian.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Source Code
show / hide f90 code
- TEBDOps_f90.prepare_op2_tensorc()[source]¶
fortran-subroutine - September 2017 (dj) Build all two-site operators.
Arguments
- mpo_is_hermitianLOGICAL, in
Flag if term in the exponential is hermitian.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Source Code
show / hide f90 code
- TEBDOps_f90.prepare_op2_qtensor()[source]¶
fortran-subroutine - September 2017 (dj) Build all two-site operators.
Arguments
- mpo_is_hermitianLOGICAL, in
Flag if term in the exponential is hermitian.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Source Code
show / hide f90 code
- TEBDOps_f90.prepare_op2_qtensorc()[source]¶
fortran-subroutine - September 2017 (dj) Build all two-site operators.
Arguments
- mpo_is_hermitianLOGICAL, in
Flag if term in the exponential is hermitian.
- qtLOGICAL, in
Flag if quantum trajectories are used.
- finitetLOGICAL, in
Flag if finitet simulation. If .true., the Liouville propagator of the Hamiltonian is returned. Must be hermitian then.
Source Code
show / hide f90 code
- TEBDOps_f90.init_permarrays_pbc()[source]¶
fortran-subroutine - February 2019 (dj) Destroys permutation arrays for PBC.
Arguments
- pbcLOGICAL, in
Flag if PBC are used (true) or not used (false).
- permaINTEGER(*), in
Allocated and initialized on exit.
- permbINTEGER(*), in
Allocated and initialized on exit.
- llINTEGER, in
Number of sites in the system.
Source Code
show / hide f90 code
- TEBDOps_f90.finalize_permarrays_pbc()[source]¶
fortran-subroutine - February 2019 (dj) Destroys permutation arrays for PBC.
Arguments
- pbcLOGICAL, in
Flag if PBC are used (true) or not used (false).
- permaINTEGER(*), inout
Deallocated on exit.
- permbINTEGER(*), inout
Deallocated on exit.
Source Code
show / hide f90 code