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

Replace pseudoinverse #3

Open
PaulWAyers opened this issue Feb 3, 2022 · 1 comment
Open

Replace pseudoinverse #3

PaulWAyers opened this issue Feb 3, 2022 · 1 comment

Comments

@PaulWAyers
Copy link
Member

The current pseudoinverse (hard-coded) doesn't always converge because numpy uses an iterative(!) algorithm for SVD instead of a true factorization. The best solution I think is to default to the least-squares generalized inverse and allow users to use the SVD-based inverse if and only if they wish to. This also lets us eliminate the home-build pseudoinverse from the math library for Gopt.

This is what was done in the Procrustes package.
https://github.com/theochem/procrustes/blob/ad70b01578152d4f3c7570c065c7e2b1e8ac553b/procrustes/generic.py#L88

@tczorro do you want to take a crack at this, or do you want me to do it?

@tczorro
Copy link
Collaborator

tczorro commented Feb 4, 2022

@PaulWAyers Got a little busy this week. But I will take some this time weekend to check the SVD-based inverse function in GOpt. Will let you know the progress

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

No branches or pull requests

2 participants