Skip to content

Ensure that the covariance matrices are positive semi-definite (PSD)#16

Open
zeyuxie29 wants to merge 1 commit intohaoheliu:mainfrom
zeyuxie29:fix_fid
Open

Ensure that the covariance matrices are positive semi-definite (PSD)#16
zeyuxie29 wants to merge 1 commit intohaoheliu:mainfrom
zeyuxie29:fix_fid

Conversation

@zeyuxie29
Copy link

Ensure that the covariance matrices are positive semi-definite (PSD) to prevent errors in the calculation of imaginary components arising from negative eigenvalues.

​​Reason for Imaginary Components​

Covariance matrices are theoretically positive semi-definite (PSD). However, due to floating-point arithmetic errors, their estimated values may become near-psd with tiny negative eigenvalues. When computing covmean (e.g., via operations like sqrtm()), this numerical instability can lead to non-real (complex) results, causing runtime errors in the code.

​​Summary of Changes:​​

  • ​​Check Positivity:​​ Calculate eigenvalues of covariance matrices and identify if either matrix has a negative minimum eigenvalue.

  • ​​Regularize Non-Positive-Definite Matrices:​​ For matrices with negative minima, add eps * I to enforce strict positive definiteness.

…errors in the calculation of imaginary components.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants