- Authors

- Name
- Youngju Kim
- @fjvbn20031
1. What Is Quantum Computing?
Quantum computing is a computing paradigm that harnesses the principles of quantum mechanics — superposition, entanglement, and interference — to solve problems that are practically intractable for classical computers.
Classical vs. Quantum Computers
| Aspect | Classical Computer | Quantum Computer |
|---|---|---|
| Basic unit | Bit (0 or 1) | Qubit (0, 1, or superposition) |
| Operations | Sequential/parallel logic gates | Quantum gates (unitary transformations) |
| State space | n bits = one of 2^n states | n qubits = 2^n states simultaneously |
| Error characteristics | Deterministic, predictable | Probabilistic, decoherence-prone |
| Best suited for | General-purpose computation | Optimization, quantum simulation, cryptography |
With n qubits representing states simultaneously, a 300-qubit system can process more states than there are atoms in the observable universe.
Why Does Quantum Computing Matter?
Quantum computing offers transformative breakthroughs in:
- Cryptography: Shor's algorithm solves the integer factorization problem — the foundation of RSA encryption — in polynomial time. Breaking 2048-bit RSA would take classical computers millions of years; a fault-tolerant quantum computer could do it in hours.
- Drug Discovery: Quantum simulation overcomes the exponential complexity barrier of classical molecular simulation, accelerating new material design and protein-folding prediction.
- Optimization: NP-hard problems in logistics, financial portfolio optimization, and scheduling can benefit from algorithms like QAOA.
- AI / Machine Learning: Quantum kernels and quantum neural networks may offer superior expressibility over classical ML on certain datasets.
Quantum Advantage vs. Quantum Supremacy
Quantum Supremacy: The moment a quantum computer performs a task that no classical computer can complete in a realistic time. In 2019, Google's Sycamore processor solved a specific sampling problem in 200 seconds — a task estimated to take the best classical supercomputer 10,000 years.
Quantum Advantage: The stricter, more practical bar — when a quantum computer is demonstrably faster on a useful problem, not merely a contrived benchmark.
The NISQ Era
We currently live in the NISQ (Noisy Intermediate-Scale Quantum) era. Devices with 50–1,000 qubits exist but suffer from high error rates and short coherence times. Achieving full Fault-Tolerant Quantum Computing (FTQC) requires millions of physical qubits, a target set for the 2030s and beyond.
2. Qubits
Physical Implementations
| Technology | Principle | Key Companies | Characteristics |
|---|---|---|---|
| Superconducting | Josephson junction, cryogenic cooling | IBM, Google | Easy to fabricate, fast gates |
| Trapped ion | Laser-controlled ions | IonQ, Quantinuum | High fidelity, slower gates |
| Photonic | Photon polarization/path | PsiQuantum | Room temperature, limited connectivity |
| Topological | Majorana fermions | Microsoft | Theoretically error-resilient |
| Silicon spin | Electron spin | Intel | CMOS-compatible |
Superposition
Before measurement, a qubit exists in a superposition of 0 and 1:
where and are complex amplitudes satisfying the normalization condition .
Measurement probabilities are:
When and , each outcome has exactly 50% probability — this is the state produced by the Hadamard gate.
Bloch Sphere Representation
Any single-qubit pure state can be represented as a point on the unit sphere (Bloch sphere):
- : North pole =
- : South pole =
- Equator: Superposition states (e.g., )
Quantum gates correspond to rotations on this sphere.
Decoherence
Qubits lose their quantum superposition when they interact with the environment (heat, electromagnetic noise, vibration). This is called decoherence. Current superconducting qubits have coherence times of tens to hundreds of microseconds — a critical limiting factor for running deep circuits.
3. Quantum Gates
Quantum gates are represented by unitary matrices satisfying . Unlike classical logic gates, all quantum gates are reversible.
Single-Qubit Gates
Pauli Gates
- X gate: Quantum NOT. ,
- Z gate: Phase flip. Applies phase to
Hadamard Gate
Transforms , creating a uniform superposition.
S and T Gates (Phase gates)
Rotation Gates
These serve as trainable parameters in variational quantum algorithms.
Two-Qubit Gates
CNOT (Controlled-NOT): Flips the target qubit when the control qubit is .
Toffoli (CCNOT): Three-qubit gate. Flips target when both control qubits are . Together with single-qubit gates, ensures universality.
Creating a Bell State with Qiskit
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
# Create a Bell state (maximum entanglement)
qc = QuantumCircuit(2, 2)
qc.h(0) # Hadamard: put qubit 0 into superposition
qc.cx(0, 1) # CNOT: entangle qubit 0 (control) and qubit 1 (target)
qc.measure([0, 1], [0, 1])
print(qc.draw())
# Simulate
simulator = AerSimulator()
job = simulator.run(qc, shots=1000)
result = job.result()
counts = result.get_counts()
print("Measurement results:", counts)
# Expected: {'00': ~500, '11': ~500}
# 01 and 10 never appear — perfect entanglement
The Bell state is . Measuring one qubit instantly determines the other, no matter how far apart they are.
4. Quantum Circuits
Statevector Simulation
An n-qubit system's state is a -dimensional complex vector.
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
sv = Statevector.from_instruction(qc)
print(sv)
# [0.707+0j, 0, 0, 0.707+0j]
# |00> and |11> each with amplitude 1/sqrt(2)
GHZ State (3-Qubit Entanglement)
The GHZ (Greenberger-Horne-Zeilinger) state is the 3-qubit maximally entangled state:
qc = QuantumCircuit(3)
qc.h(0)
qc.cx(0, 1)
qc.cx(0, 2)
print(qc.draw())
Quantum Teleportation Protocol
Quantum teleportation transmits a quantum state using a classical communication channel and a shared entangled pair — without physically moving the qubit:
- Alice and Bob share a Bell pair.
- Alice applies CNOT and H to her qubit and the Bell qubit.
- Alice measures her 2 qubits and sends 2 classical bits to Bob.
- Bob applies X and/or Z corrections based on the classical bits, recovering Alice's original state.
Quantum Error Correction (QEC) Overview
Physical qubits experience bit-flip and phase-flip errors. QEC codes (Shor Code, Steane Code, Surface Code) encode one logical qubit into multiple physical qubits. The Surface Code is the most promising approach, requiring hundreds to thousands of physical qubits per logical qubit.
5. Landmark Quantum Algorithms
Deutsch-Jozsa Algorithm
Determines whether a function is constant or balanced in exactly 1 query. Classically, worst case requires queries. This was the first proof of quantum advantage.
Grover's Search Algorithm
Finds a target in an unsorted database of N items in queries. Classical brute-force requires , so Grover provides a quadratic speedup.
from qiskit.circuit.library import GroverOperator
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
# 2-qubit Grover search (target: |11>)
oracle = QuantumCircuit(2)
oracle.cz(0, 1) # Oracle: applies phase -1 to |11>
grover_op = GroverOperator(oracle)
qc = QuantumCircuit(2)
qc.h([0, 1]) # Uniform superposition
qc.compose(grover_op, inplace=True) # Grover iteration
qc.measure_all()
simulator = AerSimulator()
job = simulator.run(qc, shots=1000)
result = job.result()
print(result.get_counts())
# |11> appears with high probability
Shor's Factoring Algorithm
Factors an integer N into its prime components in polynomial time. The best classical algorithm (GNFS) runs in sub-exponential time , making Shor exponentially faster.
This is why RSA and ECC encryption are threatened. In response, NIST published Post-Quantum Cryptography (PQC) standards in 2024.
Quantum Fourier Transform (QFT)
Performs the Discrete Fourier Transform using quantum gates, exponentially faster than classical FFT at . It is the core subroutine in Shor's algorithm and quantum phase estimation.
QAOA (Quantum Approximate Optimization Algorithm)
A variational quantum algorithm for combinatorial optimization problems (Max-Cut, TSP, scheduling). It operates as a hybrid of classical optimizer and quantum circuit, making it suitable for near-term NISQ devices.
6. Quantum Errors and Noise
Error Types
Bit-flip error: or — an unintended X channel flip.
Phase-flip error: — a Z channel phase change.
Depolarizing channel: The most common noise model. With probability , one of X, Y, or Z is applied randomly:
Gate Fidelity on Current NISQ Devices
| Operation | Typical Error Rate |
|---|---|
| Single-qubit gate | Below 0.1% |
| Two-qubit CNOT gate | 0.5–1% |
| Readout | 1–2% |
| T1 coherence time | 100–500 microseconds |
Noise Simulation with Qiskit
from qiskit_aer.noise import NoiseModel, depolarizing_error
from qiskit_aer import AerSimulator
from qiskit import QuantumCircuit
# Build noise model
noise_model = NoiseModel()
error_1q = depolarizing_error(0.001, 1) # 0.1% single-qubit error
error_2q = depolarizing_error(0.01, 2) # 1% two-qubit error
noise_model.add_all_qubit_quantum_error(error_1q, ['h', 'x'])
noise_model.add_all_qubit_quantum_error(error_2q, ['cx'])
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
sim = AerSimulator(noise_model=noise_model)
job = sim.run(qc, shots=1000)
print(job.result().get_counts())
# Ideal: {'00': 500, '11': 500}
# With noise: small counts of '01', '10' appear
7. Quantum Machine Learning (QML)
Variational Quantum Algorithms (VQA)
VQA trains a parameterized quantum circuit (PQC) using a classical optimizer in a hybrid loop:
Key variants:
- VQE (Variational Quantum Eigensolver): Molecular energy minimization
- QAOA: Combinatorial optimization
- QNN: Classification and regression
Data Encoding Strategies
| Method | Description | Qubit Cost |
|---|---|---|
| Angle encoding | Each feature encoded as Ry rotation angle | N features = N qubits |
| Amplitude encoding | Features stored in state vector amplitudes | log2(N) qubits |
| Basis encoding | Binary representation in computational basis | N bits = N qubits |
Implementing a QNN with PennyLane
import pennylane as qml
import numpy as np
dev = qml.device('default.qubit', wires=2)
@qml.qnode(dev)
def quantum_circuit(x, weights):
# Angle encoding
qml.AngleEmbedding(x, wires=[0, 1])
# Variational layer with entanglement
qml.BasicEntanglerLayers(weights, wires=[0, 1])
return qml.expval(qml.PauliZ(0))
# Input data and initial weights
x = np.array([0.5, 0.3])
weights = np.random.random((3, 2)) # 3 layers, 2 wires
result = quantum_circuit(x, weights)
print(f"Expectation value: {result:.4f}")
# Compute gradients via Parameter-Shift Rule
grad_fn = qml.grad(quantum_circuit, argnum=1)
gradients = grad_fn(x, weights)
print(f"Gradients: {gradients}")
Quantum Kernel Methods
Replace the classical kernel in SVMs with a quantum feature map:
A quantum computer efficiently computes inner products in a high-dimensional Hilbert space that is exponentially expensive to simulate classically.
Current Limitations of QML
- Barren Plateaus: As the number of qubits grows, gradients vanish exponentially, making training infeasible.
- Data Loading Bottleneck: Encoding classical data into quantum states (amplitude encoding) can negate quantum speedup.
- NISQ Noise: High error rates limit circuit depth and expressibility.
8. Quantum Hardware Landscape (2026)
Platform Comparison
| Company | Technology | Max Qubits | Highlights |
|---|---|---|---|
| IBM Quantum | Superconducting | Condor 1121 qubits | Cloud access, open-source Qiskit |
| Superconducting | Willow 105 qubits | Error correction milestone | |
| IonQ | Trapped ion | 36 algorithmic qubits | High fidelity |
| Quantinuum | Trapped ion | H2 56 qubits | Excellent TPCP operations |
| D-Wave | Quantum annealing | 5000+ qubits | Optimization-specific |
2026 Roadmap Summary
- Now: NISQ, 100–1000 physical qubits, error rates 0.1–1%
- 2027–2029: Early error correction, thousands of physical qubits → tens of logical qubits
- 2030+: Fault-tolerant quantum computing, target of millions of physical qubits
9. Quantum Cloud Access
Key Platforms
IBM Quantum (quantum.ibm.com): Free access to real devices with 127+ qubits. Based on the Qiskit SDK.
AWS Braket (aws.amazon.com/braket): Single API access to IonQ, Rigetti, D-Wave, and Amazon's own simulators.
Google Quantum AI (quantumai.google): Cirq framework, research collaboration access.
Azure Quantum (azure.microsoft.com/quantum): IonQ, Quantinuum, and Microsoft's topological qubit efforts.
Running on a Real IBM Quantum Device
from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler
from qiskit import QuantumCircuit
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
# Initialize IBM Quantum service (requires API token)
# service = QiskitRuntimeService(channel="ibm_quantum", token="YOUR_TOKEN")
service = QiskitRuntimeService()
# Select the least busy real device
backend = service.least_busy(operational=True, simulator=False)
print(f"Backend: {backend.name}")
print(f"Qubits: {backend.num_qubits}")
# Prepare and transpile circuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)
# Run with Sampler primitive
sampler = Sampler(mode=backend)
job = sampler.run([isa_circuit], shots=1000)
result = job.result()
print(result[0].data.meas.get_counts())
AWS Braket Example
from braket.aws import AwsDevice
from braket.circuits import Circuit
circuit = Circuit()
circuit.h(0)
circuit.cnot(0, 1)
circuit.measure([0, 1])
device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1")
task = device.run(circuit, shots=1000)
result = task.result()
print(result.measurement_counts)
10. Learning Roadmap and References
Learning Paths by Engineer Type
Software Engineers: Python → Qiskit basics → Quantum algorithms → QML with PennyLane
Electrical / Hardware Engineers: Quantum mechanics fundamentals → Physical qubit implementations → Circuit design → Error correction
AI / ML Engineers: Linear algebra deep dive → Quantum gates → PennyLane → Hybrid QML models
Essential References
- Nielsen & Chuang, Quantum Computation and Quantum Information (Cambridge, 2000) — the field's bible
- Qiskit documentation: qiskit.org
- PennyLane documentation: pennylane.ai
- IBM Quantum Learning: learning.quantum.ibm.com
- arXiv quant-ph section: latest research preprints
Quiz
Q1. What is the fundamental difference between a qubit and a classical bit?
Answer: A qubit can exist in a superposition of 0 and 1 simultaneously before measurement. A classical bit is always definitively either 0 or 1.
Explanation: With n qubits representing 2^n states simultaneously, a 300-qubit system can process more states than there are atoms in the observable universe. This exponential parallelism is the core promise of quantum computing.
Q2. What state does the Hadamard gate produce when applied to |0>?
Answer: The plus state — an equal superposition where measuring yields 0 or 1 with 50% probability each.
Explanation: Mathematically expressed as (1/sqrt(2))(|0> + |1>). This state is the starting point for most quantum algorithms, as it creates the uniform superposition needed for quantum parallelism.
Q3. Why does Shor's algorithm threaten RSA encryption?
Answer: Shor's algorithm solves integer factorization in polynomial time O((log N)^3), while the best classical algorithm requires sub-exponential time. Since RSA security relies on the hardness of factoring large numbers, a fault-tolerant quantum computer would be able to break current RSA encryption.
Explanation: This has motivated NIST to standardize Post-Quantum Cryptography (PQC) algorithms in 2024, designed to be secure against quantum attacks.
Q4. What is the NISQ era and why does it matter for engineers?
Answer: NISQ (Noisy Intermediate-Scale Quantum) describes today's quantum computers — 50 to several thousand qubits with error rates too high for full error correction.
Explanation: NISQ devices are powerful enough to explore near-term applications (QAOA, VQE, QML) but not yet capable of running deep fault-tolerant algorithms like Shor's. Engineers building quantum applications today must design algorithms that tolerate noise and work within shallow circuit depths.
Q5. What is the barren plateau problem in quantum machine learning?
Answer: As the number of qubits and circuit depth increases, the gradients of a quantum neural network vanish exponentially, making training practically impossible.
Explanation: Similar to the vanishing gradient problem in classical deep learning. Mitigation strategies include using local cost functions, careful circuit architecture design, layer-wise pre-training, and identity block initialization.
Quantum computing is still in its NISQ era, but the pace of progress is remarkable. Start with Qiskit and PennyLane today, and you will be well positioned when fault-tolerant quantum computers become a practical reality. The future belongs to engineers who understand both the quantum and classical worlds.