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

Add matrix manipulation to scilib ? #7

Closed
aschneeberger opened this issue Apr 9, 2022 · 2 comments
Closed

Add matrix manipulation to scilib ? #7

aschneeberger opened this issue Apr 9, 2022 · 2 comments

Comments

@aschneeberger
Copy link

I am working on my pull request aiming to add the iterative solving method JFNK. However, it relies on a lot of upper triangular matrix manipulation. At the moment it is hardcoded in the solver itself. But it could be nice to begin to think of a way to implement matrixes in the crate.
Here are some ideas of methods and structures to implement.

  • Matrix Vec<Vec<T>>
  • Upper Triangular matrix
  • Lower Triangular matrix
  • Matrix product
  • Matrix inversion (knowing there are efficient algorithms for upper and lower triangular matrix)
  • Adding column
  • Adding row
@Gentil-N
Copy link
Contributor

Hello there!

Instead of implementing this by ourself, it could be intersting to use nalgebra which seems to be really common and well supported. Thereby, scilib could use strong basics (with high parallelism already implemented) and could be oriented on the scientist part.

Let see it with @At0micBee

@At0micBee
Copy link
Owner

Hello everyone,

I have indeed been considering it and I believe it could indeed be a good idea, at least in a first approach. My main reasoning for the crate is to try and make sure everything is in pure Rust, and has as few dependencies as possible. I don't doubt that the nalgebra crate is fast, but it is a dependency.

In the grand scheme of things it's not a big deal though. My suggestion is to use nalgebra to get everything to work, then if it becomes necessary (or someone is motivated) we can implemented our own version of matrices in the crate.

Let me know what you all think!

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

3 participants