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

FIX: Accuracy Issue Due to Pseudo Inverse #129

Merged
merged 3 commits into from
Nov 1, 2023
Merged

Conversation

skailasa
Copy link
Contributor

@skailasa skailasa commented Nov 1, 2023

When solving the linear system for the equivalent densities from the check potential we use a pseudo inverse, however this is a source of error due to the pseudo inverse which comes from multiplying its factors together as the diagonal matrix of singular values has very small/large numbers. This is alleviated by multiplying the diagonal matrix of singular values by either the left or right singular vectors, and storing the pseudo inverse in two components. This is known as the backward-stable pseudo inverse, though i haven't listed all of the details here, they can be found in the original paper of PVFMM. This fixes accuracies obtained in the FMM, and we are able to get all the digits we expect for higher orders.

@skailasa skailasa marked this pull request as ready for review November 1, 2023 17:17
@skailasa skailasa merged commit 8314acd into main Nov 1, 2023
12 checks passed
@skailasa skailasa deleted the fix/fmm-accuracy branch November 1, 2023 17:18
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.

1 participant