QPMS
Electromagnetic multiple scattering library and toolkit.

A point group with its irreducible representations and some metadata. More...
#include <groups.h>
Data Fields  
char *  name 
qpms_gmi_t  order 
Group order (number of elements)  
qpms_gmi_t  idi 
Identity element index.  
qpms_gmi_t *  mt 
Group multiplication table. If c = a*b, then ic = mt[order * ia + ib].  
qpms_gmi_t *  invi 
Group elem inverse indices.  
qpms_gmi_t *  gens 
A canonical set of group generators.  
int  ngens 
Number of the generators in gens;.  
qpms_permutation_t *  permrep 
Permutation representations of the elements.  
char **  elemlabels 
Optional human readable labels for the group elements.  
int  permrep_nelem 
Number of the elements over which the permutation representation acts.  
struct qpms_irot3_t *  rep3d 
The quaternion representation of a 3D point group (if applicable).  
qpms_iri_t  nirreps 
How many irreps does the group have.  
struct qpms_finite_group_irrep_t *  irreps 
Irreducible representations of the group.  
A point group with its irreducible representations and some metadata.
The structure of the group is given by the multiplication table mt.
Each element of the group has its index from 0 to order. The metadata about some element are then accessed using that index.
All members are in principle optional except order and mt.
Note: after changing this struct, don't forget to update the Python method SVWFPointGroupInfo.generate_c_source().