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