Bit-twiddling in the name of numerical accuracy, and speed, don't mix. This matters mainly for quantum chemistry and similar numerical theoretical physics (where numerical error actually limits result accuracy), and n-body simulations. I happen to need the latter to know what Iskandra's year is, rather than handwave it. (It's also a credibility check for a proposed climax for the biographical novel about Zaitharak, the Iskandran Badger Copernicus/Galileo/Kepler.)
As Python's memory management model requires extreme contortions to minimize thrashing the garbage collector, it's technically disqualified even though it has arbitrary-precision floating point. That leaves Ruby (speed factor of two slower than C for the Maya n-body simulator), and C++ .
The distraction for today was a first draft of a C++ class to wrap the algebraic manipulations needed to minimize subtractive cancellation errors, evade overflow, etc. I suspect it will build on some prior work from 2006. The medium-term objective is to guarantee calculating the Lorentz metric of a (four-dimensional) vector (x,y,z,t) in Minkowski space with maximal accuracy.
Saturday, January 19, 2013
Sunday, January 6, 2013
Science fantasy: editing progress
Two weeks of editing finally paid off last night: one chapter of working-title "Ill-Starred Romance" restructured properly, with a thoroughly inevitable complication documented.
But not properly expanded yet. I wasn't medically literate enough to push the new draft to a stable version.
But not properly expanded yet. I wasn't medically literate enough to push the new draft to a stable version.
Subscribe to:
Comments (Atom)