My Project
|
HNF/LLL of NTL. More...
#include "config.h"
#include "canonicalform.h"
#include "cf_defs.h"
#include "cf_hnf.h"
#include "cf_util.h"
#include "NTLconvert.h"
#include <NTL/mat_ZZ.h>
#include <NTL/HNF.h>
#include <NTL/LLL.h>
#include "FLINTconvert.h"
Go to the source code of this file.
Functions | |
CFMatrix * | cf_HNF (CFMatrix &A) |
The input matrix A is an n x m matrix of rank m (so n >= m), and D is a multiple of the determinant of the lattice L spanned by the rows of A. More... | |
CFMatrix * | cf_LLL (CFMatrix &A) |
performs LLL reduction. More... | |
The input matrix A is an n x m matrix of rank m (so n >= m), and D is a multiple of the determinant of the lattice L spanned by the rows of A.
The input matrix A is square matrix of integers output: the Hermite Normal Form of A; that is, the unique m x m matrix whose rows span L, such that.
W is computed as the Hermite Normal Form of A; that is, W is the unique m x m matrix whose rows span L, such that
Definition at line 44 of file cf_hnf.cc.
performs LLL reduction.
B is an m x n matrix, viewed as m rows of n-vectors. m may be less than, equal to, or greater than n, and the rows need not be linearly independent. B is transformed into an LLL-reduced basis, and the return value is the rank r of B. The first m-r rows of B are zero.
More specifically, elementary row transformations are performed on B so that the non-zero rows of new-B form an LLL-reduced basis for the lattice spanned by the rows of old-B. The default reduction parameter is delta=3/4, which means that the squared length of the first non-zero basis vector is no more than 2^{r-1} times that of the shortest vector in the lattice.
Definition at line 66 of file cf_hnf.cc.