Most of results of this thesis are based on numerical computations carried out in a computer. In some sections we have discussed the efficiency of a strategy depending on the number of steps to converge or on the CPU time that the process requires. But we must know that these results have a certain level of uncertainty. The performance of a numerical computation goes through several steps that have its own numerical error. The writing of the source code can be critic. Moreover, we need some external libraries such as diagonalization subroutines as well as the compiler and the compiling options that must have to be chosen with care.
In order to exemplify this fact we have performed two type of systematic benchmarks. The first type is a comparison of diagonalization subroutines and the second a minimization of a QM/MM model of Mandelate Racemase.
Diagonalization of an Augmented Hessian:
We have diagonalized an Augmented Hessian matrix with a dimension of 445445.
In table A.1 we show the RMS between the first six eigenvectors obtained by three standard
diagonalizers. The jacobi, MHQRII (the standard diagonalizer from mopac 4.0 source code) and DSPEV
from LAPACK[246] have been compiled at four different
levels of optimization with the GNU-g77 Fortran compiler 2.95.
The only conclusions that we want to extract from table A.1 is that although there is small difference between
the results obtained at different compiler options and by different subroutines, it is not always zero. Therefore,
a process such as the optimization of a structure that needs to diagonalize many matrices will
accumulate a numerical error that will influence the final results.
Minimization of a QM/MM system:
In table A.2 we show a minimization of Mandelate Racemase model studied in section 2.3
by LBFGS procedure. We can see that different compilers take a different number of iterations to converge and different CPU time.
In any case, all processes find the same stationary point with the same energy.
In a systematic study on the efficiency of a method
the compiler and compiler options must be kept fixed in order to obtain reliable results.