qml.grouping.observables_to_binary_matrix

observables_to_binary_matrix(observables, n_qubits=None, wire_map=None)[source]

Converts a list of Pauli words to the binary vector representation and yields a row matrix of the binary vectors.

The dimension of the binary vectors will be implied from the highest wire being acted on non-trivially by the Pauli words in observables.

Parameters
  • observables (list[Union[Identity, PauliX, PauliY, PauliZ, Tensor]]) – the list of Pauli words

  • n_qubits (int) – number of qubits to specify dimension of binary vector representation

  • wire_map (dict) – dictionary containing all wire labels used in the Pauli words as keys, and unique integer labels as their values

Returns

a matrix whose rows are Pauli words in binary vector representation

Return type

array[array[int]]

Example

>>> observables_to_binary_matrix([PauliX(0) @ PauliY(2), PauliZ(0) @ PauliZ(1) @ PauliZ(2)])
array([[1., 1., 0., 0., 1., 0.],
       [0., 0., 0., 1., 1., 1.]])