Accueil/HLQuantum
✨ Approche recommandée — écrivez une fois, exécutez partout

HLQuantum — abstraction quantique de haut niveau

Une bibliothèque Python qui abstrait la complexité du matériel quantique. Écrivez votre circuit une seule fois avec HLQuantum et exécutez-le sur IBM Qiskit, Google Cirq, Amazon Braket, PennyLane, NVIDIA CUDA-Q ou IonQ — sans changer une seule ligne de code.

Open source6 backendsQPU réelPrise en charge GPU

Pourquoi utiliser HLQuantum ?

🔁

Écrivez une fois, exécutez partout

Le même code de circuit s'exécute sur n'importe lequel des 6 backends pris en charge — sans traduction, sans réécriture.

Accélération GPU intégrée

Routez de façon transparente les circuits vers les simulateurs GPU NVIDIA pour des accélérations massives sur les grands circuits.

🛡️

Atténuation des erreurs

ZNE, atténuation de lecture et d'autres techniques intégrées — appliquez-les avec un seul argument.

🧠

Algorithmes intégrés

QFT, Grover, VQE, QAOA, Bernstein-Vazirani — prêts à l'emploi, indépendants du backend.

🔀

Multi-backend asynchrone

Exécutez des expériences sur plusieurs backends simultanément pour le benchmarking et la vérification.

🤖

Intégration IA / MCP

La prise en charge du Model Context Protocol permet aux agents IA d'orchestrer des expériences quantiques.

Backends pris en charge

BackendFrameworkInstallationQPU réel
qiskitIBM Qiskitpip install hlquantum[qiskit]Oui
cirqGoogle Cirqpip install hlquantum[cirq]Sim uniquement
pennylaneXanadu PennyLanepip install hlquantum[pennylane]Sim uniquement
braketAmazon Braketpip install hlquantum[braket]Oui
cudaqNVIDIA CUDA-Qpip install hlquantum[cudaq]Sim uniquement
ionqIonQ (via Qiskit)pip install hlquantum[ionq]Oui

Démarrage rapide

1. Installer

terminal
# Install with your preferred backend pip install hlquantum[qiskit] # IBM Qiskit backend pip install hlquantum[cirq] # Google Cirq backend pip install hlquantum[pennylane] # PennyLane backend pip install hlquantum[braket] # Amazon Braket backend pip install hlquantum[cudaq] # NVIDIA CUDA-Q backend pip install hlquantum[ionq] # IonQ backend # Or install multiple at once pip install "hlquantum[qiskit,cirq,cudaq]"

2. Créez votre premier circuit

hello_quantum.py
import hlquantum as hlq # Create a 2-qubit circuit qc = hlq.Circuit(2) # Apply gates using the fluent API qc.h(0).cx(0, 1).measure_all() # Run on the default backend (auto-detects installed SDK) result = hlq.run(qc, shots=1000) print(result) # {'00': 507, '11': 493}

3. Changez de backend avec un seul paramètre

switch_backends.py
import hlquantum as hlq qc = hlq.Circuit(2) qc.h(0).cx(0, 1).measure_all() # The SAME circuit, on DIFFERENT backends — zero code changes r1 = hlq.run(qc, shots=1000, backend="qiskit") # Qiskit Aer r2 = hlq.run(qc, shots=1000, backend="cirq") # Google Cirq r3 = hlq.run(qc, shots=1000, backend="pennylane") # PennyLane r4 = hlq.run(qc, shots=1000, backend="cudaq") # NVIDIA GPU r5 = hlq.run(qc, shots=1000, backend="braket") # Amazon Braket r6 = hlq.run(qc, shots=1000, backend="ionq") # IonQ for name, result in zip(["Qiskit","Cirq","PennyLane","CUDA-Q","Braket","IonQ"], [r1, r2, r3, r4, r5, r6]): print(f"{name}: {result}")

Le décorateur @kernel

Le décorateur @hlq.kernel vous permet d'écrire la logique quantique comme des fonctions Python standard. HLQuantum les compile et les exécute automatiquement sur le backend sélectionné.

kernel_example.py
import hlquantum as hlq @hlq.kernel def ghz_state(n: int): """Create an n-qubit GHZ state.""" qubits = hlq.qvector(n) hlq.h(qubits[0]) for i in range(n - 1): hlq.cx(qubits[i], qubits[i + 1]) hlq.measure_all(qubits) # Run the kernel result = hlq.run(ghz_state, args=(5,), shots=1000) print(result) # {'00000': ~500, '11111': ~500} # Works on any backend result_gpu = hlq.run( ghz_state, args=(20,), # 20-qubit GHZ! shots=1000, backend="cudaq" # GPU acceleration )

Algorithmes quantiques intégrés

HLQuantum inclut des implémentations prêtes à l'emploi d'algorithmes quantiques courants qui fonctionnent sur n'importe quel backend.

Transformée de Fourier quantique (QFT)Estimation de phaseAlgorithme de Shor

L'analogue quantique de la transformée de Fourier discrète. Utilisé comme sous-routine dans de nombreux algorithmes, dont l'algorithme de factorisation de Shor.

python
import hlquantum as hlq
from hlquantum.algorithms import QFT

# Create a QFT circuit for 4 qubits
qft_circuit = QFT(n_qubits=4)
result = hlq.run(qft_circuit, shots=1000)
print(result)

Algorithme de recherche de GroverRechercheAccélération quadratique

Fournit une accélération quadratique pour la recherche non structurée. Trouve un élément marqué en √N étapes au lieu de N.

python
import hlquantum as hlq
from hlquantum.algorithms import Grover

# Search for item "101" in a 3-qubit space
grover = Grover(oracle_string="101")
result = hlq.run(grover.circuit, shots=2000)

# The marked state should have high probability
print(result)  # {'101': ~1800, others: ~200}

VQE — solveur propre quantique variationnelChimieOptimisation

Trouve l'énergie de l'état fondamental d'un hamiltonien. Algorithme clé pour la chimie quantique sur les appareils NISQ.

python
import hlquantum as hlq
from hlquantum.algorithms import VQE
from hlquantum.operators import PauliSum

# Define Hamiltonian
H = PauliSum.from_list([
    ("ZZ", -1.052), ("IZ", 0.398),
    ("ZI", -0.398), ("XX", 0.181),
])

vqe = VQE(hamiltonian=H, n_qubits=2, ansatz="TwoLocal", reps=2)
energy, params = vqe.run(backend="qiskit", max_iter=200)
print(f"Ground state energy: {energy:.6f}")

QAOA — optimisation quantique approchéeCombinatoireOptimisation

Algorithme approché pour les problèmes d'optimisation combinatoire comme MaxCut, le partitionnement de graphes et l'ordonnancement.

python
import hlquantum as hlq
from hlquantum.algorithms import QAOA
import networkx as nx

# Define a MaxCut problem
graph = nx.Graph([(0,1),(1,2),(2,3),(3,0),(0,2)])

qaoa = QAOA(problem="maxcut", graph=graph, p=2)
result = qaoa.run(backend="pennylane", shots=2000)
print(f"Best cut: {result.best_solution}")
print(f"Cut value: {result.best_value}")

Couches et pipelines de ML quantique

HLQuantum inclut une composition inspirée du ML pour les circuits quantiques — construisez des ansätze variationnels sous forme de modèles en couches, similaires au nn.Sequential de PyTorch.

hl_pipeline.py
import hlquantum as hlq from hlquantum.layers import RYLayer, EntanglingLayer, Sequential # Build a variational quantum model model = Sequential([ RYLayer(n_qubits=4), # Layer of RY rotations EntanglingLayer(n_qubits=4), # CNOT entangling layer RYLayer(n_qubits=4), # Another RY layer EntanglingLayer(n_qubits=4), ]) # Run the model (initializes random params) result = model.run(shots=1000, backend="pennylane") # Train the model (gradient-based) loss_history = model.fit( X_train, y_train, optimizer="adam", learning_rate=0.01, epochs=50 )

Exécution multi-backend asynchrone

Exécutez le même circuit sur plusieurs backends simultanément et comparez les résultats. Idéal pour évaluer les niveaux de bruit ou vérifier les résultats sur différentes plateformes.

async_run.py
import hlquantum as hlq import asyncio qc = hlq.Circuit(3) qc.h(0).cx(0, 1).cx(1, 2).measure_all() async def benchmark_backends(): tasks = { name: hlq.run_async(qc, shots=1000, backend=name) for name in ["qiskit", "cirq", "pennylane", "cudaq"] } results = {name: await task for name, task in tasks.items()} for name, result in results.items(): print(f"{name}: {result}") asyncio.run(benchmark_backends())

Atténuation des erreurs

HLQuantum inclut des techniques d'atténuation des erreurs intégrées pour l'exécution sur du matériel réel.

error_mitigation.py
import hlquantum as hlq from hlquantum.mitigation import ZNE, ReadoutMitigation qc = hlq.Circuit(2) qc.h(0).cx(0, 1).measure_all() # Zero-Noise Extrapolation (ZNE) mitigated_result = hlq.run( qc, shots=2000, backend="qiskit", device="ibm_sherbrooke", # Real hardware mitigation=ZNE(noise_factors=[1, 2, 3]) ) # Readout error mitigation result_mit = hlq.run( qc, shots=2000, backend="qiskit", mitigation=ReadoutMitigation() ) print(f"Raw result: {hlq.run(qc, shots=2000)}") print(f"Mitigated result: {mitigated_result}")

Accélération GPU

gpu_accel.py
import hlquantum as hlq # Large circuit — 28 qubits qc = hlq.Circuit(28) for i in range(28): qc.h(i) for i in range(27): qc.cx(i, i + 1) qc.measure_all() # CPU simulation (may be slow for 28 qubits) result_cpu = hlq.run(qc, shots=100, backend="qiskit") # GPU simulation — orders of magnitude faster! result_gpu = hlq.run(qc, shots=100, backend="cudaq") # NVIDIA result_gpu2 = hlq.run(qc, shots=100, backend="pennylane", device="lightning.gpu") # lightning.gpu print(f"CPU: {result_cpu}") print(f"GPU (CUDA-Q): {result_gpu}")
🤖

Quantique piloté par l'IA (MCP)

HLQuantum inclut la prise en charge du Model Context Protocol (MCP), permettant aux agents IA de construire, optimiser et exécuter des circuits quantiques de manière autonome. Cela ouvre un nouveau paradigme de découverte d'algorithmes quantiques pilotée par l'IA.

En savoir plus sur l'intégration MCP de HLQuantum