Object-Oriented Numerics

Precision and Reproducibility in Computing

Run-to-run reproducibility in computing is often assumed as an obvious truth. However software running on modern computer architectures, among many other processes, particularly when coupled with advanced performance-optimized libraries, is often only guaranteed to produce reproducible results only up to a certain precision; beyond that results can and do vary run-to-run. Reproducibility is inte...
Read More

Complex division by zero

An NMath customer submitted the following support question: I'm working on the primitives (NMathCoreShared.dll) and have found a rather odd 'quirk' with complex division by zero: DoubleComplex aa = new DoubleComplex(0.0, 0.0); DoubleComplex bb = new DoubleComplex(5.2, -9.1); DoubleComplex cc = new DoubleComplex(); cc = bb/aa; Console.WriteLine(cc); // (NaN,NaN) double g = -5.0 / 0.0; ...
Read More