While that's true note that in principle the design is such that we
distinguish between ideals and their generating sets. For example: reduction
by an ideal f.reduce() is different from reduction by a list of generators.
Also, this is the reason why the interreduced_basis() is somewhat awkwardly
named: it shouldn't be a function on ideals but we didn't really have any
other object. mq.MPolynomialSystem might be a good candidate for stuff that
really works with polynomial lists but it would have to be moved away from the
crypto module first.
Cheers,
Martin
--
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://martinralbrecht.wordpress.com/
_jab: martinr...@jabber.ccc.de
I still think that mq.MPolynomialSystem would be a good class, since
essentially implements a list of polynomials in light of the fact that we
don't identify lists of polynomials and ideals in Sage. Of course, it should
be moved to sage.rings.polynomial (I can do that, so you don't have to worry
about that).
> Then i ran into trouble, because that class is written in Cython, i
> only know Python, and my code is written in Sage. Man, this is
> getting difficult, and yet my function is so simple!
Just drop your code into the class of your choice - Python or Cython. Cython
implements most of Python's syntax, so your code should just work.