I'm looking for a library or computer algebra system that will help compute operations on polynomials in the ring
F_2[x_1, ..., x_n] / <f^2 - f>
where F_2
is the 2-element finite field, and <f^2 - f>
is the ideal generated from elements f^2 - f
for all f
in F_2[...]
. (I think / hope / am pretty sure this is the boolean algebra ring that uses xor as + and and as * [ wikipedia ]).
For example,
x_1 = poly_xn 1
x_2 = poly_xn 2
x_1 * x_2 * x_1 -- returns "x_1 * x_2"
x_1 + x_1 + x_2 -- returns "x_2"
I've written code for this in Haskell, but unfortunately the performance is not very good.
Note: the title "affine k-algebra" comes from Eisenbud's Commutative Algebra with a View Toward Algebraic Geometry book p. 35; if there's a better name please edit the question, thanks!
I've done much work in this area over the years, and find myself using Sage as my preferred system [http://www.sagemath.org/]. It is extremely efficient and has a natural language for schemes and other algebraic structures. Others I have used and enjoy are OpenAxiom and Magma. I tend to avoid MathCad and Mathematica, as they tend to have a lot if overhead in their parsers and provide a lot of bloat related to their interfaces unrelated to getting your calculations resolved.
An example of the support for affine schemes can be seen at http://www.sagemath.org/doc/reference/sage/schemes/generic/affine_space.html?highlight=affine#sage.schemes.generic.affine_space
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With