- galois.typing.ElementLike
A
Union
representing objects that can be coerced into a Galois field element.Scalars are 0-D
Array
objects.Union¶
int
: A finite field element in its integer representation.In [1]: GF = galois.GF(3**5) In [2]: GF(17) Out[2]: GF(17, order=3^5)
In [3]: GF = galois.GF(3**5, repr="poly") In [4]: GF(17) Out[4]: GF(α^2 + 2α + 2, order=3^5)
In [5]: GF = galois.GF(3**5, repr="power") In [6]: GF(17) Out[6]: GF(α^222, order=3^5)
str
: A finite field element in its polynomial representation. Many string conventions are accepted, including: with/without*
, with/without spaces,^
or**
, any indeterminate variable, increasing/decreasing degrees, etc. Or any combination of the above.In [7]: GF("x^2 + 2x + 2") Out[7]: GF(17, order=3^5) # Add explicit * for multiplication In [8]: GF("x^2 + 2*x + 2") Out[8]: GF(17, order=3^5) # No spaces In [9]: GF("x^2+2x+2") Out[9]: GF(17, order=3^5) # ** instead of ^ In [10]: GF("x**2 + 2x + 2") Out[10]: GF(17, order=3^5) # Different indeterminate In [11]: GF("α^2 + 2α + 2") Out[11]: GF(17, order=3^5) # Ascending degrees In [12]: GF("2 + 2x + x^2") Out[12]: GF(17, order=3^5)
In [13]: GF("x^2 + 2x + 2") Out[13]: GF(α^2 + 2α + 2, order=3^5) # Add explicit * for multiplication In [14]: GF("x^2 + 2*x + 2") Out[14]: GF(α^2 + 2α + 2, order=3^5) # No spaces In [15]: GF("x^2+2x+2") Out[15]: GF(α^2 + 2α + 2, order=3^5) # ** instead of ^ In [16]: GF("x**2 + 2x + 2") Out[16]: GF(α^2 + 2α + 2, order=3^5) # Different indeterminate In [17]: GF("α^2 + 2α + 2") Out[17]: GF(α^2 + 2α + 2, order=3^5) # Ascending degrees In [18]: GF("2 + 2x + x^2") Out[18]: GF(α^2 + 2α + 2, order=3^5)
In [19]: GF("x^2 + 2x + 2") Out[19]: GF(α^222, order=3^5) # Add explicit * for multiplication In [20]: GF("x^2 + 2*x + 2") Out[20]: GF(α^222, order=3^5) # No spaces In [21]: GF("x^2+2x+2") Out[21]: GF(α^222, order=3^5) # ** instead of ^ In [22]: GF("x**2 + 2x + 2") Out[22]: GF(α^222, order=3^5) # Different indeterminate In [23]: GF("α^2 + 2α + 2") Out[23]: GF(α^222, order=3^5) # Ascending degrees In [24]: GF("2 + 2x + x^2") Out[24]: GF(α^222, order=3^5)
Array
: A previously created scalarArray
object. No coercion is necessary.
Alias¶