From a4a3751cabafb0523650ac2fb00beee9a7c75a72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ne=C4=8Dada?= Date: Sun, 10 Mar 2019 05:29:29 +0000 Subject: [PATCH] Generated groups for use in C Former-commit-id: a8610c6cb5cd0c0564a2b489a1ce8f4ac9c90710 --- tests/generate_groupcode.py | 12 + tests/staticgroups.c | 648 ++++++++++++++++++++++++++++++++++++ tests/staticgroups.h | 10 + 3 files changed, 670 insertions(+) create mode 100755 tests/generate_groupcode.py create mode 100644 tests/staticgroups.c create mode 100644 tests/staticgroups.h diff --git a/tests/generate_groupcode.py b/tests/generate_groupcode.py new file mode 100755 index 0000000..b69e675 --- /dev/null +++ b/tests/generate_groupcode.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +from qpms.symmetries import point_group_info + +codestring = "#include \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) + + diff --git a/tests/staticgroups.c b/tests/staticgroups.c new file mode 100644 index 0000000..d9240e2 --- /dev/null +++ b/tests/staticgroups.c @@ -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 +}; + + diff --git a/tests/staticgroups.h b/tests/staticgroups.h new file mode 100644 index 0000000..aac2f18 --- /dev/null +++ b/tests/staticgroups.h @@ -0,0 +1,10 @@ +#ifndef STATICGROUPS_H +#define STATICGROUPS_H +#include +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