-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update docstrings for PauliSum. #5596
Conversation
@@ -459,6 +476,21 @@ def qubits(self) -> Tuple[raw_types.Qid, ...]: | |||
return tuple(sorted(qs)) | |||
|
|||
def with_qubits(self, *new_qubits: 'cirq.Qid') -> 'PauliSum': | |||
"""Return a new PauliSum on `new_qubits`. | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can use some example here / highlight that self.qubits
will give a sorted list of all qubits used in the pauli sum; and new qubits will be mapped 1:1 with the sorted qubits.
The fact that pauli sum will always return a sorted list of qubits is tricky and could be helpful to provide some examples.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Were you thinking maybe a code snippet ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM % nits.
|
||
|
||
>>> a, b = cirq.GridQubit.rect(1, 2) | ||
>>> sum = cirq.PauliSum() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Can we show an example which constructs a non-empty pauli sum? Maybe using the .from_pauli_strings
method, since that's the recommended way?
>>> a, b = cirq.GridQubit.rect(1, 2) | ||
>>> psum = cirq.X(a) * cirq.X(b) + 3.0 * cirq.Y(a) | ||
>>> two_psum = 2 * psum | ||
>>> four_psum = two_psum + two_psum |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a print(four_sum)
statement before computing the expectation, for clarity.
qubits: Iterable of qubits, ordering to determine the computational | ||
basis of qubits. If none is provided the default ordering of | ||
`self.qubits` is used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
qubits: Iterable of qubits, ordering to determine the computational | |
basis of qubits. If none is provided the default ordering of | |
`self.qubits` is used. | |
qubits: Ordered collection of qubits that determine the subspace | |
in which the matrix representation of the Pauli sum is to | |
be computed. If none is provided the default ordering of | |
`self.qubits` is used. Qubits present in `qubits` but absent from | |
`self.qubits` are acted on by the identity. |
No description provided.