12 ms·
As I see it less magic in the algorithms" makes sense when the user specifies an algorithm. When they haven't, it literally means: "I really don't care how you
by mehrdadn 6y ago
As I see it less magic in the algorithms" makes sense when the user specifies an algorithm. When they haven't, it literally means: "I really don't care how you solve this, just give me the best solution you can however you want, and stop making excuses."
And for the record I could propose better solutions but clearly you don't want them because that's too much "magic".
In fact, one bit you might find fun: try plugging in the proposed solution as a new guess and see how well the algorithm had even converged. You're literally advocating for an algorithm that produces wrong solutions it doesn't even claim to converge on. It it even possible to be more wrong than this on such a basic problem?!
Lastly: I've found far milder bugs in Mathematica that I didn't expect them to fix, and they actually fixed them. So I think, moving forward, this is probably going to be my exhibit A for why expecting open source software to achieve the quality of commercial solutions might be fundamentally just expecting too much. When you don't have customer money to tell you your wrong solutions are wrong, people will jump to the defense of the most insane behavior, telling you you're "not fundamentally right" to expect programs to have even the most trivial sanity checks to prevent wildly wrong outputs for the most basic problems.
- ogogmad 6y agoThe root-finding problem is not solvable in general. In exact real arithmetic, there cannot exist an algorithm that will find an $x$ such that $f(x) = 0$ even if such an $x$ exists and $f$ is computable. At least not unless you make some further assumptions about $f$ and $x$. Of course, I'm talking about the worst case. Your example is easier.
- mehrdadn 6y ago> The root-finding problem is not solvable in general. Great, because nobody was asking for that either. > Of course, I'm talking about the worst case. Your example is easier. Which has been my entire point this whole time, which I already explained to you but which you conveniently prefer to totally ignore. The case I gave is not merely "easier"... it's utterly trivial. I literally even explained how they could solve it with the current algorithm too: by running multiple iterations of that exact algorithm to at least try to get some kind of convergence. Did I ever demand or expect it to solve arbitrary transcendentals? No, nobody was demanding it to magically solve everything. But producing flatly wrong outputs for even the simplest quadratics without any attempt to improve it, sanity check it, or issue a warning is just plain inexcusable and embarrassing.
- deleted 6y ago[deleted]