axiom-developer
[Top][All Lists]

[Axiom-developer] [#47 complexForm(log(%i) - log(-%i))]

 From: wyscc Subject: [Axiom-developer] [#47 complexForm(log(%i) - log(-%i))] Date: Sat, 16 Jul 2005 13:05:24 -0500

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.)

--