Basis

Basis Encoding

Maps binary feature vectors directly to computational basis states using X gates.

Qubits

4

Depth

1

Total Gates

4

Simulability

Simulable

Mathematical Formulation

∣ψ(x)⟩=Xx0⊗Xx1⊗⋯⊗Xxn−1∣0⟩⊗n=∣x0x1⋯xn−1⟩|\psi(\mathbf{x})\rangle = X^{x_0} \otimes X^{x_1} \otimes \cdots \otimes X^{x_{n-1}} |0\rangle^{\otimes n} = |x_0 x_1 \cdots x_{n-1}\rangle

Description

Basis encoding is the most straightforward quantum encoding: each binary feature is mapped to a qubit in the computational basis. A feature value of 1 applies an X (NOT) gate to flip the qubit from |0⟩ to |1⟩, while a 0 leaves it unchanged. The result is a deterministic computational basis state with no superposition or entanglement.

For continuous data, a binarization threshold (default 0.5) converts features to binary before encoding. This means basis encoding inherently loses information about continuous-valued features, making it best suited for naturally binary or discrete data.

The encoding produces orthogonal quantum states for distinct inputs: ⟨ψ(x)|ψ(y)⟩ = δ_{x,y}. This perfect distinguishability makes it ideal for combinatorial optimization (QAOA, VQE), Grover search, and any algorithm operating on classical bit strings. Gate counts are data-dependent — all-zero inputs require no gates, while all-one inputs require n X gates.

Circuit Diagram

Property Radar

Properties

Qubits
4
Circuit Depth
1
Total Gates
4
Single-Qubit Gates
4
Two-Qubit Gates
0
Parameters
0
Entangling
No
Simulability
Simulable
Expressibility
—
Entanglement Capability
—
Trainability
1.00
Noise Resilience
—

Resource Scaling

How resource requirements grow with the number of input features.

FeaturesQubitsDepthGates2Q Gates
22120
44140
88180
16161160

Code Examples

Basis encoding with PennyLane, encoding binary vector [1,0,1,1].

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

enc = BasisEncoding(n_features=4, threshold=0.5)
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([1, 0, 1, 1])
state = circuit(x)  # |1011⟩

When to Use This Encoding

  • QAOA and VQE for combinatorial optimization
  • Grover search with classical bit string oracles
  • Encoding naturally binary/discrete datasets
  • Baseline comparisons in quantum ML benchmarks
  • Quantum error correction code initialization

Pros & Cons

Advantages

  • Simplest encoding — only X gates, no parameterized rotations
  • Constant depth (always 1) — maximally NISQ-friendly
  • Orthogonal states guarantee perfect distinguishability
  • No trainable parameters — deterministic and reproducible
  • Zero entanglement — trivially classically simulable

Limitations

  • Destroys continuous information via binarization
  • No superposition or entanglement — no quantum advantage
  • Minimal expressibility (only 2^n basis states reachable)
  • Linear qubit scaling (one qubit per feature)
  • Not useful for quantum kernel methods requiring rich feature maps

References

  1. [1]Nielsen, M.A. & Chuang, I.L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.
  2. [2]Schuld, M. & Petruccione, F. (2018). Supervised Learning with Quantum Computers. Springer.