Flint2-0.1.0.0: src/Data/Number/Flint/Fq.hs
{-|
module : Data.Number.Flint.Fq
copyright : (c) 2022 Hartmut Monien
license : GNU GPL, version 2 or above (see LICENSE)
maintainer : hmonien@uni-bonn.de
= Finite fields
This module implements operations over the finite field \(\mathbb F_q\) where \( q = p^d \) with \(p\) prime.
== Basic usage
Consider the finite field \(\mathbb F_{11^4}\). Here we initialize the
context and set @x@ to the generator of the field and print it and its
fourth power.
@
import Data.Number.Flint
main = do
ctx <- newFqCtx 11 4 "alpha"
withNewFq ctx $ \\x -> do
withFqCtx ctx $ \\ctx -> do
fq_ctx_print ctx
putStr "\\n"
fq_gen x ctx
fq_print_pretty x ctx
putStr "\\n"
fq_pow_ui x x 4 ctx
fq_print_pretty x ctx
putStr "\\n"
@
Running main yields:
>>> main
p = 11
d = 4
f(X) = X^4+8*X^2+10*X+2
<BLANKLINE>
alpha
3*alpha^2+alpha+9
-}
module Data.Number.Flint.Fq (
module Data.Number.Flint.Fq.FFI
) where
import Data.Number.Flint.Fq.FFI