Equations (2) and (3) require that the normal matrix be calculated and inverted. This matrix is of size where n is the number of parameters in the model. For many macromolecular structures this number is of the order of 10,000. The calculation and inversion of this matrix is still impractical. To refine large models a method must be chosen which avoids these steps.
The authors of the several refinement packages in common use have chosen different ways to avoid this problem. The program X-PLOR (Brunger, 1987) uses the method of simulated annealing in the early stages of refinement. TNT (Tronrud, 1987) and X-PLOR (in later stages) both use the conjugate gradient method. SFRF (Agarwal, 1978) and EREF (Jack, 1978) both use a diagonal approximation to the normal matrix, while CORELS (Sussman, 1977) and PROLSQ (Hendrickson, 1980) use a sparse matrix approximation.