Library for building, simulating and measuring Parameterised Quantum Circuits (PQCs).
Project description
About:
pyramaterised
is a framework for creating and measuring Parameterised Quantum Circuits (PQCs)
in Python, by acting as a wrapper around the QuTIP
library. A series of PQCs from the
literature have been implemented using the framework alongside various collated capacity
measures.
Usage:
Simply run in your current (virtual) environment:
pip install pyramaterised
Check out example.py
or tests.py
for examples of the framework in action.
Circuits:
A diagram of some of the circuits available in the library (custom circuits can be easily constructed). NPQC diagram from [1], XXZ and TFIM circuits adapted from [2] and fermionic circuit diagram from [3].
Capacity measures:
Capacity measures tell you how well an aspect of a PQC is performing, e.g, entanglement measures the amount of entanglement generated by the circuit, expressibility describes how well an N qubit circuit explores the N qubit Hilbert space.
- Entanglement
- Expressibility
- QFIM
- Effective Quantum Dimension
- Rényi Entropy of Magic
- GKP Magic
- Effective Hilbert Space - new measure based on finding the subspace that minimises a circuit's expressibility.
Technical decisions:
- Python: de-facto scientific programming language, interoperability with QuTIP important.
- Object oriented: circuits being comprised of layers of gates with similar shared behaviours seemed a good fit.
- Designed to allow users to create PQCs more easily than writing every gate by hand in QuTIP or similar program.
Acknowledgements
Thanks to the numpy
, scipy
, matplotlib
and QuTIP
libraries.
Thanks to F. Roberts and T. Haug for their help.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyramaterised-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1eabf4367b9d7355d28ad4fe86e32b5d97a540022032093d6c312db2a40c85a |
|
MD5 | c64b190242a2bf949b22ee3d34768b27 |
|
BLAKE2b-256 | 221b46175d9b1011ba4d53507dce7a13d4d8233793d558fb7c8dece7a1927bab |