My Project
Loading...
Searching...
No Matches
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
/**
8
*
9
* The input matrix A is square matrix of integers
10
* output: the Hermite Normal Form of A; that is,
11
* the unique m x m matrix whose rows span L, such that
12
*
13
* - lower triangular,
14
* - the diagonal entries are positive,
15
* - any entry below the diagonal is a non-negative number
16
* strictly less than the diagonal entry in its column.
17
*
18
* @note: uses NTL
19
*
20
**/
21
22
CFMatrix
*
FACTORY_PUBLIC
cf_HNF
(
CFMatrix
&
A
);
23
24
/**
25
* performs LLL reduction.
26
*
27
* B is an m x n matrix, viewed as m rows of n-vectors. m may be less
28
* than, equal to, or greater than n, and the rows need not be
29
* linearly independent. B is transformed into an LLL-reduced basis,
30
* and the return value is the rank r of B. The first m-r rows of B
31
* are zero.
32
*
33
* More specifically, elementary row transformations are performed on
34
* B so that the non-zero rows of new-B form an LLL-reduced basis
35
* for the lattice spanned by the rows of old-B.
36
* The default reduction parameter is delta=3/4, which means
37
* that the squared length of the first non-zero basis vector
38
* is no more than 2^{r-1} times that of the shortest vector in
39
* the lattice.
40
*
41
* @note: uses NTL or FLINT
42
**/
43
44
CFMatrix
*
FACTORY_PUBLIC
cf_LLL
(
CFMatrix
&
A
);
45
46
/*ENDPUBLIC*/
47
48
#endif
cf_HNF
CFMatrix *FACTORY_PUBLIC 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:44
cf_LLL
CFMatrix *FACTORY_PUBLIC cf_LLL(CFMatrix &A)
performs LLL reduction.
Definition:
cf_hnf.cc:66
Matrix
Definition:
ftmpl_matrix.h:29
FACTORY_PUBLIC
#define FACTORY_PUBLIC
Definition:
globaldefs.h:25
A
#define A
Definition:
sirandom.c:24
Generated on Mon Feb 27 2023 10:53:48 for My Project by
doxygen 1.9.5
for
Singular