Given two different geometries (one "previous" and one "current"), the simplest approach is to rotate the current set of orbitals so that the orbital overlap with the previous geometry is maximized. To do so, we divide the S matrix into S o and S v within the occupied and virtual subspaces respectively and employ the single value decomposition (SVD) of the S o and S v matrices,