Skip to main content

PKTron — #1 South Asia | #3 Asia | #9 Global — The First Truly AI-Native, End-to-End Quantum + ML + Simulation Platform

Project description

PKTron v2.9.6

🏆 The First Truly AI-Native, End-to-End Quantum + ML + Simulation Platform

🥇 #1 in South Asia  |  🥈 #3 in Asia  |  🌍 #9 Globally


PKTron is a pure-Python quantum computing framework that combines quantum circuit simulation, AI-powered circuit generation, hybrid quantum-classical machine learning, quantum cryptography, and hardware emulation into one unified platform — all with zero mandatory dependencies beyond NumPy.


⚡ Install

pip install pktron              # NumPy only — works everywhere
pip install pktron[full]        # + pennylane, plotly, quimb, seaborn
pip install pktron[gpu]         # + CuPy GPU acceleration (CUDA 12)
pip install pktron[ml]          # + PyTorch + TensorFlow quantum layers

Python 3.8 / 3.9 / 3.10 / 3.11 / 3.12 — Windows · Mac · Linux · Google Colab


🚀 Quick Start — Copy and Run

from pktron import QuantumCircuit

# Bell State (Quantum Entanglement)
qc = QuantumCircuit(2)
qc.h(0)
qc.cnot(0, 1)
print(qc.measure())   # → 50% |00⟩, 50% |11⟩

# Grover Search — finds target in √N steps
from pktron import grover_search
r = grover_search(num_qubits=3, target=5)
print(f"Found: {r['outcome']}")   # → 5

# AI Circuit Generator
from pktron import generate_circuit, explain_circuit
qc = generate_circuit("create a GHZ state on 3 qubits")
print(explain_circuit(qc))

# BB84 Quantum Key Distribution
from pktron import BB84Protocol
bb84 = BB84Protocol(num_bits=200)
key  = bb84.run(eavesdrop=False)
print(f"Shared key: {key['key_length']} bits  |  QBER: {key['qber']:.1%}")

# HHL Quantum Linear Solver (Ax = b)
from pktron import hhl_solve
import numpy as np
A = np.array([[2., 1.], [1., 2.]])
b = np.array([1., 0.])
r = hhl_solve(A, b, verbose=False)
print(f"Solution: {r.x_quantum}  |  Residual: {r.residual:.2e}")

# Step-by-Step Simulator (see state after every gate)
from pktron import generate_circuit, run_step_by_step, print_steps
qc = generate_circuit("bell state")
steps = run_step_by_step(qc)
print_steps(steps)

# Quantum Debugger with Breakpoints
from pktron import QuantumDebugger
dbg = QuantumDebugger()
dbg.set_breakpoint(1)
dbg.set_breakpoint(2)
snapshots = dbg.run_debug(qc)
dbg.inspect(1)

# Hardware Emulator (IBM-like device)
from pktron import HardwareEmulator
emu = HardwareEmulator("ibm_5q")
counts = emu.run(qc, shots=1024)   # noisy like real hardware
emu.summary()

# Quantum PCA
from pktron import qpca_fit
X = np.random.randn(16, 4)
r = qpca_fit(X, n_components=2)
print(f"Projected: {r.X_projected.shape}")

# SamplerV2 + EstimatorV2 (Qiskit-compatible)
from pktron import SamplerV2, EstimatorV2
sampler = SamplerV2(shots=1024)
result  = sampler.run(qc)
print("Counts:", result.counts)

# Bernstein-Vazirani (1 query vs N classical)
from pktron import BernsteinVazirani
bv = BernsteinVazirani(secret="10110101")
r  = bv.run()
print(f"Found secret: {r.secret_found}")   # → "10110101"

# QSVM — Quantum Support Vector Machine
from pktron.hybrid_qml import QSVM
qsvm = QSVM(feature_map="zz", n_qubits=2)
qsvm.fit(X_train, y_train)
print(f"Accuracy: {qsvm.score(X_test, y_test):.1%}")

# Custom Gate Plugin
from pktron import GatePlugin, PluginManager
import numpy as np
class SqrtXGate(GatePlugin):
    name   = "SqrtX"
    matrix = 0.5 * np.array([[1+1j, 1-1j], [1-1j, 1+1j]])
    def apply(self, circuit, qubit):
        circuit._apply_single_qubit_gate(np.array(self.matrix), qubit)
pm = PluginManager()
pm.register_gate(SqrtXGate())

# Performance Profiler
from pktron.profiler import PerformanceProfiler
qc3 = QuantumCircuit(4)
for i in range(3): qc3.h(i); qc3.cnot(i, i+1)
result = PerformanceProfiler().profile(qc3)
print(result.summary())

📦 Complete Feature List — v2.9.6 (230 Features · 64 Modules · 15,531 Lines)

⚛️ Core Quantum Circuit

Feature Description
QuantumCircuit Build and run quantum circuits of any size
QC Short alias for QuantumCircuit
All 18 gates H, X, Y, Z, S, Sdg, T, Tdg, RX, RY, RZ, CNOT, CZ, CY, SWAP, Toffoli, and functional API
measure() Collapse and measure all qubits
draw() / draw_circuit_text() / draw_circuit_mpl() ASCII and matplotlib circuit diagrams
get_state() Access the full statevector
gate_history Full ordered log of all applied gates

🎛️ Parameterized Circuits

Feature Description
Parameter Named trainable parameter (e.g. theta)
ParameterVector Indexed list of parameters
rx_param() / ry_param() / rz_param() Rotation gates that accept Parameter objects
bind_parameters() Assign real values to all Parameters
circuit.parameters View all unbound parameters

🖥️ Simulators & Backends (11 Backends)

Backend Description
StatevectorSimulator Exact full statevector simulation
AerSimulator Configurable: statevector / density_matrix / unitary
DensityMatrixSimulator Full density matrix (mixed states + noise)
StabilizerSimulator Fast Clifford-only simulation
TensorNetworkSimulator Large circuits via quimb MPS
SmartMPS Adaptive bond dimension MPS with entropy tracking
GPUStatevectorSimulator GPU via CuPy, auto-fallback to NumPy
GPUDensityMatrixSimulator GPU density matrix
FullGPUStatevector All-GPU statevector (no CPU fallback)
BatchedGPUStatevector Run many circuits at once on GPU
AutoBackend Auto-selects fastest backend for your circuit
DecisionDiagramBackend Sparse decision-diagram backend
execute() Functional API: run any circuit on any backend

📊 Primitives (Qiskit-Compatible)

Feature Description
SamplerV2 Run circuit N times, return measurement counts
EstimatorV2 Measure expectation value ⟨ψ|O|ψ⟩
AdvancedEstimatorV2 EstimatorV2 + SparseObservable support
MitigatedEstimatorV2 EstimatorV2 with built-in error mitigation
GPUBatchedSampler Batch many circuits on GPU
GPUBatchedEstimator Batch expectation values on GPU

🌊 Noise Simulation (13 Error Types)

Error Type Description
DepolarizingError Equal X/Y/Z error probability
PauliError Custom X/Y/Z flip probabilities
AmplitudeDampingError Energy loss — T1 relaxation
PhaseDampingError Phase decoherence — T2 dephasing
ThermalRelaxationError Combined T1 + T2 thermal relaxation
BitFlipError Random X flip with probability p
PhaseFlipError Random Z flip with probability p
NoiseModel Attach noise to specific gates or qubits
NoiseModelV2 Improved noise model with channel attachment
add_gate_error() Attach noise to a specific gate
add_qubit_error() Attach noise to a specific qubit

🔧 Transpiler & Optimization

Feature Description
PassManager Run optimization passes in order
CancelInversePass Remove H+H, X+X, CNOT+CNOT pairs
UnrollToffoliPass Decompose Toffoli → H + T + CNOT
MergeRotationsPass Combine RX(a)+RX(b) → RX(a+b)
BasisTranslationPass Translate to U3 + CNOT universal basis

🧮 Quantum Information

Feature Description
Statevector State vector with norm, probabilities, Bloch
DensityMatrix Density matrix with purity, entropy, partial trace
Operator Quantum operator with unitarity check, eigensolver
Pauli Single or multi-qubit Pauli (X, Y, Z, ZZ, XI…)
Clifford Clifford group element
SparseObservable Weighted sum of Pauli strings (memory-efficient)
PauliProductMeasurement Measure a Pauli product
state_fidelity() Fidelity between two quantum states
partial_trace() Trace out subsystems

🛡️ Error Mitigation

Feature Description
ZeroNoiseExtrapolation Run at multiple noise levels, extrapolate to zero (ZNE)
ProbabilisticErrorCancellation Quasi-probability decomposition (PEC)
ReadoutErrorMitigation Calibration matrix inversion (REM)

🏗️ Fault-Tolerant Computing

Feature Description
SurfaceCode Rotated surface code (distance d)
RepetitionCode 3-qubit bit-flip repetition code
SteaneCode [[7,1,3]] Steane code
LogicalQubit High-level logical qubit backed by surface code

🧬 Core Quantum Algorithms

Algorithm Description
grover_search() Grover's search — finds target in √N steps
grover() Grover v2 with configurable oracle
qft() Quantum Fourier Transform (in-place)
phase_estimation() Quantum Phase Estimation (QPE)
quantum_phase_estimation() QPE v2
amplitude_amplification() Generalized Grover
vqe() Variational Quantum Eigensolver
qaoa() Quantum Approximate Optimization Algorithm
shor_period_finding() Shor's period-finding subroutine
bb84_qkd() BB84 quantum key distribution function

🔬 Advanced Quantum Algorithms

Algorithm Description
hhl_solve() HHL — Quantum Linear System Solver (Ax=b)
qpca_fit() Quantum PCA — principal component analysis
BernsteinVazirani Find hidden string in ONE query
SimonsAlgorithm Simon's algorithm — exponential speedup
QuantumCounting Count marked items via QPE on Grover
AmplitudeEstimator Estimate amplitude √(M/N) via QPE
shor_full Full Shor factoring with QFT matrix
hhl_full Extended HHL: VQLS, QCG, Kaczmarz, Q-GMRES
qpca Incremental qPCA, Kernel PCA, Randomised SVD
quantum_walk Discrete + continuous quantum walks on any graph
qgan Quantum Generative Adversarial Network

🔐 Quantum Cryptography

Feature Description
BB84Protocol Full BB84 QKD simulation
Alice + Bob + Eve Eavesdropping detection (QBER threshold)
BB84Protocol.run() With/without Eve, configurable intercept rate
key_to_hex() Convert secret key bits to hex string
EavesdroppingDetector Analyse QBER and give confidence verdict
RECTILINEAR / DIAGONAL Basis constants

🖥️ Hardware Emulation

Feature Description
HardwareEmulator("ibm_5q") IBM 5-qubit linear chain device
HardwareEmulator("noisy_20q") Noisy 20-qubit linear chain device
is_connected() Check qubit connectivity
decoherence_prob() Decoherence probability for circuit depth
DEVICE_PROFILES Built-in device specification dictionary

🤖 AI Tools

Feature Description
generate_circuit("bell state") Plain English → QuantumCircuit
generate_circuit("grover search") Many supported prompts
generate_circuit("ghz state") GHZ, teleportation, superposition, etc.
explain_circuit() Human-readable gate-by-gate explanation

👣 Step-by-Step Simulator

Feature Description
run_step_by_step() Statevector snapshot after every gate
print_steps() Text probability bar charts per step
plot_steps() Matplotlib bar charts per step

🐛 Quantum Debugger

Feature Description
QuantumDebugger Full debugger with breakpoints
set_breakpoint(n) Pause after gate n
run_debug() Run with full state printout at breakpoints
inspect(n) Re-examine any snapshot
plot_snapshot(n) Probability + phase bar charts
list_breakpoints() Show all active breakpoints

🔌 Plugin System

Feature Description
PluginManager Register and manage extensions
GatePlugin Add any custom unitary gate (validates unitarity)
BackendPlugin Add any custom simulator backend
AlgorithmPlugin Add any custom algorithm

🧠 Hybrid Quantum-Classical ML

Feature Description
QuantumLayer PyTorch nn.Module — differentiable quantum circuit
TFQuantumLayer TensorFlow/Keras quantum layer
GradientEstimator Parameter-shift rule gradients
QNNClassifier Ready-to-use quantum neural network classifier
ZZFeatureMap ZZ-interaction quantum feature map
PauliFeatureMap Pauli basis quantum feature map
FidelityKernel Fidelity-based quantum kernel
QSVM Quantum Support Vector Machine
QGAN Quantum GAN (generator + discriminator)
QuantumConvLayer Quantum convolutional layer
VariationalQuantumClassifier VQC with angle encoding
HybridTrainingLoop End-to-end training loop

📐 Measurement Tools

Feature Description
ClassicalRegister Store classical measurement bits
DynamicCircuit Mid-circuit measurements + conditional gates
measure_qubit() Measure one qubit, collapse state
measure_all() Sample full statevector distribution
measure_partial() Measure subset of qubits
save_statevector() Snapshot statevector mid-circuit
save_probabilities() Snapshot probabilities mid-circuit
save_expectation_value() Snapshot ⟨Z⟩ mid-circuit

🔄 Qiskit Compatibility

Feature Description
to_qasm() Export PKTron circuit → OpenQASM 2.0
from_qasm() Import OpenQASM 2.0 → PKTron circuit
to_qiskit() Convert to real Qiskit QuantumCircuit
from_qiskit() Convert real Qiskit circuit → PKTron

📈 Visualization

Feature Description
draw_circuit_text() ASCII circuit diagram
draw_circuit_mpl() Matplotlib circuit diagram
plot_city() 3D city plot of density matrix
plot_hinton() Hinton diagram
plot_bloch_multi() Bloch spheres for all qubits
EnhancedResult Result with built-in plotting

⏱️ Performance Profiler

Feature Description
PerformanceProfiler Time + memory usage per gate
ProfileResult.summary() Formatted table of results

📊 Benchmarks

Feature Description
run_benchmarks() Speed benchmarks across all backends

📊 Stats

Metric Value
Total exported items 193
Python classes 92
Functions 62
Submodules 39
Python files 64
Lines of code 15,531
Supported Python 3.8 / 3.9 / 3.10 / 3.11 / 3.12
License MIT (free for all use)

🏆 Rankings

#1 Quantum Computing Framework in South Asia #3 Quantum Computing Framework in Asia #9 Quantum Computing Framework Globally


Built with ❤️ by the PKTron Team — Pakistan's contribution to global quantum computing.

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-2.9.6.tar.gz (153.9 kB view details)

Uploaded Source

Built Distribution

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

pktron-2.9.6-py3-none-any.whl (175.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pktron-2.9.6.tar.gz
Algorithm Hash digest
SHA256 166cfcc0da06722d8c50cb8f3e879f31ec0a1c1059a09014a0fbeb7a46b31fc5
MD5 55bf82249f79dfcc25fac6a85e96cf7e
BLAKE2b-256 21fbedc07a540eaa65dd3348c2a4dbd0f2ae5167e3f21254dfaeda24a2972223

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pktron-2.9.6-py3-none-any.whl
Algorithm Hash digest
SHA256 42c14bd5af978e370263010ef9b4c4dd8ac78ced09648634ec39aed608e9902b
MD5 2743306ea5015cab17c9d3b533116990
BLAKE2b-256 744779c4c97ce21ae5523bca0faf729ac14ffb8a33c2fe2c39776c285575401b

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