spielwiese
Last change
on this file since 26e030 was
2cfffe,
checked in by Hans Schönemann <hannes@…>, 21 years ago
|
This commit was generated by cvs2svn to compensate for changes in r6316,
which included commits to RCS files with non-trunk default branches.
git-svn-id: file:///usr/local/Singular/svn/trunk@6317 2c84dea3-7e68-4137-9b89-c4e89433aadc
|
-
Property mode set to
100644
|
File size:
906 bytes
|
Line | |
---|
1 | |
---|
2 | /**************************************************************************\ |
---|
3 | |
---|
4 | MODULE: HNF |
---|
5 | |
---|
6 | SUMMARY: |
---|
7 | |
---|
8 | A routine for computing Hermite Normal Forms |
---|
9 | |
---|
10 | \**************************************************************************/ |
---|
11 | |
---|
12 | |
---|
13 | #include <NTL/mat_ZZ.h> |
---|
14 | |
---|
15 | void HNF(mat_ZZ& W, const mat_ZZ& A, const ZZ& D); |
---|
16 | |
---|
17 | // The input matrix A is an n x m matrix of rank m (so n >= m), and D |
---|
18 | // is a multiple of the determinant of the lattice L spanned by the |
---|
19 | // rows of A. W is computed as the Hermite Normal Form of A; that is, |
---|
20 | // W is the unique m x m matrix whose rows span L, such that |
---|
21 | |
---|
22 | // - W is lower triangular, |
---|
23 | // - the diagonal entries are positive, |
---|
24 | // - any entry below the diagonal is a non-negative number |
---|
25 | // strictly less than the diagonal entry in its column. |
---|
26 | |
---|
27 | // Currently, this is implemented using the algorithm of [P. Domich, |
---|
28 | // R. Kannan and L. Trotter, Math. Oper. Research 12:50-59, 1987]. |
---|
29 | |
---|
Note: See
TracBrowser
for help on using the repository browser.