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)=Xx0Xx1Xxn10n=x0x1xn1|\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.