Skip to content

Commit

Permalink
Added LU decomposition with complete pivoting (#160)
Browse files Browse the repository at this point in the history
* Added a "get" method to BaseMatrix.

This resolves issue #151.

* Added a "get_mut" function to BaseMatrixMut.

This is related to issue #151.

* Changed indentation and comments.

As discussed, changed "a point" to "an element" in the comments for the
"get" family of functions.

Also fixed the indentation of the new "get" and "get_mut" functions by
changing tabs to spaces.

* Added LU decomposition with complete pivoting, resolving #98

Added:
  * LUPQ, the result of unpacking a complete-pivot LU decomp.
  * FullPivLu, the parallel for PartialPivLu
  * A number of tests for full pivoting.

* Changed FullPivLu to only work with square matrices

* Added FullPivLu to the decomposition table

* Fixed a warning I overlooked in a test

* Fix issues brought up in PR

1) Remove unneeded "clone"
2) Fix bad stopping condition
3) Remove unneeded singularity check that is handled in
   another portion of the code.

* Fix the tolerance for determining rank

Instead of directly using T::epsilon to come up with a
numerical rank, we now use lu[[0,0]].abs() * T::epsilon.

* Change is_singular to is_invertible, other minor changes

* Fix bad 'is_invertible' behavior for empty matrix

* Fix a dumb typo in a comment
  • Loading branch information
prismatica authored and AtheMathmo committed Mar 24, 2017
1 parent 00e8b70 commit ca44ff6
Show file tree
Hide file tree
Showing 2 changed files with 465 additions and 16 deletions.
Loading

0 comments on commit ca44ff6

Please sign in to comment.