---
title: ExecutorCircuitGenerator (latest version)
description: API reference for qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator in the latest version of qiskit-noise-learning
source: https://quantum.cloud.ibm.com/docs/en/api/qiskit-noise-learning/generated/circuit-generator-executor-circuit-generator
---

# qiskit\_noise\_learning.circuit\_generator.ExecutorCircuitGenerator

*class* `qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator(gate_set: QiskitGateSet, creg_prefix: str = 'meas', local_clifford_ref_prefix: str = 'c', pass_manager: PassManager | None = None)`

[GitHub](https://github.com/Qiskit/qiskit-noise-learning/tree/stable/0.1/qiskit_noise_learning/circuit_generator/executor_circuit_generator.py)

Bases: `CircuitGenerator`\[[`QuantumProgram`](/docs/api/qiskit-ibm-runtime/quantum-program-quantum-program "(in Qiskit Runtime IBM Client)"), [`ExecutorDataMapper`](/docs/api/qiskit-noise-learning/generated/circuit-generator-executor-data-mapper "qiskit_noise_learning.circuit_generator.executor_data_mapper.ExecutorDataMapper"), [`QuantumProgramResult`](/docs/api/qiskit-ibm-runtime/results-quantum-program-result "(in Qiskit Runtime IBM Client)")]

A circuit generator that converts sequences of Qiskit gates into a samplex items.

**Parameters**

- **gate\_set** – The Qiskit gate set that this generator constructs against.
- **creg\_prefix** – The prefix assigned to all creg names used in instruction sequence measurements. Defaults to `"meas"`.
- **local\_clifford\_ref\_prefix** – The prefix assigned to all local Clifford parameter references in template circuits. Defaults to `"c"`.
- **pass\_manager** – An optional `PassManager` to apply to all template circuits produced by [`ExecutorCircuitGenerator.generate()`](#qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate "qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate").

### \_\_init\_\_

`__init__(gate_set: QiskitGateSet, creg_prefix: str = 'meas', local_clifford_ref_prefix: str = 'c', pass_manager: PassManager | None = None)`

## Methods

|                                                                                                                                                                                                                                          |                                                                                      |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [`__init__`](#qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.__init__ "qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.__init__")(gate\_set\[, creg\_prefix, ...])                                    |                                                                                      |
| [`collect`](#qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.collect "qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.collect")(result, data\_mapper)                                                  | Coerce data from a specific execution framework into a canonical form.               |
| [`generate`](#qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate "qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate")(experiment)                                                         | Generate a new experimental task from the provided experiment.                       |
| [`generate_samplex_item`](#qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate_samplex_item "qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate_samplex_item")(instruction\_sequences, ...) | Generate a samplex item from instruction sequences with the same structure.          |
| [`generate_samplex_items`](#qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate_samplex_items "qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.generate_samplex_items")(...)                      | Generate samplex items from instruction sequences.                                   |
| `partition`(sequences)                                                                                                                                                                                                                   | Partition the positions of instruction sequences that can share a generation output. |

## Attributes

|                                                                                                                                                                      |                                                 |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| [`gate_set`](#qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.gate_set "qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator.gate_set") | The gate set this generator constructs against. |

### gate\_set

Type: [`QiskitGateSet`](/docs/api/qiskit-noise-learning/generated/gate-sets-qiskit-gate-set "qiskit_noise_learning.gate_sets.qiskit_gate_set.QiskitGateSet")

The gate set this generator constructs against.

### collect

*static* `collect(result, data_mapper)`

Coerce data from a specific execution framework into a canonical form.

### generate

`generate(experiment)`

Generate a new experimental task from the provided experiment.

### generate\_samplex\_items

`generate_samplex_items(instruction_sequences: list[InstructionSequence], num_randomizations: int) → tuple[list[SamplexItem], ExecutorDataMapper]`

Generate samplex items from instruction sequences.

**Parameters**

- **instruction\_sequences** – The instruction sequences to generate circuits for.
- **num\_randomizations** – The number of randomizations per sequence.

**Returns**

A tuple of samplex items and a data mapper.

### generate\_samplex\_item

`generate_samplex_item(instruction_sequences: list[InstructionSequence], num_randomizations: int) → tuple[SamplexItem, list[str], dict[str, ndarray[int]]]`

Generate a samplex item from instruction sequences with the same structure.

**Parameters**

- **instruction\_sequences** – The similar instruction sequences to generate.
- **num\_randomizations** – The number of randomizations per sequence.

**Returns**

A samplex item where the order of the arguments correspond to the order of `instruction_sequences`, an ordered list of creg names, and a dictionary mapping creg names to the ordered list of qubit indices they measure.

**Raises**

- [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – If `instruction_sequences` is empty.
- [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – If any of the instruction sequences is not complete.
- [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – If any of the instruction sequences have different structure.
