fplll-0.1.0.0: Haskell bindings to <https://fplll.github.io/fplll/ fplll>

Math.Lattices.Fplll.LLL

Description

Bindings to FPLLL's implementation of the LLL Algorithm.

Synopsis

# Documentation

lllReduce :: LLLOptions -> [[Integer]] -> Either RedStatus [[Integer]] Source #

Compute an LLL-reduced basis for the given lattice. Each item of the list is a basis vector. Returns a Left RedStatus on failure.

lllReduceTrack :: LLLOptions -> [[Integer]] -> Either RedStatus ([[Integer]], [[Integer]]) Source #

Similar to lllReduce, but additionally return (in the second output) the operations that were applied to the basis vectors. In other words, the second return value tracks the operations applied to the basis vectors by applying them to the identity matrix as well.

lllReduceTrackInv :: LLLOptions -> [[Integer]] -> Either RedStatus ([[Integer]], [[Integer]], [[Integer]]) Source #

Like lllReduceTrackInv, but return the inverse matrix of the applied operations in the third output.

Options to configure the LLL reduction algorithm.

Constructors

 LLLOptions Fieldsdelta :: Doubleδ controls the Lovász condition, i.e. how much the length of consecutive Gram-Schmidt orthogonal basis vectors can decrease.eta :: Doubleη is an upper bound on the largest Gram-Schmidt coefficient, i.e. how far from orthogonal the reduced basis can be.method :: LLLMethodLLL reduction method.floatType :: FloatTypeWhat sort of floating point to use for orthogonalization.precision :: IntBits of precision for floating point if ftMpfr is used. Chooses automatically if set to zero.flags :: LLLFlagsExtra options for the LLL reduction.
Instances
 Source # Instance detailsDefined in Math.Lattices.Fplll.LLL Methods(==) :: LLLOptions -> LLLOptions -> Bool(/=) :: LLLOptions -> LLLOptions -> Bool Ord LLLOptions Source # Instance detailsDefined in Math.Lattices.Fplll.LLL Methodscompare :: LLLOptions -> LLLOptions -> Ordering(<) :: LLLOptions -> LLLOptions -> Bool(<=) :: LLLOptions -> LLLOptions -> Bool(>) :: LLLOptions -> LLLOptions -> Bool(>=) :: LLLOptions -> LLLOptions -> Bool Show LLLOptions Source # Instance detailsDefined in Math.Lattices.Fplll.LLL MethodsshowsPrec :: Int -> LLLOptions -> ShowSshow :: LLLOptions -> StringshowList :: [LLLOptions] -> ShowS