Eigendecomposition failed because matrix is ill-conditioned

Hello,

I am currently trying to train a network involving an eigendecomposition step. I keep running into the same error : torch._C._LinAlgError: torch.linalg.eigh: (Batch element 0): The algorithm failed to converge because the input matrix is ill-conditioned or has too many repeated eigenvalues (error code: 50).

I know that matrices can be ill-conditionned for some task (e.g. inversion) but well-conditionned for another (e.g. eigendecomposition). Does anyone know what is meant by ‘ill conditionned’ in the above error ?
Related question : when computing the condition number of a matrix with torch.linalg.cond, what task does the result relates to ?

Thanks in advance !

1 Like