def __init__()

in src/braket/default_simulator/observables.py [0:0]


    def __init__(self, matrix: np.ndarray, targets: Optional[List[int]] = None):
        clone = np.array(matrix, dtype=complex)
        self._targets = tuple(targets) if targets else None
        if targets:
            check_matrix_dimensions(clone, self._targets)
        elif clone.shape != (2, 2):
            raise ValueError(
                f"Matrix must have shape (2, 2) if target is empty, but has shape {clone.shape}"
            )
        check_hermitian(clone)
        self._matrix = clone
        eigendecomposition = Hermitian._eigendecomposition(clone)
        self._eigenvalues = eigendecomposition["eigenvalues"]
        self._diagonalizing_matrix = eigendecomposition["eigenvectors"].conj().T