linear-code-0.2.0: A simple library for linear codes (coding theory, error correction)

Copyright(c) Wanja Chresta 2018
LicenseGPL-3
Maintainerwanja dit hs at chrummibei dot ch
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Math.Algebra.Field.Static

Description

Some finite field parameters are missing from HaskellForMaths implementation. Here, we add type classes to add these parameters to the type level.

Synopsis

Documentation

type family Characteristic (f :: *) :: Nat Source #

The characteristic of a finite field on the type level. The characteristic is: For any element x in the field f with characteristic c, we have: c * x = x + x + .. + x (c times) = 0

Instances
type Characteristic F2 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F3 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F5 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F7 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F11 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F13 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F17 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F19 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F23 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F29 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F31 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F37 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F41 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F43 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F47 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F53 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F59 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F61 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F67 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F71 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F73 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F79 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F83 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F89 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic F97 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Characteristic (ExtensionField k poly) Source # 
Instance details

Defined in Math.Algebra.Field.Static

char :: forall c f. (KnownNat c, c ~ Characteristic f) => Proxy f -> Int Source #

Characteristic of a field. It takes a finite field type in the proxy value and gives the characteristic. This is done using type families To support new finite field types, you need to add a type instance for the type family Characteristic.

type family PolyDegree (f :: *) :: Nat Source #

Type family which gives the degree of a polynomial type. This is used to extract type level information from Extension

Instances
type PolyDegree ConwayF4 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type PolyDegree ConwayF8 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type PolyDegree ConwayF9 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type PolyDegree ConwayF16 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type PolyDegree ConwayF25 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type PolyDegree ConwayF27 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type PolyDegree ConwayF32 Source # 
Instance details

Defined in Math.Algebra.Field.Static

type family Size (f :: *) :: Nat Source #

Type family which gives the size of a field, i.e. the number of elements of a finite field.

Instances
type Size (Fp p) Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Size (Fp p) = Characteristic (Fp p)
type Size (ExtensionField fp poly) Source # 
Instance details

Defined in Math.Algebra.Field.Static

type Size (ExtensionField fp poly) = Characteristic fp ^ PolyDegree poly