I am relatively new to the field and I would like to apologise in advance in case my question is trivial.

I am interested in crystal structure relaxation methods and I am struggling to understand some procedures regarding the derivation of the optimised structure. I am aware that ion positions inside the unit cell are obtained using the derivatives of the energy potential function with respect to the positions and lattice vectors are scaled using the strain tensor. However, I am not familiar with how the strain tensor is derived. Are the lattice vectors updated each time the ion positions are changed?

Dear Antonia.
The details of the strain tensor and optimisation can be found in the manual/GULP paper, but I can confirm that all variables (cell and coordinates) are updated at the same time if you are optimising at constant pressure.
Regards,
Julian

Thank you for your answer Prof. Gale. There is just one thing that does not seem straightforward to me; are the stresses (derivatives with respect to strains) used to update the lattice vectors in the same scheme, be that conjugate gradient update for example, that derivatives with respect to positions are used to update positions?