You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
qujax is a [JAX](https://github.com/google/jax)-based Python library for the classical simulation of quantum circuits. It is designed to be *simple*, *fast* and *flexible*.
18
18
19
19
It follows a functional programming design by translating circuits into pure functions. This allows qujax to [seamlessly interface with JAX](https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html#pure-functions), enabling direct access to its powerful automatic differentiation tools, just-in-time compiler, vectorization capabilities, GPU/TPU integration and growing ecosystem of packages.
20
20
21
21
qujax can be used both for pure and for mixed quantum state simulation. It not only supports the standard gate set, but also allows user-defined custom operations, including general quantum channels, enabling the user to e.g. model device noise and errors.
22
22
23
-
A summary of the core functionalities of qujax can be found in the [Quick start](#quick-start) section. More advanced use-cases, including the training of parameterised quantum circuits, can be found in the [Examples](https://cqcl.github.io/qujax/examples.html) section of the documentation.
23
+
A summary of the core functionalities of qujax can be found in the [Quick start](#quick-start) section. More advanced use-cases, including the training of parameterised quantum circuits, can be found in the [Examples](https://quantinuum.github.io/qujax/examples.html) section of the documentation.
24
24
25
25
26
26
## Installation
@@ -36,7 +36,7 @@ pip install qujax
36
36
37
37
Start by defining the quantum gates making up the circuit, the qubits that they act on, and the indices of the parameters for each gate.
38
38
39
-
A list of all gates can be found [here](https://github.com/CQCL/qujax/blob/main/qujax/gates.py) (custom operations can be included by [passing an array or function](https://cqcl.github.io/qujax/statetensor/get_params_to_statetensor_func.html) instead of a string).
39
+
A list of all gates can be found [here](https://github.com/Quantinuum/qujax/blob/main/qujax/gates.py) (custom operations can be included by [passing an array or function](https://quantinuum.github.io/qujax/statetensor/get_params_to_statetensor_func.html) instead of a string).
Mixed state simulations are analogous to the above, but with calls to [`get_params_to_densitytensor_func`](https://cqcl.github.io/qujax/densitytensor/get_params_to_densitytensor_func.html) and [`get_densitytensor_to_expectation_func`](https://cqcl.github.io/qujax/densitytensor/get_densitytensor_to_expectation_func.html) instead.
90
+
Mixed state simulations are analogous to the above, but with calls to [`get_params_to_densitytensor_func`](https://quantinuum.github.io/qujax/densitytensor/get_params_to_densitytensor_func.html) and [`get_densitytensor_to_expectation_func`](https://quantinuum.github.io/qujax/densitytensor/get_densitytensor_to_expectation_func.html) instead.
91
91
92
-
A more in-depth version of the above can be found in the [Getting started](https://cqcl.github.io/qujax/getting_started.html) section of the documentation. More advanced use-cases, including the training of parameterised quantum circuits, can be found in the [Examples](https://cqcl.github.io/qujax/examples.html) section of the documentation.
92
+
A more in-depth version of the above can be found in the [Getting started](https://quantinuum.github.io/qujax/getting_started.html) section of the documentation. More advanced use-cases, including the training of parameterised quantum circuits, can be found in the [Examples](https://quantinuum.github.io/qujax/examples.html) section of the documentation.
93
93
94
94
## Converting from TKET
95
95
96
-
A [`pytket`](https://cqcl.github.io/tket/pytket/api/) circuit can be directly converted using the [`tk_to_qujax`](https://cqcl.github.io/pytket-qujax/api/api.html#pytket.extensions.qujax.qujax_convert.tk_to_qujax) and [`tk_to_qujax_symbolic`](https://cqcl.github.io/pytket-qujax/api/api.html#pytket.extensions.qujax.qujax_convert.tk_to_qujax_symbolic) functions in the [**`pytket-qujax`**](https://github.com/CQCL/pytket-qujax) extension. See [`pytket-qujax_heisenberg_vqe.ipynb`](https://github.com/CQCL/pytket/blob/main/examples/pytket-qujax_heisenberg_vqe.ipynb) for an example.
96
+
A [`pytket`](https://quantinuum.github.io/tket/pytket/api/) circuit can be directly converted using the [`tk_to_qujax`](https://quantinuum.github.io/pytket-qujax/api/api.html#pytket.extensions.qujax.qujax_convert.tk_to_qujax) and [`tk_to_qujax_symbolic`](https://quantinuum.github.io/pytket-qujax/api/api.html#pytket.extensions.qujax.qujax_convert.tk_to_qujax_symbolic) functions in the [**`pytket-qujax`**](https://github.com/Quantinuum/pytket-qujax) extension. See [`pytket-qujax_heisenberg_vqe.ipynb`](https://github.com/Quantinuum/pytket/blob/main/examples/pytket-qujax_heisenberg_vqe.ipynb) for an example.
97
97
98
98
## Contributing
99
99
100
-
You can open a bug report or a feature request by creating a new [issue on GitHub](https://github.com/CQCL/qujax/issues).
100
+
You can open a bug report or a feature request by creating a new [issue on GitHub](https://github.com/Quantinuum/qujax/issues).
101
101
102
102
Pull requests are welcome! To open a new one, please go through the following steps:
103
103
104
-
1. First fork the repo and create your branch from [`develop`](https://github.com/CQCL/qujax/tree/develop).
104
+
1. First fork the repo and create your branch from [`develop`](https://github.com/Quantinuum/qujax/tree/develop).
105
105
2. Commit your code and tests.
106
106
4. Update the documentation, if required.
107
107
5. Check the code lints (run `black . --check` and `pylint */`).
108
-
6. Issue a pull request into the [`develop`](https://github.com/CQCL/qujax/tree/develop) branch.
108
+
6. Issue a pull request into the [`develop`](https://github.com/Quantinuum/qujax/tree/develop) branch.
109
109
110
-
New commits on [`develop`](https://github.com/CQCL/qujax/tree/develop) will be merged into
111
-
[`main`](https://github.com/CQCL/qujax/tree/main) in the next release.
110
+
New commits on [`develop`](https://github.com/Quantinuum/qujax/tree/develop) will be merged into
111
+
[`main`](https://github.com/Quantinuum/qujax/tree/main) in the next release.
0 commit comments