[x] Instead of a separate "true"/"false" field, the BIgInt can use an extra bit as a sign flag (still using 2-complement), this is detailed in the paper
[x] The encoding can use 1-bit per bit instead of 2 for {-1, 0, 1} as the column sign information is already encoded in the very first row, this will also speed up recoding
[x] The lattice can be stored in tuples instead of arrays so that the BigInt have the minimal size possible to reduce the cost of BigInt multiplication
[x] BLS has multiplication factors of 1 and/or 2 which can be optimized
[ ] The lattice and Babai roundings coefficient can be precomputed from the curve parameter instead of being hardcoded
Endomorphism acceleration #44 requires decomposing a scalar.
This is done using lattice decomposition using Babai's rounding techniques.
{-1, 0, 1}
as the column sign information is already encoded in the very first row, this will also speed up recoding