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

Sparse Matrix LU decomposition using full pivoting #385

Merged
merged 39 commits into from
May 31, 2015

Conversation

rjbaucells
Copy link
Collaborator

This pull request adds Sparse Matrix algorithms for LU decomposition using full pivoting to mathjs. The algorithms are a port from SuiteSparse library(C language) to JavaScript. The algorithms have been adapted to work with mathjs arithmetic operations so they will work fine with all supported data types.

An important feature of this implementation is that it adds the ability to order the Sparse Matrix to avoid introducing non-zero entries in the solution keeping the resulting matrices with a density of the same order as the original matrix.

The lusolve() function has been modified to accept LU decomposition using full pivoing (A[p,q] = L * U)

Only one new public API function is introduced to mathjs (slu()). The SuiteSparse library port is kept private to mathjs.

rjbaucells and others added 30 commits April 22, 2015 23:15
…parse

Conflicts:
	lib/type/matrix/SparseMatrix.js
josdejong added a commit that referenced this pull request May 31, 2015
Sparse Matrix LU decomposition using full pivoting
@josdejong josdejong merged commit 0c09a85 into josdejong:v2 May 31, 2015
@josdejong
Copy link
Owner

thanks a lot, impressive job again!

Do we have to add credit to the SuiteSparse library somewhere (besides references in the code comments)?

@rjbaucells
Copy link
Collaborator Author

I did not find that information anywhere, I will look in more details and let you know.

@josdejong
Copy link
Owner

I had a quick look but didn't see anything either. It's at least neat that you included references in the code comments.

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.

2 participants