72 lines
1.4 KiB
C
72 lines
1.4 KiB
C
#include "groups.h"
|
|
#include <complex.h>
|
|
|
|
/// Trivial group, with one (reduntant) generator.
|
|
/**
|
|
* For the trivial group, zero generators are enough.
|
|
* However, some functions might be not robust enough and require
|
|
* a first generator to work properly.
|
|
*/
|
|
const qpms_finite_group_t QPMS_FINITE_GROUP_TRIVIAL_G = {
|
|
"trivial_g", // name
|
|
1, // order
|
|
0, // idi
|
|
(qpms_gmi_t[]) { // mt
|
|
0,
|
|
},
|
|
(qpms_gmi_t[]) { // invi
|
|
0
|
|
},
|
|
(qpms_gmi_t[]) {0}, // gens
|
|
1, // ngens
|
|
(qpms_permutation_t[]){ // permrep
|
|
"()",
|
|
},
|
|
NULL, // elemlabels
|
|
0, // permrep_nelem
|
|
(qpms_irot3_t[]) { // rep3d
|
|
{{1.0+0.0*I, 0.0+0.0*I}, 1},
|
|
},
|
|
1, // nirreps
|
|
(struct qpms_finite_group_irrep_t[]) { // irreps
|
|
{
|
|
1, // dim
|
|
"A", //name
|
|
(complex double []) {1} // m
|
|
},
|
|
} // end of irreps
|
|
};
|
|
|
|
/// Trivial group.
|
|
const qpms_finite_group_t QPMS_FINITE_GROUP_TRIVIAL = {
|
|
"trivial", // name
|
|
1, // order
|
|
0, // idi
|
|
(qpms_gmi_t[]) { // mt
|
|
0,
|
|
},
|
|
(qpms_gmi_t[]) { // invi
|
|
0
|
|
},
|
|
NULL, // gens
|
|
0, // ngens
|
|
(qpms_permutation_t[]){ // permrep
|
|
"()",
|
|
},
|
|
NULL, // elemlabels
|
|
0, // permrep_nelem
|
|
(qpms_irot3_t[]) { // rep3d
|
|
{{1.0+0.0*I, 0.0+0.0*I}, 1},
|
|
},
|
|
1, // nirreps
|
|
(struct qpms_finite_group_irrep_t[]) { // irreps
|
|
{
|
|
1, // dim
|
|
"A", //name
|
|
(complex double []) {1} // m
|
|
},
|
|
} // end of irreps
|
|
};
|
|
|
|
|