-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question on writing database vectors in standard basis #132
Comments
You need to multiply left by the basis, something like: |
Thank you for the quick reply! |
An easy workaround might be to call g6k.extend_left(g6k.l) before iterating over the vectors. This moves the sieve to the full context [0, r) and Babai lifts the database of short vectors in the projection to somewhat short vectors in the full lattice. |
Thanks, that worked perfectly! A note if someone else wants to do this as well: |
Dear developer,
Thank you for making this very fast implementation open source!
I have a question (so not a bug report) regarding the large database containing many short vectors.
Because of the dimensions for free trick, a workout (for say the 1.05 SVP challenge) usually finishes in a dimension lower than the dimension of the input matrix.
I was wondering if it was possible to write the vectors that are at that point in the database into the standard basis (in Python).
This is easy when the last sieving dimension is the same as the dimension of the input matrix B, since then we can just take B and compute v*B.
But otherwise we have to use B[l:r] according to your article.
I tried computing B[l:r] using GSO, but I was unsuccessful.
Is there a way to get this matrix, or some other way to get the vectors in standard basis?
Thanks!
The text was updated successfully, but these errors were encountered: