Go to the first, previous, next, last section, table of contents.
- setmod_ff([p|defpoly2])
- 
- setmod_ff([defpolyp,p])
- 
- setmod_ff([p,n])
- 
:: Sets/Gets the current base fields.
- return
- 
number or polynomial
- p
- 
prime
- defpoly2
- 
univariate polynomial irreducible over GF(2)
- defpolyp
- 
univariate polynomial irreducible over GF(p)
- n
- 
the extension degree
- 
If the argument is a non-negative integer p, GF(p)
is set as the current base field.
- 
If the argument is a polynomial defpoly2,
GF(2^deg(defpoly2 mod 2)) = GF(2)[t]/(defpoly2(t) mod2)
is set as the current base field.
- 
If the arguments are a polynomial defpolyp and a prime p,
GF(p^deg(defpolyp)) = GF(p)[t]/(defpolyp(t))
is set as the current base field.
- 
If the arguments are a prime p and an extension degree n,
GF(p^n) is set as the current base field. p^n must be
less than 2^29 and if p is greater than or equal to 2^14,
then n must be equal to 1.
- 
If no argument is specified, the modulus indicating the current base field
is returned. If the current base field is GF(p), p is
returned. If it is GF(2^n), the defining polynomial is returned.
If it is GF(p^n) defined by setmod_ff(defpoly,p),
[defpolyp,p] is returned.
If it is GF(p^n) defined bysetmod_ff(p,n),
[p,defpoly,prim_elem] is returned. Here, defpoly
is the defining polynomial of the n-th extension,
and prim_elem is the generator of the multiplicative group
of GF(p^n).
- 
Any irreducible univariate polynomial over GF(2) is available to
set GF(2^n). However the use of defpoly_mod2()is recommended
for efficiency.
[174] defpoly_mod2(100);
x^100+x^15+1
[175] setmod_ff(@@);
x^100+x^15+1
[176] setmod_ff();
x^100+x^15+1
[177] setmod_ff(x^4+x+1,547);
[1*x^4+1*x+1,547]
[178] setmod_ff(2,5);
[2,x^5+x^2+1,x]
- References
- 
section defpoly_mod2
Go to the first, previous, next, last section, table of contents.