The use of a quaternion parameterization allows for an approximately uniform minimization space. The symmetric operations rotation, improper rotation, and mirror plane can be defined as operations on the unit sphere, by spherical coordinates (ɸ and θ) converted into the unit vector [x,y,z]; rotations are defined as a rotational unit quaternion [x,y,z,w] (w = 2/n) applied to the coordinates, mirror planes as twice the dot product of the initial coordinates and the vector [x,y,z] subtracted from the coordinate matrix, and an improper rotation as the sequential application of reflection and rotation; inversion is simply [[-a,-b,-c]⋯]. Atoms are assigned to their symmetry-opposite equivalents by using a Hungarian method solution to the assignment problem. After alignment of the molecule to the symmetry operations, a dummy symmetric model is generated by iteratively averaging the atom positions with their symmetry equivalents through each operation of the point group; in non-2-fold axes, this is repeated. An assignment matrix for each of these operations is cached in a scsd_model object. This first step is skipped if a precomputed model is provided.