[back] [prev] [next] [index] [root]

 


LatCholesky

Returns a Cholesky type decompostion of the gram matrix of a lattice.

Syntax:

q := LatCholesky(Lambda);

matrix
  q  
lattice
  Lambda  

Description:

Let \Lambda be a lattice of rank n and let G denote its Gram matrix. Then Q(x) = x^{t}cdot G cdot x is a positive definite quadratic form. \smallskip The matrix q = (q_{ij}) \in R^{n \times n} which is returned by the LatCholesky function satisfies Q(x) = \sum_{i=1}^n q_{ii} \left(x_i + \sum_{j=i+1}^n q_{ij}x_j right)^2. Additionally q_{ij} = 0 for 1


Example:


kash> o := Order(Poly(Zx, [1,1,1,-1]));;
kash> Lambda := Lat(o);
Basis:
[1 0.5436890126920763615708559718017479865252032976510691 0.295597742522084770\
9809965928515386138989754484467009]
[1.414213562373095048801688724209698078569671875377 -1.09155296891773362399905\
0526886152282569769981597 -0.9161259494273487353043121929335785651570335323191\
771]
[0 1.577049658848827600240931210470570288477866219778 -2.434474230834722525486\
910332524147709670192579961]

kash> LatCholesky(Lambda);
> [3 -0.3333333333333333333333333333333333333333333333336667 -0.3333333333333333\
333333333333333333333333333333327664]
[0 3.640837919617073702751368388824778481413999607308 -0.827256502557640321389\
6126463804809177631530607521363]
[0 0 4.028376706263605945611231105883947510766559979681]


<- back[back] [prev] [next] [index] [root]