yoyoyoju / HoTRG_lemon.jl

higher-order tensor renormalization group

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HoTRG_lemon.jl Documentation

SubModule

# HoTRG_lemon.SpinModuleModule.

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

source

# HoTRG_lemon.LatticeModuleModule.

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,

source

# HoTRG_lemon.SimulatorModuleModule.

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,
  • working_simulator_q2f_re.jl

  • renormalizeSpace!,
  • renormalizeTrotter!,
  • getTensorUy,
  • new version of

  • simulator_quantum_2d_square.jl

  • updateCoefficient!,
  • setCoefficient!,
  • getCoefficient,
  • for debug:

  • calculateCoreTensors
  • getInititeration(simulator::Quantum2dFractalinititerSimulator)

Test list

  • testClassical2dSquareSimulator,
  • testQuantum2dSquareSimulator,
  • testSimulateTemp,
  • testClassical3dSquareSimulator,
  • testClassical2dFractalSimulator,
  • testQuantum2dFractalSimulator,

source


HoTRG_lemon.SpinModule

Types

# HoTRG_lemon.SpinModule.SpinInfoType.

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 or asym (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)

source

Methods: SpinModule

  • Methods for SpinModule:

    • isZeroTemperature,
    • isClassical,
    • getModelname,
    • getStates,
    • isSymmetricFactorization,
    • getTemperature,
    • getExternalfield,
    • getEnvParameters,
    • setTemperature!,
    • setExternalfield!,
    • setEnvParameters!,
    • testSpinInfo,

# HoTRG_lemon.SpinModule.isZeroTemperatureFunction.

isZeroTemperature(spininfo::SpinInfo)

Return true when the system is at the Zero Temperature.

julia> HoTRG_lemon.SpinModule.isZeroTemperature(spininfo)
false

source

# HoTRG_lemon.SpinModule.isClassicalFunction.

isClassical(spininfo)

Return true when the spin is classical, false for quantum.

julia> HoTRG_lemon.SpinModule.isClassical(spininfo)
false

source

# HoTRG_lemon.SpinModule.getModelnameFunction.

getModelname(spininfo)

Return the model name.

julia> HoTRG_lemon.SpinModule.getModelname(spininfo)
"ising"

source

# HoTRG_lemon.SpinModule.getStatesFunction.

getStates(spininfo)

Return the number of states.

julia> HoTRG_lemon.SpinModule.getStates(spininfo)
2

source

# HoTRG_lemon.SpinModule.isSymmetricFactorizationFunction.

isSymmetricFactorization(spininfo)

Return true for symmetric factorization

julia> HoTRG_lemon.SpinModule.isSymmetricFactorization(spininfo)
true

source

# HoTRG_lemon.SpinModule.getTemperatureFunction.

getTemperature(spininfo)

Return the temperature of the spin system.

julia> HoTRG_lemon.SpinModule.getTemperature(spininfo)
1.5

source

# HoTRG_lemon.SpinModule.getExternalfieldFunction.

getExternalfield(spininfo)

Return external field.

julia> HoTRG_lemon.SpinModule.getExternalfield(spininfo)
2.0

source

# HoTRG_lemon.SpinModule.getEnvParametersFunction.

getEnvParameters(spininfo)

Return temperature and external field.

julia> HoTRG_lemon.SpinModule.getEnvParameters(spininfo)
(1.5,2.0)

source

# 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

source

# 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

source

# 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)

source

# HoTRG_lemon.SpinModule.testSpinInfoFunction.

testSpinInfo()

Test SpinInfo for quantum ising model.

testSpininfo()

source


HoTRG_lemon.LatticeModule

Types

# HoTRG_lemon.LatticeModule.Quantum2dFractalLatticeType.

Quantum2dFractalLattice

arguments

  • spinmodel::QuantumSpinModel
  • legextension::Int default value is one. set zero for the normal square lattice.

source

Methods:


HoTRG_lemon.SimulaterModule

Types

Methods: SimulatorModuel

  • Methods to build a Simulator:

    • buildSimulator

# HoTRG_lemon.SimulatorModule.buildSimulatorFunction.

buildSimulator

Build Simulator from Lattice.

arguments

  • lattice:

    • Classical2dSquareLattice with dimM, wholeiteration
    • Classical2dFractalLattice with dimM, wholeiteration
    • Classicl3dSquareLattice with dimM, wholeiteration
    • Quantum2dSquareLattice with dimM
    • Quantum2dFractalLattice with dimM
  • dimM::Int: the maximum tensor size

  • wholeiteration::Int: For ClassicalLattice. How many times to iterate.

For QuantumLattice, it is determined by trotteriteration.

source

  • Methods to run a simulator:

    • simulatorQuantum

# HoTRG_lemon.SimulatorModule.simulatorQuantumFunction.

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 results
  • writefile = true: write the result data into a file
  • filename = "Data.txt": name of the file for the results

source

simulatorQuantum{T}(externalfield::T, simulator::QuantumSimulator{T}; verbose = true, writefile = true, filename = "Data_.txt")

Simulate for some external field. Append onto "Data_.txt" file.

source

Index

About

higher-order tensor renormalization group

License:Other


Languages

Language:Julia 100.0%