It's worth noting that Muller's method requires a fair bit of computation at each iteration, which can contribute to round-off error. If you look at the formulas for secant and Newton's method, the number of function evaluations is significantly lower.
since i saw the wolfram formula, i suspected it can be a problem if b is negative. so i tested (in python) and indeed, max function is not the way to go. max( abs(b-sqrt(b*b-4*a*c)), abs(b+sqrt(b*b+4*a*c)) ) because you need the "biggest" value to divide with. in which context, -10 is better than -2. but max(-10, -2) = -2 => which will generate a wrong result
Actually, don’t use that one. Instead, use argmax(|d| : d=b+sqrt(b^2-4ac), b-sqrt(b^2-4ac)). Otherwise the denominator will never be negative which I’m guessing isn’t what the method requires.
Very well explained, but in actual applications with my programme I always get results like NaN because results are calculated to zero. Is this discussed anywhere in more detail on how to intercept such cases?
wait if going through the process using those three initial points will give you ONE of the roots...then how do you find th other roots? I noticed that he foun them by replacing those three initial points with new ones, but how does one determine which initial points to choose?
nice historical touch to open the vid.
It's worth noting that Muller's method requires a fair bit of computation at each iteration, which can contribute to round-off error. If you look at the formulas for secant and Newton's method, the number of function evaluations is significantly lower.
Awesome video man. Love this!
I've found L2(x) = -1/2 x^2 - 3/2, having as root x = +/-sqr(3).
Very well explained , thanks !!
Please explain, I have a negative discriminant. At the same time, the equation well clearly has a root On which it depends and how to fix it?
since i saw the wolfram formula, i suspected it can be a problem if b is negative.
so i tested (in python)
and indeed, max function is not the way to go.
max( abs(b-sqrt(b*b-4*a*c)), abs(b+sqrt(b*b+4*a*c)) )
because you need the "biggest" value to divide with.
in which context, -10 is better than -2.
but max(-10, -2) = -2 => which will generate a wrong result
In the example Python code I provided I did not use max. I instead computed both possible new x's and tested them both.
Actually, don’t use that one. Instead, use argmax(|d| : d=b+sqrt(b^2-4ac), b-sqrt(b^2-4ac)). Otherwise the denominator will never be negative which I’m guessing isn’t what the method requires.
Very well explained, but in actual applications with my programme I always get results like NaN because results are calculated to zero.
Is this discussed anywhere in more detail on how to intercept such cases?
wait if going through the process using those three initial points will give you ONE of the roots...then how do you find th other roots? I noticed that he foun them by replacing those three initial points with new ones, but how does one determine which initial points to choose?
Try graphing, pick points near the root you want to find.
@@OscarVeliz ah I figured as well. Thank you for the response
nice video dear
How you put the value in iteration no 4 1.78078 in example 1
See the "Finding x4" slides starting at 2:09
pleas i want this pdf or doc
you are welcome to take screenshots
Try to be little bit softer. You sound bit harsh and a style of a proffeser.