View source on GitHub |
Identifies a quantum object such as a qubit, qudit, resonator, etc.
Child classes represent specific types of objects, such as a qubit at a particular location on a chip or a qubit with a particular name.
The main criteria that a custom qid must satisfy is comparability. Child
classes meet this criteria by implementing the _comparison_key
method. For
example, cirq.LineQubit
's _comparison_key
method returns self.x
. This
ensures that line qubits with the same x
are equal, and that line qubits
will be sorted ascending by x
. Qid
implements all equality,
comparison, and hashing methods via _comparison_key
.
Attributes | |
---|---|
dimension
|
Returns the dimension or the number of quantum levels this qid has. E.g. 2 for a qubit, 3 for a qutrit, etc. |
Methods
validate_dimension
@staticmethod
validate_dimension( dimension: int ) -> None
Raises an exception if dimension
is not positive.
Raises | |
---|---|
ValueError
|
dimension is not positive.
|
with_dimension
with_dimension(
dimension: int
) -> 'Qid'
Returns a new qid with a different dimension.
Child classes can override. Wraps the qubit object by default.
Args | |
---|---|
dimension
|
The new dimension or number of levels. |
__eq__
__eq__(
other
)
Return self==value.
__ge__
__ge__(
other
)
Return self>=value.
__gt__
__gt__(
other
)
Return self>value.
__le__
__le__(
other
)
Return self<=value.
__lt__
__lt__(
other
)
Return self<value.
__ne__
__ne__(
other
)
Return self!=value.