Generated groups for use in C
Former-commit-id: a8610c6cb5cd0c0564a2b489a1ce8f4ac9c90710
This commit is contained in:
parent
a51236e058
commit
a4a3751cab
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
from qpms.symmetries import point_group_info
|
||||||
|
|
||||||
|
codestring = "#include <qpms/groups.h>\n"
|
||||||
|
for name, info in point_group_info.items():
|
||||||
|
codestring += 'const qpms_finite_group_t QPMS_FINITE_GROUP_%s = ' %name
|
||||||
|
codestring += info.generate_c_source()
|
||||||
|
codestring += ";\n\n"
|
||||||
|
|
||||||
|
print(codestring)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,648 @@
|
||||||
|
#include "staticgroups.h"
|
||||||
|
const qpms_finite_group_t QPMS_FINITE_GROUP_C2v = {
|
||||||
|
"C2v", // name
|
||||||
|
4, // order
|
||||||
|
0, // idi
|
||||||
|
(qpms_gmi_t[]) { // mt
|
||||||
|
0, 1, 2, 3,
|
||||||
|
1, 0, 3, 2,
|
||||||
|
2, 3, 0, 1,
|
||||||
|
3, 2, 1, 0,
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) { // invi
|
||||||
|
0, 1, 2, 3
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) {1, 3}, // gens
|
||||||
|
2, // ngens
|
||||||
|
(qpms_permutation_t[]){ // permrep
|
||||||
|
"(3)",
|
||||||
|
"(0 1)(2 3)",
|
||||||
|
"(0 2)(1 3)",
|
||||||
|
"(0 3)(1 2)",
|
||||||
|
},
|
||||||
|
NULL, // elemlabels
|
||||||
|
4, // permrep_nelem
|
||||||
|
(qpms_irot3_t[]) { // rep3d
|
||||||
|
{{1.0+0.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 0.0+1.0*I}, -1},
|
||||||
|
{{0.0+1.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 1.0+0.0*I}, -1},
|
||||||
|
},
|
||||||
|
4, // nirreps
|
||||||
|
(struct qpms_finite_group_irrep_t[]) { // irreps
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1", //name
|
||||||
|
(complex double []) {1, 1, 1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B2", //name
|
||||||
|
(complex double []) {1, -1, -1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B1", //name
|
||||||
|
(complex double []) {1, 1, -1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2", //name
|
||||||
|
(complex double []) {1, -1, 1, -1} // m
|
||||||
|
},
|
||||||
|
} // end of irreps
|
||||||
|
};
|
||||||
|
|
||||||
|
const qpms_finite_group_t QPMS_FINITE_GROUP_D3h = {
|
||||||
|
"D3h", // name
|
||||||
|
12, // order
|
||||||
|
0, // idi
|
||||||
|
(qpms_gmi_t[]) { // mt
|
||||||
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
||||||
|
1, 2, 0, 5, 3, 4, 8, 6, 7, 10, 11, 9,
|
||||||
|
2, 0, 1, 4, 5, 3, 7, 8, 6, 11, 9, 10,
|
||||||
|
3, 4, 5, 0, 1, 2, 10, 11, 9, 8, 6, 7,
|
||||||
|
4, 5, 3, 2, 0, 1, 9, 10, 11, 6, 7, 8,
|
||||||
|
5, 3, 4, 1, 2, 0, 11, 9, 10, 7, 8, 6,
|
||||||
|
6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5,
|
||||||
|
7, 8, 6, 11, 9, 10, 2, 0, 1, 4, 5, 3,
|
||||||
|
8, 6, 7, 10, 11, 9, 1, 2, 0, 5, 3, 4,
|
||||||
|
9, 10, 11, 6, 7, 8, 4, 5, 3, 2, 0, 1,
|
||||||
|
10, 11, 9, 8, 6, 7, 3, 4, 5, 0, 1, 2,
|
||||||
|
11, 9, 10, 7, 8, 6, 5, 3, 4, 1, 2, 0,
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) { // invi
|
||||||
|
0, 2, 1, 3, 4, 5, 6, 7, 8, 10, 9, 11
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) {1, 5, 11}, // gens
|
||||||
|
3, // ngens
|
||||||
|
(qpms_permutation_t[]){ // permrep
|
||||||
|
"(4)",
|
||||||
|
"(4)(0 1 2)",
|
||||||
|
"(4)(0 2 1)",
|
||||||
|
"(4)(1 2)",
|
||||||
|
"(4)(0 1)",
|
||||||
|
"(4)(0 2)",
|
||||||
|
"(0 2)(3 4)",
|
||||||
|
"(1 2)(3 4)",
|
||||||
|
"(0 1)(3 4)",
|
||||||
|
"(0 1 2)(3 4)",
|
||||||
|
"(0 2 1)(3 4)",
|
||||||
|
"(3 4)",
|
||||||
|
},
|
||||||
|
NULL, // elemlabels
|
||||||
|
5, // permrep_nelem
|
||||||
|
(qpms_irot3_t[]) { // rep3d
|
||||||
|
{{1.0+0.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.5000000000000001+0.8660254037844386*I, 0.0+0.0*I}, 1},
|
||||||
|
{{-0.4999999999999998+0.8660254037844388*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 0.8660254037844388-0.4999999999999998*I}, -1},
|
||||||
|
{{0.0+0.0*I, 0.8660254037844386+0.5000000000000002*I}, -1},
|
||||||
|
{{0.0+0.0*I, -5.551115123125783e-17+1.0*I}, -1},
|
||||||
|
{{0.0+0.0*I, -1.0-5.551115123125783e-17*I}, 1},
|
||||||
|
{{0.0+0.0*I, -0.5000000000000001-0.8660254037844386*I}, 1},
|
||||||
|
{{0.0+0.0*I, 0.4999999999999998-0.8660254037844388*I}, 1},
|
||||||
|
{{0.8660254037844388-0.4999999999999998*I, 0.0+0.0*I}, -1},
|
||||||
|
{{0.8660254037844386+0.5000000000000002*I, 0.0+0.0*I}, -1},
|
||||||
|
{{-5.551115123125783e-17+1.0*I, 0.0+0.0*I}, -1},
|
||||||
|
},
|
||||||
|
6, // nirreps
|
||||||
|
(struct qpms_finite_group_irrep_t[]) { // irreps
|
||||||
|
{
|
||||||
|
2, // dim
|
||||||
|
"E\'", //name
|
||||||
|
(complex double []) {
|
||||||
|
// (4)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (4)(0 1 2)
|
||||||
|
-0.5, -0.8660254037844386,
|
||||||
|
0.8660254037844386, -0.5,
|
||||||
|
// (4)(0 2 1)
|
||||||
|
-0.4999999999999999, 0.8660254037844386,
|
||||||
|
-0.8660254037844386, -0.4999999999999999,
|
||||||
|
// (4)(1 2)
|
||||||
|
-0.4999999999999999, -0.8660254037844386,
|
||||||
|
-0.8660254037844386, 0.4999999999999999,
|
||||||
|
// (4)(0 1)
|
||||||
|
-0.49999999999999994, 0.8660254037844385,
|
||||||
|
0.8660254037844385, 0.49999999999999994,
|
||||||
|
// (4)(0 2)
|
||||||
|
0.9999999999999998, 0.0,
|
||||||
|
0.0, -0.9999999999999998,
|
||||||
|
// (0 2)(3 4)
|
||||||
|
0.9999999999999998, 0.0,
|
||||||
|
0.0, -0.9999999999999998,
|
||||||
|
// (1 2)(3 4)
|
||||||
|
-0.4999999999999999, -0.8660254037844384,
|
||||||
|
-0.8660254037844384, 0.4999999999999999,
|
||||||
|
// (0 1)(3 4)
|
||||||
|
-0.4999999999999997, 0.8660254037844384,
|
||||||
|
0.8660254037844384, 0.4999999999999997,
|
||||||
|
// (0 1 2)(3 4)
|
||||||
|
-0.4999999999999997, -0.8660254037844384,
|
||||||
|
0.8660254037844384, -0.4999999999999997,
|
||||||
|
// (0 2 1)(3 4)
|
||||||
|
-0.4999999999999998, 0.8660254037844383,
|
||||||
|
-0.8660254037844383, -0.4999999999999998,
|
||||||
|
// (3 4)
|
||||||
|
0.9999999999999996, 0.0,
|
||||||
|
0.0, 0.9999999999999996,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
2, // dim
|
||||||
|
"E\'\'", //name
|
||||||
|
(complex double []) {
|
||||||
|
// (4)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (4)(0 1 2)
|
||||||
|
-0.5, -0.8660254037844386,
|
||||||
|
0.8660254037844386, -0.5,
|
||||||
|
// (4)(0 2 1)
|
||||||
|
-0.4999999999999999, 0.8660254037844386,
|
||||||
|
-0.8660254037844386, -0.4999999999999999,
|
||||||
|
// (4)(1 2)
|
||||||
|
-0.4999999999999999, -0.8660254037844386,
|
||||||
|
-0.8660254037844386, 0.4999999999999999,
|
||||||
|
// (4)(0 1)
|
||||||
|
-0.49999999999999994, 0.8660254037844385,
|
||||||
|
0.8660254037844385, 0.49999999999999994,
|
||||||
|
// (4)(0 2)
|
||||||
|
0.9999999999999998, 0.0,
|
||||||
|
0.0, -0.9999999999999998,
|
||||||
|
// (0 2)(3 4)
|
||||||
|
-0.9999999999999998, 0.0,
|
||||||
|
0.0, 0.9999999999999998,
|
||||||
|
// (1 2)(3 4)
|
||||||
|
0.4999999999999999, 0.8660254037844384,
|
||||||
|
0.8660254037844384, -0.4999999999999999,
|
||||||
|
// (0 1)(3 4)
|
||||||
|
0.4999999999999997, -0.8660254037844384,
|
||||||
|
-0.8660254037844384, -0.4999999999999997,
|
||||||
|
// (0 1 2)(3 4)
|
||||||
|
0.4999999999999997, 0.8660254037844384,
|
||||||
|
-0.8660254037844384, 0.4999999999999997,
|
||||||
|
// (0 2 1)(3 4)
|
||||||
|
0.4999999999999998, -0.8660254037844383,
|
||||||
|
0.8660254037844383, 0.4999999999999998,
|
||||||
|
// (3 4)
|
||||||
|
-0.9999999999999996, 0.0,
|
||||||
|
0.0, -0.9999999999999996,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2\'", //name
|
||||||
|
(complex double []) {1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1\'\'", //name
|
||||||
|
(complex double []) {1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2\'\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1} // m
|
||||||
|
},
|
||||||
|
} // end of irreps
|
||||||
|
};
|
||||||
|
|
||||||
|
const qpms_finite_group_t QPMS_FINITE_GROUP_D4h = {
|
||||||
|
"D4h", // name
|
||||||
|
16, // order
|
||||||
|
0, // idi
|
||||||
|
(qpms_gmi_t[]) { // mt
|
||||||
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||||
|
1, 2, 3, 0, 7, 4, 5, 6, 11, 8, 9, 10, 13, 14, 15, 12,
|
||||||
|
2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9, 14, 15, 12, 13,
|
||||||
|
3, 0, 1, 2, 5, 6, 7, 4, 9, 10, 11, 8, 15, 12, 13, 14,
|
||||||
|
4, 5, 6, 7, 0, 1, 2, 3, 14, 15, 12, 13, 10, 11, 8, 9,
|
||||||
|
5, 6, 7, 4, 3, 0, 1, 2, 13, 14, 15, 12, 11, 8, 9, 10,
|
||||||
|
6, 7, 4, 5, 2, 3, 0, 1, 12, 13, 14, 15, 8, 9, 10, 11,
|
||||||
|
7, 4, 5, 6, 1, 2, 3, 0, 15, 12, 13, 14, 9, 10, 11, 8,
|
||||||
|
8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6, 7,
|
||||||
|
9, 10, 11, 8, 15, 12, 13, 14, 3, 0, 1, 2, 5, 6, 7, 4,
|
||||||
|
10, 11, 8, 9, 14, 15, 12, 13, 2, 3, 0, 1, 6, 7, 4, 5,
|
||||||
|
11, 8, 9, 10, 13, 14, 15, 12, 1, 2, 3, 0, 7, 4, 5, 6,
|
||||||
|
12, 13, 14, 15, 8, 9, 10, 11, 6, 7, 4, 5, 2, 3, 0, 1,
|
||||||
|
13, 14, 15, 12, 11, 8, 9, 10, 5, 6, 7, 4, 3, 0, 1, 2,
|
||||||
|
14, 15, 12, 13, 10, 11, 8, 9, 4, 5, 6, 7, 0, 1, 2, 3,
|
||||||
|
15, 12, 13, 14, 9, 10, 11, 8, 7, 4, 5, 6, 1, 2, 3, 0,
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) { // invi
|
||||||
|
0, 3, 2, 1, 4, 5, 6, 7, 8, 9, 10, 11, 14, 13, 12, 15
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) {1, 7, 15}, // gens
|
||||||
|
3, // ngens
|
||||||
|
(qpms_permutation_t[]){ // permrep
|
||||||
|
"(5)",
|
||||||
|
"(5)(0 1 2 3)",
|
||||||
|
"(5)(0 2)(1 3)",
|
||||||
|
"(5)(0 3 2 1)",
|
||||||
|
"(5)(0 2)",
|
||||||
|
"(5)(0 3)(1 2)",
|
||||||
|
"(5)(1 3)",
|
||||||
|
"(5)(0 1)(2 3)",
|
||||||
|
"(0 1)(2 3)(4 5)",
|
||||||
|
"(0 2)(4 5)",
|
||||||
|
"(0 3)(1 2)(4 5)",
|
||||||
|
"(1 3)(4 5)",
|
||||||
|
"(0 1 2 3)(4 5)",
|
||||||
|
"(0 2)(1 3)(4 5)",
|
||||||
|
"(0 3 2 1)(4 5)",
|
||||||
|
"(4 5)",
|
||||||
|
},
|
||||||
|
NULL, // elemlabels
|
||||||
|
6, // permrep_nelem
|
||||||
|
(qpms_irot3_t[]) { // rep3d
|
||||||
|
{{1.0+0.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.7071067811865476+0.7071067811865475*I, 0.0+0.0*I}, 1},
|
||||||
|
{{2.220446049250313e-16+1.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{-0.7071067811865474+0.7071067811865477*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 0.7071067811865477-0.7071067811865474*I}, -1},
|
||||||
|
{{0.0+0.0*I, 1.0+2.220446049250313e-16*I}, -1},
|
||||||
|
{{0.0+0.0*I, 0.7071067811865475+0.7071067811865476*I}, -1},
|
||||||
|
{{0.0+0.0*I, 0.0+1.0*I}, -1},
|
||||||
|
{{0.0+0.0*I, -1.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, -0.7071067811865476-0.7071067811865475*I}, 1},
|
||||||
|
{{0.0+0.0*I, -2.220446049250313e-16-1.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 0.7071067811865474-0.7071067811865477*I}, 1},
|
||||||
|
{{0.7071067811865477-0.7071067811865474*I, 0.0+0.0*I}, -1},
|
||||||
|
{{1.0+2.220446049250313e-16*I, 0.0+0.0*I}, -1},
|
||||||
|
{{0.7071067811865475+0.7071067811865476*I, 0.0+0.0*I}, -1},
|
||||||
|
{{0.0+1.0*I, 0.0+0.0*I}, -1},
|
||||||
|
},
|
||||||
|
10, // nirreps
|
||||||
|
(struct qpms_finite_group_irrep_t[]) { // irreps
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B1\'\'", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
2, // dim
|
||||||
|
"E\'", //name
|
||||||
|
(complex double []) {
|
||||||
|
// (5)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (5)(0 1 2 3)
|
||||||
|
0.0, -1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (5)(0 2)(1 3)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (5)(0 3 2 1)
|
||||||
|
0.0, 1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (5)(0 2)
|
||||||
|
0.0, 1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (5)(0 3)(1 2)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (5)(1 3)
|
||||||
|
0.0, -1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (5)(0 1)(2 3)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (0 1)(2 3)(4 5)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (0 2)(4 5)
|
||||||
|
0.0, 1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (0 3)(1 2)(4 5)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (1 3)(4 5)
|
||||||
|
0.0, -1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (0 1 2 3)(4 5)
|
||||||
|
0.0, -1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (0 2)(1 3)(4 5)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (0 3 2 1)(4 5)
|
||||||
|
0.0, 1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (4 5)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
2, // dim
|
||||||
|
"E\'\'", //name
|
||||||
|
(complex double []) {
|
||||||
|
// (5)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (5)(0 1 2 3)
|
||||||
|
0.0, -1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (5)(0 2)(1 3)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (5)(0 3 2 1)
|
||||||
|
0.0, 1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (5)(0 2)
|
||||||
|
0.0, 1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (5)(0 3)(1 2)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (5)(1 3)
|
||||||
|
0.0, -1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (5)(0 1)(2 3)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (0 1)(2 3)(4 5)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (0 2)(4 5)
|
||||||
|
0.0, -1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (0 3)(1 2)(4 5)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (1 3)(4 5)
|
||||||
|
0.0, 1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (0 1 2 3)(4 5)
|
||||||
|
0.0, 1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (0 2)(1 3)(4 5)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (0 3 2 1)(4 5)
|
||||||
|
0.0, -1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (4 5)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B1\'", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2\'\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B2\'", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1\'\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B2\'\'", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} // m
|
||||||
|
},
|
||||||
|
} // end of irreps
|
||||||
|
};
|
||||||
|
|
||||||
|
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
|
||||||
|
};
|
||||||
|
|
||||||
|
const qpms_finite_group_t QPMS_FINITE_GROUP_C4v = {
|
||||||
|
"C4v", // name
|
||||||
|
8, // order
|
||||||
|
0, // idi
|
||||||
|
(qpms_gmi_t[]) { // mt
|
||||||
|
0, 1, 2, 3, 4, 5, 6, 7,
|
||||||
|
1, 2, 3, 0, 7, 4, 5, 6,
|
||||||
|
2, 3, 0, 1, 6, 7, 4, 5,
|
||||||
|
3, 0, 1, 2, 5, 6, 7, 4,
|
||||||
|
4, 5, 6, 7, 0, 1, 2, 3,
|
||||||
|
5, 6, 7, 4, 3, 0, 1, 2,
|
||||||
|
6, 7, 4, 5, 2, 3, 0, 1,
|
||||||
|
7, 4, 5, 6, 1, 2, 3, 0,
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) { // invi
|
||||||
|
0, 3, 2, 1, 4, 5, 6, 7
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) {1, 7}, // gens
|
||||||
|
2, // ngens
|
||||||
|
(qpms_permutation_t[]){ // permrep
|
||||||
|
"(3)",
|
||||||
|
"(0 1 2 3)",
|
||||||
|
"(0 2)(1 3)",
|
||||||
|
"(0 3 2 1)",
|
||||||
|
"(3)(0 2)",
|
||||||
|
"(0 3)(1 2)",
|
||||||
|
"(1 3)",
|
||||||
|
"(0 1)(2 3)",
|
||||||
|
},
|
||||||
|
NULL, // elemlabels
|
||||||
|
4, // permrep_nelem
|
||||||
|
(qpms_irot3_t[]) { // rep3d
|
||||||
|
{{1.0+0.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.7071067811865476+0.7071067811865475*I, 0.0+0.0*I}, 1},
|
||||||
|
{{2.220446049250313e-16+1.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{-0.7071067811865474+0.7071067811865477*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 0.7071067811865477-0.7071067811865474*I}, -1},
|
||||||
|
{{0.0+0.0*I, 1.0+2.220446049250313e-16*I}, -1},
|
||||||
|
{{0.0+0.0*I, 0.7071067811865475+0.7071067811865476*I}, -1},
|
||||||
|
{{0.0+0.0*I, 0.0+1.0*I}, -1},
|
||||||
|
},
|
||||||
|
5, // nirreps
|
||||||
|
(struct qpms_finite_group_irrep_t[]) { // irreps
|
||||||
|
{
|
||||||
|
2, // dim
|
||||||
|
"E", //name
|
||||||
|
(complex double []) {
|
||||||
|
// (3)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
// (0 1 2 3)
|
||||||
|
0.0, -1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (0 2)(1 3)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (0 3 2 1)
|
||||||
|
0.0, 1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (3)(0 2)
|
||||||
|
0.0, 1.0,
|
||||||
|
1.0, 0.0,
|
||||||
|
// (0 3)(1 2)
|
||||||
|
1.0, 0.0,
|
||||||
|
0.0, -1.0,
|
||||||
|
// (1 3)
|
||||||
|
0.0, -1.0,
|
||||||
|
-1.0, 0.0,
|
||||||
|
// (0 1)(2 3)
|
||||||
|
-1.0, 0.0,
|
||||||
|
0.0, 1.0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, 1, 1, 1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B2", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, 1, -1, 1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B1", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, -1, 1, -1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, -1, -1, -1, -1} // m
|
||||||
|
},
|
||||||
|
} // end of irreps
|
||||||
|
};
|
||||||
|
|
||||||
|
const qpms_finite_group_t QPMS_FINITE_GROUP_D2h = {
|
||||||
|
"D2h", // name
|
||||||
|
8, // order
|
||||||
|
0, // idi
|
||||||
|
(qpms_gmi_t[]) { // mt
|
||||||
|
0, 1, 2, 3, 4, 5, 6, 7,
|
||||||
|
1, 0, 3, 2, 5, 4, 7, 6,
|
||||||
|
2, 3, 0, 1, 6, 7, 4, 5,
|
||||||
|
3, 2, 1, 0, 7, 6, 5, 4,
|
||||||
|
4, 5, 6, 7, 0, 1, 2, 3,
|
||||||
|
5, 4, 7, 6, 1, 0, 3, 2,
|
||||||
|
6, 7, 4, 5, 2, 3, 0, 1,
|
||||||
|
7, 6, 5, 4, 3, 2, 1, 0,
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) { // invi
|
||||||
|
0, 1, 2, 3, 4, 5, 6, 7
|
||||||
|
},
|
||||||
|
(qpms_gmi_t[]) {1, 3, 7}, // gens
|
||||||
|
3, // ngens
|
||||||
|
(qpms_permutation_t[]){ // permrep
|
||||||
|
"(5)",
|
||||||
|
"(5)(0 1)(2 3)",
|
||||||
|
"(5)(0 2)(1 3)",
|
||||||
|
"(5)(0 3)(1 2)",
|
||||||
|
"(0 3)(1 2)(4 5)",
|
||||||
|
"(0 2)(1 3)(4 5)",
|
||||||
|
"(0 1)(2 3)(4 5)",
|
||||||
|
"(4 5)",
|
||||||
|
},
|
||||||
|
NULL, // elemlabels
|
||||||
|
6, // permrep_nelem
|
||||||
|
(qpms_irot3_t[]) { // rep3d
|
||||||
|
{{1.0+0.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 0.0+1.0*I}, -1},
|
||||||
|
{{0.0+1.0*I, 0.0+0.0*I}, 1},
|
||||||
|
{{0.0+0.0*I, 1.0+0.0*I}, -1},
|
||||||
|
{{0.0+0.0*I, 0.0+1.0*I}, 1},
|
||||||
|
{{-1.0+0.0*I, 0.0+0.0*I}, -1},
|
||||||
|
{{0.0+0.0*I, -1.0+0.0*I}, 1},
|
||||||
|
{{0.0+1.0*I, 0.0+0.0*I}, -1},
|
||||||
|
},
|
||||||
|
8, // nirreps
|
||||||
|
(struct qpms_finite_group_irrep_t[]) { // irreps
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B1\'\'", //name
|
||||||
|
(complex double []) {1, -1, -1, 1, -1, 1, 1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2\'\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, -1, -1, -1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B1\'", //name
|
||||||
|
(complex double []) {1, 1, -1, -1, -1, -1, 1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A2\'", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, -1, 1, -1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1\'\'", //name
|
||||||
|
(complex double []) {1, -1, 1, -1, 1, -1, 1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B2\'", //name
|
||||||
|
(complex double []) {1, -1, -1, 1, 1, -1, -1, 1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"B2\'\'", //name
|
||||||
|
(complex double []) {1, 1, -1, -1, 1, 1, -1, -1} // m
|
||||||
|
},
|
||||||
|
{
|
||||||
|
1, // dim
|
||||||
|
"A1\'", //name
|
||||||
|
(complex double []) {1, 1, 1, 1, 1, 1, 1, 1} // m
|
||||||
|
},
|
||||||
|
} // end of irreps
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
#ifndef STATICGROUPS_H
|
||||||
|
#define STATICGROUPS_H
|
||||||
|
#include <qpms/groups.h>
|
||||||
|
extern const qpms_finite_group_t QPMS_FINITE_GROUP_C2v;
|
||||||
|
extern const qpms_finite_group_t QPMS_FINITE_GROUP_trivial_g;
|
||||||
|
extern const qpms_finite_group_t QPMS_FINITE_GROUP_C4v;
|
||||||
|
extern const qpms_finite_group_t QPMS_FINITE_GROUP_D3h;
|
||||||
|
extern const qpms_finite_group_t QPMS_FINITE_GROUP_D2h;
|
||||||
|
extern const qpms_finite_group_t QPMS_FINITE_GROUP_D4h;
|
||||||
|
#endif
|
Loading…
Reference in New Issue