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

563554 views
1
/****************************************************************************
2
**
3
*A pq_functions.h ANUPQ source Eamonn O'Brien
4
**
5
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
6
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
7
**
8
*/
9
10
/* prototypes for functions used in the p-Quotient Program */
11
12
#ifndef ANUPQ_FUNCTIONS_H
13
#define ANUPQ_FUNCTIONS_H
14
15
#include "pq_defs.h"
16
#include "pcp_vars.h"
17
#include "pga_vars.h"
18
#include "exp_vars.h"
19
20
void autgp_order ();
21
void collect_defining_generator (int ptr, int cp, struct pcp_vars *pcp);
22
void factor_subgroup (struct pcp_vars *pcp);
23
void handle_error (Logical group_present);
24
void is_timelimit_exceeded ();
25
void CreateGAPLibraryFile (void);
26
void compute_padic (int *powers, int x, int k, int p, int *expand);
27
void print_pcp_relations (struct pcp_vars *pcp);
28
int **find_allowable_subgroup ();
29
int*** determine_action (int format, int *nmr_of_auts, struct pcp_vars *pcp);
30
void check_input (int output, int *max_class, struct pcp_vars *pcp);
31
FILE *OpenTemporaryFile ();
32
void close_queue (Logical report, int list_length, int limit, int *head, int *list, int *queue, int queue_length, struct pcp_vars *pcp);
33
void enforce_exponent (Logical report, struct exp_vars *exp_flag, int **head, int **list, struct pcp_vars *pcp);
34
void bubble_sort (int *x, int len, struct pcp_vars *pcp);
35
void complete_echelon (Logical trivial, int redgen, struct pcp_vars *pcp);
36
void traverse_list (int exponent, int head, int *list, int cp, struct pcp_vars *pcp);
37
void extend ();
38
void extend_power (int cp1, int cp2, int u, int **auts, struct pcp_vars *pcp);
39
void extend_commutator (int cp1, int cp2, int u, int v, int **auts, struct pcp_vars *pcp);
40
void collect_image_of_generator (int cp, int *auts, struct pcp_vars *pcp);
41
void collect_image_of_string (int string, int cp, int **auts, struct pcp_vars *pcp);
42
int ***reallocate_array (int ***a, int orig_n, int orig_m, int orig_r, int n, int m, int r, Logical zero);
43
int *reallocate_vector (int *a, int original, int new, int start, Logical zero);
44
void next_class (Logical report, int **head, int **list, struct pcp_vars *pcp);
45
FILE *OpenSystemFile (const char *file_name, const char *mode);
46
void create_tail (int address, int f, int s, struct pcp_vars *pcp);
47
void extend_tail (int address, int f, int s, struct pcp_vars *pcp);
48
void enforce_laws (struct pga_vars *flag, struct pga_vars *pga, struct pcp_vars *pcp);
49
void orbit_option (int option, int **perms, int **a, int **b, char **c, int **orbit_length, struct pga_vars *pga);
50
void stabiliser_option (int option, int ***auts, int **perms, int *a, int *b, char *c, int *orbit_length, struct pga_vars *pga, struct pcp_vars *pcp);
51
void calculate_tails (int final_class, int start_weight, int end_weight, struct pcp_vars *pcp);
52
void calculate_power (int exp, int ptr, int cp, struct pcp_vars *pcp);
53
void write_GAP_matrix ();
54
int *bitstring_to_subset (int K, struct pga_vars *pga);
55
int ***allocate_array (int n, int m, int r, Logical zero);
56
int *allocate_vector (int n, int start, Logical zero);
57
char *allocate_char_vector (int n, int start, Logical zero);
58
int **allocate_matrix (int n, int m, int start, Logical zero);
59
char **allocate_char_matrix (int n, int m, int start, Logical zero);
60
int **commutator_matrix (struct pga_vars *pga, struct pcp_vars *pcp);
61
int ***restore_group (Logical rewind_flag, FILE *input_file, int group_number, struct pga_vars *pga, struct pcp_vars *pcp);
62
void invalid_group (struct pcp_vars *pcp);
63
void report (int nmr_of_capables, int nmr_of_descendants, int nmr_of_covers, struct pga_vars *pga, struct pcp_vars *pcp);
64
void print_group_details (struct pga_vars *pga, struct pcp_vars *pcp);
65
int*** restore_pga (FILE *ifp, struct pga_vars *pga, struct pcp_vars *pcp);
66
FILE *OpenFile (const char *file_name, const char *mode);
67
FILE *OpenFileOutput (const char *file_name);
68
void set_defaults (struct pga_vars *flag);
69
void read_subgroup_rank (int *k);
70
void read_step_size (struct pga_vars *pga, struct pcp_vars *pcp);
71
void query_metabelian_law (struct pga_vars *pga);
72
void query_degree_aut_information (struct pga_vars *pga);
73
void query_exponent_law (struct pga_vars *pga);
74
void query_perm_information (struct pga_vars *pga);
75
void query_space_efficiency (struct pga_vars *pga);
76
void query_group_information (int p, struct pga_vars *pga);
77
void query_aut_group_information (struct pga_vars *pga);
78
void query_orbit_information (struct pga_vars *pga);
79
void query_solubility (struct pga_vars *pga);
80
void query_terminal (struct pga_vars *pga);
81
void Extend_Aut (int start, int max_length, int *list_length, int *head, int **list, int offset, int *index, struct pcp_vars *pcp);
82
void Extend_Comm (int cp1, int cp2, int u, int v, int offset, int *head, int *list, struct pcp_vars *pcp);
83
void Extend_Pow (int cp1, int cp2, int u, int offset, int *head, int *list, struct pcp_vars *pcp);
84
void Collect_Image_Of_Str (int string, int cp, int offset, int *head, int *list, struct pcp_vars *pcp);
85
void Collect_Image_Of_Gen (int cp, int head, int *list, struct pcp_vars *pcp);
86
int** label_to_subgroup (int *Index, int **subset, int label, struct pga_vars *pga);
87
int** transpose (int **a, int n, int m);
88
int** multiply_matrix (int **a, int n, int m, int **b, int q, int p);
89
void add_to_list (int *subset, struct pga_vars *pga);
90
void visit (int k, int d, struct pga_vars *pga);
91
void get_definition_sets (struct pga_vars *pga);
92
int*** central_automorphisms (struct pga_vars *pga, struct pcp_vars *pcp);
93
void list_interactive_pga_menu (void);
94
void list_interactive_pq_menu (void);
95
void start_group (FILE **StartFile, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
96
int* find_orbit_reps (int *a, int *b, struct pga_vars *pga);
97
int** permute_subgroups (FILE *LINK_input, int **a, int **b, char **c, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
98
void list_pga_menu (void);
99
void image_to_word (int string, int *image, struct pcp_vars *pcp);
100
void Copy_Matrix (int **A, int **B, int nmr_of_rows, int nmr_of_bytes);
101
void CreateName (char *name, int call_depth, struct pcp_vars *pcp);
102
void find_padic (int x, int k, int p, int *expand, struct pga_vars *pga);
103
void trace_action (int *permutation, int j, int *a, int *b, char *c);
104
void update_image (int **A, int column, int **Image, int row, struct pga_vars *pga);
105
void compute_permutation (int *permutation, int **A, struct pga_vars *pga);
106
void find_available_positions (int K, int **A, int **Image, int **row, int **column, int depth, struct pga_vars *pga);
107
void compute_images (int **A, int K, int depth, int *permutation, struct pga_vars *pga);
108
void start_group (FILE **StartFile, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
109
FILE *OpenFileInput (const char *file_name);
110
FILE *TemporaryFile (void);
111
int*** read_auts (int option, int *nmr_of_auts, int *nmr_of_exponents, struct pcp_vars *pcp);
112
int ***invert_automorphisms (int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
113
char* find_permutation (int *b, char *c, struct pga_vars *pga);
114
int*** immediate_descendant (FILE *descendant_file, struct pga_vars *pga, struct pcp_vars *pcp);
115
void process_rep (int **perms, int *a, int *b, char *c, char *d, int ***auts, int rep, int orbit_length, FILE *tmp_file, FILE *descendant_file, FILE *covers_file, struct pga_vars *pga, struct pcp_vars *pcp);
116
void evaluate_image (int *head, int *list, int offset, int ptr, int cp, struct pcp_vars *pcp);
117
void stabiliser_generators (int **perms, int rep, int *a, int *b, char *c, char *d, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
118
void image_of_generator (int generator, int pointer, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
119
void intermediate_stage (FILE *descendant_file, FILE *input_file, int nmr_of_covers, struct pga_vars *pga, struct pcp_vars *pcp);
120
void list_pqa_menu (void);
121
void space_for_orbits (int **a, int **b, char **c, struct pga_vars *pga);
122
void orbits (int *permutation, int *a, int *b, char *c, struct pga_vars *pga);
123
Logical is_space_exhausted (int required, struct pcp_vars *pcp);
124
Logical is_genlim_exceeded (struct pcp_vars *pcp);
125
void trace_relation (int *sequence, int *index, int ptr, int generator, struct pcp_vars *pcp);
126
void output_information(int *sequence, int nmr_of_exponents, struct pcp_vars *pcp);
127
int *compact_description (Logical write_to_file, struct pcp_vars *pcp);
128
void CloseFile (FILE* file);
129
void power (int exp, int cp, struct pcp_vars *pcp);
130
void vector_to_string (int cp, int str, struct pcp_vars *pcp);
131
int vector_to_word (int cp, int ptr, struct pcp_vars *pcp);
132
void string_to_vector (int str, int cp, struct pcp_vars *pcp);
133
134
#if defined (GROUP)
135
void collect (int pointer, int collected_part, struct pcp_vars *pcp);
136
#endif
137
138
139
/* collect_relations.c */
140
void collect_relations (struct pcp_vars *pcp);
141
142
/* degree.c */
143
void compute_degree (struct pga_vars *pga);
144
145
/* echelon.c */
146
int echelon (struct pcp_vars *pcp);
147
148
/* eliminate.c */
149
void eliminate (Logical middle_of_tails, struct pcp_vars *pcp);
150
151
/* exponent_info.c */
152
void initialise_exponent (struct exp_vars *exp_flag, struct pcp_vars *pcp);
153
154
/* extend_automorphisms.c */
155
void extend_automorphisms (int ***auts, int nmr_of_auts, struct pcp_vars *pcp);
156
157
/* extra_relations.c */
158
#if defined (GROUP)
159
void extra_relations (struct exp_vars *exp_flag, struct pcp_vars *pcp);
160
#endif
161
162
/* FreeSpace.c */
163
void free_vector (int *a, int start);
164
void free_matrix (int **a, int n, int start);
165
void free_array (int ***a, int n, int m, int start);
166
void free_char_vector (char *a, int start);
167
void free_char_matrix (char **a, int n);
168
void free_space (Logical soluble_computation, int **perms, int *orbit_length, int *a, int *b, char *c, struct pga_vars *pga);
169
170
/* GAP_link_via_file.c */
171
void start_GAP_file ( FILE **GAP_input, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp );
172
173
/* last_class.c */
174
void last_class (struct pcp_vars *pcp);
175
176
/* map_relations.c */
177
void map_relations (int **map, struct pga_vars *pga, struct pcp_vars *pcp);
178
179
/* print_arrays.c */
180
void print_array (int *a, int first, int last);
181
void print_chars (char *a, int first, int last);
182
183
/* print_presentation.c */
184
void print_map (struct pcp_vars *pcp);
185
void print_presentation (Logical full, struct pcp_vars *pcp);
186
187
/* print_structure.c */
188
int find_definition (int generator, int pointer, int weight, struct pcp_vars *pcp);
189
190
/* read.c */
191
void verify_read (int nmr_items, int required);
192
void restore_pcp (FILE *ifp, struct pcp_vars *pcp);
193
int*** restore_pga (FILE *ifp, struct pga_vars *pga, struct pcp_vars *pcp);
194
195
/* read_value.c */
196
void read_line (void);
197
void read_value (Logical newline, char *string, int *value, int lower_bound);
198
int string_to_int (char *s, Logical *error);
199
char* GetString (char *string);
200
201
/* read_word.c */
202
void setup_symbols (struct pcp_vars *pcp);
203
void read_word (FILE *file, int disp, int type, struct pcp_vars *pcp);
204
void pretty_read_word (FILE *file, int disp, int type, struct pcp_vars *pcp);
205
206
/* report_error.c */
207
void report_error (int a, int b, int c);
208
209
/* setup_reps.c */
210
void setup_reps (int *reps, int nmr_of_reps, int *orbit_length,
211
int **perms, int *a, int *b, char *c, int ***auts,
212
FILE *descendant_file, FILE *covers_file,
213
struct pga_vars *pga, struct pcp_vars *pcp);
214
215
/* soluble_orbits.c */
216
void process_identity_perm (int *a, int *b, char *c, struct pga_vars *pga);
217
218
/* stabiliser.c */
219
int*** stabiliser_of_rep (int **perms, int rep, int orbit_length,
220
int *a, int *b, char *c, char *d, int ***auts,
221
struct pga_vars *pga, struct pcp_vars *pcp);
222
void stabiliser_generators (int **perms, int rep, int *a, int *b, char *c, char *d,
223
int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
224
void image_of_generator (int generator, int pointer, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
225
int preimage (int perm, struct pga_vars *pga);
226
int ***read_stabiliser_gens (int nmr_of_generators, int ***soluble_generators, struct pga_vars *pga, struct pcp_vars *pcp);
227
228
/* standard.c */
229
#if defined (GROUP) && defined (STANDARD_PCP)
230
void standard_presentation (Logical *identity_map, int standard_output, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
231
void print_aut_description (int ***central, int ***stabiliser, struct pga_vars *pga, struct pcp_vars *pcp);
232
int ***read_auts_from_file (FILE *file, int *nmr_of_auts, struct pcp_vars *pcp);
233
#endif
234
235
/* step_range.c */
236
void step_range (int k, int *lower_step, int *upper_step, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
237
238
/* store_definition_sets.c */
239
void store_definition_sets (int r, int lower_step, int upper_step, struct pga_vars *pga);
240
int choose (int r, int s);
241
242
/* strip_identities.c */
243
void strip_identities (int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
244
245
/* subgroup_to_label.c */
246
int subgroup_to_label (int **S, int K, int *subset, struct pga_vars *pga);
247
248
/* system.c */
249
void print_message (int work_space);
250
251
/* update_generators.c */
252
void update_generators (struct pcp_vars *pcp);
253
254
/* write.c */
255
void save_pcp (FILE *ofp, struct pcp_vars *pcp);
256
257
258
#endif
259
260