Skip to content

Commit bade918

Browse files
chores: imports improvements and inplace simplify
1 parent fe4fc33 commit bade918

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

mpqp/all.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,12 @@
5353
ComputationalBasis,
5454
ExpectationMeasure,
5555
HadamardBasis,
56-
Measure,
57-
Observable,
58-
VariableSizeBasis,
5956
)
57+
from .measures import I as Iop
58+
from .measures import Measure, Observable, VariableSizeBasis
59+
from .measures import X as Xop
60+
from .measures import Y as Yop
61+
from .measures import Z as Zop
6062
from .qasm import open_qasm_file_conversion_2_to_3, open_qasm_hard_includes
6163

6264
theta, k = symbols("θ k") # type: ignore
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# pyright: reportUnusedImport=false
2-
from .basis import ComputationalBasis, Basis, HadamardBasis, VariableSizeBasis
2+
from .basis import Basis, ComputationalBasis, HadamardBasis, VariableSizeBasis
33
from .basis_measure import BasisMeasure
44
from .expectation_value import ExpectationMeasure, Observable
55
from .measure import Measure
6+
from .pauli_string import I, X, Y, Z

mpqp/core/instruction/measurement/pauli_string.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,12 @@ def __eq__(self, other: object) -> bool:
138138
return False
139139
return self.to_dict() == other.to_dict()
140140

141-
def simplify(self) -> PauliString:
142-
"""Simplify the PauliString by combining like terms and removing terms with zero coefficients.
141+
def simplify(self, inplace: bool = False) -> PauliString:
142+
"""Simplify the PauliString by combining like terms and removing terms
143+
with zero coefficients.
144+
145+
Args:
146+
inplace: If the simplify should change self.
143147
144148
Example:
145149
>>> ps = I @ I - 2 * I @ I + Z @ I - Z @ I
@@ -166,6 +170,8 @@ def simplify(self) -> PauliString:
166170
res.monomials.append(
167171
PauliStringMonomial(0, [I for _ in range(self.nb_qubits)])
168172
)
173+
if inplace:
174+
self._monomials = res.monomials
169175
return res
170176

171177
def to_matrix(self) -> Matrix:
@@ -357,7 +363,7 @@ def __matmul__(self, other: PauliString):
357363
res @= other
358364
return res
359365

360-
def simplify(self):
366+
def simplify(self, inplace: bool = False):
361367
return deepcopy(self)
362368

363369
def __eq__(self, other: object) -> bool:

0 commit comments

Comments
 (0)