This is a research project developed for Prof. Dr. Harneit's Physics of Quantum Computers seminar (Winter semester 2025/26). It explores the intersection of Quantum General Adversarial Networks (QGANs) and System Identification.
The cutsey repo name came from the hardware-software dualism contradiction in my head I was trying to escape - in the way that we plan, use tools, and influence the world around us by tossing around abstracta. The compression and flow of information that goes into harnessing a piece of software is already an immense feat. In trying to reason with that curated narrowing of modeling and simulation, Domesticating Reality felt like a good pet name for the idea.
Many projects focus on quantum speedups using classical data[1]. For this project I wanted to stick entirely to the quantum data realm. Hamiltonian learning is an opportune problem which may provide useful for many fields as quantum hardware continues to scale.
Quantum algorithms often require abstractions or oracles which assume unreasonable amounts of control. In Domesticated Reality, we embrace the constraints of NISQ while furthering the bound of cross-domain, generalized algorithmic speedups.
- State Synthesis: Given the "laws of physics" (a Hamiltonian), can a generative agent learn the most stable configuration?
- Process Inference: Given an observed physical state, can a generative agent reverse engineer the rules (
Jandgparameters) that manufactured it?
RY and CZ gates form the generative Ansatz. These can approximate any real valued quantum state, specifically that of the Transverse-field Ising Model.
This project is designed with Lechner-Hauke-Zoller (LHZ) and other "non-circuit" or "non-universal" architectures in mind. The use of qml.ApproxTimeEvolution ensures the compatibility of gate-based Trotterization for such local-interaction architectures.
For similar reasons, neuromorphic computing is held back by Von Neumann!
I am a student of cognitive science and hold that quantum information theory will massively inform my fields of interest, namely cognitive modeling and philosophy of mind and language[2].
In some belief models, such as predictive coding, human cognition can be seen as a continuous, predictive, always-on world model updating process. Under this framework, one could consider a subprocess for predicting input signals from noisy perception and a subprocess for comparing those predictions with the "actual" signals.
For this reason, the GAN model is attractive for learning:
- The discriminator judges the reality of a state
- The generator replicates the physical environment
Otherwise, let's harness the power of linear algebra to model brain behavior and other information processing techniques! Quantum primitives shall yield all sorts of tractability gains.
- Python 3.14.2+ (managed by
pyenv-win) - PennyLane for differentiable quantum circuits
- PyTorch for adversarial backprop
python -m venv venv
venv/Scripts/activate
pip install -r requirements.txt
$ python .\main.py --help
usage: main.py [-h] [--qubits QUBITS] [--depth DEPTH] [--iterations ITERATIONS] [--device DEVICE]
[--diff {parameter-shift,backprop}] [--lr_g LR_G] [--lr_d LR_D] [--task {synthesis,inference}]
[--loglevel {DEBUG,INFO,WARNING,ERROR}]
Domesticated Reality: Hamiltonian Simulation via QGAN
options:
-h, --help show this help message and exit
--qubits QUBITS Number of qubits
--depth DEPTH Circuit depth
--iterations ITERATIONS
Number of training iterations
--device DEVICE PennyLane device
--diff {parameter-shift,backprop}
Differentiation method
--lr_g LR_G Generator learning rate
--lr_d LR_D Discriminator learning rate
--task {synthesis,inference}
--loglevel {DEBUG,INFO,WARNING,ERROR}