For fast verification, fast numerical computation tools are needed.
The following is the state of art of level of optimization of Matlab,
Octave and Scilab.
(1) MATLAB6 is optimized by ATLAS.
(2) Octave2.1.xx can be optimized by ATLAS. In the first place, compile
ATLAS. Then, copy generated all .a files to /usr/local/lib. Finally,
do ./configure, make and make install. By this process, we can get an
optimized Octave.
Remark: 1.
Although A*B, lu(A) etc. are optimized by this procedure, A\b may not
be optimized. Thus, I have made a m-files lusol.m
. This program calculates lu-decomposition by the optimized lu(A) of
Octave, then calculates forward substitution and backward elimination
by for-loops of Octave. Let us consider Ax=b, where A is square matrix
and x and b vectors. Via PentiumIII 600MHz machine, LAPACK+ATLAS solves
1000 times 1000 matrix A problem by 2.5 second. The lusol(A,b) solves
the same problem within 4 second. Since Octave's A\b solves the same
problem by 15 seconds, lusol is much faster.
(3) Optimization of Scilab through ATLAS seems difficult.
Instructions for changing rounding mode of IEEE754.
1. Rounding Instructions in C.(Table)
2. Rounding instructions of Octave on Linux (Octfile)
3. Rounding instructions of Scilab on Windows (Dll)
Matlab program for numerical computation with guaranteed accuracy.
(1) Matrix Equation(m-files).