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

# BlockCollapser

*class* `qiskit.dagcircuit.BlockCollapser(dag)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.1/qiskit/dagcircuit/collect_blocks.py#L340-L407)

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

This class implements various strategies of consolidating blocks of nodes in a DAG (direct acyclic graph). It works both with the [`DAGCircuit`](/docs/api/qiskit/2.1/qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") and [`DAGDependency`](/docs/api/qiskit/2.1/qiskit.dagcircuit.DAGDependency "qiskit.dagcircuit.DAGDependency") DAG representations.

**Parameters**

**dag** (*Union\[*[*DAGCircuit*](/docs/api/qiskit/2.1/qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")*,* [*DAGDependency*](/docs/api/qiskit/2.1/qiskit.dagcircuit.DAGDependency "qiskit.dagcircuit.DAGDependency")*]*) – The input DAG.

**Raises**

[**DAGCircuitError**](/docs/api/qiskit/2.1/dagcircuit#qiskit.dagcircuit.DAGCircuitError "qiskit.dagcircuit.DAGCircuitError") – the input object is not a DAG.

## Methods

### collapse\_to\_operation

`collapse_to_operation(blocks, collapse_fn)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.1/qiskit/dagcircuit/collect_blocks.py#L358-L407)

For each block, constructs a quantum circuit containing instructions in the block, then uses collapse\_fn to collapse this circuit into a single operation.
