Skip to main content

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.9 ≤ Python ≤ 3.12 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.

Metadata

Release files for quam 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quam 0.6.0
File Size Uploaded
quam-0.6.0.tar.gz 218.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quam 0.6.0
File Interpreter ABI Platform
quam-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 319.5 kB

Release files / quam-0.6.0.tar.gz

Download URL quam-0.6.0.tar.gz
Size 218.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d090c47c03f2b0aef4fa806732061879f3b2e584a228851470f62c3ca4135a92
BLAKE2b-256 checksum
How to use checksums
692de2e2c1e26e45f95f16c0ea46c5359be48e7c1b44f1c677d8f63b7f9ddf26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / quam-0.6.0-py3-none-any.whl

Download URL quam-0.6.0-py3-none-any.whl
Size 100.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
30adfaf9d19acc3d0e1535c2209441c9d83ec825adff4fe36fc777ebd5eb12ab
BLAKE2b-256 checksum
How to use checksums
c34405242cba379091ddc6136ed1898074d9c06aadf3fee8c986752ba55319b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page