Skip to content

Commit 0f544a7

Browse files
ikkohamt-imamichimergify[bot]
authored
Rename arguments in primitives (Qiskit#7818)
* Rename arguments in primitives * Apply suggestions from code review Co-authored-by: Takashi Imamichi <[email protected]> Co-authored-by: Takashi Imamichi <[email protected]> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent c318725 commit 0f544a7

File tree

8 files changed

+65
-64
lines changed

8 files changed

+65
-64
lines changed

qiskit/primitives/base_estimator.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -198,36 +198,36 @@ def parameters(self) -> tuple[ParameterView, ...]:
198198
@abstractmethod
199199
def __call__(
200200
self,
201-
circuits: Sequence[int],
202-
observables: Sequence[int],
203-
parameters: Sequence[Sequence[float]],
201+
circuit_indices: Sequence[int],
202+
observable_indices: Sequence[int],
203+
parameter_values: Sequence[Sequence[float]],
204204
**run_options,
205205
) -> EstimatorResult:
206206
"""Run the estimation of expectation value(s).
207207
208-
``circuits``, ``observables``, and ``parameters`` should have the same length.
209-
The i-th element of the result is the expectation of observable
208+
``circuit_indices``, ``observable_indices``, and ``parameter_values`` should have the same
209+
length. The i-th element of the result is the expectation of observable
210210
211211
.. code-block:: python
212212
213-
obs = self.observables[observables[i]]
213+
obs = self.observables[observable_indices[i]]
214214
215215
for the state prepared by
216216
217217
.. code-block:: python
218218
219-
circ = self.circuits[circuits[i]]
219+
circ = self.circuits[circuit_indices[i]]
220220
221221
with bound parameters
222222
223223
.. code-block:: python
224224
225-
values = parameters[i].
225+
values = parameter_values[i].
226226
227227
Args:
228-
circuits: the list of circuit indices.
229-
observables: the list of observable indices.
230-
parameters: concrete parameters to be bound.
228+
circuit_indices: the list of circuit indices.
229+
observable_indices: the list of observable indices.
230+
parameter_values: concrete parameters to be bound.
231231
run_options: runtime options used for circuit execution.
232232
233233
Returns:

qiskit/primitives/base_sampler.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,19 +162,20 @@ def parameters(self) -> tuple[ParameterView, ...]:
162162
@abstractmethod
163163
def __call__(
164164
self,
165-
circuits: Sequence[int],
166-
parameters: Sequence[Sequence[float]],
165+
circuit_indices: Sequence[int],
166+
parameter_values: Sequence[Sequence[float]],
167167
**run_options,
168168
) -> SamplerResult:
169169
"""Run the sampling of bitstrings.
170170
171171
Args:
172-
circuits: indexes of the circuits to evaluate.
173-
parameters: parameters to be bound.
172+
circuit_indices: indexes of the circuits to evaluate.
173+
parameter_values: parameters to be bound.
174174
run_options: backend runtime options used for circuit execution.
175175
176176
Returns:
177177
the result of Sampler. The i-th result corresponds to
178-
``self.circuits[circuits[i]]`` evaluated with parameters bound as ``parameters[i]``.
178+
``self.circuits[circuit_indices[i]]`` evaluated with parameters bound as
179+
``parameter_values[i]``.
179180
"""
180181
...

qiskit/primitives/estimator.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -59,40 +59,40 @@ def __init__(
5959

6060
def __call__(
6161
self,
62-
circuits: Sequence[int] | None = None,
63-
observables: Sequence[int] | None = None,
64-
parameters: Sequence[Sequence[float]] | Sequence[float] | None = None,
62+
circuit_indices: Sequence[int] | None = None,
63+
observable_indices: Sequence[int] | None = None,
64+
parameter_values: Sequence[Sequence[float]] | Sequence[float] | None = None,
6565
**run_options,
6666
) -> EstimatorResult:
6767
if self._is_closed:
6868
raise QiskitError("The primitive has been closed.")
6969

70-
if parameters and not isinstance(parameters[0], Sequence):
71-
parameters = cast("Sequence[float]", parameters)
72-
parameters = [parameters]
70+
if parameter_values and not isinstance(parameter_values[0], Sequence):
71+
parameter_values = cast("Sequence[float]", parameter_values)
72+
parameter_values = [parameter_values]
7373
if (
74-
circuits is None
74+
circuit_indices is None
7575
and len(self._circuits) == 1
76-
and observables is None
76+
and observable_indices is None
7777
and len(self._observables) == 1
78-
and parameters is not None
78+
and parameter_values is not None
7979
):
80-
circuits = [0] * len(parameters)
81-
observables = [0] * len(parameters)
82-
if circuits is None:
83-
circuits = list(range(len(self._circuits)))
84-
if observables is None:
85-
observables = list(range(len(self._observables)))
86-
if parameters is None:
87-
parameters = [[]] * len(circuits)
88-
if len(circuits) != len(parameters):
80+
circuit_indices = [0] * len(parameter_values)
81+
observable_indices = [0] * len(parameter_values)
82+
if circuit_indices is None:
83+
circuit_indices = list(range(len(self._circuits)))
84+
if observable_indices is None:
85+
observable_indices = list(range(len(self._observables)))
86+
if parameter_values is None:
87+
parameter_values = [[]] * len(circuit_indices)
88+
if len(circuit_indices) != len(parameter_values):
8989
raise QiskitError(
90-
f"The number of circuits ({len(circuits)}) does not match "
91-
f"the number of parameter sets ({len(parameters)})."
90+
f"The number of circuit indices ({len(circuit_indices)}) does not match "
91+
f"the number of parameter value sets ({len(parameter_values)})."
9292
)
9393

9494
bound_circuits = []
95-
for i, value in zip(circuits, parameters):
95+
for i, value in zip(circuit_indices, parameter_values):
9696
if len(value) != len(self._parameters[i]):
9797
raise QiskitError(
9898
f"The number of values ({len(value)}) does not match "
@@ -101,7 +101,7 @@ def __call__(
101101
bound_circuits.append(
102102
self._circuits[i].bind_parameters(dict(zip(self._parameters[i], value)))
103103
)
104-
sorted_observables = [self._observables[i] for i in observables]
104+
sorted_observables = [self._observables[i] for i in observable_indices]
105105
expectation_values = []
106106
for circ, obs in zip(bound_circuits, sorted_observables):
107107
if circ.num_qubits != obs.num_qubits:

qiskit/primitives/estimator_result.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class EstimatorResult:
3232
result = estimator(circuits, observables, params)
3333
3434
where the i-th elements of ``result`` correspond to the circuit and observable given by
35-
`circuits[i]`, `observables[i]`, and the parameters bounds by `params[i]`.
35+
``circuit_indices[i]``, ``observable_indices[i]``, and the parameter_values bounds by ``params[i]``.
3636
For example, ``results.values[i]`` gives the expectation value, and ``result.metadata[i]``
3737
is a metadata dictionary for this circuit and parameters.
3838

qiskit/primitives/sampler.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,27 +64,27 @@ def __init__(
6464

6565
def __call__(
6666
self,
67-
circuits: Sequence[int] | None = None,
68-
parameters: Sequence[Sequence[float]] | None = None,
67+
circuit_indices: Sequence[int] | None = None,
68+
parameter_values: Sequence[Sequence[float]] | None = None,
6969
**run_options,
7070
) -> SamplerResult:
7171
if self._is_closed:
7272
raise QiskitError("The primitive has been closed.")
7373

74-
if circuits is None and parameters is not None and len(self._circuits) == 1:
75-
circuits = [0] * len(parameters)
76-
if circuits is None:
77-
circuits = list(range(len(self._circuits)))
78-
if parameters is None:
79-
parameters = [[]] * len(circuits)
80-
if len(circuits) != len(parameters):
74+
if circuit_indices is None and parameter_values is not None and len(self._circuits) == 1:
75+
circuit_indices = [0] * len(parameter_values)
76+
if circuit_indices is None:
77+
circuit_indices = list(range(len(self._circuits)))
78+
if parameter_values is None:
79+
parameter_values = [[]] * len(circuit_indices)
80+
if len(circuit_indices) != len(parameter_values):
8181
raise QiskitError(
82-
f"The number of circuits ({len(circuits)}) does not match "
83-
f"the number of parameter sets ({len(parameters)})."
82+
f"The number of circuit indices ({len(circuit_indices)}) does not match "
83+
f"the number of parameter value sets ({len(parameter_values)})."
8484
)
8585

8686
bound_circuits_qargs = []
87-
for i, value in zip(circuits, parameters):
87+
for i, value in zip(circuit_indices, parameter_values):
8888
if len(value) != len(self._parameters[i]):
8989
raise QiskitError(
9090
f"The number of values ({len(value)}) does not match "
@@ -101,7 +101,7 @@ def __call__(
101101
]
102102
quasis = [QuasiDistribution(dict(enumerate(p))) for p in probabilities]
103103

104-
return SamplerResult(quasis, [{}] * len(circuits))
104+
return SamplerResult(quasis, [{}] * len(circuit_indices))
105105

106106
def close(self):
107107
self._is_closed = True

qiskit/primitives/sampler_result.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ class SamplerResult:
3030
3131
result = sampler(circuits, params)
3232
33-
where the i-th elements of ``result`` correspond to the circuit given by ``circuits[i]``,
34-
and the parameters bounds by ``params[i]``.
33+
where the i-th elements of ``result`` correspond to the circuit given by ``circuit_indices[i]``,
34+
and the parameter_values bounds by ``params[i]``.
3535
For example, ``results.quasi_dists[i]`` gives the quasi-probabilities of bitstrings, and
3636
``result.metadata[i]`` is a metadata dictionary for this circuit and parameters.
3737

test/python/primitives/test_estimator.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,15 @@ def test_estimator(self):
4747
observable = PauliSumOp.from_list(lst)
4848
ansatz = RealAmplitudes(num_qubits=2, reps=2)
4949
with Estimator([ansatz], [observable]) as est:
50-
result = est(parameters=[0, 1, 1, 2, 3, 5])
50+
result = est(parameter_values=[0, 1, 1, 2, 3, 5])
5151
self.assertIsInstance(result, EstimatorResult)
5252
np.testing.assert_allclose(result.values, [1.84209213])
5353

5454
with self.subTest("SparsePauliOp"):
5555
observable = SparsePauliOp.from_list(lst)
5656
ansatz = RealAmplitudes(num_qubits=2, reps=2)
5757
with Estimator([ansatz], [observable]) as est:
58-
result = est(parameters=[0, 1, 1, 2, 3, 5])
58+
result = est(parameter_values=[0, 1, 1, 2, 3, 5])
5959
self.assertIsInstance(result, EstimatorResult)
6060
np.testing.assert_allclose(result.values, [1.84209213])
6161

@@ -64,7 +64,7 @@ def test_estimator_param_reverse(self):
6464
observable = PauliSumOp.from_list([("XX", 1), ("YY", 2), ("ZZ", 3)])
6565
ansatz = RealAmplitudes(num_qubits=2, reps=2)
6666
with Estimator([ansatz], [observable], [ansatz.parameters[::-1]]) as est:
67-
result = est(parameters=[0, 1, 1, 2, 3, 5][::-1])
67+
result = est(parameter_values=[0, 1, 1, 2, 3, 5][::-1])
6868
self.assertIsInstance(result, EstimatorResult)
6969
np.testing.assert_allclose(result.values, [1.84209213])
7070

@@ -98,14 +98,14 @@ def test_init_observable_from_operator(self):
9898
def test_evaluate(self):
9999
"""test for evaluate"""
100100
with Estimator([self.ansatz], [self.observable]) as est:
101-
result = est(parameters=[0, 1, 1, 2, 3, 5])
101+
result = est(parameter_values=[0, 1, 1, 2, 3, 5])
102102
self.assertIsInstance(result, EstimatorResult)
103103
np.testing.assert_allclose(result.values, [-1.284366511861733])
104104

105105
def test_evaluate_multi_params(self):
106106
"""test for evaluate with multiple parameters"""
107107
with Estimator([self.ansatz], [self.observable]) as est:
108-
result = est(parameters=[[0, 1, 1, 2, 3, 5], [1, 1, 2, 3, 5, 8]])
108+
result = est(parameter_values=[[0, 1, 1, 2, 3, 5], [1, 1, 2, 3, 5, 8]])
109109
self.assertIsInstance(result, EstimatorResult)
110110
np.testing.assert_allclose(result.values, [-1.284366511861733, -1.3187526349078742])
111111

@@ -124,7 +124,7 @@ def test_run_with_multiple_observables_and_none_parameters(self):
124124
circuit.cx(0, 1)
125125
circuit.cx(1, 2)
126126
with Estimator(circuit, ["ZZZ", "III"]) as est:
127-
result = est(circuits=[0, 0], observables=[0, 1])
127+
result = est(circuit_indices=[0, 0], observable_indices=[0, 1])
128128
self.assertIsInstance(result, EstimatorResult)
129129
np.testing.assert_allclose(result.values, [0.0, 1.0])
130130

test/python/primitives/test_sampler.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,15 @@ def test_sampler(self, indices):
8484
"""test for sampler"""
8585
circuits, target = self._generate_circuits_target(indices)
8686
with Sampler(circuits=circuits) as sampler:
87-
result = sampler(parameters=[[] for _ in indices])
87+
result = sampler(parameter_values=[[] for _ in indices])
8888
self._compare_probs(result.quasi_dists, target)
8989

9090
@combine(indices=[[0], [1], [0, 1]])
9191
def test_sampler_pqc(self, indices):
9292
"""test for sampler with a parametrized circuit"""
9393
params, target = self._generate_params_target(indices)
9494
with Sampler(circuits=self._pqc) as sampler:
95-
result = sampler(parameters=params)
95+
result = sampler(parameter_values=params)
9696
self._compare_probs(result.quasi_dists, target)
9797

9898
@combine(indices=[[0, 0], [0, 1], [1, 1]])
@@ -101,7 +101,7 @@ def test_evaluate_two_pqcs(self, indices):
101101
circs = [self._pqc, self._pqc]
102102
params, target = self._generate_params_target(indices)
103103
with Sampler(circuits=circs) as sampler:
104-
result = sampler(parameters=params)
104+
result = sampler(parameter_values=params)
105105
self._compare_probs(result.quasi_dists, target)
106106

107107
def test_sampler_example(self):
@@ -114,7 +114,7 @@ def test_sampler_example(self):
114114

115115
# executes a Bell circuit
116116
with Sampler(circuits=[bell], parameters=[[]]) as sampler:
117-
result = sampler(parameters=[[]], circuits=[0])
117+
result = sampler(parameter_values=[[]], circuits=[0])
118118
self.assertIsInstance(result, SamplerResult)
119119
self.assertEqual(len(result.quasi_dists), 1)
120120
keys, values = zip(*sorted(result.quasi_dists[0].items()))

0 commit comments

Comments
 (0)