Hi Martin!

As you have pointed out in the wrong thread, having a smaller ring
*has* advantages.

But the more I think about it, the more I find it stupid that I let
any element of an infinite polynomial "sparse" ring have its own
underlying finite polynomial ring. It should be better to have the
following model:

* The infinite polynomial ring, R, has an underlying polynomial ring
R._P, that may change during computations. It has to contain all
variables that were created during computations, but not (much) more
than that. So, if a generator x of R creates a new variable x[n], then
R._P will be updated, and if a permutation acts on an element, R._P
will be updated as well.

* Any element, t, of R has an underlying polynomial, t._p. At the time
when t is created, t._p belongs to R._P.

* Later, the underlying ring of R may change. As soon as t is involved
in an arithmetic operation, t._p well be updated so that it belongs to
the new R._P.

Probably that will always be better than the current sparse
implementation, and (when doing overallocations) might even replace
the dense implementation.

Cheers,
Simon

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to