Hi Martin et al.,

Magma doesn't support rank zero polynomial rings and this is a real
pain when
we were trying to implement schemes.   I could give you examples which
break
the schemes code, but I made no progress in convincing Allan Steel to
support
this boundary case.   On the other hand if the polynomial rings are
designed
correctly from the outset, and the documentation and test code checks
the design,
then the support problem will be minimized.  It is better to get the
design right
from the outset rather than trying to hack around it.

A similar problem we had in Magma was support for degree one number
fields,
which have been supported for a number of years now.

Two obvious problems arise when trying to write generic code and these
rings
are not supported (e.g. returning the base ring for polynomials or the
rationals
for a degree one extension of the rationals): 1) the depth of
recursion for calls
to base ring drops, and 2) the type of the returned object is
different (or wrong).

Boundary cases do often break code and require support, but if the
boundary
cases are not supported then a lot of other code will break.   For a
robust
generic system the boundary cases need to be well-supported even if
they
seem trivial.

William's example of matrices with zero rows or columns is another
good
example; their importance should not be underestimated in a generic
system.

To give a trivial example, take Proj(K[x]), an zero dimensional scheme
with
one rational point (1) over K (or any field extension).  An affine
patch has
coordinate ring isomorphic to K, but we need a rank zero polynomial
ring to
be able to represent it as a polynomial ring.  Otherwise schemes code
will
have to test everywhere for this and similar boundary cases.

--David


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to