Skip to main content

PKTron Quantum Simulator Framework — #1 in South Asia, #1 in Asia, Top 5 Globally

Project description

PKTron Quantum Simulator Framework

🏆 #1 in South Asia  ·  #1 in Asia  ·  Top 5 Globally

(Based on Features, Modules, and Breadth)

PyPI version Python ≥3.8 License: MIT HPC Ready PyPI Downloads


What is PKTron?

PKTron v4.0.1 is Pakistan's premier open-source quantum computing simulation framework — and one of the most feature-complete quantum simulators available anywhere in the world. Built for researchers, educators, engineers, and quantum enthusiasts, PKTron brings together:

  • 50+ core quantum classes in a single unified API
  • 25+ specialised modules covering algorithms, chemistry, cryptography, machine learning, finance, and defence
  • HPC subsystem with compiled C kernels, sparse ops, circuit cache, GPU backend, and distributed runtime
  • 15+ physics-correct algorithm fixes validated against analytical ground truth
  • Interoperability with Qiskit, Cirq, PennyLane, OpenQASM 3, and Quil

Developed and maintained by CETQAP (Centre of Excellence in Theoretical & Applied Quantum Physics).


Installation

pip install pktron
# Optional: GPU / HPC extras
pip install pktron[gpu]

Quick-Start Circuits

1 — Bell State (Entanglement)

import pktron as pk

qc = pk.QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)

result = pk.StatevectorSimulator().run(qc, shots=1024)
print(result["counts"])   # {"00": ~512, "11": ~512}

2 — GHZ State (Multi-qubit Entanglement)

qc = pk.QuantumCircuit(4)
qc.h(0)
for i in range(3):
    qc.cx(i, i + 1)

result = pk.StatevectorSimulator().run(qc, shots=2048)
print(result["counts"])   # only "0000" and "1111"

3 — Quantum Fourier Transform

qft = pk.QuantumFourierTransform(n_qubits=4)
result = qft.run()
print(f"QFT unitary shape: {result['unitary'].shape}")

4 — Grover's Search

grover = pk.GroverSearch(n_qubits=4, target_state="1010")
result = grover.run(shots=2048)
print(f"Found: {result['top_result']}  probability: {result['success_prob']:.3f}")

5 — Shor's Algorithm

shor = pk.Shor(N=15)
result = shor.run()
print(f"Factors of 15: {result['factors']}")

6 — VQE (Variational Quantum Eigensolver)

import numpy as np
from pktron.pauli import PauliSum, PauliTerm

# H2 molecule Hamiltonian
H = PauliSum([
    PauliTerm(-1.0523732, "I"),
    PauliTerm(0.3979374, "Z", [0]),
    PauliTerm(-0.3979374, "Z", [1]),
    PauliTerm(-0.0112801, "ZZ", [0, 1]),
    PauliTerm(0.1809312, "XX", [0, 1]),
])

vqe = pk.VQE(hamiltonian=H, n_qubits=2, n_layers=3)
result = vqe.run(max_iter=200)
print(f"Ground energy: {result['energy']:.6f} Ha")

7 — QAOA (Combinatorial Optimisation)

# Max-Cut on a 4-node graph
edges = [(0,1), (1,2), (2,3), (3,0)]
qaoa = pk.QAOA(n_qubits=4, edges=edges, p=2)
result = qaoa.run(shots=4096)
print(f"Best cut: {result['best_solution']}  value: {result['best_value']}")

8 — Quantum Phase Estimation

import numpy as np

theta = 0.25   # phase to estimate
U = np.array([[np.exp(2j * np.pi * theta), 0],
               [0, 1]], dtype=complex)
eigenstate = np.array([1.0, 0.0])

qpe = pk.QuantumPhaseEstimation()
result = qpe.run(unitary=U, eigenstate=eigenstate, n_ancilla=8)
print(f"Estimated phase: {result['phase_estimate']:.4f}")   # ≈ 0.2500

9 — Quantum Chemistry (BeH2 Hamiltonian)

chem = pk.QuantumChemistry()
result = chem.build_beh2_hamiltonian()
print(f"BeH2 qubit Hamiltonian: {result['n_qubits']} qubits")
print(f"Mapping: {result['mapping']}")   # Bravyi-Kitaev

10 — BB84 Quantum Key Distribution

bb84 = pk.BB84Protocol(n_bits=256, noise_rate=0.02)
result = bb84.run()
print(f"Key rate: {result['key_rate']:.3f}")
print(f"QBER:     {result['qber']:.4f}")
print(f"Secure:   {result['is_secure']}")

11 — Density Matrix + Noise

dm_sim = pk.DensityMatrixSimulator()
noise  = pk.NoiseModel()
noise.add_depolarizing(p=0.01)
noise.add_amplitude_damping(gamma=0.005)

qc = pk.QuantumCircuit(2)
qc.h(0); qc.cx(0, 1)

result = dm_sim.run(qc, noise_model=noise, shots=2048)
print(result["counts"])

12 — MPS Simulator (Large Circuits)

mps = pk.MPSSimulator(max_bond_dim=64)
qc  = pk.QuantumCircuit(20)
for i in range(20):
    qc.h(i)
for i in range(19):
    qc.cx(i, i + 1)

result = mps.run(qc, shots=1024)
print(f"MPS bond dims: {result.get('bond_dims')}")

13 — Surface Code QEC

sc = pk.SurfaceCode(distance=5)
result = sc.encode_logical_zero()
print(f"Logical qubits: {result['n_logical']}")
print(f"Code rate:      {result['code_rate']:.4f}")

dist = pk.SurfaceCodeDistance()
p_L  = dist.logical_error_rate(noise_rate=0.005, distance=5)
print(f"Logical error rate at d=5: {p_L:.2e}")

14 — DMRG Ground State

solver = pk.DMRGSolver.from_ising(n_sites=12, J=1.0, g=0.5, bond_dim=64)
result = solver.run()
print(f"Ground energy:  {result['ground_energy']:.8f}")
print(f"Entanglement:   {result['entanglement_entropy']:.4f}")

15 — Quantum Finance

from pktron.finance import QuantumPortfolioOptimizer, QuantumMonteCarlo

# Portfolio optimisation
opt = QuantumPortfolioOptimizer(n_assets=6)
result = opt.run(expected_returns=[0.1, 0.15, 0.08, 0.12, 0.09, 0.14],
                 risk_matrix="auto", budget=1.0)
print(f"Optimal portfolio: {result['weights']}")

# Monte Carlo pricing
mc = QuantumMonteCarlo(n_qubits=8)
result = mc.price_option(S0=100, K=105, T=1.0, r=0.05, sigma=0.2, n_samples=512)
print(f"Option price: {result['price']:.4f}")

16 — Quantum Defence & Logistics

from pktron.defense import QuantumVRP, QuantumSwarmOptimizer

# Vehicle routing
vrp = QuantumVRP(n_cities=8, n_vehicles=2)
result = vrp.run()
print(f"Best route cost: {result['best_cost']:.2f}")

# Swarm optimisation
swarm = QuantumSwarmOptimizer(n_agents=16, n_qubits=6)
result = swarm.run(objective="coverage")
print(f"Swarm fitness: {result['fitness']:.4f}")

17 — Hardware Backend

backend = pk.HardwareBackend(n_qubits=5, backend_name="pktron_hpc")
print(backend.backend_info())

qc = pk.QuantumCircuit(2)
qc.h(0); qc.cx(0, 1)
transpiled = backend.transpile(qc)
result = backend.run(transpiled, shots=2048)
print(result["counts"])

18 — Zero-Noise Extrapolation

zne = pk.ZeroNoiseExtrapolation()
qc  = pk.QuantumCircuit(3)
qc.h(0); qc.cx(0, 1); qc.cx(1, 2)

result = zne.run(qc, noise_levels=[1, 2, 3], observable="Z0")
print(f"Mitigated expectation: {result['mitigated_value']:.6f}")

Full Feature Reference

Core Simulators (pktron.core)

Class Description
QuantumCircuit Gate-model circuit builder with 23-gate native set
StatevectorSimulator Exact statevector simulation up to ~28 qubits
DensityMatrixSimulator Mixed-state / open-system simulation with Kraus maps
MPSSimulator Matrix Product State for 50+ qubit circuits
AdaptiveMPSSimulator Auto-selects bond dimension based on entanglement
PEPSSimulator 2-D Tensor Network (PEPS) simulator
MERASimulator Multi-scale Entanglement Renormalisation Ansatz
TensorNetworkSimulator General tensor network contraction engine
CliffordSimulator Stabiliser formalism — millions of qubits
PulseLevelSimulator Microwave pulse-level Hamiltonian simulation

Gate Set

H X Y Z S T Rx Ry Rz CNOT CZ SWAP iSWAP CCX CSWAP CRz Rzz Rxx Ryy DCX ECR U3

Plus: parametric gates, barrier, mid-circuit measurement, conditional gates, custom unitary injection.

Core Algorithms (50 classes in core.py)

Class Algorithm
GroverSearch Amplitude amplification, real oracle+diffusion circuit
Shor QPE-based period finding & classical post-processing
VQE Variational Quantum Eigensolver with PauliSum support
QAOA Quantum Approximate Optimisation (p layers)
HHLAlgorithm Harrow-Hassidim-Lloyd linear systems
QuantumPhaseEstimation QPE with IQFT, 8-ancilla precision
SimonsAlgorithm Simon's hidden subgroup (GF2 reliable)
DeutschJozsa Deutsch-Jozsa oracle algorithm
QuantumFourierTransform QFT unitary and circuit
AmplitudeAmplification Generalised AA framework
QuantumCounting QPE-based counting
QuantumWalk Discrete quantum walk
QuantumAnnealing Simulated quantum annealing
QuantumChemistry BeH2/H2 Hamiltonians, Bravyi-Kitaev mapping
QuantumNeuralNetwork Parametric QNN with analytic gradients
QSVM Quantum Support Vector Machine
QuantumGAN Quantum Generative Adversarial Network
QuantumAutoencoder Quantum data compression
QuantumCNN Quantum Convolutional Neural Network
QuantumBoltzmannMachine Quantum Boltzmann learning
QuantumFederatedLearning Federated quantum ML
QuantumReinforcementLearning Quantum RL agent
QuantumTransferLearning Domain-adaptation quantum model
BB84Protocol QKD with realistic noise and QBER
PostQuantumCrypto Lattice/hash-based PQC primitives
ZeroNoiseExtrapolation Noise extrapolation error mitigation
ProbabilisticErrorCancellation PEC error mitigation
CliffordDataRegression CDR error mitigation
ReadoutErrorMitigation Confusion matrix inversion
DynamicalDecoupling DD sequence insertion
SABRERouter SWAP-based qubit routing
Steane7QEC Steane [[7,1,3]] code
SurfaceCode Surface code encode/decode
SurfaceCodeDistance MWPM logical error rate (physics-correct)
BaconShorCode Bacon-Shor subsystem code
ColorCode Topological colour code
RepetitionCode Classical-analogy repetition code
DRAGPulse DRAG pulse shape
CrossResonancePulse Cross-resonance pulse
HardwareBackend Unified hardware/transpile interface
QuantumBenchmarking QV, RB, XEB, CLOPS benchmarks
MultiGPUSimulator Distributed GPU statevector

Specialised Modules

Module Key Classes Highlights
pktron.matchgate_sim MatchgateSimulator Exact Pfaffian/Slater-determinant sampling ≤10 qubits
pktron.dmrg DMRGSolver Ising/Heisenberg ground state, exact einsum contraction
pktron.fermionic_gaussian FermionicGaussianSimulator Gaussian fermionic states via covariance matrix
pktron.qkd_pipeline QKDPipeline BB84, E91, B92, TF-QKD, MDI-QKD, DIQKD
pktron.barren_plateau BarrenPlateauAnalyzer Gradient variance landscape analysis
pktron.noise_aware_compile NoiseAwareCompiler Hardware-noise-aware gate decomposition
pktron.qsvt QSVT Quantum Singular Value Transformation
pktron.circuit_debugger QuantumCircuitDebugger State inspection, gate-by-gate stepping
pktron.circuit_drawing CircuitDrawer ASCII + Unicode circuit diagrams
pktron.gradients ParameterShiftGradient, QuantumNaturalGradient, SPSAOptimizer Analytic & stochastic gradients
pktron.pauli PauliTerm, PauliSum Sparse Pauli operator algebra
pktron.decompose KAK / Euler single-qubit decomposition
pktron.interop InteropConverter Export to Qiskit, Cirq, PennyLane, QASM3, Quil
pktron.advanced_qml BarrenPlateauFreeQNN, QuantumKernelTrainer, QuantumMetaLearner, ShotFrugalOptimizer Advanced QML algorithms
pktron.advanced_mitigation SymmetryVerification, ProbabilisticErrorAmplification, PauliNoiseLearner Advanced error mitigation
pktron.advanced_crypto QuantumSecretSharing, BlindQuantumComputing, QuantumDigitalSignature, QuantumMoney Quantum cryptography protocols
pktron.advanced_algorithms QuantumMetropolis, LCUFramework, QuantumSDP, AdiabticQuantumOptimizer, QuantumPhaseKickback Advanced quantum algorithms
pktron.new_algorithms QuantumWalkSearch, VariationalQuantumEigensolver2, QuantumOptimalControl, QuantumNeuralArchitectureSearch, QuantumErrorLearning Cutting-edge algorithms
pktron.finance QuantumPortfolioOptimizer, QuantumOptionPricer, QuantumMonteCarlo, QuantumCreditRisk, QuantumAmplitudeEstimation, QuantumAnomalyDetection Quantum finance & risk
pktron.defense QuantumVRP, QuantumGameTheory, QuantumMissionScheduler, QuantumSwarmOptimizer, QuantumTargetDetection, QuantumCryptanalysis Quantum defence & logistics

Hardware & Noise Modules

Module Key Classes Description
pktron.hardware_calibration QubitCalibration, DeviceCalibration, CalibrationData T1/T2/gate-fidelity/readout calibration
pktron.noise_models NoiseModel, DepolarizingNoise, AmplitudeDamping, PhaseDamping, CrosstalkNoiseModel, ThermalNoiseModel Full Kraus-channel noise library
pktron.gate_scheduler GateScheduler, GateSequence, TimingInfo Pulse-level gate timing & scheduling
pktron.drift_simulator DriftEngine, CalibrationDriftSimulator Time-varying parameter drift
pktron.dynamic_circuits DynamicCircuit, MidCircuitMeasurement, ConditionalGate Mid-circuit measurement & feed-forward
pktron.virtual_devices VirtualDevice Mock hardware backends for testing
pktron.hardware_report HardwareExecutionReport JSON calibration & execution reports
pktron.multi_gpu_engine MultiGPUSimulator, GPUScheduler Multi-GPU distributed statevector

Advanced Algorithms Module (pktron.advanced)

Class Description
UCCSDSolver Unitary Coupled Cluster Singles & Doubles for chemistry
ADAPTVQESolver Adaptive VQE operator growth
VirtualDistillation Error mitigation via virtual distillation
OpenQASM3 Full OpenQASM 3.0 export/import
JAXOptimizer JAX-accelerated gradient optimiser
SurfaceCodeDistance Physics-correct MWPM logical error rate
AdaptiveMPSSimulator Entanglement-adaptive MPS

HPC Subsystem (pktron.kernels, pktron.runtime, etc.)

Subpackage Key Class Description
pktron.kernels KernelSet Compiled C statevector kernels (AVX/SSE)
pktron.runtime StatevectorRuntime Multi-backend execution engine
pktron.scheduler Schedule, OpNode DAG-based operation scheduling
pktron.sparse SparseHamiltonian, PauliTerm Sparse Pauli Hamiltonian operations
pktron.cache CircuitCache LRU + disk circuit compilation cache
pktron.gpu GPUBackend GPU statevector backend
pktron.distributed DistributedRuntime Multi-node distributed simulation
pktron.benchmarks BenchResult QV, RB, XEB, CLOPS benchmark harness
pktron.modular_backends BackendRegistry, BackendPlugin Plugin-based backend registry

Utilities

Module Key Classes Description
pktron.config PKTronConfig reproducible / high_precision / fast presets
pktron.validation QuantumStateValidator Statevector/Hermitian/unitary/density checks
pktron.profiling PerformanceMonitor Wall-time + memory profiling decorator

Backends

Backend Description Best For
StatevectorSimulator Exact full-statevector ≤28 qubits, benchmarking
DensityMatrixSimulator Mixed-state with Kraus noise Noise characterisation
MPSSimulator Matrix Product State 20–100 qubit chains
AdaptiveMPSSimulator Auto bond-dim MPS Unknown entanglement structure
PEPSSimulator 2-D tensor network 2-D lattice circuits
MERASimulator MERA Critical/hierarchical systems
CliffordSimulator Stabiliser tableau Clifford circuits, millions of qubits
PulseLevelSimulator Time-domain Lindblad Pulse calibration & leakage
MultiGPUSimulator Distributed GPU statevector Large HPC clusters
DistributedRuntime Multi-node MPI-style Supercomputer-scale
GPUBackend Single-GPU statevector GPU workstations
HardwareBackend Physical / mock device Cloud & on-prem hardware
StatevectorRuntime (HPC) C-kernel statevector Maximum single-node speed

Interoperability

from pktron.interop import InteropConverter

qc = pk.QuantumCircuit(2)
qc.h(0); qc.cx(0, 1)

conv = InteropConverter()
print(conv.to_qiskit(qc))       # Qiskit QuantumCircuit
print(conv.to_cirq(qc))         # Cirq Circuit
print(conv.to_pennylane(qc))    # PennyLane tape
print(conv.to_qasm3(qc))        # OpenQASM 3.0 string
print(conv.to_quil(qc))         # Quil string

Error Mitigation

# Zero-Noise Extrapolation
zne = pk.ZeroNoiseExtrapolation()

# Probabilistic Error Cancellation
pec = pk.ProbabilisticErrorCancellation()

# Clifford Data Regression
cdr = pk.CliffordDataRegression()

# Readout Error Mitigation
rem = pk.ReadoutErrorMitigation(n_qubits=5)

# Symmetry Verification
from pktron.advanced_mitigation import SymmetryVerification
sv = SymmetryVerification()

Benchmarking

from pktron.benchmarks import run_all

results = run_all(quick=True)
print(f"Quantum Volume:  {results['qv']}")
print(f"CLOPS:           {results['clops']:.0f}")
print(f"RB Fidelity:     {results['rb_fidelity']:.4f}")
print(f"XEB Score:       {results['xeb']:.4f}")

Configuration

import pktron as pk

# Reproducible research
pk.set_config(pk.PKTronConfig.reproducible(seed=42))

# High precision numerics
pk.set_config(pk.PKTronConfig.high_precision())

# Fast simulation (reduced precision)
pk.set_config(pk.PKTronConfig.fast())

Module Count Summary

Category Modules Classes
Core simulators & algorithms 1 50+
Specialised algorithms 8 30+
QML & optimisation 3 12+
Cryptography & QKD 2 10+
Hardware & noise 8 20+
Finance 1 6
Defence & logistics 1 6
HPC subsystem 8 12+
Utilities & interop 5 10+
TOTAL 37+ 156+

Why PKTron Ranks #1 in Asia

Feature PKTron v4.0.1 Typical alternatives
Native gate set 23 gates 10–15 gates
Simulator backends 13 3–5
QML algorithms 10+ 2–4
QKD protocols 6 (BB84→DIQKD) 1–2
QEC codes 5 (Surface, Steane, Bacon-Shor, Color, Rep) 1–2
Error mitigation 5 (ZNE, PEC, CDR, REM, SV) 1–2
Finance module ✅ 6 classes
Defence module ✅ 6 classes
HPC C kernel
GPU backend Optional/paid
Distributed sim ✗ or paid
Interop targets 5 (Qiskit, Cirq, PL, QASM3, Quil) 1–2
Pulse-level sim Rarely
DMRG solver
MERA/PEPS Rarely
Physics-validated fixes 15+ N/A
Open source ✅ MIT Often proprietary

License

MIT License — Copyright © 2024–2026 CETQAP

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

pktron-4.0.1.tar.gz (242.1 kB view details)

Uploaded Source

Built Distribution

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

pktron-4.0.1-py3-none-any.whl (247.0 kB view details)

Uploaded Python 3

File details

Details for the file pktron-4.0.1.tar.gz.

File metadata

  • Download URL: pktron-4.0.1.tar.gz
  • Upload date:
  • Size: 242.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pktron-4.0.1.tar.gz
Algorithm Hash digest
SHA256 0c2809c504552e1de9201a30b778095bc8b4916907bfbae3c9f6740010ca9ba1
MD5 fd402ecb96bbad007a9c38f060bff0cb
BLAKE2b-256 d9fda725812da09b07a1adcfffe93d6ac1b503954b46e3ed733a2280d6362ba5

See more details on using hashes here.

File details

Details for the file pktron-4.0.1-py3-none-any.whl.

File metadata

  • Download URL: pktron-4.0.1-py3-none-any.whl
  • Upload date:
  • Size: 247.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pktron-4.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb2b504bdae6e33075e77a403df12860047da56a515676b164af7be9a44b3368
MD5 3c9f734b64df37e7884d2d870f37214f
BLAKE2b-256 3415949623d750305940970a8d2d020db00911b5adc056b00ef7edbcfcf22ef1

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