---
title: zz_feature_map (v2.1)
description: API reference for qiskit.circuit.library.zz_feature_map in qiskit v2.1
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/2.1/qiskit.circuit.library.zz_feature_map
---

# qiskit.circuit.library.zz\_feature\_map

`qiskit.circuit.library.zz_feature_map(feature_dimension, reps=2, entanglement='full', alpha=2.0, data_map_func=None, parameter_prefix='x', insert_barriers=False, name='ZZFeatureMap')`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.1/qiskit/circuit/library/data_preparation/pauli_feature_map.py#L249-L321)

Second-order Pauli-Z evolution circuit.

For 3 qubits and 1 repetition and linear entanglement the circuit is represented by:

```text
┌───┐┌────────────────┐
┤ H ├┤ P(2.0*φ(x[0])) ├──■───────────────────────────■───────────────────────────────────
├───┤├────────────────┤┌─┴─┐┌─────────────────────┐┌─┴─┐
┤ H ├┤ P(2.0*φ(x[1])) ├┤ X ├┤ P(2.0*φ(x[0],x[1])) ├┤ X ├──■───────────────────────────■──
├───┤├────────────────┤└───┘└─────────────────────┘└───┘┌─┴─┐┌─────────────────────┐┌─┴─┐
┤ H ├┤ P(2.0*φ(x[2])) ├─────────────────────────────────┤ X ├┤ P(2.0*φ(x[1],x[2])) ├┤ X ├
└───┘└────────────────┘                                 └───┘└─────────────────────┘└───┘
```

where $\varphi$ is a classical non-linear function, which defaults to $\varphi(x) = x$ if and $\varphi(x,y) = (\pi - x)(\pi - y)$.

**Examples**

```python
>>> from qiskit.circuit.library import ZZFeatureMap
>>> prep = zz_feature_map(2, reps=1)
>>> print(prep)
     ┌───┐┌─────────────┐
q_0: ┤ H ├┤ P(2.0*x[0]) ├──■──────────────────────────────────────■──
     ├───┤├─────────────┤┌─┴─┐┌────────────────────────────────┐┌─┴─┐
q_1: ┤ H ├┤ P(2.0*x[1]) ├┤ X ├┤ P(2.0*(pi - x[0])*(pi - x[1])) ├┤ X ├
     └───┘└─────────────┘└───┘└────────────────────────────────┘└───┘
```

```python
>>> from qiskit.circuit.library import efficient_su2
>>> classifier = zz_feature_map(3).compose(efficient_su2(3))
>>> classifier.num_parameters
15
>>> classifier.parameters  # 'x' for the data preparation, 'θ' for the SU2 parameters
ParameterView([
    ParameterVectorElement(x[0]), ParameterVectorElement(x[1]),
    ParameterVectorElement(x[2]), ParameterVectorElement(θ[0]),
    ParameterVectorElement(θ[1]), ParameterVectorElement(θ[2]),
    ParameterVectorElement(θ[3]), ParameterVectorElement(θ[4]),
    ParameterVectorElement(θ[5]), ParameterVectorElement(θ[6]),
    ParameterVectorElement(θ[7]), ParameterVectorElement(θ[8]),
    ParameterVectorElement(θ[9]), ParameterVectorElement(θ[10]),
    ParameterVectorElement(θ[11]), ParameterVectorElement(θ[12]),
    ParameterVectorElement(θ[13]), ParameterVectorElement(θ[14]),
    ParameterVectorElement(θ[15]), ParameterVectorElement(θ[16]),
    ParameterVectorElement(θ[17]), ParameterVectorElement(θ[18]),
    ParameterVectorElement(θ[19]), ParameterVectorElement(θ[20]),
    ParameterVectorElement(θ[21]), ParameterVectorElement(θ[22]),
    ParameterVectorElement(θ[23])
])
```

**Parameters**

- **feature\_dimension** ([*int*](https://docs.python.org/3/library/functions.html#int)) –
- **reps** ([*int*](https://docs.python.org/3/library/functions.html#int)) –
- **entanglement** ([*str*](https://docs.python.org/3/library/stdtypes.html#str) *| Sequence\[Sequence\[*[*int*](https://docs.python.org/3/library/functions.html#int)*]] | Callable\[\[*[*int*](https://docs.python.org/3/library/functions.html#int)*],* [*str*](https://docs.python.org/3/library/stdtypes.html#str) *| Sequence\[Sequence\[*[*int*](https://docs.python.org/3/library/functions.html#int)*]]]*) –
- **alpha** ([*float*](https://docs.python.org/3/library/functions.html#float)) –
- **data\_map\_func** (*Callable\[\[*[*Parameter*](/docs/api/qiskit/2.1/qiskit.circuit.Parameter "qiskit.circuit.Parameter")*],* [*ParameterExpression*](/docs/api/qiskit/2.1/qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")*] | None*) –
- **parameter\_prefix** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) –
- **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) –
- **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) –

**Return type**

[QuantumCircuit](/docs/api/qiskit/2.1/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
