#include const qpms_finite_group_t QPMS_FINITE_GROUP_C2 = { "C2", // name 2, // order 0, // idi (qpms_gmi_t[]) { // mt 0, 1, 1, 0, }, (qpms_gmi_t[]) { // invi 0, 1 }, (qpms_gmi_t[]) {1}, // gens 1, // ngens (qpms_permutation_t[]){ // permrep "(1)", "(0 1)", }, NULL, // elemlabels 2, // permrep_nelem (qpms_irot3_t[]) { // rep3d {{1.0+0.0*I, 0.0+0.0*I}, 1}, {{6.123233995736766e-17+1.0*I, 0.0+0.0*I}, 1}, }, 2, // nirreps (struct qpms_finite_group_irrep_t[]) { // irreps { 1, // dim "B", //name (complex double []) {1, -1} // m }, { 1, // dim "A", //name (complex double []) {1, 1} // m }, } // end of irreps }; 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 "A2", //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 }, } // end of irreps }; const qpms_finite_group_t QPMS_FINITE_GROUP_C4 = { "C4", // name 4, // order 0, // idi (qpms_gmi_t[]) { // mt 0, 1, 2, 3, 1, 2, 3, 0, 2, 3, 0, 1, 3, 0, 1, 2, }, (qpms_gmi_t[]) { // invi 0, 3, 2, 1 }, (qpms_gmi_t[]) {1}, // gens 1, // ngens (qpms_permutation_t[]){ // permrep "(3)", "(0 1 2 3)", "(0 2)(1 3)", "(0 3 2 1)", }, 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}, }, 4, // nirreps (struct qpms_finite_group_irrep_t[]) { // irreps { 1, // dim "B", //name (complex double []) {1, -1, 1, -1} // m }, { 1, // dim "2E", //name (complex double []) {1, 1j, (-1+0j), (-0-1j)} // m }, { 1, // dim "A", //name (complex double []) {1, 1, 1, 1} // m }, { 1, // dim "1E", //name (complex double []) {1, -1j, (-1+0j), 1j} // 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 { 1, // dim "A1", //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 }, { 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 "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 }, } // 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 "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 "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 }, { 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 }, } // 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 { 1, // dim "A2\'", //name (complex double []) {1, 1, 1, -1, -1, -1, -1, -1, -1, 1, 1, 1} // m }, { 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 }, { 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, } }, } // 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 "A2\'", //name (complex double []) {1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1} // m }, { 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, } }, { 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 "A1\'\'", //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 "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, } }, } // 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_x_and_z_flip = { "x_and_z_flip", // 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)", "(3)(0 1)", "(0 1)(2 3)", "(2 3)", }, 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+0.0*I, -1.0+0.0*I}, 1}, {{0.0+1.0*I, 0.0+0.0*I}, -1}, }, 4, // nirreps (struct qpms_finite_group_irrep_t[]) { // irreps { 1, // dim "P\'\'", //name (complex double []) {1, -1, 1, -1} // m }, { 1, // dim "P\'", //name (complex double []) {1, 1, 1, 1} // m }, { 1, // dim "R\'\'", //name (complex double []) {1, 1, -1, -1} // m }, { 1, // dim "R\'", //name (complex double []) {1, -1, -1, 1} // m }, } // end of irreps }; const qpms_finite_group_t QPMS_FINITE_GROUP_y_and_z_flip = { "y_and_z_flip", // 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)", "(3)(0 1)", "(0 1)(2 3)", "(2 3)", }, 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, 1.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}, }, 4, // nirreps (struct qpms_finite_group_irrep_t[]) { // irreps { 1, // dim "P\'\'", //name (complex double []) {1, -1, 1, -1} // m }, { 1, // dim "P\'", //name (complex double []) {1, 1, 1, 1} // m }, { 1, // dim "R\'\'", //name (complex double []) {1, 1, -1, -1} // m }, { 1, // dim "R\'", //name (complex double []) {1, -1, -1, 1} // m }, } // end of irreps };