spielwiese
Last change
on this file since 9c0b20a was
9c0b20a,
checked in by Hans Schoenemann <hannes@…>, 13 years ago

LLL via system("LLL",M) for matrix (char 0)/intmat
gitsvnid: file:///usr/local/Singular/svn/trunk@13670 2c84dea37e6841379b89c4e89433aadc


Property mode set to
100644

File size:
1.3 KB

Line  

1  /* emacs edit mode for this file is * C++ * */ 

2  #ifndef CF_HNF_H 

3  #define CF_HNF_H 

4  

5  /*BEGINPUBLIC*/ 

6  

7  /* $Id$ */ 

8  

9  //{{{ docu 

10  // 

11  // The input matrix A is square matrix of integers 

12  // output: the Hermite Normal Form of A; that is, 

13  // the unique m x m matrix whose rows span L, such that 

14  // 

15  //  lower triangular, 

16  //  the diagonal entries are positive, 

17  //  any entry below the diagonal is a nonnegative number 

18  // strictly less than the diagonal entry in its column. 

19  // 

20  // via NTL:HNF 

21  // 

22  //}}} 

23  

24  CFMatrix* cf_HNF(CFMatrix& A); 

25  

26  // performs LLL reduction. 

27  

28  // B is an m x n matrix, viewed as m rows of nvectors. m may be less 

29  // than, equal to, or greater than n, and the rows need not be 

30  // linearly independent. B is transformed into an LLLreduced basis, 

31  // and the return value is the rank r of B. The first mr rows of B 

32  // are zero. 

33  

34  // More specifically, elementary row transformations are performed on 

35  // B so that the nonzero rows of newB form an LLLreduced basis 

36  // for the lattice spanned by the rows of oldB. 

37  // The default reduction parameter is delta=3/4, which means 

38  // that the squared length of the first nonzero basis vector 

39  // is no more than 2^{r1} times that of the shortest vector in 

40  // the lattice. 

41  

42  CFMatrix* cf_LLL(CFMatrix& A); 

43  

44  /*ENDPUBLIC*/ 

45  

46  #endif 

Note: See
TracBrowser
for help on using the repository browser.