Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

15 Commits

Repository files navigation

QuantagVM

Quantag Quantum Virtual Machine (QVM) backend for Qiskit.

Installation

You can install the package from PyPI:

pip install quantag

Usage

Synchronous workflow (default)

fromqiskitimportQuantumCircuitfromquantag.vmimportQuantagVM# Create a simple circuitqc=QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
# Run it on QuantagVM (sync mode, results returned immediately)backend=QuantagVM(api_key="YOUR_API_KEY",
backend_type="cudaq",
async_mode=False)
job=backend.run(qc, shots=100)
result=job.result()
print(result.get_counts())

Asynchronous workflow

In async mode, jobs are submitted to the server and you can poll for status.

fromqiskitimportQuantumCircuitfromquantag.vmimportQuantagVMqc=QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
backend=QuantagVM(api_key="YOUR_API_KEY",
backend_type="cudaq",
async_mode=True)
job=backend.run(qc, shots=100)
print("Submitted async job:", job.job_id())
print("Initial status:", job.status())
# Wait until done and fetch resultsresult=job.result()
print("Async result:", result.get_counts())

Environment variables

Instead of hardcoding parameters, you can set environment variables.

Linux / macOS:

export QUANTAG_API_KEY="YOUR_API_KEY"export QUANTAG_SERVER="https://quantum.quantag-it.com/api5"export QUANTAG_BACKEND="cudaq"export QUANTAG_ASYNC=1

Windows PowerShell:

setx QUANTAG_API_KEY "YOUR_API_KEY"
setx QUANTAG_SERVER "https://quantum.quantag-it.com/api5"
setx QUANTAG_BACKEND "cudaq"
setx QUANTAG_ASYNC 1

Then in Python you can simply do:

fromqiskitimportQuantumCircuitfromquantag.vmimportQuantagVMqc=QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
backend=QuantagVM() # picks up env vars automaticallyjob=backend.run(qc, shots=1000)
print(job.result().get_counts())

License

MIT License. See LICENSE file for details.

About

repo for pip install

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages