galois-field-0.2.0: Galois field library

Safe HaskellNone
LanguageHaskell2010

ExtensionField

Synopsis

Documentation

data ExtensionField k im Source #

Extension fields GF(p^q)[X]/f(X) for p prime, q positive, and f(X) irreducible monic in GF(p^q)[X]

Instances
Eq k => Eq (ExtensionField k im) Source # 
Instance details

Defined in ExtensionField

Methods

(==) :: ExtensionField k im -> ExtensionField k im -> Bool #

(/=) :: ExtensionField k im -> ExtensionField k im -> Bool #

(GaloisField k, IrreducibleMonic k im) => Fractional (ExtensionField k im) Source #

Extension fields are fields

Instance details

Defined in ExtensionField

(GaloisField k, IrreducibleMonic k im) => Num (ExtensionField k im) Source #

Extension fields are rings

Instance details

Defined in ExtensionField

Show k => Show (ExtensionField k im) Source # 
Instance details

Defined in ExtensionField

Generic (ExtensionField k im) Source # 
Instance details

Defined in ExtensionField

Associated Types

type Rep (ExtensionField k im) :: Type -> Type #

Methods

from :: ExtensionField k im -> Rep (ExtensionField k im) x #

to :: Rep (ExtensionField k im) x -> ExtensionField k im #

(GaloisField k, IrreducibleMonic k im) => Random (ExtensionField k im) Source #

Extension fields are random

Instance details

Defined in ExtensionField

Methods

randomR :: RandomGen g => (ExtensionField k im, ExtensionField k im) -> g -> (ExtensionField k im, g) #

random :: RandomGen g => g -> (ExtensionField k im, g) #

randomRs :: RandomGen g => (ExtensionField k im, ExtensionField k im) -> g -> [ExtensionField k im] #

randoms :: RandomGen g => g -> [ExtensionField k im] #

randomRIO :: (ExtensionField k im, ExtensionField k im) -> IO (ExtensionField k im) #

randomIO :: IO (ExtensionField k im) #

(Arbitrary k, GaloisField k, IrreducibleMonic k im) => Arbitrary (ExtensionField k im) Source #

Extension fields are arbitrary

Instance details

Defined in ExtensionField

NFData k => NFData (ExtensionField k im) Source # 
Instance details

Defined in ExtensionField

Methods

rnf :: ExtensionField k im -> () #

(GaloisField k, IrreducibleMonic k im) => Pretty (ExtensionField k im) Source #

Extension fields are pretty

Instance details

Defined in ExtensionField

Methods

pretty :: ExtensionField k im -> Doc #

prettyList :: [ExtensionField k im] -> Doc #

(GaloisField k, IrreducibleMonic k im) => GaloisField (ExtensionField k im) Source #

Extension fields are Galois fields

Instance details

Defined in ExtensionField

type Rep (ExtensionField k im) Source # 
Instance details

Defined in ExtensionField

type Rep (ExtensionField k im)

class IrreducibleMonic k im where Source #

Irreducible monic splitting polynomial of extension field

Methods

split Source #

Arguments

:: ExtensionField k im 
-> Polynomial k

Splitting polynomial

fromField :: ExtensionField k im -> [k] Source #

List from field

fromList :: forall k im. (GaloisField k, IrreducibleMonic k im) => [k] -> ExtensionField k im Source #

Field from list

t :: Polynomial k -> Polynomial (ExtensionField k im) Source #

Descend variable tower

x :: GaloisField k => Polynomial k Source #

Current indeterminate variable