Basic Examples
Simple examples to get started with QPyth.
Bloch Sphere Visualization
Visualize |+⟩ State
from quantumpytho.modules.bloch_ascii import run_bloch_ascii
# |+⟩ state: equal superposition
run_bloch_ascii(theta=1.571, phi=0)
Output:
State Vector Projection (θ=1.571000, φ=0.000000):
Statevector([ 0.707+0.j, 0.707+0.j], dims=(2,))
|0> state: [###########--------] 50.00% (512 shots)
|1> state: [###########--------] 50.00% (512 shots)
Visualize |i+⟩ State
from quantumpytho.modules.bloch_ascii import run_bloch_ascii
# |i+⟩ state: equal superposition with imaginary phase
run_bloch_ascii(theta=1.571, phi=1.571)
Custom State
from quantumpytho.modules.bloch_ascii import run_bloch_ascii
# Custom state at θ=π/3, φ=π/2
run_bloch_ascii(theta=1.047, phi=1.571)
Quantum Random Numbers
Generate QRNG Sequence
from quantumpytho.modules.qrng_sacred import qrng_phi_sequence
# Generate 16 random numbers with 8 qubits
sequence = qrng_phi_sequence(num_qubits=8, length=16)
print("φ-scaled random sequence:")
for i, val in enumerate(sequence):
print(f"{i:2d}: {val:.4f}")
Statistics
from quantumpytho.modules.qrng_sacred import qrng_phi_sequence
sequence = qrng_phi_sequence(num_qubits=8, length=16)
# Calculate statistics
mean = sum(sequence) / len(sequence)
min_val = min(sequence)
max_val = max(sequence)
print(f"Mean: {mean:.4f}")
print(f"Min: {min_val:.4f}")
print(f"Max: {max_val:.4f}")
Bell Pair Entanglement
Create Bell Pair
from quantumpytho.modules.circuit_explorer import bell_pair
# Create Bell pair
result = bell_pair(shots=1024)
print("Measurement counts:")
for state, count in result['counts'].items():
print(f" |{state}⟩: {count}")
print("\nCircuit:")
print(result['circuit'])
Verify Entanglement
from quantumpytho.modules.circuit_explorer import bell_pair
result = bell_pair(shots=10000)
# Check if only |00⟩ and |11⟩ are present
counts = result['counts']
entangled = all(state in ['00', '11'] for state in counts.keys())
print(f"Entangled: {entangled}")
print(f"Counts: {counts}")
Hadamard Sweep
Single Hadamard
from quantumpytho.modules.circuit_explorer import hadamard_sweep
# Apply single Hadamard
result = hadamard_sweep(depth=1, shots=1024)
print("Measurement counts:")
for state, count in result['counts'].items():
print(f" |{state}⟩: {count}")
Multiple Hadamards
from quantumpytho.modules.circuit_explorer import hadamard_sweep
# Apply 5 Hadamards
result = hadamard_sweep(depth=5, shots=1024)
print(f"Depth: {result['depth']}")
print("Measurement counts:")
for state, count in result['counts'].items():
print(f" |{state}⟩: {count}")
Quantum Teleportation
Show Teleportation Circuit
from quantumpytho.modules.teleport_bridge import run_teleport_bridge
from quantumpytho.engine import QuantumEngine
engine = QuantumEngine()
result = run_teleport_bridge(engine)
print("Teleportation Circuit:")
print(result['circuit'])
VQE Simulation
Run H2 VQE
from quantumpytho.modules.vqe_h2_cli import run_vqe_h2_cli
# Run VQE for H2 molecule
run_vqe_h2_cli(max_iters=50)
Run VQE with Custom Config
from quantumpytho.modules.vqe_h2_cli import run_vqe_h2_cli
from quantumpytho.config import QuantumConfig, ExecutionMode
# Configure noisy simulation
config = QuantumConfig(
mode=ExecutionMode.NOISY_SIMULATOR,
noise_profile="ibm_brisbane"
)
# Run VQE with noise
run_vqe_h2_cli(config=config, max_iters=50)
Noisy Simulation
Run Circuit with Noise
from qiskit import QuantumCircuit
from quantumpytho.modules.hardware_ibm import run_with_noise
# Create circuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
# Run with IBM calibration noise
result = run_with_noise(qc, "ibm_brisbane", shots=1024)
print("Noisy simulation counts:")
for state, count in result['counts'].items():
print(f" |{state}⟩: {count}")
Compare Ideal vs Noisy
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from quantumpytho.modules.hardware_ibm import run_with_noise
# Create circuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
# Ideal simulation
ideal_sim = AerSimulator()
ideal_result = ideal_sim.run(qc, shots=1024).result()
ideal_counts = ideal_result.get_counts()
# Noisy simulation
noisy_result = run_with_noise(qc, "ibm_brisbane", shots=1024)
noisy_counts = noisy_result['counts']
print("Ideal counts:", ideal_counts)
print("Noisy counts:", noisy_counts)
Quantum Error Correction
Shor's Code
from quantumpytho.modules.qec_shor import run_shor_qec_demo
from quantumpytho.engine import QuantumEngine
engine = QuantumEngine()
# Correct bit flip error
result = run_shor_qec_demo(
engine,
logical_state=0,
error_type="bit_flip",
error_qubit=0
)
print(f"Original state: |{result['original_state']}>")
print(f"Decoded state: |{result['decoded_state']}>")
print(f"Success: {result['success']}")
Steane's Code
from quantumpytho.modules.qec_steane import run_steane_qec_demo
from quantumpytho.engine import QuantumEngine
engine = QuantumEngine()
# Correct phase flip error
result = run_steane_qec_demo(
engine,
logical_state=1,
error_type="phase_flip",
error_qubit=3
)
print(f"Original state: |{result['original_state']}>")
print(f"Decoded state: |{result['decoded_state']}>")
print(f"Success: {result['success']}")
Configuration
Set Execution Mode
from quantumpytho.config import QuantumConfig, ExecutionMode
# Ideal simulator
config = QuantumConfig(mode=ExecutionMode.SIMULATOR)
# Noisy simulator
config = QuantumConfig(
mode=ExecutionMode.NOISY_SIMULATOR,
noise_profile="ibm_brisbane"
)
# Hardware
config = QuantumConfig(
mode=ExecutionMode.HARDWARE,
backend="ibm_brisbane"
)
Use Configuration
from quantumpytho.config import QuantumConfig, ExecutionMode
from quantumpytho.engine import QuantumEngine
# Create configuration
config = QuantumConfig(
backend="ibmq_qasm_simulator",
shots=2048,
mode=ExecutionMode.SIMULATOR
)
# Create engine with configuration
engine = QuantumEngine(config=config)
# Use engine
from qiskit import QuantumCircuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
result = engine.run(qc)
print(result)
Next Steps
- Advanced Examples - More complex examples
- API Reference - Complete API documentation
- User Guide - Comprehensive usage guide