internal coord. -> cartesian



 Dear CCL'ers,
  I am currently trying to write my own geometry-optimization
 tool and my question refers to the summary 'internal->cartesian'
 in the CCL archive.
 I have implemented a method to convert from internal coordinates to
 cartesian coordinates which has also been outlined by Heinz Schiffer,
 that is
 1.) given a set of cartesian coordinates, I calculate a set of bond
     lengths, angles and dihedral angles and, as a byproduct a Wilson
     Matrix B containing the partial derivates d q_j/d x_i
     (q : internal coordinates, x: cartesian coordinates) is set up.
 2.) A step is made: q_old -> q_new
 3.) The inverse of B (B_inv) is used to calculate
     x_new-x_old = B_inv [x_old] *(q_new-q_old).
 4.) Using x_new, step 1 is used to recalculate a set of internals q_test.
     If q_test=q_new, I am done. If not, the process is repeated ,
     updating B_inv [x] until it reproduces the correct q_new.
 It works fine for bond lengths. Since B contains only unit vectors
 the process is *converged* in one step.
 If I am using steps in bond angles I am unable to get the difference
 between the actual angle update and the converged result below 5 percent.
 For realistic angle updates (such as ~10 degrees) it is around 10 percent.
 My understanding was, that the iterative process should take care of
 the fact that the steps are NOT infinitesimal thus converging to
 exactly the desired step. The code is so embarrasingly simple
 that I either made a very dumb mistake or (and this is my question)
 I do not understand this iterative process.
 Is it supposed to converge to exactly q_new or not?
 Thank you very much in advance,
    F. Noertemann
 --
 \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
 Folke Noertemann	             \_
 Lehrstuhl f. theoret. Chemie	      \_
 TU Muenchen			       \_
 Lichtenbergstr. 4		        \_
 D-85747 Garching		         \_
 					  \_
 e-mail: noertema[ AT ]theochem.tu-muenchen.de   \_
 phone : 089 - 289 13609			    \_
 \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_