interface for possible transformations on a set of coordinates
The transform policy tells minpermdist how to perform transformations, i.e. a translation, rotation and inversion on a specific set of coordinates. This class is necessary since in general a coordinate array does not carry any information on the type of coordinate, e.g. if it’s a site coordinate, atom coordinate or angle axis vector.
All transformation act in place, that means they change the current coordinates and do not make a copy.
Methods
can_invert() | returns True or False if an inversion can be performed |
invert(X) | perform an inversion at the origin |
permute(X, perm) | returns the permuted coordinates |
rotate(X, mx) | apply rotation matrix mx for a rotation around the origin |
translate(X, d) | translate the coordinates |