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

Safe Haskell | None

Math.Core.Field

Description

A module defining the field Q of rationals and the small finite fields F2, F3, F4, F5, F7, F8, F9, F11, F13, F16, F17, F19, F23, F25.

Given a prime power q, Fq is the type representing elements of the field (eg `F4`), fq is a list of the elements of the field, beginning 0,1,... (eg `f4`), and for prime power fields, aq is a primitive element, which generates the multiplicative group (eg `a4`).

The design philosophy is that fq, the list of elements, represents the field. Thus, many functions elsewhere in the library expect to take fq as an argument, telling them which field to work over.

Synopsis

- newtype Q = Q Rational
- numeratorQ :: Q -> Integer
- denominatorQ :: Q -> Integer
- newtype F2 = F2 Int
- f2 :: [F2]
- newtype F3 = F3 Int
- f3 :: [F3]
- newtype F5 = F5 Int
- f5 :: [F5]
- newtype F7 = F7 Int
- f7 :: [F7]
- newtype F11 = F11 Int
- f11 :: [F11]
- newtype F13 = F13 Int
- f13 :: [F13]
- newtype F17 = F17 Int
- f17 :: [F17]
- newtype F19 = F19 Int
- f19 :: [F19]
- newtype F23 = F23 Int
- f23 :: [F23]
- newtype F4 = F4 Int
- a4 :: F4
- f4 :: [F4]
- powers :: (Eq a, Num a) => a -> [a]
- newtype F8 = F8 Int
- a8 :: F8
- f8 :: [F8]
- newtype F9 = F9 Int
- a9 :: F9
- f9 :: [F9]
- newtype F16 = F16 Int
- a16 :: F16
- f16 :: [F16]
- newtype F25 = F25 Int
- a25 :: F25
- f25 :: [F25]

# Documentation

newtype Q Source

Q is just the rationals, but with a better show function than the Prelude version

Constructors

Q Rational |

Instances

Eq Q |
Fractional Q |
Fractional QNF |
Num Q |
Ord Q |
Show Q |
HasInverses (GroupAlgebra Q) | Note that the inverse of a group algebra element can only be efficiently calculated if the group generated by the non-zero terms is very small (eg <100 elements).

numeratorQ :: Q -> Integer Source

denominatorQ :: Q -> Integer Source

newtype F2 Source

F2 is a type for the finite field with 2 elements

Constructors

F2 Int |

Instances

Eq F2 |
Fractional F2 |
Num F2 |
Ord F2 |
Show F2 |
FinSet F2 |

f2 :: [F2]Source

f2 is a list of the elements of F2

newtype F3 Source

F3 is a type for the finite field with 3 elements

Constructors

F3 Int |

Instances

Eq F3 |
Fractional F3 |
Num F3 |
Ord F3 |
Show F3 |
FinSet F3 |

f3 :: [F3]Source

f3 is a list of the elements of F3

newtype F5 Source

F5 is a type for the finite field with 5 elements

Constructors

F5 Int |

Instances

Eq F5 |
Fractional F5 |
Num F5 |
Ord F5 |
Show F5 |
FinSet F5 |

f5 :: [F5]Source

f5 is a list of the elements of F5

newtype F7 Source

F7 is a type for the finite field with 7 elements

Constructors

F7 Int |

Instances

Eq F7 |
Fractional F7 |
Num F7 |
Ord F7 |
Show F7 |
FinSet F7 |

f7 :: [F7]Source

f7 is a list of the elements of F7

newtype F11 Source

F11 is a type for the finite field with 11 elements

Constructors

F11 Int |

Instances

Eq F11 |
Fractional F11 |
Num F11 |
Ord F11 |
Show F11 |
FinSet F11 |

f11 :: [F11]Source

f11 is a list of the elements of F11

newtype F13 Source

F13 is a type for the finite field with 13 elements

Constructors

F13 Int |

Instances

Eq F13 |
Fractional F13 |
Num F13 |
Ord F13 |
Show F13 |
FinSet F13 |

f13 :: [F13]Source

f13 is a list of the elements of F13

newtype F17 Source

F17 is a type for the finite field with 17 elements

Constructors

F17 Int |

Instances

Eq F17 |
Fractional F17 |
Num F17 |
Ord F17 |
Show F17 |
FinSet F17 |

f17 :: [F17]Source

f17 is a list of the elements of F17

newtype F19 Source

F19 is a type for the finite field with 19 elements

Constructors

F19 Int |

Instances

Eq F19 |
Fractional F19 |
Num F19 |
Ord F19 |
Show F19 |
FinSet F19 |

f19 :: [F19]Source

f19 is a list of the elements of F19

newtype F23 Source

F23 is a type for the finite field with 23 elements

Constructors

F23 Int |

Instances

Eq F23 |
Fractional F23 |
Num F23 |
Ord F23 |
Show F23 |
FinSet F23 |

f23 :: [F23]Source

f23 is a list of the elements of F23

newtype F4 Source

F4 is a type for the finite field with 4 elements. F4 is represented as the extension of F2 by an element a4 satisfying x^2+x+1 = 0

Constructors

F4 Int |

Instances

Eq F4 |
Fractional F4 |
Num F4 |
Ord F4 |
Show F4 |
FinSet F4 |

a4 :: F4 Source

a4 is a primitive element for F4 as an extension over F2. a4 satisfies x^2+x+1 = 0.

f4 :: [F4]Source

f4 is a list of the elements of F4

powers :: (Eq a, Num a) => a -> [a]Source

newtype F8 Source

F8 is a type for the finite field with 8 elements. F8 is represented as the extension of F2 by an element a8 satisfying x^3+x+1 = 0

Constructors

F8 Int |

Instances

Eq F8 |
Fractional F8 |
Num F8 |
Ord F8 |
Show F8 |
FinSet F8 |

a8 :: F8 Source

a8 is a primitive element for F8 as an extension over F2. a8 satisfies x^3+x+1 = 0.

f8 :: [F8]Source

f8 is a list of the elements of F8

newtype F9 Source

F9 is a type for the finite field with 9 elements. F9 is represented as the extension of F3 by an element a9 satisfying x^2+2x+2 = 0

Constructors

F9 Int |

Instances

Eq F9 |
Fractional F9 |
Num F9 |
Ord F9 |
Show F9 |
FinSet F9 |

a9 :: F9 Source

a9 is a primitive element for F9 as an extension over F3. a9 satisfies x^2+2x+2 = 0.

f9 :: [F9]Source

f9 is a list of the elements of F9

newtype F16 Source

F16 is a type for the finite field with 16 elements. F16 is represented as the extension of F2 by an element a16 satisfying x^4+x+1 = 0

Constructors

F16 Int |

Instances

Eq F16 |
Fractional F16 |
Num F16 |
Ord F16 |
Show F16 |
FinSet F16 |

a16 :: F16 Source

a16 is a primitive element for F16 as an extension over F2. a16 satisfies x^4+x+1 = 0.

f16 :: [F16]Source

f16 is a list of the elements of F16

newtype F25 Source

F25 is a type for the finite field with 25 elements. F25 is represented as the extension of F5 by an element a25 satisfying x^2+4x+2 = 0

Constructors

F25 Int |

Instances

Eq F25 |
Fractional F25 |
Num F25 |
Ord F25 |
Show F25 |
FinSet F25 |

a25 :: F25 Source

a25 is a primitive element for F25 as an extension over F5. a25 satisfies x^2+4x+2 = 0.

f25 :: [F25]Source

f25 is a list of the elements of F25