#
HoTRG_lemon.SpinModule
— Module.
SpinModule
Store informations about the spin model.
Type list
- SpinInfo
- TrotterInfo for Quantum Spins
- SpinModel
- ClassicalSpinModel
- IsingModel
- PottsModel
- ClockModel
- QuantumSpinModel
- QuantumIsingModel
Method list
-
Methods for SpinInfo:
- isZeroTemperature
- isClassical
- getmodelname
- getStates
- isSymmetricFactorization
- getTemperature
- getExternalfield
- getEnvParameters
- setTemperature!
- setExternalfield!
- setEnvParameters!
-
Methods for TrotterInfo
- getTrotterparameter
- getTrotteriteration
- getTrotterlayers
- getBeta
- setTrotterparameter!
- setTrotteriteration!
- iteration2layer
-
Methods for SpinModel
- buildSpinSystem
- getMeasureOperator
- getFactorW
- isPottsModel
- getHamiltonian
-
Methods for IsingModel
- initialize!
-
Methods for QuantumSpinModel
- checkInfo!
-
Methods for QuantumIsingModel
- getFactorWp
Test list
- testSpinInfo
- testTrotterInfo
- testSpinModel
- testIsingModel
- testPottsModel
- testClockModel
- testQuantumIsingModel
#
HoTRG_lemon.LatticeModule
— Module.
LatticeModule
Store information about the Lattice
Type list
- LatticeInfo
- Latttice
- ClassicalLattice,
- Classical2dLattice,
- Classical2dSquareLattice,
- Classical2dFractalLattice,
- QuantumLattice,
- Quantum2dLattice,
- Quantum2dSquareLattice,
- Classical3dLattice,
- Classical3dSquareLattice,
- Quantum2dFractalLattice,
- FractalLattice,
Method list
- getDimension
- getGeometry
- getCoarserate
- getLegextension
- getQuantumOrClassical
- isClassical,
- isTwoDimension,
- isSquareLattice,
- isFractalLattice,
- buildLattice,
- initialize!,
- isZeroTemperature,
- isClassical,
- getModelname,
- getStates,
- isSymmetricFactorization,
- isPottsModel,
- getHamiltonian,
- getTemperature,
- getExternalfield,
- getEnvParameters,
- setTemperature!,
- setExternalfield!,
- setEnvParameters!,
- initialize!,
- getTensorT,
- getFactorW,
- getFactorWp,
- setTensorT!,
- makeTensorT,
- makeFactorWp,
- makeTensorQ,
- buildClassicalLattice,
- getSpaceDimension,
- buildQuantumLattice,
- getTrotterparameter,
- getTrotteriteration,
- getTrotterlayers,
- getBeta,
- setTrotterparameter!,
- setTrotterIteration!,
- getTensorP,
- getTensorQ,
- getLegextension,
- getHausdorffDim,
- getFractalDim,
- setTensorP!,
- setTensorQ!
Test list
- testlatticeinfo,
- testClassical2dSquareLattice,
- testClassical2dFractalLattice,
- testQuantum2dSquareLattice,
- testClassical3dSquareLattice,
- testQuantum2dFractalLattice,
#
HoTRG_lemon.SimulatorModule
— Module.
SimulatorModule
Simulator for lattice.
modifying move this when finished
-
simulator_quantum_2d_fractal_initialiteration.jl for adding additional iterations for the trotter layer
- getSingularValues
Type list
- Simulator,
- ClassicalSimulator,
- Classical2dSimulator,
- Classical3dSimulator,
- Classical2dSquareSimulator,
- QuantumSimulator,
- Quantum2dSimulator,
- Quantum2dSquareSimulator,
- Classical3dSquareSimulator,
- FractalSimulator,
- Classical2dFractalSimulator,
- Quantum2dFractalSimulator,
- Quantum2dFractalInititerSimulator <- working
Method list
- buildSimulator, #
- getDimM,
- getExpectationValue,
- getFreeEnergy,
- getWholeiteration,
- getNormalizationfactors,
- getData4Energy,
- getCount,
- getNumberOfSites,
- countUp!,
- countDown!,
- isDone,
- setNormalizationfactor!,
- normalizeTensor,
- writeVector,
- isZeroTemperature,
- isClassical,
- getModelname,
- getStates,
- isSymmetricFactorization,
- isPottsModel,
- getHamiltonian,
- getTemperature,
- getExternalfield,
- getEnvParameters,
- getCoareserate,
- getTensorT,
- getTensorW,
- getMeasureOperator,
- setTemperature!,
- setExternalfield!,
- setTensorT!,
- setEnvParameters!,
- initializeCount!,
- getFirstTerm,
- renormalize!,
- getTrotterCount,
- getSpaceCount,
- getTrotterparameter,
- getTrotteriteration,
- getTrotterlayers,
- getBeta, # changed to use trottercount
- setTrotterparameter!,
- setTrotterIteration!,
- renormalize,
- getNewTensorT_2dQ,
- getTensorU,
- getTensorV,
- getTenmatMMd,
- renormalizeX!,
- renormalizeZ!,
- renormalizeY!,
- truncMatrixU,
- matU2tenU,
- simulatorTemperature,
- simulatorQuantum,
- getHausdorffDim,
- getFractalDim,
- getLegextension,
- getTensorP,
- getTensorQ,
- getCoefficient,
- setTensorP!,
- setTensorQ!,
- normalizeTensor!,
- setNorm!,
- constructHalf,
- updateLocalTensors!,
- debug_updateLocalTensors!,
- getNewLegTensor,
- getNewCaretTensor,
- renormalizeSpace!,
- renormalizeTrotter!,
- getTensorUy,
- updateCoefficient!,
- setCoefficient!,
- getCoefficient,
- calculateCoreTensors
- getInititeration(simulator::Quantum2dFractalinititerSimulator)
Test list
- testClassical2dSquareSimulator,
- testQuantum2dSquareSimulator,
- testSimulateTemp,
- testClassical3dSquareSimulator,
- testClassical2dFractalSimulator,
- testQuantum2dFractalSimulator,
#
HoTRG_lemon.SpinModule.SpinInfo
— Type.
SpinInfo{T}(modelcode::AbstractString, factorization::AbstractString, externalfield::T, temperature::T)
Store informations about the spin model.
Arguments
modelcode::AbstractString
:[quantum,classical]_[modelname]_[numberOfState]
factorization::AbstractString
:sym
orasym
(default:asym
)temperature::T
: (default: one(T))externalfield::T
: (default: one(T))
Examples
modelcode = "quantum_ising"
factorization = "sym"
externalfield = 2.0
temperature = 1.5
spininfo = HoTRG_lemon.SpinModule.SpinInfo(modelcode, factorization, externalfield, temperature)
spininfo = HoTRG_lemon.SpinModule.SpinInfo(modelcode, factorization, externalfield)
spininfo = HoTRG_lemon.SpinModule.SpinInfo(modelcode, externalfield, temperature)
spininfo = HoTRG_lemon.SpinModule.SpinInfo(modelcode, externalfield)
spininfo = HoTRG_lemon.SpinModule.SpinInfo(modelcode, factorization)
spininfo = HoTRG_lemon.SpinModule.SpinInfo(modelcode)
modelcode = "quantum_ising"
factorization = "sym"
externalfield = 2.0
temperature = 1.5
spininfo = HoTRG_lemon.SpinModule.SpinInfo(modelcode, factorization, externalfield, temperature)
# output
HoTRG_lemon.SpinModule.SpinInfo{Float64}("quantum","ising",2,"sym",1.5,2.0)
-
Methods for SpinModule:
- isZeroTemperature,
- isClassical,
- getModelname,
- getStates,
- isSymmetricFactorization,
- getTemperature,
- getExternalfield,
- getEnvParameters,
- setTemperature!,
- setExternalfield!,
- setEnvParameters!,
- testSpinInfo,
#
HoTRG_lemon.SpinModule.isZeroTemperature
— Function.
isZeroTemperature(spininfo::SpinInfo)
Return true when the system is at the Zero Temperature.
julia> HoTRG_lemon.SpinModule.isZeroTemperature(spininfo)
false
#
HoTRG_lemon.SpinModule.isClassical
— Function.
isClassical(spininfo)
Return true when the spin is classical, false for quantum.
julia> HoTRG_lemon.SpinModule.isClassical(spininfo)
false
#
HoTRG_lemon.SpinModule.getModelname
— Function.
getModelname(spininfo)
Return the model name.
julia> HoTRG_lemon.SpinModule.getModelname(spininfo)
"ising"
#
HoTRG_lemon.SpinModule.getStates
— Function.
getStates(spininfo)
Return the number of states.
julia> HoTRG_lemon.SpinModule.getStates(spininfo)
2
#
HoTRG_lemon.SpinModule.isSymmetricFactorization
— Function.
isSymmetricFactorization(spininfo)
Return true
for symmetric factorization
julia> HoTRG_lemon.SpinModule.isSymmetricFactorization(spininfo)
true
#
HoTRG_lemon.SpinModule.getTemperature
— Function.
getTemperature(spininfo)
Return the temperature of the spin system.
julia> HoTRG_lemon.SpinModule.getTemperature(spininfo)
1.5
#
HoTRG_lemon.SpinModule.getExternalfield
— Function.
getExternalfield(spininfo)
Return external field.
julia> HoTRG_lemon.SpinModule.getExternalfield(spininfo)
2.0
#
HoTRG_lemon.SpinModule.getEnvParameters
— Function.
getEnvParameters(spininfo)
Return temperature and external field.
julia> HoTRG_lemon.SpinModule.getEnvParameters(spininfo)
(1.5,2.0)
#
HoTRG_lemon.SpinModule.setTemperature!
— Function.
setTemperature!(spininfo, temperature)
Set temperature for spininfo to the input temperature.
julia> HoTRG_lemon.SpinModule.setTemperature!(spininfo, 3.0);
julia> HoTRG_lemon.SpinModule.getTemperature(spininfo)
3.0
#
HoTRG_lemon.SpinModule.setExternalfield!
— Function.
setExternalfield!(spininfo, externalfield)
Set spininfo's external field into the input.
julia> HoTRG_lemon.SpinModule.setExternalfield!(spininfo, 4.0);
julia> HoTRG_lemon.SpinModule.getExternalfield(spininfo)
4.0
#
HoTRG_lemon.SpinModule.setEnvParameters!
— Function.
setEnvParameters!(spininfo, temperature, externalfield)
Set spininfo's temperature and external field.
julia> HoTRG_lemon.SpinModule.setEnvParameters!(spininfo, 1.2, 3.4);
julia> HoTRG_lemon.SpinModule.getEnvParameters(spininfo)
(1.2,3.4)
#
HoTRG_lemon.SpinModule.testSpinInfo
— Function.
testSpinInfo()
Test SpinInfo for quantum ising model.
testSpininfo()
#
HoTRG_lemon.LatticeModule.Quantum2dFractalLattice
— Type.
Quantum2dFractalLattice
arguments
spinmodel::QuantumSpinModel
legextension::Int
default value is one. set zero for the normal square lattice.
-
Methods to build a Simulator:
buildSimulator
#
HoTRG_lemon.SimulatorModule.buildSimulator
— Function.
buildSimulator
Build Simulator from Lattice
.
arguments
-
lattice
:Classical2dSquareLattice
withdimM
,wholeiteration
Classical2dFractalLattice
withdimM
,wholeiteration
Classicl3dSquareLattice
withdimM
,wholeiteration
Quantum2dSquareLattice
withdimM
Quantum2dFractalLattice
withdimM
-
dimM::Int
: the maximum tensor size -
wholeiteration::Int
: ForClassicalLattice
. How many times to iterate.
For QuantumLattice
, it is determined by trotteriteration
.
-
Methods to run a simulator:
- simulatorQuantum
#
HoTRG_lemon.SimulatorModule.simulatorQuantum
— Function.
simulatorQuantum{T}(fieldrange::LinSpace{T}, simulator::QuantumSimulator{T}; verbose = true, writefile = true, filename = "Data.txt")
Get the results from simulator quantum spin system.
arguments
fieldrange::LinSpace
: the range for the external field to be applied.simulator::QuantumSimulator
verbose = true
: print the resultswritefile = true
: write the result data into a filefilename = "Data.txt"
: name of the file for the results
simulatorQuantum{T}(externalfield::T, simulator::QuantumSimulator{T}; verbose = true, writefile = true, filename = "Data_.txt")
Simulate for some external field. Append onto "Data_.txt" file.
HoTRG_lemon.LatticeModule
HoTRG_lemon.SimulatorModule
HoTRG_lemon.SpinModule
HoTRG_lemon.LatticeModule.Quantum2dFractalLattice
HoTRG_lemon.SpinModule.SpinInfo
HoTRG_lemon.SimulatorModule.buildSimulator
HoTRG_lemon.SimulatorModule.simulatorQuantum
HoTRG_lemon.SpinModule.getEnvParameters
HoTRG_lemon.SpinModule.getExternalfield
HoTRG_lemon.SpinModule.getModelname
HoTRG_lemon.SpinModule.getStates
HoTRG_lemon.SpinModule.getTemperature
HoTRG_lemon.SpinModule.isClassical
HoTRG_lemon.SpinModule.isSymmetricFactorization
HoTRG_lemon.SpinModule.isZeroTemperature
HoTRG_lemon.SpinModule.setEnvParameters!
HoTRG_lemon.SpinModule.setExternalfield!
HoTRG_lemon.SpinModule.setTemperature!
HoTRG_lemon.SpinModule.testSpinInfo