GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
/****************************************************************************1**2*A action.c ANUPQ source Eamonn O'Brien3**4*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany5*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia6**7*/89#include "pq_defs.h"10#include "constants.h"11#include "pcp_vars.h"12#include "pq_functions.h"13#include "standard.h"14#include "word_types.h"1516/* specify automorphims in terms of defining generators17and compute resultant action on pc generators;18return action as array auts */1920int ***determine_action(int format, int *nmr_of_auts, struct pcp_vars *pcp)21{22register int *y = y_address;2324register int i, j, k;25int ***auts;26int cp, pcp_generator;2728read_value(TRUE, "Input the number of automorphisms: ", nmr_of_auts, 0);2930auts = allocate_array(*nmr_of_auts, pcp->lastg, pcp->lastg, TRUE);3132cp = pcp->lused;33for (i = 1; i <= *nmr_of_auts; ++i) {34printf("Now enter the data for automorphism %d\n", i);35for (j = 1; j <= pcp->ndgen; ++j) {36pcp_generator = y[pcp->dgen + j];37printf("Input image of defining generator %d as word:\n", j);38setup_defgen_word_to_collect(stdin, format, ACTION, cp, pcp);39if (pcp_generator > 0) {40for (k = 1; k <= pcp->lastg; ++k)41auts[i][pcp_generator][k] = y[cp + k];42}43}44}4546extend_automorphisms(auts, *nmr_of_auts, pcp);47print_auts(*nmr_of_auts, pcp->lastg, auts, pcp);4849return auts;50}515253