PyQudit

July 13, 2021 ยท View on GitHub

.. |PyPIVersion| image:: https://img.shields.io/pypi/v/pyqudit?logo=pypi&logoColor=yellow :target: https://pypi.org/project/pyqudit .. |Docs| image:: https://readthedocs.org/projects/pyqudit/badge/?version=latest :target: https://pyqudit.readthedocs.io/en/latest/?badge=latest .. |GitLanguage| image:: https://img.shields.io/github/languages/top/Ordoptimus/pyqudit?color=yellow&logo=python .. |PyPIFormat| image:: https://img.shields.io/pypi/format/pyqudit?color=purple .. |PyPIImplementation| image:: https://img.shields.io/pypi/implementation/pyqudit?color=%23333 .. |GitIssues| image:: https://img.shields.io/github/issues/Ordoptimus/pyqudit?color=blue&logo=github :target: https://github.com/Ordoptimus/pyqudit/issues .. |License| image:: https://img.shields.io/github/license/Ordoptimus/pyqudit?color=skyblue :target: https://github.com/Ordoptimus/pyqudit/blob/main/LICENSE .. _official documentation: https://pyqudit.readthedocs.io

|PyPIVersion| |Docs| |GitLanguage| |PyPIFormat| |PyPIImplementation| |GitIssues| |License|

PyQudit is a Python package for using generalised and universal versions of quantum gates, in N-dimensions. Enables building simple quantum circuit simulations on qudit logic using higher dimensional gates.

Getting Started

Concept

Mainstream QuantumComputing uses qubits which operate in a two dimensional Hilber space. Qudits are their higher dimensional equivalents with better informaiton density and potential for higher efficiency. PyQudit includes the qudit versions of fundamental quantum gates, useable over any dimension\ :sup:* as specified by the user. It can be used to understand the behaviour of qudit gates as also to build higher dimensional circuits for experimentation.

:sup:*refer gate functions

Install

The latest stable version of PyQudit is available on PyPI and can be installed with pip. It is recommeded to install in your quantum computing python environment, alongside existing packages.

.. code-block:: bash

pip install pyqudit

Build Locally

Alternatively, you can build the package wheel from source and then install it via pip.

.. code-block:: console

pip3 install --upgrade pip
pip3 install --upgrade setuptools
git clone https://github.com/Ordoptimus/pyqudit.git
cd pyqudit
python3 setup.py bdist_wheel

Replace [version] with the latest version as seen in the wheel file in /bdist_wheel

.. code-block:: console

pip3 install dist/pyqudit-[version]-py3-none-any.whl

Use

.. code-block:: python

import pyqudit.qudit as pq

Use dir(pq) to show all package methods.

Sample

import pyqudit.qudit as pq d = int(input('Enter Dimensions: ')) Enter Dimensions: 3 print("\n---CX's Pauli Matrix---") print(pq.CXd_pauli(d)) ---CX's Pauli Matrix--- [[1 0 0 0 0 0 0 0 0] [0 1 0 0 0 0 0 0 0] [0 0 1 0 0 0 0 0 0] [0 0 0 0 0 1 0 0 0] [0 0 0 1 0 0 0 0 0] [0 0 0 0 1 0 0 0 0] [0 0 0 0 0 0 0 1 0] [0 0 0 0 0 0 0 0 1] [0 0 0 0 0 0 1 0 0]]

Documentation

Refer the official documentation_ for detailed examples and syntax.