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

Safe HaskellNone
LanguageHaskell98

Math.Core.Field

Description

A module defining the field Q of rationals and the small finite fields (Galois 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

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).

newtype F2 Source

F2 is a type for the finite field with 2 elements

Constructors

F2 Int 

Instances

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

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

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

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 

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 

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 

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 

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 

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

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 :: (Num a, Eq 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

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

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 

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 

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