qml.ops.qubit.attributes.Attribute¶
- class Attribute[source]¶
Bases:
set
Class to represent a set of operators with a certain attribute.
Example
Suppose we would like to store a list of which qubit operations are Pauli operators. We can create a new
Attribute
,pauli_ops
, like so, listing which operations satisfy this property.>>> pauli_ops = Attribute(["PauliX", "PauliZ"])
We can check either a string or an Operation for inclusion in this set:
>>> qml.X(0) in pauli_ops True >>> "Hadamard" in pauli_ops False
We can also dynamically add operators to the sets at runtime, by passing either a string, an operation class, or an operation itself. This is useful for adding custom operations to the attributes such as
composable_rotations
andself_inverses
that are used in compilation transforms.>>> pauli_ops.add("PauliY") >>> pauli_ops ["PauliX", "PauliY", "PauliZ"]
Methods
add
(obj)Add an Operator to an attribute.
Remove all elements from this set.
Return a shallow copy of a set.
Return the difference of two or more sets as a new set.
Remove all elements of another set from this set.
Remove an element from a set if it is a member.
Return the intersection of two sets as a new set.
Update a set with the intersection of itself and another.
Return True if two sets have a null intersection.
Report whether another set contains this set.
Report whether this set contains another set.
Remove and return an arbitrary set element.
Remove an element from a set; it must be a member.
Return the symmetric difference of two sets as a new set.
Update a set with the symmetric difference of itself and another.
Return the union of sets as a new set.
Update a set with the union of itself and others.
- clear()¶
Remove all elements from this set.
- copy()¶
Return a shallow copy of a set.
- difference()¶
Return the difference of two or more sets as a new set.
(i.e. all elements that are in this set but not the others.)
- difference_update()¶
Remove all elements of another set from this set.
- discard()¶
Remove an element from a set if it is a member.
If the element is not a member, do nothing.
- intersection()¶
Return the intersection of two sets as a new set.
(i.e. all elements that are in both sets.)
- intersection_update()¶
Update a set with the intersection of itself and another.
- isdisjoint()¶
Return True if two sets have a null intersection.
- issubset()¶
Report whether another set contains this set.
- issuperset()¶
Report whether this set contains another set.
- pop()¶
Remove and return an arbitrary set element. Raises KeyError if the set is empty.
- remove()¶
Remove an element from a set; it must be a member.
If the element is not a member, raise a KeyError.
- symmetric_difference()¶
Return the symmetric difference of two sets as a new set.
(i.e. all elements that are in exactly one of the sets.)
- symmetric_difference_update()¶
Update a set with the symmetric difference of itself and another.
- union()¶
Return the union of sets as a new set.
(i.e. all elements that are in either set.)
- update()¶
Update a set with the union of itself and others.