Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

563685 views
1
#ifdef __cplusplus
2
extern "C" {
3
#endif
4
5
6
#ifndef _TSUBGROUPS_H_
7
#define _TSUBGROUPS_H_
8
9
#ifndef _CARAT_TYPEDEF_H_
10
#include"typedef.h"
11
#endif
12
13
#ifndef __GMP_H__
14
#include"gmp.h"
15
#endif
16
17
#ifndef _NAME_H_
18
#include"name.h"
19
#endif
20
21
22
typedef struct{
23
bravais_TYP *R; /* translationengleich maximal subgroup */
24
bravais_TYP *P; /* point group of R */
25
int orbitlength; /* length of the orbit */
26
int pointgrouporder; /* order of P */
27
} TSubgroup_TYP;
28
29
typedef struct{
30
char qname[1024]; /* name of the Q-class */
31
int zname[2]; /* name of the Z-class */
32
MP_INT aff_name; /* name of the affine class */
33
matrix_TYP *trafo; /* transformation matrix, conjugating the given group in CARAT rep. */
34
int order; /* order of the point group */
35
} CARATname_TYP;
36
37
typedef struct{
38
matrix_TYP **words; /* subgroupwords */
39
int word_no; /* number of words */
40
} TSUB_TYP;
41
42
43
/* -------------------------------------------------------------- */
44
#ifdef __STDC__
45
46
TSubgroup_TYP **tsubgroup(bravais_TYP *R,
47
bravais_TYP *P,
48
matrix_TYP *pres,
49
matrix_TYP **gapwords,
50
int *no,
51
boolean aflag,
52
boolean cflag);
53
54
TSubgroup_TYP *ite_gruppe(bravais_TYP *R,
55
bravais_TYP *P,
56
bravais_TYP *Rinv,
57
bravais_TYP *Pinv,
58
matrix_TYP *mat,
59
boolean aflag);
60
61
TSubgroup_TYP **tsubgroup_db(bravais_TYP *R,
62
boolean aflag,
63
int *anzahl);
64
65
void free_TSubgroup_TYP(TSubgroup_TYP *sbg);
66
67
matrix_TYP **PoaN(bravais_TYP *R,
68
bravais_TYP *P,
69
matrix_TYP *pres,
70
int *anz);
71
72
CARATname_TYP name_fct(bravais_TYP *R,
73
database *database);
74
75
void free_CARATname_TYP(CARATname_TYP Name);
76
77
bravais_TYP *get_std_rep(char *filename,
78
CARATname_TYP Name);
79
80
matrix_TYP **get_words(char *pfad,
81
CARATname_TYP Name,
82
int aff_class_no,
83
boolean aflag,
84
int *anzahl);
85
86
bravais_TYP **tsupergroups(bravais_TYP *R,
87
int *anzahl);
88
89
/* -------------------------------------------------------------- */
90
#else
91
92
TSubgroup_TYP **tsubgroup();
93
94
TSubgroup_TYP *ite_gruppe();
95
96
TSubgroup_TYP **tsubgroup_db();
97
98
void free_TSubgroup_TYP();
99
100
matrix_TYP **PoaN();
101
102
void name_fct();
103
104
void free_CARATname_TYP();
105
106
bravais_TYP *get_std_rep();
107
108
matrix_TYP **get_words();
109
110
bravais_TYP **tsupergroups();
111
112
113
/* -------------------------------------------------------------- */
114
#endif
115
#endif
116
117
#ifdef __cplusplus
118
}
119
#endif
120
121
122