Skip to main content

Python based QIR Evaluation (JIT) library.

Reason this release was yanked:

Please upgrade to 0.3.2a1 or newer.

Project description

pyqir-evaluator

The pyqir-evaluator package provides an easy way to execute generated QIR for the purpose of

  1. easily testing and experimenting with QIR code
  2. connecting it to low-level Python-based lab software such as e.g. QCoDeS

It contains the necessary just-in-time compilation infrastructure as well an extensibility mechanism to define what actions to perform when a gate is applied in Python.

Examples

There are evaluator examples in the repository.

Let's look at how to log the gate sequence for the following example:

from pyqir.evaluator import NonadaptiveEvaluator, GateLogger

from pathlib import Path
import os

path = Path(__file__).parent
file = os.path.join(path, "bernstein_vazirani.bc")

evaluator = NonadaptiveEvaluator()
logger = GateLogger()

evaluator.eval(file, logger)

print("# output from GateLogger")
logger.print()

Would generate the output:

# output from GateLogger
qubits[9]
out[9]
x qubit[8]
h qubit[0]
h qubit[1]
h qubit[2]
h qubit[3]
h qubit[4]
h qubit[5]
h qubit[6]
h qubit[7]
h qubit[8]
cx qubit[2], qubit[8]
cx qubit[3], qubit[8]
h qubit[0]
h qubit[1]
h qubit[2]
h qubit[3]
h qubit[4]
h qubit[5]
h qubit[6]
h qubit[7]
measure qubits[0] -> out[0]
measure qubits[1] -> out[1]
measure qubits[2] -> out[2]
measure qubits[3] -> out[3]
measure qubits[4] -> out[4]
measure qubits[5] -> out[5]
measure qubits[6] -> out[6]
measure qubits[7] -> out[7]
measure qubits[8] -> out[8]

Building and Testing

See Building

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyqir_evaluator-0.3.0a1-cp36-abi3-win_amd64.whl (17.1 MB view hashes)

Uploaded CPython 3.6+ Windows x86-64

pyqir_evaluator-0.3.0a1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.7 MB view hashes)

Uploaded CPython 3.6+ manylinux: glibc 2.17+ x86-64

pyqir_evaluator-0.3.0a1-cp36-abi3-macosx_10_7_x86_64.whl (9.1 MB view hashes)

Uploaded CPython 3.6+ macOS 10.7+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page