/horqrux

Jax-based quantum state vector simulator.

Primary LanguagePythonApache License 2.0Apache-2.0

Linting / Tests/ Documentation License Pypi

horqrux is a JAX-based state vector simulator designed for quantum machine learning and acts as a backend for Qadence, a digital-analog quantum programming interface.

Installation

To install the CPU-only version, simply use pip:

pip install horqrux

If you intend to use GPU:

pip install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_releases.html

Getting started

horqrux adopts a minimalistic and functional interface however the docs provide a comprehensive A-Z guide ranging from how to apply simple primitive and parametric gates, to using adjoint differentiation to fit a nonlinear function and implementing DQC to solve a partial differential equation.

Contributing

To learn how to contribute, please visit the CONTRIBUTING page.

When developing within horqrux, you can either use the python environment manager hatch:

pip install hatch

# enter a shell with containing all the dependencies
hatch shell

# run a command within the virtual environment with all the dependencies
hatch run python my_script.py

When using any other environment manager like venv or conda, simply do:

# within the virtual environment
pip install -e .