Skip to main content

Implementation of the gate-by-gate sampling algorithm.

Project description

BGLS

build doctest pages-build-deployment Documentation Repository Unitary Fund

BGLS is a Python package that implements the Bravyi, Gosset, and Liu Sampling algorithm presented in How to simulate quantum measurement without computing marginals (Phys. Rev. Lett.) (arXiv) for Cirq circuits.

Quickstart

Installation

pip install bgls

Example

import cirq
import bgls

# Example circuit to run.
qubits = cirq.LineQubit.range(2)
circuit = cirq.Circuit(
    cirq.H.on(qubits[0]),
    cirq.CNOT.on(*qubits),
    cirq.measure(*qubits, key="z")
)

# Run the circuit with BGLS.
simulator = bgls.Simulator(
    initial_state=cirq.StateVectorSimulationState(qubits=qubits, initial_state=0),
    apply_op=cirq.protocols.act_on,
    compute_probability=bgls.born.compute_probability_state_vector,
)
results = simulator.run(circuit, repetitions=10)
print(results.histogram(key="z"))

Sample output:

Counter({0: 6, 3: 4})

Documentation

See more details and examples in the Documentation for BGLS.

Project details


Download files

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

Source Distribution

bgls-0.2.0.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

bgls-0.2.0-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file bgls-0.2.0.tar.gz.

File metadata

  • Download URL: bgls-0.2.0.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for bgls-0.2.0.tar.gz
Algorithm Hash digest
SHA256 488235be47e9b733c52d57207b18ad6cae5c3ec1ce797da96eb87ea589b4d859
MD5 2eb1a9baa6274b7ba66d7bb3489686a5
BLAKE2b-256 09ce686abb156b6712b97787ccf1406017444785b60f641d8de5328ee5ba01af

See more details on using hashes here.

File details

Details for the file bgls-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bgls-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for bgls-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 535087493af4fd6c95fd5b89aea6c3e98b8c68d2262be50fb08e0976c16e4fb1
MD5 fbbe6fdf5e2e86e23e99b5921b18c8ad
BLAKE2b-256 bcd7f2f19c5d33fd742ab0703a2eaf72e97af28aea23acb40a660ebfb3f84f13

See more details on using hashes here.

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