@classmethod
def _eigvals(cls, *params):
    'Eigenvalues of the observable.\n\n        The order of the eigenvalues needs to match the order of\n        the computational basis vectors when the observable is\n        diagonalized using :attr:`diagonalizing_gates`.\n\n        This is a *class method* that must be defined for all\n        new diagonal operations, that returns the eigenvalues\n        of the operator in the computational basis.\n\n        This private method allows eigenvalues to be computed\n        directly without instantiating the operators first.\n\n        To return the eigenvalues of *instantiated* operators,\n        please use the :attr:`~.Operator.eigvals` property instead.\n\n        **Example:**\n\n        >>> qml.PauliZ._eigvals()\n        >>> array([1, -1])\n\n        Returns:\n            array: eigenvalue representation\n        '
    raise NotImplementedError
Eigenvalues of the observable.

The order of the eigenvalues needs to match the order of
the computational basis vectors when the observable is
diagonalized using :attr:`diagonalizing_gates`.

This is a *class method* that must be defined for all
new diagonal operations, that returns the eigenvalues
of the operator in the computational basis.

This private method allows eigenvalues to be computed
directly without instantiating the operators first.

To return the eigenvalues of *instantiated* operators,
please use the :attr:`~.Operator.eigvals` property instead.

**Example:**

>>> qml.PauliZ._eigvals()
>>> array([1, -1])

Returns:
    array: eigenvalue representation
@classmethod
def _eigvals(cls, *params):
    'Eigenvalues of the observable.\n\n        The order of the eigenvalues needs to match the order of\n        the computational basis vectors when the observable is\n        diagonalized using :attr:`diagonalizing_gates`.\n\n        This is a *class method* that must be defined for all\n        new diagonal operations, that returns the eigenvalues\n        of the operator in the computational basis.\n\n        This private method allows eigenvalues to be computed\n        directly without instantiating the operators first.\n\n        To return the eigenvalues of *instantiated* operators,\n        please use the :attr:`~.Operator.eigvals` property instead.\n\n        **Example:**\n\n        >>> qml.PauliZ._eigvals()\n        >>> array([1, -1])\n\n        Returns:\n            array: eigenvalue representation\n        '
    raise NotImplementedError