Fuzzy manifolds

FuzzyManifolds is a module to support calculations on other geometry regularised by lowest Landau level besides sphere. The supported geometries include torus $T^2$. Other geometries (e.g., disk) can be added upon request. To use the module, include also at the start of your Julia script

using FuzzifiED.FuzzyManifolds

Torus

FuzzifiED.FuzzyManifolds.GetTorusLz2QNDiagMethod
GetTorusLz2QNDiag(nm :: Int64, nf :: Int64) :: QNDiag

Return the QNDiag of twice the angular momentum $2L_z\mod 2N_m$, with an offset such that one fully filled LLL has angular momentum 0, implemented as

QNDiag("Lz", [2 * m - 1 + mod(nm, 2) for m = 1 : nm for f = 1 : nf], 2 * nm)
source
FuzzifiED.FuzzyManifolds.GetTorusIntMatrixMethod
GetTorusIntMatrix(nm :: Int64, lx :: Number, ps_pot :: Vector{<:Number}) :: Array{ComplexF64, 3}
GetTorusIntMatrix(nm :: Int64, ps_pot :: Vector{<:Number} ; aspect_ratio :: Number = 1.0) :: Array{ComplexF64, 3}

Gives the interaction matrix $U_{m_1m_2m_3m_4}$ from the pseudopotentials.

\[ U_{m_1m_2m_3m_4}=δ'_{m_1+m_2,m_3+m_4}\frac{1}{N_m}∑_{l,𝐪}δ'_{m_1-m_4,t}U_lL_l(q^2)e^{-q^2/2}e^{2πis(m_1-m_3)/N_m}\]

where $𝐪=(2πs/L_x,2πt/L_y), s,t∈ℤ$, $L_xL_y=2πN_m$ and the Kronecker $δ$ is defined in a sense of mod $N_m$

Argument

  • nm :: Int64 is the number of orbitals.
  • lx :: Number is the length along $x$-direction. Facultative.
  • ps_pot :: Vector{<:Number} is the vector of non-zero pseudopotentials.
  • aspect_ratio :: Number is the ratio $L_y/L_x$. Facultative, at most one of lx and aspect_ratio is given. If both are omitted, $L_x=L_y$ is taken.

Output

  • A nm*nm*nm array giving the interaction matrix $U_{m_1m_2m_3m_4}$ where $m_4=m_1+m_2-m_3\mod N_m$.
source
FuzzifiED.FuzzyManifolds.GetTorusDenIntTermsFunction
GetTorusDenIntTerms(nm :: Int64, nf :: Int64, lx :: Number, ps_pot :: Vector{<:Number}[, mat_a :: Matrix{<:Number}[, mat_b :: Matrix{<:Number}]]) :: Terms
GetTorusDenIntTerms(nm :: Int64, nf :: Int64, ps_pot :: Vector{<:Number}[, mat_a :: Matrix{<:Number}[, mat_b :: Matrix{<:Number}]] ; aspect_ratio :: Number = 1.0) :: Terms

Return the normal-ordered density-density term in the Hamiltonian

\[∑_{\{m_i,f_i\}}U_{m_1m_2m_3m_4}M^A_{f_1f_4}M^B_{f_2f_3}c^{†}_{m_1f_1}c^{†}_{m_2f_2}c_{m_3f_3}c_{m_4f_4}.\]

Arguments

  • nm :: Int64 is the number of orbitals.
  • nf :: Int64 is the number of flavours.
  • lx :: Number is the length along $x$-direction. Facultative.
  • ps_pot :: Vector{<:Number} is a list of numbers specifying the pseudopotentials for the interacting matrix $U_{m_1m_2m_3m_4}$.
  • mat_a :: Matrix{<:Number} is a nf*nf matrix specifying $M^A_{ff'}$. Facultative, $I_{N_f}$ by default.
  • mat_b :: Matrix{<:Number} is a nf*nf matrix specifying $M^B_{ff'}$. Facultative, the Hermitian conjugate of mat_a by default.
  • aspect_ratio :: Number is the ratio $L_y/L_x$. Facultative, at most one of lx and aspect_ratio is given. If both are omitted, $L_x=L_y$ is taken.
source
FuzzifiED.FuzzyManifolds.GetTorusPairIntTermsFunction
GetTorusPairIntTerms(nm :: Int64, nf :: Int64, lx :: Number, ps_pot :: Vector{<:Number}, mat_a :: Matrix{<:Number}[, mat_b :: Matrix{<:Number}]) :: Terms
GetTorusPairIntTerms(nm :: Int64, nf :: Int64, ps_pot :: Vector{<:Number}, mat_a :: Matrix{<:Number}[, mat_b :: Matrix{<:Number}] ; aspect_ratio :: Number = 1.0) :: Terms

Return the normal-ordered pair-pair interaction term in the Hamiltonian

\[∑_{\{m_i,f_i\}}U_{m_1m_2m_3m_4}M^A_{f_1f_2}M^B_{f_3f_4}c^{†}_{m_1f_1}c^{†}_{m_2f_2}c_{m_3f_3}c_{m_4f_4}.\]

Arguments

  • nm :: Int64 is the number of orbitals.
  • nf :: Int64 is the number of flavours.
  • lx :: Number is the length along $x$-direction. Facultative.
  • ps_pot :: Vector{<:Number} is a list of numbers specifying the pseudopotentials for the interacting matrix $U_{m_1m_2m_3m_4}$.
  • mat_a :: Matrix{<:Number} is a nf*nf matrix specifying $M^A_{ff'}$. Facultative, $I_{N_f}$ by default.
  • mat_b :: Matrix{<:Number} is a nf*nf matrix specifying $M^B_{ff'}$. Facultative, the Hermitian conjugate of mat_a by default.
  • m_kept :: Vector{Int64} is a list of orbitals that range from 1 to nm. Facultative, if specified, only terms for which all $m_i$ are in the list are kept.
  • aspect_ratio :: Number is the ratio $L_y/L_x$. Facultative, at most one of lx and aspect_ratio is given. If both are omitted, $L_x=L_y$ is taken.
source
  • circle_ising.jl calculates the spectrum of 2d Ising CFT on a fuzzy thin torus. This example reproduces Figure 4 and Tables I–III in Han 2025