wolfman29

40 Reputation

2 Badges

10 years, 359 days

MaplePrimes Activity


These are questions asked by wolfman29

I'm running into a very simple problem with the way that Maple integrates Heaviside functions. Naively, it should act like a step function, but it is not integrating properly. See the attached document.

int(int(Heaviside(-x^2-y^2+1), x = -1 .. 1), y = -1 .. 1)

0

(1)

evalf(Int(Heaviside(-x^2-y^2+1), [x = -1 .. 1, y = -1 .. 1]))

3.141592654

(2)

int(piecewise(-x^2-y^2+1 > 0, 1, 0), [x = -1 .. 1, y = -1 .. 1])

Pi

(3)

``


Note that the symbolic integration of the Heaviside function (defined to be 1 inside the unit circle and 0 outside) gives zero, whereas it should clearly give the area of the unit circle, which the numerical integration does. I even checked that the (suposedly equivalent) piecewise definition symbolically evaluates to the area, and it, too, gets the right answer.

Anyone have any clue as to why the symbolic integration of this Heaviside function is so wrong? My understanding is that if we do the integral as two nested 1D integrals, the returned function (as a function of y) is zero everywhere except at y=0, but that result cannot be right either.

Thoughts?

 

Download Heaviside-error.mw

The issue I am currently having is that, while analyticity (and physics) indicates a certain function must have roots, fsolve is having trouble finding them. In fact, I have even found roots manually in a certain region myself, simply inputting into the function various values until I found them. However, fsolve does not seem to want to find these roots, and I believe it is a numerics issue: when I changed the digits around, for extremely low values of Digits, it would find a root (even though it was incorrect). Further, this problem arose elsewhere in the domain of interest for other values of Digits (in particular, for Digits:=5, fsolve failed in a region it had not failed before).

The region of interest is the "peak" of the output of poleR(M0, 0.935, mK), which should be somewhere around M0 = 0.95 or so. However, because fsolve cannot find the roots, the plot cannot be made.

Anyone have any ideas as to why fsolve cannot find the roots? I was also experiencing issues with some of these functions having multiple roots, which itself is weird as well (note that I am working over the complex plane).

Attached is the document.

pole-dragging-mapleprimes.mw

Any ideas?

I am currently running into an issue where the numerical solution to an equation (involving an integral, yes, but the value I am solving for is simly a constant in the integral) is taking significantly longer than I would hope it would to solve. I am solving a similar equation (with a simpler expression) and it is significantly easier to solve, and I am hoping for that kind of speed.

On the last two lines in the attachment, I have two expressions. The penultimate expression is the baseline speed that I would like to match. The last expression is the fsolve I would like to speed up.

Is there any way to numerically speed up the process? I found that when I did tracelast after halting the process, there were HUGE numbers being added and subtracted, multiplied and divided. Not only did this significantly slow down the proecss but it also adds much numerical instability, which I would also like to avoid.

All help would be appreciated.

pole-dragging-mapleprimes.mw

I have a rather complex expression that I want to find the zero for as a function of two other parameters, i.e. I have a function

Denom := (s,M,g) -> stuff

that I want to find the zero of for a variety of values of M and g. In some cases the solution will be complex, which is entirely acceptable. However, the real part of the solution should never be negative, and yet that is the kind of result I am getting.

As an example (illustrated in the worksheet, when attempting to find the zero for M = 3 and g = 0.2, fsolve gives me s = -6.1 -1.4i. However, when I plot the function with the parameters input already, I can clearly see a zero at s = 9 with no imaginary component. Why won't fsolve find this zero? How can I make it do so?

See the bottom of the attached worksheet for the main problem.

 pole-dragging-mapleprimes.mw

I am trying to find the root of an equation that involves a procedure and a definite integral (solved numerically). Of course, I don't need the root to be found symbolically, but numerically would be fine. The problem is, I keep getting the error

"Error, (in fsolve) Can't handle expressions with typed procedures"

whenever I try to solve it. Anyone have any ideas? My worksheet is here: Table-1-duplication-mapleprimes.mw 

 

1 2 3 Page 1 of 3