[Maxima] Discontinuity Points

Richard Fateman fateman at eecs.berkeley.edu
Thu Jun 28 17:46:02 CDT 2012

```On 6/28/2012 12:00 PM, Stavros Macrakis wrote:
> There are two ways I can think of to introduce discontinuities into a
> function:
>
> * Functions with discontinuities, e.g. tan(x), 1/x, mod(x,2), etc.
>  That reduces to the problem of solving for the appropriate values of
> the argument.
> * Explicit conditionals, e.g. if x>0 then 1 else 0.
>
> Everything else is a composition of these two.
>
> It is easy enough to recursively search the expression tree for these
> cases.  There are some refinements to the basic idea that are harder
> to implement:
>
> * Dealing with removable or spurious discontinuities (if you want to),
> e.g. what is the desired result for sin(x)/x or mod(x,%pi)*sin(x)?
> * Combining discontinuities nicely, e.g. discontinuities(1/sin(x)) is
> %z1*%pi and discontinuities(1/sin(2*x)) is %z2*%pi/2; but the second
> case subsumes the first case, so discontinuities(1/(sin(x)*sin(2*x))
> is simply %z3*%pi/2.

discontinuities occur along branch cuts (which may be movable) e.g.
consider log(x^2-1). Something
bad happens at x=+1, x=-1, and along (some) line connecting them.

If you have more than one variable, algorithms are lacking, generally.

Mathematica has a "Reduce" command, sort of like Solve .... so that
Reduce [   Log[x^2-1]-y==0,  x]

-\[Pi] < Im[y] <= \[Pi] && (x == -Sqrt[1 + E^y] || x == Sqrt[1 + E^y])

which might be considered a description of the problematic locations for
1/(log(x^2-1)-y)    ...

Im(y) in  [-pi,pi]  and x=+- sqrt(1+exp(y))

so y could be any value in some band it its complex plane,  and
x could be either of 2 points. I'm not sure why it restricts y, off hand.

> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20120628/a8b99cb8/attachment.html>
```