Observable Functions

This section covers the calculation of physical observables and correlation functions.

Entanglement Measures

Entanglement Entropy

The von Neumann entanglement entropy is a fundamental measure of quantum entanglement:

\[S(\rho) = -\text{Tr}(\rho \log \rho)\]

Usage Examples

using FibonacciChain

N = 8
model = AnyonModel(FibonacciAnyon(), N, pbc=true)
H = anyon_ham(model)
eigenvals, eigenvecs = eigen(H)
ground_state = eigenvecs[:, 1]

# Calculate entanglement entropy profile
ee_profile = anyon_eelis(model, ground_state)

# Plot the profile
using Plots
plot(1:N-1, ee_profile, xlabel="Bipartition Size", ylabel="Entanglement Entropy")

Symmetry Operations

Translation and Inversion

These functions implement discrete symmetries of the anyon chain:

  • Translation: Shifts all anyons by one lattice site
  • Inversion: Reflects the chain configuration

Braiding Operations

Braiding operations are fundamental to anyonic systems, implementing the exchange statistics that define non-Abelian anyons.

Fibonacci Braiding

For Fibonacci anyons, braiding two τ particles gives:

\[R_{\tau\tau} = e^{4\pi i/5} \left(\begin{matrix} \phi^{-1} & \phi^{-1/2} \\ \phi^{-1/2} & -\phi^{-1} \end{matrix}\right)\]

where φ = (1+√5)/2 is the golden ratio.

Correlation Functions

Spatial Correlations

Temporal Correlations

The correlation functions measure quantum correlations between different regions or times:

# Spatial correlation between sites 1 and 4
corr_spatial = spatial_correlation(model, ground_state, 1, 4)

# Temporal correlation using reference qubits
sample = BitMatrix(zeros(Int, 2N, div(N, 2)))
ref_config = MeasureConfig(τ=τ, x₂ = div(N,2), mode=:sample, t₁ = 1, t₂ = 4)
ref_mo = reference_evolution(model, [ground_state], ref_config, sample)
corr_temporal = temporal_correlation(model, ref_mo.states[end])