This repository contains two Mathematica packages for quantum physics simulations:
- QuantumWalks.wl: Simulates discrete-time quantum walks (DTQW) on 1D infinite lines.
- QMB.wl: Provides tools for quantum many-body systems, quantum information, and quantum chaos.
- Place both
.wlfiles and theForScience-0.88.45.pacletin your working directory - Load packages in Mathematica:
<< "QuantumWalks`" << "QMB`"
Functions for 1D discrete-time quantum walks:
| Function | Description |
|---|---|
Shift[t] |
Shift operator for DTQW at time t |
Coin[t] |
Hadamard coin operator at time t (accepts custom coins) |
DTQWStep[t] |
Unitary matrix for DTQW step |
DTQW[ψ0,t] |
Quantum state evolution after t steps |
PositionProbabilityDistribution[ψ,t] |
Position probabilities of state ψ |
ExpValPosition[ψ,t] |
Expected position value |
L[θ,θa,θb] |
Losing strategy inequality (Parrondo's paradox) |
W[θ,θa,θb] |
Winning strategy inequality (Parrondo's paradox) |
CriticalAngle[avgPos] |
Finds θ where average position is closest to zero |
| Function | Description |
|---|---|
DensityMatrix[ψ] |
Density matrix of state vector ψ |
Pauli |
Pauli matrices (supports multi-qubit strings) |
MatrixPartialTrace[mat,n,d] |
Partial trace over subsystem n |
RandomQubitState[] |
Haar-random qubit state |
RandomChainProductState[L] |
Haar-random product state of L qubits |
Commutator[A,B] |
Computes AB - BA |
CommutationQ[A,B] |
Checks if matrices A and B commute |
MutuallyCommutingSetQ[{A,B,...}] |
Checks if set of matrices {A,B,..} is mutually commuting |
Braket[ψ,ϕ] |
Inner product between state vectors ψ and ϕ |
BlochVector[ρ] |
Bloch vector of single-qubit density matrix |
Purity[ρ] |
Purity of density matrix ρ |
Concurrence[ρ] |
Two-qubit concurrence |
Qubit[θ,φ] |
Qubit state with parameters (θ,φ) in the Bloch sphere |
SU2Rotation |
SU(2) rotation matrix |
| Function | Description |
|---|---|
MeanLevelSpacingRatio[eigenvalues] |
Average level spacing ratio 〈rₙ〉 |
IPR[ψ] |
Inverse participation ratio |
kthOrderSpacings[spectrum,k] |
k-th order level spacings |
SpacingRatios[spectrum,k] |
Level spacing ratios of order k |
RatiosDistribution[r,β] |
RMT level spacing ratio distribution |
| Function | Description |
|---|---|
BoseHubbardHamiltonian[N,L,J,U] |
Bose-Hubbard Hamiltonian for N bosons on L sites |
FockBasis[N,L] |
Fock basis states |
BosonicPartialTrace[ρ] |
Partial trace for bosonic systems |
RenyiEntropy[α,ρ] |
α-th order Rényi entropy |
| Function | Description |
|---|---|
TranslationEigenvectorRepresentatives[L] |
Translation eigenvectors representatives for L qubits |
BlockDiagonalize[matrix] |
Block-diagonalizes matrices by symmetry |
IsingHamiltonian[hx,hz,J,L] |
Ising model Hamiltonian |
HeisenbergXXXwNoise[hz,L] |
Noisy Heisenberg XXX chain Hamiltonian |
| Function | Description |
|---|---|
Reshuffle[m] |
Performs reshuffle operation over matrices |
FuzzyMeasurementChannel[ρ,p,...] |
Implements fuzzy measurement channels |
- Mathematica 12.0+
- ForScience paclet (included, auto-installs on first load)
See demonstration notebooks in the repository for detailed usage examples of key functions.
Contributions are welcome! Please fork the repository and submit pull requests.