Changes 
http://page.axiom-developer.org/zope/mathaction/47ComplexFormLogILogI/diff
--

??changed:
-OrderedRing probably. OrderedSet wouldn't make sense...
'OrderedRing', probably. 'OrderedSet', wouldn't make sense...

??changed:
-myatan2(y,x)
myatan2(x,y)

??changed:
-One possible way is to use a three argument 'atan': in addition to the 'x,y' 
coordinates, also include the quadrant. This would allow a user to supply the 
crucial information and also make it automatic when the quadrant can be 
deduced. We can allow the quadrant information to be specified as "unknown" or 
"failed" and then return the expression unevaluated in that case.
One possible way is to use a three argument 'atan' : in addition to the 'x,y' 
coordinates, also include the quadrant. This would allow a user to supply the 
crucial information and also make it automatic when the quadrant can be 
deduced. We can allow the quadrant information to be specified as 'unknown' or 
'failed' and then return the expression unevaluated in that case.

??changed:
-Stepping back a bit, let's see why 'EXPR INT' is involved in the original post 
to evaluate 'argument(-%i)'. Functions (and especially, when implemented as 
operators) like 'argument' and 'atan' perhaps should be defined only under a 
domain which is closed with respect to them (so 'argument: Complex R -> R' 
would be considered closed, but 'argument: Complex Integer -> Expression 
Integer' is not.) In 'Complex Integer' these functions are meaningful only 
because the set of Gaussian integers is mathematically a subset of the field of 
complex numbers. The Axiom construction is complicated by the fact that $\pi$ 
may be symbolic and hence lives in 'Expression R'. And once expanded to 
'Expression R', the problem with what to do with variable inputs further 
complicates the implementation. Thus in evaluating 'argument((-1+%i)::Complex 
Integer)', Axiom needs to invoke 'argument: Complex EXPR INT->EXPR INT'. Would 
it be appropriate to invoke something like 'argument: Complex Float -> Fl!
oat' instead? (This would avoid the issue of variables in input arguments.)
Stepping back a bit, let's see why 'EXPR INT' is involved in the original post 
to evaluate 'argument(-%i)'. Functions (and especially, when implemented as 
operators) like 'argument' and 'atan' perhaps should be defined only under a 
domain which is closed with respect to them (so 'argument: Complex R -> R' 
would be considered closed, but 'argument: Complex Integer -> Expression 
Integer' would not.) In 'Complex Integer' these functions are meaningful only 
because the set of Gaussian integers is mathematically a subset of the field of 
complex numbers. The Axiom construction is complicated by the fact that $\pi$ 
may be symbolic and hence lives in 'Expression R'. And once expanded to 
'Expression R', the problem with what to do with variable inputs further 
complicates the implementation. Thus in evaluating 'argument((-1+%i)::Complex 
Integer)', Axiom needs to invoke 'argument: Complex EXPR INT->EXPR INT'. Would 
it be appropriate to invoke something like 'argument: Complex Float -> !
Float' instead? (This would avoid the issue of variables in input arguments.)

--
forwarded from http://page.axiom-developer.org/zope/mathaction/[EMAIL PROTECTED]


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to