isqtools

The isqtools is the Python interface for isQ – a high-level quantum programming language developed by Arclight Quantum. The isqtools library facilitates interaction with isQ, enabling users to construct, analyze, and execute quantum programs seamlessly within Python.

Features

  • Integration with isQ

  • Quantum Circuit Construction and Simulation

  • Support for Quantum Machine Learning

Prerequisites

Before using isqtools, ensure the following requirements are met:

Requirements:

Additional Requirements:

Installation

To get started with isqtools, we recommend downloading the source code and installing it using pip. Follow these steps:

  1. Clone the repository or download the source code.

  2. Navigate to the project directory.

  3. Run the following command to install:

pip install .

Usage

Here is an example workflow for using isqtools:

Step 1: Create an isQ File

First, create an isQ file (e.g., example.isq) with the following content:

import std;

qbit q[2];

procedure main() {
    H(q[0]);
    H(q[1]);
    M(q[0]);
    M(q[1]);
}

This file defines a simple quantum circuit using the isQ language. For more details, please refer to isQ Programming Language.

Step 2: Compile and Simulate Using Python

Run the following Python code to compile the isQ file and simulate its execution:

from pathlib import Path

from isqtools import isqc_compile, isqc_simulate
from isqtools.utils import CompileTarget, IsqcError

# Define the path to your isQ file
temp_file_path = Path("example.isq")

# Compile the isQ file to QIR (or other supported targets)
try:
    isqc_compile(file=str(temp_file_path), target=CompileTarget.QIR)
except IsqcError as e:
    print(f"Compilation failed: {e}")
    exit(1)

# Simulate the compiled QIR
output_file = temp_file_path.with_suffix(".so")
result, err, code = isqc_simulate(output_file)

if code == 0:
    print("Simulation Result:", result)
else:
    print("Simulation Error:", err)

Notes:

  • Replace example.isq with the path to your actual isQ file.

  • Ensure that all required dependencies are installed and that the isqtools environment is properly set up.

License

MIT License

Indices and tables