galois-field-0.3.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 # 
Instance details

Defined in ExtensionField

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

Defined in ExtensionField

Read k => Read (ExtensionField k im) Source # 
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 # 
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 # 
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 # 
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 # 
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 f(X) of extension field.

Methods

split :: ExtensionField k im -> Polynomial k Source #

Splitting polynomial f(X).

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

Convert from field element to list representation.

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

Convert from list representation to field element.

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

Descend tower of indeterminate variables.

x :: GaloisField k => Polynomial k Source #

Current indeterminate variable.