Skip to main content

Quantum Abstract Machine (QuAM) facilitates development of abstraction layers in experiments.

Project description

QuAM: Quantum Abstract Machine

Overview

QuAM (Quantum Abstract Machine) is an innovative software framework designed to provide an abstraction layer over the QUA programming language, facilitating a more intuitive interaction with quantum computing platforms. Aimed primarily at physicists and researchers, QuAM allows users to think and operate in terms of qubits and quantum operations rather than the underlying hardware specifics.

Explore detailed documentation and get started with QuAM here: QuAM Documentation.

Key Features

  • Abstraction Layer: Simplifies quantum programming by providing higher-level abstractions for qubit operations.
  • Component-Based Structure: Utilize modular components like Mixers and IQChannels for flexible quantum circuit design.
  • Automated Configuration: Generate QUA configurations from QuAM setups seamlessly.
  • Extensibility: Extend QuAM with custom classes to handle complex quantum computing scenarios.
  • State Management: Features robust tools for saving and loading your quantum states, promoting reproducibility and consistency.

Installation

To install QuAM, first ensure you have 3.8 ≤ Python ≤ 3.11 installed on your system.
Then run the following command:

pip install quam

Quick Start

Here’s a basic example to get you started with QuAM:

from quam.components import BasicQuAM, SingleChannel, pulses
from qm import qua

# Create a root-level QuAM instance
machine = BasicQuAM()

# Add a qubit connected to an OPX output channel
qubit = SingleChannel(opx_output=("con1", 1))
machine.channels["qubit"] = qubit

# Add a Gaussian pulse to the channel
qubit.operations["gaussian"] = pulses.GaussianPulse(
    length=100,  # Pulse length in ns
    amplitude=0.5,  # Peak amplitude of Gaussian pulse
    sigma=20,  # Standard deviation of Guassian pulse
)

# Play the Gaussian pulse on the channel within a QUA program
with qua.program() as prog:
    qubit.play("gaussian")

# Generate the QUA configuration from QuAM
qua_configuration = machine.generate_config()

License

QuAM is released under the BSD-3 License. See the LICENSE file for more details.

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

quam-0.3.7.tar.gz (116.9 kB view details)

Uploaded Source

Built Distribution

quam-0.3.7-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

Details for the file quam-0.3.7.tar.gz.

File metadata

  • Download URL: quam-0.3.7.tar.gz
  • Upload date:
  • Size: 116.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for quam-0.3.7.tar.gz
Algorithm Hash digest
SHA256 d544aed0fbd13d58662f264ab2da9d2d0f280a36283f2cba8a076a56e87733fe
MD5 869bfa805c3fa04d2131553865b40c2f
BLAKE2b-256 7008c332f8e21f59965cd148a31348706afe9e16d43fbc8e7448a38417813dbd

See more details on using hashes here.

File details

Details for the file quam-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: quam-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for quam-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 637130fbaa1b6c743299b1fc1e225bba451ce1c809f506e27bb3206f481c2432
MD5 6966ca63999dd1d9cdc0d874e3f7e65d
BLAKE2b-256 dffe0d0d54b7a987873d4f3042eee0ef777957ae6fabb34ef8cb4f3acaeff327

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