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

563580 views
1
#include <typedef.h>
2
#include <getput.h>
3
#include <matrix.h>
4
#include <base.h>
5
6
int INFO_LEVEL;
7
extern int SFLAG;
8
9
main(int argc,char **argv){
10
11
bravais_TYP *G,
12
*N;
13
14
matrix_TYP **normal,
15
**x;
16
17
bahn **strong;
18
19
int i,
20
j,
21
l,
22
anz,
23
finite;
24
25
read_header(argc,argv);
26
27
if ((is_option('h') && optionnumber('h')==0) || (FILEANZ < 2)){
28
printf("Usage: \n");
29
printf(" Normalizer_in_N 'file1' 'file2' [-f] \n");
30
printf("\n");
31
printf("Where file1 and file2 contain a bravais_TYP. Calculates the\n");
32
printf("normalizer of the group in file1 in the group generated by\n");
33
printf("the matrices of file2->gen, file2->cen and file2->normal.\n");
34
printf("\n");
35
printf("Options:\n");
36
printf("\n");
37
printf("-f : The program assumes that the calculated normalizer\n");
38
printf(" is finite, and performs an base/strong generator\n");
39
printf(" algorithm on it. In effect you will get less\n");
40
printf(" generators for it. IT WILL WORK IF AND ONLY IF\n");
41
printf(" THE CALCULATED NORMALIZER IS INDEED FINITE.\n");
42
printf("\n");
43
if (is_option('h')){
44
exit(0);
45
}
46
else{
47
exit(31);
48
}
49
}
50
51
INFO_LEVEL = optionnumber('h');
52
if (INFO_LEVEL & 8){
53
SFLAG = 1;
54
}
55
finite = FALSE;
56
if (is_option('f')) finite = TRUE;
57
58
G = get_bravais(FILENAMES[0]);
59
N = get_bravais(FILENAMES[1]);
60
61
normal = normalizer_in_N(G,N,&anz,finite);
62
63
printf("#%d\n",anz);
64
for (i=0;i<anz;i++){
65
put_mat(normal[i],NULL,NULL,2);
66
}
67
68
/* cleaning up memory for pointer_statistics */
69
free_bravais(G);
70
free_bravais(N);
71
for (i=0;i<anz;i++) free_mat(normal[i]);
72
free(normal);
73
74
printf("end of Normalizer_in_N\n");
75
76
if (INFO_LEVEL & 8){
77
pointer_statistics(0,0);
78
}
79
80
exit(0);
81
} /* main */
82
83
84