Amplitude-based

Amplitude Encoding

Encodes normalized feature vectors into quantum state amplitudes, achieving exponential compression.

Qubits

2

Depth

4

Total Gates

6

Simulability

Not simulable

Mathematical Formulation

ψ(x)=i=02n1xixi|\psi(\mathbf{x})\rangle = \sum_{i=0}^{2^n-1} \frac{x_i}{\|\mathbf{x}\|} |i\rangle

Description

Amplitude encoding maps an n-dimensional classical feature vector into the amplitudes of a quantum state using only ⌈log₂(n)⌉ qubits. This provides exponential compression of classical data into the quantum Hilbert space — for example, 1024 features can be encoded into just 10 qubits.

The trade-off is circuit depth: preparing an arbitrary quantum state requires O(2^n) gates via the Möttönen decomposition (uniformly controlled RY and RZ rotations with CNOT ladders). This makes amplitude encoding impractical on current NISQ hardware for large feature counts, though it is theoretically optimal for qubit efficiency.

A critical subtlety is normalization: the input vector must have unit L2 norm, so the encoding discards absolute magnitude information. Vectors [1, 2, 3] and [10, 20, 30] map to the same quantum state. Non-power-of-2 feature counts are zero-padded to the next power of 2.

Circuit Diagram

Property Radar

Properties

Qubits
2
Circuit Depth
4
Total Gates
6
Single-Qubit Gates
4
Two-Qubit Gates
2
Parameters
4
Entangling
Yes
Simulability
Not Simulable
Expressibility
Entanglement Capability
Trainability
0.50
Noise Resilience

Resource Scaling

How resource requirements grow with the number of input features.

FeaturesQubitsDepthGates2Q Gates
21220
42462
838146
164163014

Code Examples

Amplitude encoding with PennyLane. 4 features encoded into 2 qubits.

python
from encoding_atlas import AmplitudeEncoding
import pennylane as qml
import numpy as np

enc = AmplitudeEncoding(n_features=4)
dev = qml.device("default.qubit", wires=enc.n_qubits)

@qml.qnode(dev)
def circuit(x):
    enc.get_circuit(x, backend="pennylane")
    return qml.state()

x = np.array([0.5, 0.5, 0.5, 0.5])
state = circuit(x)

When to Use This Encoding

  • Encoding high-dimensional data with minimal qubit count
  • Quantum linear solvers (HHL algorithm) requiring state preparation
  • Quantum kernel methods (QSVM) with amplitude-based kernels
  • Quantum PCA and dimensionality reduction
  • Fault-tolerant quantum computing where deep circuits are acceptable

Pros & Cons

Advantages

  • Exponential compression: n features in ⌈log₂(n)⌉ qubits
  • Maximal expressibility — any quantum state is reachable
  • Ideal for high-dimensional datasets (e.g., images, genomics)
  • Theoretically optimal qubit efficiency

Limitations

  • Exponential circuit depth O(2^n) — impractical on NISQ hardware
  • Low trainability (~0.5) due to deep circuits and barren plateaus
  • L2 normalization discards magnitude information
  • Zero-padding wastes Hilbert space for non-power-of-2 features
  • Sensitive to noise accumulation in deep circuits

References

  1. [1]Möttönen, M., et al. (2005). Transformation of quantum states using uniformly controlled rotations. Quantum Information & Computation, 5(6), 467–473.
  2. [2]Shende, V.V., Bullock, S.S., & Markov, I.L. (2006). Synthesis of quantum-logic circuits. IEEE Transactions on Computer-Aided Design, 25(6), 1000–1010.
  3. [3]Schuld, M. & Petruccione, F. (2018). Supervised Learning with Quantum Computers. Springer.