Skip to content

Commit 95dcc42

Browse files
Adding BlockCollector classes to documentation (Qiskit#14575) (Qiskit#14579)
(cherry picked from commit 19a1fd1) Co-authored-by: Alexander Ivrii <[email protected]>
1 parent a7991d3 commit 95dcc42

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

qiskit/dagcircuit/__init__.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,18 @@
3636
3737
.. autoexception:: DAGCircuitError
3838
.. autoexception:: DAGDependencyError
39+
40+
Utilities
41+
=========
42+
43+
.. autosummary::
44+
:toctree: ../stubs/
45+
46+
BlockCollapser
47+
BlockCollector
48+
BlockSplitter
3949
"""
50+
from .collect_blocks import BlockCollapser, BlockCollector, BlockSplitter
4051
from .dagcircuit import DAGCircuit
4152
from .dagnode import DAGNode, DAGOpNode, DAGInNode, DAGOutNode
4253
from .dagdepnode import DAGDepNode

qiskit/dagcircuit/collect_blocks.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717

1818
from collections.abc import Iterable, Callable
1919

20-
from qiskit.dagcircuit import DAGDepNode
21-
2220
from qiskit.circuit import QuantumCircuit, CircuitInstruction, ClassicalRegister, Bit
2321
from qiskit.circuit.controlflow import condition_resources
24-
from . import DAGOpNode, DAGCircuit, DAGDependency
22+
from qiskit.dagcircuit.dagcircuit import DAGCircuit
23+
from qiskit.dagcircuit.dagdependency import DAGDependency
24+
from qiskit.dagcircuit.dagnode import DAGOpNode
25+
from qiskit.dagcircuit.dagdepnode import DAGDepNode
2526
from .exceptions import DAGCircuitError
2627

2728

@@ -323,15 +324,18 @@ def split_block_into_layers(block: list[DAGOpNode | DAGDepNode]):
323324

324325
class BlockCollapser:
325326
"""This class implements various strategies of consolidating blocks of nodes
326-
in a DAG (direct acyclic graph). It works both with the
327-
:class:`~qiskit.dagcircuit.DAGCircuit` and
328-
:class:`~qiskit.dagcircuit.DAGDependency` DAG representations.
327+
in a DAG (direct acyclic graph). It works both with
328+
the :class:`~qiskit.dagcircuit.DAGCircuit`
329+
and :class:`~qiskit.dagcircuit.DAGDependency` DAG representations.
329330
"""
330331

331332
def __init__(self, dag):
332333
"""
333334
Args:
334335
dag (Union[DAGCircuit, DAGDependency]): The input DAG.
336+
337+
Raises:
338+
DAGCircuitError: the input object is not a DAG.
335339
"""
336340

337341
self.dag = dag

0 commit comments

Comments
 (0)