90 lines
4.3 KiB
Plaintext
90 lines
4.3 KiB
Plaintext
---
|
||
title: CollectLinearFunctions (v0.8)
|
||
description: API reference for qiskit_ibm_transpiler.ai.CollectLinearFunctions in qiskit-ibm-transpiler v0.8
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit_ibm_transpiler.ai.CollectLinearFunctions
|
||
---
|
||
|
||
# CollectLinearFunctions
|
||
|
||
<Class id="qiskit_ibm_transpiler.ai.CollectLinearFunctions" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit-ibm-transpiler/tree/stable/0.8/qiskit_ibm_transpiler/ai/collection.py#L301-L338" signature="qiskit_ibm_transpiler.ai.CollectLinearFunctions(do_commutative_analysis: bool = True, min_block_size: int = 4, max_block_size: int = LINEAR_MAX_BLOCK_SIZE, collect_from_back: bool = False, num_reps: int = 10)" modifiers="class">
|
||
Bases: `RepeatedCollectAndCollapse`
|
||
|
||
Collects blocks of SWAP and CX as LinearFunction objects and stores the original sub-circuit to compare against it after synthesis.
|
||
|
||
**Parameters**
|
||
|
||
* **do\_commutative\_analysis** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")*, optional*) – Enable or disable commutative analysis, defaults to True
|
||
* **min\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*, optional*) – Set the minimum size for blocks generated during the collect linear functions pass, defaults to 4.
|
||
* **max\_block\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*, optional*) – Set the maximum size for blocks generated during the collect linear functions pass, defaults to 9.
|
||
* **collect\_from\_back** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")*, optional*) – Specify if collect blocks in reverse order or not, defaults to False.
|
||
* **num\_reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*, optional*) – Specify how many times to repeat the optimization process, defaults to 10.
|
||
|
||
## Methods
|
||
|
||
### execute
|
||
|
||
<Function id="qiskit_ibm_transpiler.ai.CollectLinearFunctions.execute" signature="execute(passmanager_ir, state, callback=None)">
|
||
Execute optimization task for input Qiskit IR.
|
||
|
||
**Parameters**
|
||
|
||
* **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.13)")) – Qiskit IR to optimize.
|
||
* **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – State associated with workflow execution by the pass manager itself.
|
||
* **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.13)")) – A callback function which is caller per execution of optimization task.
|
||
|
||
**Returns**
|
||
|
||
Optimized Qiskit IR and state of the workflow.
|
||
|
||
**Return type**
|
||
|
||
[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.13)"), [*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")]
|
||
</Function>
|
||
|
||
### name
|
||
|
||
<Function id="qiskit_ibm_transpiler.ai.CollectLinearFunctions.name" signature="name()">
|
||
Name of the pass.
|
||
|
||
**Return type**
|
||
|
||
[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")
|
||
</Function>
|
||
|
||
### run
|
||
|
||
<Function id="qiskit_ibm_transpiler.ai.CollectLinearFunctions.run" github="https://github.com/Qiskit/qiskit-ibm-transpiler/tree/stable/0.8/qiskit_ibm_transpiler/ai/collection.py#L234-L258" signature="run(dag)">
|
||
Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit
|
||
|
||
**Returns**
|
||
|
||
the optimized DAG.
|
||
|
||
**Return type**
|
||
|
||
DAGCircuit
|
||
</Function>
|
||
|
||
### update\_status
|
||
|
||
<Function id="qiskit_ibm_transpiler.ai.CollectLinearFunctions.update_status" signature="update_status(state, run_state)">
|
||
Update workflow status.
|
||
|
||
**Parameters**
|
||
|
||
* **state** ([*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")) – Pass manager state to update.
|
||
* **run\_state** (*RunState*) – Completion status of current task.
|
||
|
||
**Returns**
|
||
|
||
Updated pass manager state.
|
||
|
||
**Return type**
|
||
|
||
[*PassManagerState*](/api/qiskit/qiskit.passmanager.PassManagerState "(in Qiskit v1.2)")
|
||
</Function>
|
||
</Class>
|
||
|