Here is what I was talking about in my first reply.  It does not do
exactly what you want, in two ways:
(1) the expression for y output is a polynomial in the xi with
coefficients pollys in z, while I expect you hoped that would be the
other way round;
(2) The expression x*y does not simplify to 1, but it does satisfy (x*y)^2==x*y.

If someone else can suggest how to deal with (2) this might make a
nice worked examples for the documentation.

John

# Define the field with 2 elements and the polynomial ring over it
# with variable Z

F2=GF(2)
R.<Z>=PolynomialRing(F2)

# Define the polynomial f and check that it is irreducible:

f=Z^8+Z^4+Z^3+Z+1
assert f.is_irreducible()

# Define the field GF(2^8) with generator z satisfying f as its
# minimal polynomial:

F256.<z>=GF(256,'z',f)

# Define a polynomial ring in 8 variables over F2

S=PolynomialRing(F256,8,'x')

# Quotient out by the ideal containing xi^2-xi for all 8 generators.
# The variables in the quotient are called x0,x1,...,x7

I=S.ideal([xi^2-xi for xi in S.gens()])
Sbar.<x0,x1,x2,x3,x4,x5,x6,x7>=S.quo(I)

# Define the "generic" element x:

x = x0+x1*z^1+x2*z^2+x3*z^3+x4*z^4+x5*z^5+x6*z^6+x7*z^7

# If all is well this should be true:

assert x^256 == x

#

y = x^254

# ideally, we should have x*y = x^255 = 1, but unfortunately not:

assert not x*y==1
assert not x^255==1

# However

one = x*y
assert one^2==one




2008/5/28 vpv <[EMAIL PROTECTED]>:
>
> Hello,
>
> I am trying to solve the following equation for y in SAGE:
>
> x*y = 1 (mod z^8+z^4+z^3+z+1)
>
> where
>
> x = x0+x1*z^1+x2*z^2+x3*z^3+x4*z^4+x5*z^5+x6*z^6+x7*z^7
> y = ?
>
> x0,...,x7 are elements of GF(2). I do not know their values. I am
> searching for y in parametric form i.e. as a polynomial of z of degree
> 7 with coefficients - some functions of x0,...,x7.
>
> I define in SAGE:
>
> P.<x0,x1,x2,x3,x4,x5,x6,x7> = BooleanPolynomialRing(8, order='lex')
> Z.<z> = PolynomialRing(P)
>
> I try to do the following in SAGE
>
> y = inverse_mod(x0+x1*z^1+x2*z^2+x3*z^3+x4*z^4+x5*z^5+x6*z^6+x7*z^7,
> z^8+z^4+z^3+z+1)
>
> but it does not work.
>
> Alternatively, I try to define a ring of univariate polynomials of z
> with coeffients in P, every element of which is reduced (mod
> z^8+z^4+z^3+z+1), but I am not able to get the right syntax to do this
> in SAGE.
>
> Any help is appreciated.
>
> Thanks!
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to