Entangling Feature Maps

Pauli Feature Map

Generalized feature map with configurable Pauli rotation strings for custom feature interactions.

Qubits

4

Depth

10

Total Gates

52

Simulability

Not simulable

Mathematical Formulation

UΦ(x)=∏S⊆[n]exp⁡(iϕS(x)∏k∈SPk),Pk∈{X,Y,Z}U_{\Phi}(\mathbf{x}) = \prod_{S \subseteq [n]} \exp\left(i \phi_S(\mathbf{x}) \prod_{k \in S} P_k\right), \quad P_k \in \{X, Y, Z\}

Description

The Pauli Feature Map generalizes the ZZ Feature Map by allowing arbitrary Pauli operator strings for both single-qubit and two-qubit interactions. Instead of being restricted to Z-basis operations, the encoding supports any combination of Pauli operators (X, Y, Z) in both single and two-qubit terms, enabling richer and more flexible feature maps.

Each layer applies Hadamard gates for superposition, then single-qubit Pauli rotations (e.g., RZ, RX, RY) with feature-dependent angles, followed by two-qubit Pauli interaction gates (e.g., ZZ, XX, YY, XZ). The two-qubit terms are decomposed into CNOT gates with basis-change rotations when non-Z Paulis are involved, increasing circuit depth for X and Y terms.

This flexibility makes the Pauli Feature Map the most versatile entangling encoding in the library, suitable for research applications where custom feature interaction kernels are needed. The default configuration uses ["Z", "ZZ"] Pauli strings, which is equivalent to the ZZ Feature Map.

Circuit Diagram

Property Radar

Properties

Qubits
4
Circuit Depth
10
Total Gates
52
Single-Qubit Gates
28
Two-Qubit Gates
24
Parameters
0
Entangling
Yes
Simulability
Not Simulable
Expressibility
—
Entanglement Capability
—
Trainability
0.40
Noise Resilience
—

Resource Scaling

How resource requirements grow with the number of input features.

FeaturesQubitsDepthGates2Q Gates
2210144
44105224
8810200112
161610784480

Code Examples

Pauli Feature Map with PennyLane using default Z+ZZ Pauli strings.

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

enc = PauliFeatureMap(n_features=4, reps=2, paulis=["Z", "ZZ"])
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.1, 0.5, 1.2, 2.3])
state = circuit(x)

When to Use This Encoding

  • Custom quantum kernel design with specific Pauli interaction terms
  • Research into optimal feature map structures
  • Encoding domain-specific feature interactions (e.g., XX for correlation-sensitive data)
  • Quantum kernel methods requiring non-standard feature maps
  • Benchmarking different Pauli term combinations

Pros & Cons

Advantages

  • Maximum flexibility — any Pauli operator combination
  • Subsumes ZZ Feature Map and other standard feature maps as special cases
  • Enables custom feature interaction kernels for domain-specific problems
  • Supports all entanglement topologies
  • Rich theoretical framework connecting Pauli terms to kernel expressibility

Limitations

  • Non-Z Pauli terms require basis-change gates, increasing depth
  • More complex configuration than simpler encodings
  • O(n²) scaling with full entanglement
  • Lower trainability with deeper circuits
  • Feature count limited to ~12 for practical use

References

  1. [1]Havlíček, V., et al. (2019). Supervised learning with quantum-enhanced feature spaces. Nature, 567(7747), 209–212.
  2. [2]Schuld, M. (2021). Supervised quantum machine learning models are kernel methods. arXiv:2101.11020.
  3. [3]Sim, S., Johnson, P.D., & Aspuru-Guzik, A. (2019). Expressibility and entangling capability of parameterized quantum circuits for hybrid quantum-classical algorithms. Advanced Quantum Technologies, 2(12), 1900070.