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

Supported Linear Algebra Operations? #110

Open
klausbu opened this issue Dec 12, 2023 · 1 comment
Open

Supported Linear Algebra Operations? #110

klausbu opened this issue Dec 12, 2023 · 1 comment

Comments

@klausbu
Copy link

klausbu commented Dec 12, 2023

I am thinking on implementing stronger, parallel preconditioners for "p".

Is there support for the following linear algebra operations:

1: general matrix x matrix multiplication
2: matrix x diagonal matrix multiplication where the diagonal value becomes the multiplication factor of its row or column depending on whether it's pre- or post multiplied - this might be implemented in a simpler way than the general matrix x matrix multiplication
3: subtraction of a matrix C from the identity matrix I i.e. M_temp = I - C
4: invert the diagonal D i.e. matrix Dinv_temp = 1.0/D
5: adding/subtracting matrices i.e. matrix J = M_temp +/- N_temp

@klausbu
Copy link
Author

klausbu commented Dec 13, 2023

1: general matrix x matrix multiplication >> not needed, there's a trick to avoid it
2: matrix (just lower will do) x diagonal matrix multiplication where the diagonal value becomes the multiplication factor of its row or column depending on whether it's pre- or post multiplied - this might be implemented in a simpler way than the general matrix x matrix multiplication
3: subtraction of a matrix C from the identity matrix I i.e. M_temp = I - C >> there is probably a workaround
4: invert the diagonal D i.e. matrix Dinv_temp = 1.0/D >> this is available, I found it when studying the source code
5: adding/subtracting matrices i.e. matrix J = M_temp +/- N_temp

  1. and 5. are open questions, 5. will probably also cover 3.

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

1 participant