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

Safe Haskell | None

Math.Algebra.Field.Extension

# Documentation

newtype UPoly a Source

Constructors

UP [a] |

Instances

Eq a => Eq (UPoly a) |
(Eq a, Num a) => Num (UPoly a) |
Ord a => Ord (UPoly a) |
(Eq a, Show a, Num a) => Show (UPoly a) |

x :: UPoly Integer Source

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

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

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

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

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

deg :: UPoly a -> Int Source

lt :: UPoly a -> aSource

monomial :: Num a => a -> Int -> UPoly aSource

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

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

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 kSource

Instances

PolynomialAsType F5 ConwayF25 |
PolynomialAsType F3 ConwayF27 |
PolynomialAsType F3 ConwayF9 |
PolynomialAsType F2 ConwayF32 |
PolynomialAsType F2 ConwayF16 |
PolynomialAsType F2 ConwayF8 |
PolynomialAsType F2 ConwayF4 |
IntegerAsType n => PolynomialAsType Q (Sqrt n) |

data ExtensionField k poly Source

Constructors

Ext (UPoly k) |

Instances

Eq k => Eq (ExtensionField k poly) |
(Eq k, Fractional k, PolynomialAsType k poly) => Fractional (ExtensionField k poly) |
(Eq k, Fractional k, PolynomialAsType k poly) => Num (ExtensionField k poly) |
Ord k => Ord (ExtensionField k poly) |
(Eq k, Show k, Num k) => Show (ExtensionField k poly) |
(FinSet fp, Eq fp, Num fp, PolynomialAsType fp poly) => FinSet (ExtensionField fp poly) |
(FiniteField k, PolynomialAsType k poly) => FiniteField (ExtensionField k poly) |

(/>) :: (Eq t, Fractional t) => t -> UPoly t -> UPoly tSource

embed :: (Eq k, Num k) => UPoly Integer -> ExtensionField k polySource

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

data ConwayF4 Source

Instances

PolynomialAsType F2 ConwayF4 |

type F4 = ExtensionField F2 ConwayF4 Source

f4 :: [F4]Source

a4 :: F4 Source

data ConwayF8 Source

Instances

PolynomialAsType F2 ConwayF8 |

type F8 = ExtensionField F2 ConwayF8 Source

f8 :: [F8]Source

a8 :: F8 Source

data ConwayF9 Source

Instances

PolynomialAsType F3 ConwayF9 |

type F9 = ExtensionField F3 ConwayF9 Source

f9 :: [F9]Source

a9 :: F9 Source

data ConwayF16 Source

Instances

PolynomialAsType F2 ConwayF16 |

type F16 = ExtensionField F2 ConwayF16 Source

f16 :: [F16]Source

a16 :: F16 Source

data ConwayF25 Source

Instances

PolynomialAsType F5 ConwayF25 |

type F25 = ExtensionField F5 ConwayF25 Source

f25 :: [F25]Source

a25 :: F25 Source

data ConwayF27 Source

Instances

PolynomialAsType F3 ConwayF27 |

type F27 = ExtensionField F3 ConwayF27 Source

f27 :: [F27]Source

a27 :: F27 Source

data ConwayF32 Source

Instances

PolynomialAsType F2 ConwayF32 |

type F32 = ExtensionField F2 ConwayF32 Source

f32 :: [F32]Source

a32 :: F32 Source

frobeniusAut :: FiniteField a => a -> aSource

degree :: [a] -> Int Source

data Sqrt a Source

Constructors

Sqrt a |

Instances

IntegerAsType n => PolynomialAsType Q (Sqrt n) |

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