---
title: TensoredMeasFitter (v0.46)
description: API reference for qiskit.utils.mitigation.TensoredMeasFitter in qiskit v0.46
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/0.46/qiskit.utils.mitigation.TensoredMeasFitter
---

# TensoredMeasFitter

*class* `qiskit.utils.mitigation.TensoredMeasFitter(results, mit_pattern, substate_labels_list=None, circlabel='')`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/utils/mitigation/fitters.py)

Bases: [`object`](https://docs.python.org/3/library/functions.html#object)

Deprecated: Measurement correction fitter for a tensored calibration.

Initialize a measurement calibration matrix from the results of running the circuits returned by measurement\_calibration\_circuits.

> **Warning**
>
> This class is not a public API. The internals are not stable and will likely change. It is used solely for the `measurement_error_mitigation_cls` kwarg of the [`QuantumInstance`](/docs/api/qiskit/0.46/qiskit.utils.QuantumInstance "qiskit.utils.QuantumInstance") class’s constructor (as a class not an instance). Anything outside of that usage does not have the normal user-facing API stability.

> **Deprecated since version 0.24.0**
>
> The class `qiskit.utils.mitigation.fitters.TensoredMeasFitter` is deprecated as of qiskit-terra 0.24.0. It will be removed in the Qiskit 1.0 release. For code migration guidelines, visit [https://qisk.it/qi\_migration](https://qisk.it/qi_migration).

**Parameters**

- **results** – the results of running the measurement calibration circuits. If this is None, the user will set calibration matrices later.
- **mit\_pattern** ([*List*](https://docs.python.org/3/library/typing.html#typing.List)*\[*[*List*](https://docs.python.org/3/library/typing.html#typing.List)*\[*[*int*](https://docs.python.org/3/library/functions.html#int)*]]*) – qubits to perform the measurement correction on, divided to groups according to tensors
- **substate\_labels\_list** ([*List*](https://docs.python.org/3/library/typing.html#typing.List)*\[*[*List*](https://docs.python.org/3/library/typing.html#typing.List)*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str)*]]*) – for each calibration matrix, the labels of its rows and columns. If None, the labels are ordered lexicographically
- **circlabel** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – if the qubits were labeled

**Raises**

[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – if the mit\_pattern doesn’t match the substate\_labels\_list

## Attributes

### cal\_matrices

Return cal\_matrices.

### filter

Return a measurement filter using the cal matrices.

### nqubits

Return \_qubit\_list\_sizes.

### substate\_labels\_list

Return \_substate\_labels\_list.

## Methods

### add\_data

`add_data(new_results, rebuild_cal_matrix=True)`

Add measurement calibration data

**Parameters**

- **new\_results** ([*list*](https://docs.python.org/3/library/stdtypes.html#list)  *or*[*qiskit.result.Result*](/docs/api/qiskit/0.46/qiskit.result.Result "qiskit.result.Result")) – a single result or list of Result objects.
- **rebuild\_cal\_matrix** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – rebuild the calibration matrix

### readout\_fidelity

`readout_fidelity(cal_index=0, label_list=None)`

Based on the results, output the readout fidelity, which is the average of the diagonal entries in the calibration matrices.

**Parameters**

- **cal\_index** (*integer*) – readout fidelity for this index in \_cal\_matrices
- **label\_list** ([*list*](https://docs.python.org/3/library/stdtypes.html#list)) – Returns the average fidelity over of the groups f states. In the form of a list of lists of states. If None, then each state used in the construction of the calibration matrices forms a group of size 1

**Returns**

The readout fidelity (assignment fidelity)

**Return type**

numpy.array

**Raises**

[**QiskitError**](/docs/api/qiskit/0.46/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – If the calibration matrix has not been set for the object.

**Additional Information:**

The on-diagonal elements of the calibration matrices are the probabilities of measuring state ‘x’ given preparation of state ‘x’.

### subset\_fitter

`subset_fitter(qubit_sublist)`

Return a fitter object that is a subset of the qubits in the original list.

This is only a partial implementation of the `subset_fitter` method since only mitigation patterns of length 1 are supported. This corresponds to patterns of the form `[[0], [1], [2], ...]`. Note however, that such patterns are a good first approximation to mitigate readout errors on large quantum circuits.

**Parameters**

**qubit\_sublist** ([*list*](https://docs.python.org/3/library/stdtypes.html#list)) – must be a subset of qubit\_list

**Returns**

**A new fitter that has the calibration for a**

subset of qubits

**Return type**

[TensoredMeasFitter](#qiskit.utils.mitigation.TensoredMeasFitter "qiskit.utils.mitigation.TensoredMeasFitter")

**Raises**

- [**QiskitError**](/docs/api/qiskit/0.46/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – If the calibration matrix is not initialized
- [**QiskitError**](/docs/api/qiskit/0.46/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – If the mit pattern is not a tensor of single-qubit measurement error mitigation.
- [**QiskitError**](/docs/api/qiskit/0.46/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – If a qubit in the given `qubit_sublist` is not in the list of qubits in the mit. pattern.
