# HG changeset patch
# User Martin Albrecht <malb@informatik.unibremen.de>
# Date 1201345112 0
# Node ID e1d15edce9a1a181024f7bb023e66667a915536e
# Parent 91998f13b187fc782b1f2ec71ecf8005a9c5f825
documentation fixes for LLL documentation (fixes #1937)
diff r 91998f13b187 r e1d15edce9a1 sage/matrix/matrix_integer_dense.pyx
a

b

cdef class Matrix_integer_dense(matrix_d 
1548  1548  def LLL(self, delta=None, eta=None, algorithm=None, fp=None, prec=0, early_red = False, use_givens = False): 
1549  1549  r""" 
1550  1550  Returns LLL reduced or approximated LLL reduced lattice R for 
1551   self. 
 1551  this matrix interpreted as a lattice. 
1552  1552  
1553   A lattice is (delta, eta)LLLreduce if the two following 
1554   conditions hold: 
 1553  A lattice $(b_1, b_2, ..., b_d)$ is $(\delta, \eta)$LLLreduced 
 1554  if the two following conditions hold: 
1555  1555  
1556  1556  (a) For any $i>j$, we have $mu_{i, j} <= \eta$, 
1557  1557  (b) For any $i<d$, we have 
1558  1558  $\delta b_i^*^2 <= b_{i + 1}^* + mu_{i + 1, i} b_{i + 1}^* ^2$, 
1559  1559  
1560   The lattice is returned as a matrix. Also the rank (and the 
1561   determinant) of self are cached if those are computed during 
1562   the reduction. 
 1560  where $mu_{i,j} = <b_i, b_j^*>/<b_j^*,b_j^*>$ and $b_i^*$ is 
 1561  the $i$th vector of the GramSchmidt orthogonalisation of 
 1562  $(b_1, b_2, ..., b_d)$. 
1563  1563  
1564  1564  The default reduction parameters are $\delta=3/4$ and 
1565  1565  $eta=0.501$. The parameters $\delta$ and $\eta$ must satisfy: 
1566   $0.25 < \delta <= 1.0$ and $0.5 <= \eta < sqrt(\delta)$. 
 1566  $0.25 < \delta <= 1.0$ and $0.5 <= \eta < 
 1567  sqrt(\delta)$. Polynomial time complexity is only guaranteed 
 1568  for $\delta < 1$. 
1567  1569  
1568   If we can compute the determinant of self using this method, 
1569   we also cache it. Note that in general this only happens when 
 1570  The lattice is returned as a matrix. Also the rank (and the 
 1571  determinant) of self are cached if those are computed during 
 1572  the reduction. Note that in general this only happens when 
1570  1573  self.rank() == self.ncols() and the exact algorithm is used. 
1571  1574  
1572  1575  INPUT: 
… 
… 
cdef class Matrix_integer_dense(matrix_d 
1585  1588  use_givens  use Givens orthogonalization (default: False) 
1586  1589  only applicable to approximate reductions and NTL. 
1587  1590  This is more stable but slower. 
1588   
1589  1591  
1590  1592  Also, if the verbose level is >= 2, some more verbose output 
1591  1593  is printed during the calculation if NTL is used. 
… 
… 
cdef class Matrix_integer_dense(matrix_d 
1625  1627  sage: add([Q[i]*M[i] for i in range(n)]) 
1626  1628  1 
1627  1629  
1628   ALGORITHM: Uses NTL or fpLLL. 
 1630  ALGORITHM: Uses the NTL library by Victor Shoup or fpLLL 
 1631  library by Damien Stehle depending on the chosen algorithm. 
1629  1632  
1630   REFERENCES: 
1631   ntl.mat_ZZ or sage.libs.fplll.fplll for details on the 
1632   used algorithms. 
 1633  REFERENCES: \code{ntl.mat_ZZ} or \code{sage.libs.fplll.fplll} 
 1634  for details on the used algorithms. 
1633  1635  """ 
1634  1636  
1635  1637  import sage.libs.ntl.all 