ShortestVectors( G, m )
ShortestVectors( G, m, "positive" )
computes all vectors x with x G x^{tr} leq m, where G is a matrix
of a symmetric bilinear form, and m is a nonnegative integer. If the
optional argument "positive" is entered, only those vectors x with
nonnegative entries are computed.
ShortestVectors returns a record with components
vectors:
norms:
gap> g:= [ [ 2, 1, 1 ], [ 1, 2, 1 ], [ 1, 1, 2 ] ];;
gap> ShortestVectors(g,4);
rec(
vectors := [ [ -1, 1, 1 ], [ 0, 0, 1 ], [ -1, 0, 1 ], [ 1, -1, 1 ],
[ 0, -1, 1 ], [ -1, -1, 1 ], [ 0, 1, 0 ], [ -1, 1, 0 ],
[ 1, 0, 0 ] ],
norms := [ 4, 2, 2, 4, 2, 4, 2, 2, 2 ] )
This algorithm is used in OrthogonalEmbeddings OrthogonalEmbeddings.
GAP 3.4.4