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.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.

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.5.0.tar.gz (345.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quam-0.5.0-py3-none-any.whl (98.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quam-0.5.0.tar.gz
  • Upload date:
  • Size: 345.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for quam-0.5.0.tar.gz
Algorithm Hash digest
SHA256 c7309cde8a59d7a02e67e76b129de3ab7a054b37e0049bff35a6b4ecdd056cf0
MD5 b14722fb8bce85790be99dfca33df520
BLAKE2b-256 c6ef186ebc21a26845df86ae5c586f5b9620b9712071c4df9dab0b29066a1ff2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quam-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 98.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for quam-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 647eab38af358579698dc2a1fcfc8f9486a189208cf23e4d51bb3a9cf8b50201
MD5 fd4d9aac458f768e3bd69b6d921c2855
BLAKE2b-256 59a1f775c3796343a56a5f284cd37bf6e1771dc06a1a36120964202bbdaae8e6

See more details on using hashes here.

Supported by

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