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

# BlockCollapser

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

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.4/qiskit/dagcircuit/collect_blocks.py#L334-L401)

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

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

**Parameters**

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

**Raises**

[**DAGCircuitError**](/docs/api/qiskit/2.4/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.4/qiskit/dagcircuit/collect_blocks.py#L352-L401)

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