HaskellForMaths-0.4.9: Combinatorics, group theory, commutative algebra, non-commutative algebra

Safe Haskell | None
Language | Haskell98

Math.Algebra.Field.Extension

# Documentation

newtype UPoly a Source #

Constructors

UP [a] |

#### Instances

Instances details

Eq a => Eq (UPoly a) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods (==) :: UPoly a -> UPoly a -> Bool (/=) :: UPoly a -> UPoly a -> Bool
(Eq a, Num a) => Num (UPoly a) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods (+) :: UPoly a -> UPoly a -> UPoly a (-) :: UPoly a -> UPoly a -> UPoly a (*) :: UPoly a -> UPoly a -> UPoly a negate :: UPoly a -> UPoly a abs :: UPoly a -> UPoly a signum :: UPoly a -> UPoly a fromInteger :: Integer -> UPoly a
Ord a => Ord (UPoly a) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods compare :: UPoly a -> UPoly a -> Ordering (<) :: UPoly a -> UPoly a -> Bool (<=) :: UPoly a -> UPoly a -> Bool (>) :: UPoly a -> UPoly a -> Bool (>=) :: UPoly a -> UPoly a -> Bool max :: UPoly a -> UPoly a -> UPoly a min :: UPoly a -> UPoly a -> UPoly a
(Eq a, Show a, Num a) => Show (UPoly a) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods showsPrec :: Int -> UPoly a -> ShowS show :: UPoly a -> String showList :: [UPoly a] -> ShowS

x :: UPoly Integer Source #

showUP :: (Eq a, Num a, Show a) => [Char] -> [a] -> [Char] Source #

toUPoly :: (Eq a, Num a) => [a] -> UPoly a Source #

(<+>) :: (Eq a, Num a) => [a] -> [a] -> [a] Source #

(<*>) :: (Num a, Eq a) => [a] -> [a] -> [a] Source #

convert :: (Eq a, Num a) => UPoly Integer -> UPoly a Source #

deg :: UPoly a -> Int Source #

lt :: UPoly a -> a Source #

monomial :: Num a => a -> Int -> UPoly a Source #

quotRemUP :: (Eq k, Fractional k) => UPoly k -> UPoly k -> (UPoly k, UPoly k) Source #

modUP :: (Eq k, Fractional k) => UPoly k -> UPoly k -> UPoly k Source #

extendedEuclidUP :: (Eq k, Fractional k) => UPoly k -> UPoly k -> (UPoly k, UPoly k, UPoly k) Source #

class PolynomialAsType k poly where Source #

Methods

pvalue :: (k, poly) -> UPoly k Source #

#### Instances

Instances details

PolynomialAsType F5 ConwayF25 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F5, ConwayF25) -> UPoly F5 Source #
PolynomialAsType F3 ConwayF27 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F3, ConwayF27) -> UPoly F3 Source #
PolynomialAsType F3 ConwayF9 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F3, ConwayF9) -> UPoly F3 Source #
PolynomialAsType F2 ConwayF32 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF32) -> UPoly F2 Source #
PolynomialAsType F2 ConwayF16 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF16) -> UPoly F2 Source #
PolynomialAsType F2 ConwayF8 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF8) -> UPoly F2 Source #
PolynomialAsType F2 ConwayF4 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF4) -> UPoly F2 Source #
IntegerAsType n => PolynomialAsType Q (Sqrt n) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (Q, Sqrt n) -> UPoly Q Source #

data ExtensionField k poly Source #

Constructors

Ext (UPoly k) |

#### Instances

Instances details

Eq k => Eq (ExtensionField k poly) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods (==) :: ExtensionField k poly -> ExtensionField k poly -> Bool (/=) :: ExtensionField k poly -> ExtensionField k poly -> Bool
(Eq k, Fractional k, PolynomialAsType k poly) => Fractional (ExtensionField k poly) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods (/) :: ExtensionField k poly -> ExtensionField k poly -> ExtensionField k poly recip :: ExtensionField k poly -> ExtensionField k poly fromRational :: Rational -> ExtensionField k poly
(Eq k, Fractional k, PolynomialAsType k poly) => Num (ExtensionField k poly) Source # |

Instance details

Defined in Math.Algebra.Field.Extension

Methods

(+) :: ExtensionField k poly -> ExtensionField k poly -> ExtensionField k poly

(-) :: ExtensionField k poly -> ExtensionField k poly -> ExtensionField k poly

(*) :: ExtensionField k poly -> ExtensionField k poly -> ExtensionField k poly

negate :: ExtensionField k poly -> ExtensionField k poly

abs :: ExtensionField k poly -> ExtensionField k poly

signum :: ExtensionField k poly -> ExtensionField k poly

fromInteger :: Integer -> ExtensionField k poly

Ord k => Ord (ExtensionField k poly) Source # |

Instance details

Defined in Math.Algebra.Field.Extension

Methods

compare :: ExtensionField k poly -> ExtensionField k poly -> Ordering

(<) :: ExtensionField k poly -> ExtensionField k poly -> Bool

(<=) :: ExtensionField k poly -> ExtensionField k poly -> Bool

(>) :: ExtensionField k poly -> ExtensionField k poly -> Bool

(>=) :: ExtensionField k poly -> ExtensionField k poly -> Bool

max :: ExtensionField k poly -> ExtensionField k poly -> ExtensionField k poly

min :: ExtensionField k poly -> ExtensionField k poly -> ExtensionField k poly

(Eq k, Show k, Num k) => Show (ExtensionField k poly) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods showsPrec :: Int -> ExtensionField k poly -> ShowS show :: ExtensionField k poly -> String showList :: [ExtensionField k poly] -> ShowS
(FinSet fp, Eq fp, Num fp, PolynomialAsType fp poly) => FinSet (ExtensionField fp poly) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods elts :: [ExtensionField fp poly] Source #
(FiniteField k, PolynomialAsType k poly) => FiniteField (ExtensionField k poly) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods eltsFq :: ExtensionField k poly -> [ExtensionField k poly] Source # basisFq :: ExtensionField k poly -> [ExtensionField k poly] Source #

(/>) :: (Eq a, Fractional a) => a -> UPoly a -> UPoly a Source #

embed :: (Eq k, Num k) => UPoly Integer -> ExtensionField k poly Source #

polys :: (Eq a, Eq t, Num a, Num t) => t -> [a] -> [UPoly a] Source #

data ConwayF4 Source #

#### Instances

Instances details

PolynomialAsType F2 ConwayF4 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF4) -> UPoly F2 Source #

type F4 = ExtensionField F2 ConwayF4 Source #

f4 :: [F4] Source #

a4 :: F4 Source #

data ConwayF8 Source #

#### Instances

Instances details

PolynomialAsType F2 ConwayF8 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF8) -> UPoly F2 Source #

type F8 = ExtensionField F2 ConwayF8 Source #

f8 :: [F8] Source #

a8 :: F8 Source #

data ConwayF9 Source #

#### Instances

Instances details

PolynomialAsType F3 ConwayF9 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F3, ConwayF9) -> UPoly F3 Source #

type F9 = ExtensionField F3 ConwayF9 Source #

f9 :: [F9] Source #

a9 :: F9 Source #

data ConwayF16 Source #

#### Instances

Instances details

PolynomialAsType F2 ConwayF16 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF16) -> UPoly F2 Source #

type F16 = ExtensionField F2 ConwayF16 Source #

f16 :: [F16] Source #

a16 :: F16 Source #

data ConwayF25 Source #

#### Instances

Instances details

PolynomialAsType F5 ConwayF25 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F5, ConwayF25) -> UPoly F5 Source #

type F25 = ExtensionField F5 ConwayF25 Source #

f25 :: [F25] Source #

a25 :: F25 Source #

data ConwayF27 Source #

#### Instances

Instances details

PolynomialAsType F3 ConwayF27 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F3, ConwayF27) -> UPoly F3 Source #

type F27 = ExtensionField F3 ConwayF27 Source #

f27 :: [F27] Source #

a27 :: F27 Source #

data ConwayF32 Source #

#### Instances

Instances details

PolynomialAsType F2 ConwayF32 Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (F2, ConwayF32) -> UPoly F2 Source #

type F32 = ExtensionField F2 ConwayF32 Source #

f32 :: [F32] Source #

a32 :: F32 Source #

frobeniusAut :: FiniteField a => a -> a Source #

degree :: Foldable t => t a -> Int Source #

data Sqrt a Source #

Constructors

Sqrt a |

#### Instances

Instances details

IntegerAsType n => PolynomialAsType Q (Sqrt n) Source # |
Instance details Defined in Math.Algebra.Field.Extension Methods pvalue :: (Q, Sqrt n) -> UPoly Q Source #

type QSqrt2 = ExtensionField Q (Sqrt T2) Source #

sqrt2 :: QSqrt2 Source #

type QSqrt3 = ExtensionField Q (Sqrt T3) Source #

sqrt3 :: QSqrt3 Source #

type QSqrt5 = ExtensionField Q (Sqrt T5) Source #

sqrt5 :: QSqrt5 Source #

type QSqrt7 = ExtensionField Q (Sqrt T7) Source #

sqrt7 :: QSqrt7 Source #

type QSqrtMinus1 = ExtensionField Q (Sqrt TMinus1) Source #

i :: QSqrtMinus1 Source #

type QSqrtMinus2 = ExtensionField Q (Sqrt (M TMinus1 T2)) Source #

sqrtminus2 :: QSqrtMinus2 Source #

type QSqrtMinus3 = ExtensionField Q (Sqrt (M TMinus1 T3)) Source #

sqrtminus3 :: QSqrtMinus3 Source #

type QSqrtMinus5 = ExtensionField Q (Sqrt (M TMinus1 T5)) Source #

sqrtminus5 :: QSqrtMinus5 Source #

conjugate :: ExtensionField Q (Sqrt d) -> ExtensionField Q (Sqrt d) Source #