Add get_parameter_instruction_indices method to QuantumCircuit #14749
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a new public method to query parameter indices in the parameter table, addressing issue #14747.
Changes
get_parameter_instruction_indices
method toCircuitData
(Rust)get_parameter_instruction_indices
method toQuantumCircuit
(Python)Testing
The implementation has been tested with various parameter usage patterns, including:
Fixes #14747
Summary:
A new method to query parameter usage locations in quantum circuits and fixes a bug in a test case loop condition.
get_parameter_instruction_indices
method in both the Rust backend and Python API, documentation updates, and a correction to a loop variable in a C test file.New Feature: Querying Parameter Usage Locations
crates/circuit/src/circuit_data.rs
: Added theget_parameter_instruction_indices
method to theCircuitData
implementation in the Rust backend. This method returns a list of tuples indicating where a parameter is used in the circuit, including handling global phase usage.qiskit/circuit/quantumcircuit.py
: Added theget_parameter_instruction_indices
method to theQuantumCircuit
Python class, exposing the functionality to users via the public API.releasenotes/notes/parameter-indices-query-method-57d121acd71833a8.yaml
: Documented the new method in the release notes, including its usage and behavior for global phase parameters.Bug Fix: Loop Variable Correction
test/c/test_circuit.c
: Fixed a bug in the loop condition of thetest_get_gate_counts_bv_resets_barrier_and_measures
function, ensuring the correct variable (j
) is used for iteration.