My Project
UNKNOWN_GIT_VERSION
factory
cf_hnf.h
Go to the documentation of this file.
1
/* emacs edit mode for this file is -*- C++ -*- */
2
#ifndef CF_HNF_H
3
#define CF_HNF_H
4
5
/*BEGINPUBLIC*/
6
7
#ifdef HAVE_NTL
8
9
/**
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 non-negative number
18
* strictly less than the diagonal entry in its column.
19
*
20
* @note: uses NTL
21
*
22
**/
23
24
CFMatrix
*
cf_HNF
(
CFMatrix
&
A
);
25
26
/**
27
* performs LLL reduction.
28
*
29
* B is an m x n matrix, viewed as m rows of n-vectors. m may be less
30
* than, equal to, or greater than n, and the rows need not be
31
* linearly independent. B is transformed into an LLL-reduced basis,
32
* and the return value is the rank r of B. The first m-r rows of B
33
* are zero.
34
*
35
* More specifically, elementary row transformations are performed on
36
* B so that the non-zero rows of new-B form an LLL-reduced basis
37
* for the lattice spanned by the rows of old-B.
38
* The default reduction parameter is delta=3/4, which means
39
* that the squared length of the first non-zero basis vector
40
* is no more than 2^{r-1} times that of the shortest vector in
41
* the lattice.
42
*
43
* @note: uses NTL
44
**/
45
46
CFMatrix
*
cf_LLL
(
CFMatrix
&
A
);
47
48
#endif
49
50
/*ENDPUBLIC*/
51
52
#endif
cf_HNF
CFMatrix * cf_HNF(CFMatrix &A)
The input matrix A is square matrix of integers output: the Hermite Normal Form of A; that is,...
Definition:
cf_hnf.cc:38
cf_LLL
CFMatrix * cf_LLL(CFMatrix &A)
performs LLL reduction.
Definition:
cf_hnf.cc:48
A
#define A
Definition:
sirandom.c:23
Matrix
Definition:
ftmpl_matrix.h:20
Generated on Mon Dec 2 2019 00:00:00 for My Project by
doxygen 1.8.15
for
Singular UNKNOWN_GIT_VERSION