[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] fixing SPAD

From: Waldek Hebisch
Subject: Re: [Axiom-developer] fixing SPAD
Date: Sat, 19 May 2007 19:15:09 +0200 (CEST)

Martin Rubey wrote:
> Waldek Hebisch <address@hidden> writes:
> > For issue 354 I belive that there is reasonable workaround: just export
> > Field unconditionally (as we do know), but throw error when sombody
> > tries to create a fake field.  For example PrimeField is doing this --
> > it exports Field for any value of p, but complains if you give it
> > non-prime p.
> I don't think that's that way to go about it, since I think that Complex PF 5
> is a perfectly reasonable domain, only, it's not a field.  I know that one
> could, in this special case, switch to Complex ZMOD 5, but that's another
> story. Hm, are there Fields (easily created in Axiom) where it is more
> difficult to create the corresponding Ring?
> In any case, I thought that Complex R is intended to be the ring of formal
> linear combinations of 1 and %i, where %i^2 = 1.  (That's also roughly what 
> the
> doc says.)  Do you see a different interpretation for the 'Complex'
> constructor?

I view Complex as a special purpose constructor: square root of -1
has distinguished role for subsets of complex numbers.  But in general
one wants arbitrary algebraic extensions, and SimpleAlgebraicExtension
provide them (well, as long as R is commutative), without special
assumptions hardwired into Complex.

Note also that you need to be _very_ carefull when you work with
rings having zero divisors.  More precisely, when zero divisors
are present Expression domain may give you incorrect results.
Since untyped input is frequently converted to Expression, one
should carefully consider types to avoid such convertions.

Also, IIRC Expression or related domains refer back to Complex,
so I prefer to trap zero divisors in Complex.

                              Waldek Hebisch

reply via email to

[Prev in Thread] Current Thread [Next in Thread]