fpylll icon indicating copy to clipboard operation
fpylll copied to clipboard

update_gso failures

Open clay3154 opened this issue 2 years ago • 1 comments

Hello, developers.When i test something, i use swap_rows to change the lattice basis, and then there were some miscalculations. And i test follow code from fpylll import *

    A = IntegerMatrix(7,7)
    A.randomize("uniform",bits = 5)
    M = GSO.Mat(A)
    M.update_gso()

    L = LLL.Reduction(M)
    L()

    for i in range(M.d):
        print("[",M.get_r(i,i),"]",end="")

    M.B.swap_rows(3,4)
    M.B.swap_rows(2,6)
    M.B.swap_rows(1,5)

    M.update_gso()

    for i in range(M.d):
        print("[",M.get_r(i,i),"]"," ",end="")

the two output is same. how do i properly use the update_gso or I misunderstood it?Look forward to your reply.

clay3154 avatar Dec 24 '23 03:12 clay3154

I think you need to wrap your M.B.swap_rows() ops in with M.row_ops(start, end) to inform the library you're making changes.

malb avatar Jan 21 '24 13:01 malb