- For now, I offer
- The fastest subroutine to calculate determinant of big matrice with big entries;
- A subroutine to calculate HNF of a matrice whose determinant is small in absolute value;
- PLU decomposition and inversion of a matrice modulo 2^64;
- Inversion of an integer upper-triangular matrice with small determinant and positive diagonal;
- Python binding to some methods of FLINT, called flint_sage;
- A subroutine to count an integer matrice determinant.
See filelist.txt. For build instructions, see flint.binding/python.flint.sage.README.
My new algorithm to compute integer matrice determinant: fmpz_mat_det_hermitian_decomposition()
Small-det HNF: nmod_mat_HNF_nonsquare()
and nmod_mat_HNF()
Mid-range target of the project is fast HNF computation with a new algorithm inspired by W.Stein double-determinant. Python wrapper is minimalistic and only contains functions required to reach the goal or to test/benchmark subroutines/algorithms.
The fastest in the open-source world subroutines to count big matrice determinant and small-det matrice Hermite form are a by-product.
FLINT and GMP data structures and subroutines are used.
- If you find out that some subroutine of Razin produces bad result or crashes, your bug-report is welcome. If it includes the following data: sample code including input data, description of what happens, expected result (in case you think output is wrong). For instance, if you think that fmpz_mat_hermite_form() works incorrectly, provide
- your code forming input matrice,
- output matrice,
- the correct output
FLINT: | C numerical/matrice library with save-every-penny approach to arithmetic. Here |
---|---|
krisk0/razin: | a research log and software package with quickest subroutines for integer linear algebra |
NTL: | C++ numerical/matrice library with gluttonous bigint constructor. Here |
Captain Flint: | fictional Caribbean adventurer (who said pirate?) |
Stepan Razin: | 16??-1671, kozak, rebel leader (who said gangster?) |