Anything symbolic is in the symbolic ring SR, finite field elements are in 
GF(2). You can wrap finite field elements in the symbolic ring if you want 
to do symbolic computations with finite field coefficients:

sage: SR(GF(5)(3)) * x
3*x
sage: _ * 2
x

though the symbolic elemnts still don't know anything about finite fields, 
they just carry the coefficients along.



On Tuesday, September 30, 2014 3:14:03 PM UTC+1, Kim Schoener wrote:
>
> Heya!
>
> I want to do something relatively easy in Sage but can't figure out how. 
> Hopefully you can help me. I want to do some symbolic operations 
> (matrix/vector) in the GF(2). Let's start out with real numbers first:
>
> (m1, m2, m3, m4) = (var("m1"), var("m2"), var("m3"), var("m4"))
> q = Matrix([
>     [m1, m2],
>     [m3, m4],
> ])
> print(q)
> print(q * q)
>
> Works pefectly:
>
> [m1 m2]
> [m3 m4]
> [ m1^2 + m2*m3 m1*m2 + m2*m4]
> [m1*m3 + m3*m4  m2*m3 + m4^2]
>
> But when I try the same thing in GF(2) by definiing
>
> q = Matrix(GF(2), [
>     [m1, m2],
>     [m3, m4],
> ])
>
> I get:
>
> [...]
>   File "parent.pyx", line 1069, in sage.structure.parent.Parent.__call__ 
> (sage/structure/parent.c:8546)
>   File "coerce_maps.pyx", line 156, in 
> sage.structure.coerce_maps.NamedConvertMap._call_ 
> (sage/structure/coerce_maps.c:4930)
>   File "expression.pyx", line 857, in 
> sage.symbolic.expression.Expression._integer_ 
> (sage/symbolic/expression.cpp:5877)
> TypeError: unable to convert x (=m1) to an integer
>
> However, the matrix definition seems to be okay, when I do
>
> q = Matrix(GF(2), [
>     [1, 1 ],
>     [1, 0],
> ])
> print(q * q)
>
> I get
>
> [0 1]
> [1 1]
>
> which is what I'd expect. Why does it not work with variables when working 
> in GF(2) and how can I get this to work the way I want it to?
>
> Thank you so much,
> Regards,
> Kim
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to