NeuralQuantumStates.jl
NeuralQuantumStates.jl trains neural quantum states with variational Monte Carlo in Julia. It covers the full workflow: define a lattice and its symmetries, build a reduced basis, compute local energies, pick a neural network (RBM, symmetric RBM, or Jastrow, built on Lux.jl), sample with Metropolis, and optimise with stochastic reconfiguration. The closest Python equivalents are NetKet and jVMC.
The code is split into separate packages so you can take only what you need. LatticeSpaceGroups.jl and ConnectedBasisConfigurations.jl handle lattices and local energies with no machine learning involved, so they work on their own. NQSCore.jl, NQSAnsatze.jl, NQSSamplers.jl, and NQSOptimisers.jl add the neural network layer on top. Symmetries come from SymBasis.jl, operators from OperatorAlgebra.jl.
Useful for: running variational Monte Carlo on closed quantum many-body systems in Julia, or replacing one piece of that pipeline without rewriting the rest.
Demonstrates: splitting a large Julia project into separate packages, automatic differentiation, Monte Carlo sampling, natural-gradient optimisation, and checking results against a method that gives the exact answer.
Why it matters: training a quantum state by sampling it and following the gradient is the same loop that variational algorithms run on real quantum hardware.
Status: the pipeline works, and its results match exact diagonalization. Still to come: GPU support (CUDA, AMDGPU, Metal), running across multiple machines with MPI, and time evolution. The API will still change.
I work on the numerical simulation of quantum many-body systems — nonequilibrium dynamics, quantum chaos, and disordered systems — using methods from exact diagonalization to neural-network quantum states. Alongside the physics, I write and maintain open-source scientific software in Julia and Python. I’m a Ph.D. candidate at the University of Göttingen.
In practice, that means building and validating exact-diagonalization codes, constructing symmetry-resolved Hilbert spaces, implementing iterative eigensolvers, and exploring neural-network quantum states as an alternative to standard variational methods — with benchmarking and reproducibility built into the process rather than treated as an afterthought.
I’m increasingly interested in applying this background to problems in quantum simulation, quantum algorithms, and scientific computing more broadly — areas where physics-informed modeling and larger-scale computation meet.
Outside of physics, I spend time with photography, travel, and cinema — particularly auteur and festival films — and I play piano, strictly as an amateur.