Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REQUEST] Add Singular Value Decomposition #43

Open
dsm opened this issue Sep 2, 2022 · 5 comments
Open

[REQUEST] Add Singular Value Decomposition #43

dsm opened this issue Sep 2, 2022 · 5 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@dsm
Copy link

dsm commented Sep 2, 2022

Hi,
if it is possible, can someone add SVD transform .

@christophe0606 christophe0606 added enhancement New feature or request question Further information is requested labels Sep 2, 2022
@christophe0606
Copy link
Contributor

Hi @dsm ,

Thank for the request. It is definitely something I have on my to do list and that I'd like to add to the library.

But before I can start the work, I have concluded I need additional abstractions in CMSIS-DSP to make it easier to build complex kernels. Vectorization and manual unrolling are unfortunately generating codes which are not very readable and maintainable.
So, I need something to help me writing a maintainable (and quick) SVD implementation.

Also, I have not yet decided on which implementation. Some are very fast for small matrices but very slow for bigger ones.

I was thinking perhaps about Jacobi SVD and only for square matrices.

Would you need rectangular matrices also ?

In summary, it is on my to do list but I can communicate any schedule and it is likely to take time before it is available in the library.

@dsm
Copy link
Author

dsm commented Sep 2, 2022

Yes great to hear that, I need non-square matrices for pseudoinverse using SVD, I have 100-200 sensor data for curve fitting as 5 or 6 degree polynomial

@dsm
Copy link
Author

dsm commented Sep 2, 2022

if anything need, I can help

@dsm
Copy link
Author

dsm commented Sep 13, 2022

I think maybe implement svd using method of Golub and Reinsch, that repo is implement in pure c

SVD_golub_reinsch

Can you review this, please?

@christophe0606
Copy link
Contributor

@dsm It is indeed the Golub method I had planned to implement at some point.
Unfortunately, it won't be quick since I have lot of other things to do before.

But thanks for sharing this link. It looks interesting !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants