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:¶
Python 3.9 or higher version
isQ Compiler (isqc) version 0.2.5
Additional Requirements:¶
For quantum machine learning:
For quantum chemistry simulations:
For accessing QuantumCtek quantum hardware:
Installation¶
To get started with isqtools, we recommend downloading the source code and installing it using pip. Follow these steps:
Clone the repository or download the source code.
Navigate to the project directory.
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.isqwith the path to your actual isQ file.Ensure that all required dependencies are installed and that the isqtools environment is properly set up.