MinkowskiReduction
MinkowskiReduction.DeviousMatMinkowskiReduction.FibonacciMatMinkowskiReduction.GaussReduceMinkowskiReduction.RandLowerTriMinkowskiReduction.RandUnimodMatMinkowskiReduction.isMinkReducedMinkowskiReduction.minkReduceMinkowskiReduction.orthogonalityDefectMinkowskiReduction.shortenW_in_UVW
MinkowskiReduction.DeviousMat — MethodDeviousMat(n)Make a unimodular 3x3 matrix that requires a large number of steps to reduce (See email from Rod Feb 1 2020)
n dictates the size of the entries
MinkowskiReduction.FibonacciMat — MethodFibonacciMat(k)Generate a 2x2 matrix of the form [f2 f3; f1 f2] where f1, f2, f3 are consecutive Fibonacci-like numbers
See also: RandUnimodMat(n), FibonacciMat(n), DeviousMat(n)
MinkowskiReduction.GaussReduce — MethodGaussReduce(U, V)Reduce the basis vectors {U, V} to the shortest possible basis.
Examples
julia> GaussReduce([5 8], [8 13])
([-1.0 0.0], [0.0 -1.0])MinkowskiReduction.RandLowerTri — MethodRandLowerTri(n)Generate a random 2x2 matrix of the form [1 0; 0 ±n].
See also: RandUnimodMat(n), FibonacciMat(n), DeviousMat(n)
MinkowskiReduction.RandUnimodMat — MethodRandUnimodMat(n)Generate a random unimodular 2x2 matrix. n is a small integer (number of row and column operations).
See also: RandLowerTri(n), FibonacciMat(n), DeviousMat(n)
MinkowskiReduction.isMinkReduced — MethodisMinkReduced(U,V,W)Check if the basis {U,V,W} is Minkoswki reduced.
MinkowskiReduction.minkReduce — FunctionminkReduce(U, V, W, debug=false)Find the shortest equivalent basis of that lattice formed by {U, V, W}
julia> U = [1, 2, 3]; V = [-1, 2, 3]; W = [3, 0, 4]; minkReduce(U,V,W)
([-2.0, 0.0, 0.0], [0.0, -2.0, 1.0], [-1.0, 2.0, 3.0])MinkowskiReduction.orthogonalityDefect — MethodorthogonalityDefect(a,b,c)Compute the orthogonality defect of three basis vectors.
Examples
julia> orthogonalityDefect([1,1,0],[1,0,1],[0,1,1])
1.4142135623730954MinkowskiReduction.shortenW_in_UVW — MethodshortenW_in_UVWReduce vector W so that it is as close to the origin as possible.
Subtract multiples of U and V from W. W will remain in an affine plane, which is parallel to the U-V plane but which passes through the end of the W vector. (See Lecture notes in computer science, ISSN 0302-974, ANTS - VI : algorithmic number theory, 2004, vol. 3076, pp. 338-357 ISBN 3-540-22156-5)