// readme

FermionicHilbertSpaces.jl

FermionicHilbertSpaces.jl turns symbolic fermion, boson and spin operators into matrices on Hilbert spaces, so you never index vectors and matrices by hand.

  • Symbolic operators: fermions, bosons and spins are combined algebraically, e.g. f[1]'f[2] + hc, and simplified with their commutation relations. representation turns them into matrices on any Hilbert space.
  • Hilbert spaces: spaces keep track of their basis states and ordering, so you never index by hand. They can be restricted by particle number, parity or any rule on the basis states (constrained spaces).
  • Tensor products and partial traces: spaces combine and split, as in partial_trace(ฯ, H => Hsub), with fermionic signs handled automatically (fermionic conventions).
  • Extensible: custom operators and spaces can be added, see Extending.

It is not a solver: combine it with LinearAlgebra, KrylovKit or ODE solvers for eigenstates and time evolution.โ€ฆ