News from the Front

Jun 27, 2006 16:24

So my current assignment at work is to devise a two-dimensional version of Newton's Method. Newton's Method is a numerical process for solving nasty equations.* This has proven, to use a technical term non-trivial. In fact, it is making me feel ridiculously stupid. For one thing, at the moment, I can't even prove Newton's Method with a single variable (not actually necessary for the work, I just want to familiarize myself with the thinking, so that I can understand it. No better way to familiarize oneself with something than to prove it).

Why are we doing this, you ask? Because the solution to the diffusion equations through a thin film and a thick membrane of a short-halflived substance with significant solubilities results in a system of algebraic equations which are unsolvable analytically.

"But that's what Mathematica is for!" you say.

Ah, but we are Real Men. And Real Men don't use Mathematica. Real Men do all of their math on paper. In blood. Paper made from the skins of deer from the NIST campus the Real Man has run down and strangled with his bare hands.

So Newton's Method it is.

Anyway, while playing around today, I discovered the relationship between the trigonometric tangent and the derivative. In retrospect, it's pretty obvious one should exist. I mean, the derivative is the slope of the TANGENT line and all, and tangent is called tangent, for crying out loud. Here is it: f'(x)=-1/tan(theta), where theta is the angle made by the tangent line through x with the y axis. This is bloody amazing. Beautiful, one might say. Perhaps even sublime. It has made my entire day. It has also made me ENDLESSLY irritated that no one, in my many years of mathematics education, has bothered to make this simple (the proof is really easy, to) and useful fact known to me.

So despite getting no real work done today, I'm in a really good mood.

*For those who care:

For a function f(x) with some unknown zero x(*):
Calculate f(x(0)), where x(0) is an arbitrary point close to x(*)
Calculate f'(x(0))
Calculate x(1), where x(1)=x(0)-f(x(0))/f'(x(0))
Repeat the process with x(1).
With sufficiently good guessing, this will converge with accuracy increasing as the square of the number of iterations
Previous post Next post
Up