acts-project / algebra-plugins

Mozilla Public License 2.0
3 stars 10 forks source link

Add the Singular Value Decomposition Method in `cmath` Plugin #79

Open beomki-yeo opened 1 year ago

beomki-yeo commented 1 year ago

While testing the kalman filtering in acts-project/traccc#264, I found that the smoothing results into non-positive-definite covariance matrix for single precision. It looks like we can correct the covariance matrix to be positive definite using the Singular Value Decomposition method as implemented in: https://github.com/acts-project/acts/blob/e1b8ebbf0511c4636df84eb77509efff5501d384/Core/include/Acts/EventData/detail/covariance_helper.hpp#L29-L49

Since Eigen and SMatrix already have the SVD functions, we only need to add it to cmath plugin