code: def covariance_eigvals(self):
          
  
          if not np.isnan(np.sum(self.covariance)):
              eigvals = np.linalg.eigvals(self.covariance)
              if np.any(eigvals < 0):    # negative variance
                  return (np.nan, np.nan) * u.pix**2  # pragma: no cover
              return (np.max(eigvals), np.min(eigvals)) * u.pix**2
          else:
              return (np.nan, np.nan) * u.pix**2
docs: The two eigenvalues of the `covariance` matrix in decreasing
          order.