Ignored if None. Default: None.
Returns:
      A named tuple (eigenvalues, eigenvectors) which corresponds to
      \Lambda and Q above.
  *eigenvalues* will always be real-valued, even when "A" is
  complex. It will also be ordered in ascending order.

  *eigenvectors* will have the same dtype as "A" and will contain
  the eigenvectors as its columns.

Examples::
      >>> A = torch.randn(2, 2, dtype=torch.complex128)
      >>> A = A + A.T.conj()  # creates a Hermitian matrix
      >>> A
      tensor([[2.9228+0.0000j, 0.2029-0.0862j],
              [0.2029+0.0862j, 0.3464+0.0000j]], dtype=torch.complex128)
      >>> L, Q = torch.linalg.eigh(A)
      >>> L
      tensor([0.3277, 2.9415], dtype=torch.float64)
      >>> Q
      tensor([[-0.0846+-0.0000j, -0.9964+0.0000j],
              [ 0.9170+0.3898j, -0.0779-0.0331j]], dtype=torch.complex128)
      >>> torch.dist(Q @ torch.diag(L.cdouble()) @ Q.T.conj(), A)
      tensor(6.1062e-16, dtype=torch.float64)