research papers
Algorithms are presented for three-dimensional crystallographic space groups, handling tasks such as the generation of symmetry operations, the characterization of symmetry operations (determination of rotation-part type, axis direction, sense of rotation, screw or glide part and location part), the determination of space-group type [identified by the space-group number of the International Tables for Crystallography (Dordrecht: Kluwer Academic Publishers)] and the generation of structure-seminvariant vectors and moduli. The latter are an algebraic description of allowed origin shifts, which are important in crystal structure determination methods or for comparing crystal structures. The space-group type determination produces a change-of-basis matrix which transforms a given space-group representation to the standard one according to the International Tables for Crystallography. The algorithms were implemented and tested using the SgInfo library. The source code is free for non-commercial applications.