help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Big Loss of Precision


From: Thomas D. Dean
Subject: Big Loss of Precision
Date: Sat, 16 Jul 2016 11:35:38 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0

The cross product of two vectors is orthogonal to both. The dot product of two orthogonal vectors is zero.

This is not an octave problem, just an ill-formed situation.

octave:1405> printf(" %.20f\n",V);
 3.99120302628332668249
 -0.91842329903575536942
 1.29246846883179156151

octave:1406> printf(" %.20f\n",R);
 -1518.35794621729837672319
 -4017.17627231122196462820
 4816.75939627815478161210

octave:1407> dot(cross(R,V),R)
ans =    1.4901e-08
octave:1408> dot(cross(R,V),V)
ans =    3.6380e-12

cross has 6 multiplications and 3 add/subtract
dot has 3 multiplications and 3 add/subtract

Octave eps is 2.2204e-16

machine eps is 1.11022e-16 (quadmath 1.925930e-34).

This case has a very serious loss of precision!

Tom Dean



reply via email to

[Prev in Thread] Current Thread [Next in Thread]