Quantum Teleportation (Cirq)
Transfer a quantum state using entanglement and classical communication.
import cirq
# Create 3 qubits: q0 (state to teleport), q1 & q2 (Bell pair)
q0, q1, q2 = cirq.LineQubit.range(3)
# Classical bits placeholder for conditional operations
c = [0, 0, 0]
...Quantum Teleportation (Qiskit)
Transfer a quantum state using entanglement and classical communication.
from qiskit import QuantumCircuit
# Create circuit with 3 qubits and 3 classical bits
qc = QuantumCircuit(3, 3)
# STEP 1: Prepare the state to teleport (|+⟩ state as example)
qc.h(0)
...Quantum Teleportation (PennyLane)
Transfer a quantum state using entanglement and classical communication.
import pennylane as qml
# Define quantum device with 3 wires (qubits)
dev = qml.device("default.qubit", wires=3)
# Classical bits placeholder for conditional operations
c = [0, 0, 0]
...Deutsch-Jozsa (PennyLane)
Determine if a function is constant or balanced with one quantum query.
import pennylane as qml
# 3 qubits: 2 input qubits + 1 ancilla qubit
dev = qml.device("default.qubit", wires=3)
@qml.qnode(dev)
def deutsch_jozsa_circuit():
# STEP 1: Initialize ancilla qubit to |1⟩...Deutsch-Jozsa (Qiskit)
Determine if a function is constant or balanced with one quantum query.
from qiskit import QuantumCircuit
# 3 qubits, 2 classical bits (only measure input qubits)
qc = QuantumCircuit(3, 2)
# STEP 1: Initialize ancilla to |1⟩
qc.x(2)
...Deutsch-Jozsa (Cirq)
Determine if a function is constant or balanced with one quantum query.
import cirq
# Create 3 qubits
q0, q1, q2 = cirq.LineQubit.range(3)
# Classical bits placeholder
c = [0, 0]
...QRNG (Qiskit)
Generate truly random numbers using quantum mechanics.
from qiskit import QuantumCircuit, execute, Aer
# Number of random bits to generate
n_bits = 8
# Create circuit with n_bits qubits and classical bits
qc = QuantumCircuit(n_bits, n_bits)
...QRNG (Cirq)
Generate truly random numbers using quantum mechanics.
import cirq
# Number of random bits to generate
n_bits = 8
# Create n_bits qubits
qubits = cirq.LineQubit.range(n_bits)
...QRNG (PennyLane)
Generate truly random numbers using quantum mechanics.
import pennylane as qml
# Number of random bits to generate
n_bits = 8
# Define device with n_bits wires
dev = qml.device("default.qubit", wires=n_bits)
...Grover's Search (Qiskit)
Search an unsorted database in O(√N) time - finds |11⟩ state.
from qiskit import QuantumCircuit
# 2 qubits = 4 possible states to search
qc = QuantumCircuit(2, 2)
# STEP 1: Initialize superposition (equal probability for all states)
qc.h(0)
qc.h(1)...Grover's Search (Cirq)
Search an unsorted database in O(√N) time - finds |11⟩ state.
import cirq
# Create 2 qubits
q0, q1 = cirq.LineQubit.range(2)
circuit = cirq.Circuit()
# STEP 1: Initialize superposition...Grover's Search (PennyLane)
Search an unsorted database in O(√N) time - finds |11⟩ state.
import pennylane as qml
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def grover_circuit():
# STEP 1: Initialize superposition
qml.Hadamard(wires=0)...XOR Demonstration
Quantum entanglement producing XOR-like correlations (|01⟩ + |10⟩).
import pennylane as qml
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def xor_demo_circuit():
# STEP 1: Create Bell state (|00⟩ + |11⟩)/√2
# Hadamard creates superposition, CNOT entangles qubits...QML XOR Classifier
Variational quantum circuit that learns XOR function - actual Quantum ML.
import pennylane as qml
import numpy as np
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def qml_xor_classifier():
# ENCODING LAYER: Convert classical inputs to quantum states...Bell State (Qiskit)
Create a Bell state - a fundamental quantum entangled state.
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
# Create quantum and classical registers
qr = QuantumRegister(2, 'q')
cr = ClassicalRegister(2, 'c')
# Create quantum circuit
qc = QuantumCircuit(qr, cr)...Bell State (Cirq)
Create a Bell state using Cirq - demonstrating quantum entanglement.
import cirq
# Create qubits
q0, q1 = cirq.LineQubit.range(2)
# Create Bell state circuit
circuit = cirq.Circuit(
cirq.H(q0), # Hadamard on first qubit...Bell State (PennyLane)
Create a Bell state using PennyLane with expectation value measurements.
import pennylane as qml
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def bell_state_circuit():
qml.Hadamard(wires=0)
qml.CNOT(wires=[0, 1])...GHZ State (Qiskit)
Create a GHZ (Greenberger-Horne-Zeilinger) state with multiple qubits.
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
def create_ghz_circuit(n_qubits):
qr = QuantumRegister(n_qubits, 'q')
cr = ClassicalRegister(n_qubits, 'c')
qc = QuantumCircuit(qr, cr)
# Apply Hadamard to first qubit...Quantum Fourier Transform
Implement the Quantum Fourier Transform (QFT) - a key component in many quantum algorithms.
from qiskit import QuantumCircuit
import numpy as np
def create_qft_circuit(n_qubits):
qc = QuantumCircuit(n_qubits)
for i in range(n_qubits):
qc.h(i)...VQE (PennyLane)
Implement VQE to find the ground state energy of quantum systems.
import pennylane as qml
import numpy as np
def create_vqe_circuit():
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def vqe_circuit(theta):...QAOA (PennyLane)
Implement QAOA for combinatorial optimization problems.
import pennylane as qml
import numpy as np
def create_qaoa_circuit(n_qubits=4, p=2):
dev = qml.device("default.qubit", wires=n_qubits)
@qml.qnode(dev)
def qaoa_circuit(gamma, beta):...Quantum Neural Network
A simple quantum neural network for classification tasks.
import pennylane as qml
import numpy as np
def create_quantum_neural_network(n_qubits=2, n_layers=2):
dev = qml.device("default.qubit", wires=n_qubits)
@qml.qnode(dev)
def quantum_neural_network(inputs, weights):...3-Qubit Bit-Flip Error Correction
Implement a simple quantum error correction code.
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
def create_error_correction_circuit():
# Create quantum and classical registers
qr = QuantumRegister(5, 'q') # 3 data qubits + 2 ancilla qubits
cr = ClassicalRegister(3, 'c') # Measure only data qubits
# Create quantum circuit...