CASA Function: finiteField
Constructs a finite field
Calling Sequence:
- F := finiteField(q)
- F := finiteField(q, alpha)
Parameters:
- q : posint
- A prime power. The number of elements of the field.
- alpha : name
- Name used for a primite element of the field.
Result:
- F : casa/finite/Field
- A table with methods to work with finite fields.
Description:
- finiteField constructs a table containing methods to convert elements of a finite field, represented using Maple's RootOf expressions, to a more readable form alpha^i. Also conversion to RoofOf form, and routines to normalize, expand and normalize expressions containing RootOfs.
- The following methods are supplied:
- p, k, q: q = p^k. The size of the field.
- In: Convert an expression using alphas to RootOf form.
- Out: Convert from RootOf form to form using alphas. If the conversion is not possible, then the argument is returned unchanged.
- N: Normalize a field element using the inert Normal function.
- mapN: Map the normalization function N to a list, set, ...
- Expand: Expand a field element using the inert Expand function.
- seq: A sequence of the field elements, in alpha notation.
- seqIn: A sequence of the field elements, represented using RootOfs.
- mapIn, mapOut: Map the conversion functions In and Out to a list, set, etc.
- mapOutIn: This function is equivalent to mapOut followed by mapIn. This is useful to do operations on vectors stored in alpha form.
Examples:
> F := finiteField(16):
> F["p"];
> F["q"];
> F["k"];
> F["seq"];
> a := F["In"](alpha^2 + 1);
> F["Out"](1 + a + a^2);
> a := F["In"](alpha^4 + alpha + 1);
> F["N"](a);
> F["Out"](a);
See Also:
[CASA]
[[GF]]
[[RootOf]]
[[Expand]]
[[Normal]]
[[evala]]
[[map]]