-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WIP: linalg: Make bareiss more flexible
We have several implementations of the Bareiss fraction-free row-reduction algorithm in the Julia ecosystem. The one in Base was added in #40868 to compute exact determinants. We also have implementations in MTK [1] and Modia [2]. The MTK and Modia versions additionally have support for custom pivot selection, open-code a sparse matrix data structure adapted to their domains and support rank-deficient matrices. I would like to separate out the algorithmic and data-structures concerns so that they may tested independently. Of course this function isn't particularly large, but implementing it correctly and performantly is still not trivial, so it seems better to have one implementation rather than three. [1] https://github.com/SciML/ModelingToolkit.jl/blob/master/src/systems/alias_elimination.jl#L236 [2] https://github.com/ModiaSim/ModiaBase.jl/blob/6c341eed72d9867553cb9565330d8ae85221b343/src/LinearIntegerEquations.jl#L204
- Loading branch information
1 parent
0cbacf2
commit 8321718
Showing
2 changed files
with
3,401 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.