source: git/IntegerProgramming/LLL.h @ 6ba162

Last change on this file since 6ba162 was 6ba162, checked in by Hans Schönemann <hannes@…>, 23 years ago
This commit was generated by cvs2svn to compensate for changes in r4282, which included commits to RCS files with non-trunk default branches. git-svn-id: file:///usr/local/Singular/svn/trunk@4283 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.7 KB
1// LLL.h
3// This file contains the implementation of two special variants of the
4// LLL-algorithm.
5// For further explainations see the book of Henri Cohen, A Course in
6// Computational Algebraic Number Theory.
8// When performing the LLL-algorithm, some coefficients grow very fast.
9// Therefore one should use a  data type for arbitrary long integers
10// (called "BigInt" in the code).
11// If no such data type is specified, BigInt is defined to be a long
12// (cf. globals.h).
14#ifndef LLL_H
15#define LLL_H
17#include "globals.h"
19extern short relations(BigInt** b, const short& number_of_vectors,
20                       const short& vector_dimension, BigInt**& H);
21// Computes the relations of the input vectors stored in b and returns the
22// dimension r of the lattice spanned by these relations.
23// The return value -1 indicates that an error has occurred.
24// A LLL-reduced basis of the relations is written into the two-dimensional
25// array H. Memory allocation for this array is done in the routine;
26// when leaving the routine, the dimension will be vector_columns x r.
27// This routine corresponds to algorithm 2.7.2 in Cohen's book.
29extern short integral_LLL(BigInt **b, const short& number_of_vectors,
30                          const short& vector_dimension);
31// Reduces the input vectors stored in b (in the sense of an LLL-reduction).
32// The input vectors have to be linearly independent.
33// ATTENTION: The input vectors are modified during this algorithm. For
34// efficiency reasons in our application, we do NOT store a transformation
35// matrix!
36// The return value is -1 if an error has occurred, 0 else.
37// This routine corresponds to algorithm 2.6.7 in Cohen's book.
39#endif  // LLL_H
Note: See TracBrowser for help on using the repository browser.