Opened 11 years ago

Last modified 6 years ago

#9548 new defect

Sage does not support infinities with complex direction

Reported by: fredrik.johansson Owned by: AlexGhitza
Priority: major Milestone: sage-wishlist
Component: algebra Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

This should do something reasonable:

sage: Infinity * I
---------------------------------------------------------------------------
ArithmeticError                           Traceback (most recent call last)

/home/fredrik/sage/<ipython console> in <module>()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:11428)()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:6123)()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:11356)()

/home/fredrik/sage/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression._mul_ (sage/symbolic/expression.cpp:11042)()

ArithmeticError: x*Infinity with non real x encountered.

Change History (3)

comment:1 Changed 7 years ago by mmezzarobba

  • Milestone set to sage-wishlist

I*Infinity now returns an element of the symbolic ring. I'm leaving the ticket open (as a wishlist item), though, since it would probably make sense to make infinities with complex direction more similar to ±∞.

comment:2 Changed 6 years ago by rws

This may be a stupid question but now that we have complex (unsigned) infinity, shouldn't that be the result of I*Infinity?

comment:3 Changed 6 years ago by mmezzarobba

I don't know. It would definitely be useful to be able to write things like integrals from 0 to i∞, (1+i)∞, or exp(iθ)∞. Whether I*infinity should return on of these “directional” infinities or unsigned infinity is another question. Without thinking, I'd say I*PlusInfinity() should return the former and I*UnsignedInfinity() the latter.

Note: See TracTickets for help on using tickets.