GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#include"typedef.h"123main (int argc, char *argv[])4{56matrix_TYP **Mat, *vecs, *represent;7bravais_TYP *G;8int orb_anz;9int *subdiv;10int *c, *f;11int i,j, anz;1213extern char **FILENAMES;14extern int FILEANZ;1516extern matrix_TYP **mget_mat();17extern bravais_TYP *get_bravais();18extern int *orbit_subdivision();19extern matrix_TYP *init_mat();20extern void put_mat ();2122read_header(argc, argv);23if(FILEANZ != 2)24{25printf("usage: orbrep 'file1' 'file2',\n");26printf("where 'file1' contains a matrix_TYP and\n");27printf(" 'file2' contains a bravais_TYP\n");28if (is_option('h')){29exit(0);30}31else{32exit(31);33}34}35Mat = mget_mat (FILENAMES[0], &anz);36vecs = Mat[0];37G = get_bravais(FILENAMES[1]);38subdiv = orbit_subdivision(vecs, G, &orb_anz);39represent = init_mat(orb_anz, G->gen[0]->cols, "");40c = (int *)malloc(orb_anz *sizeof(int));41f = (int *)malloc(orb_anz *sizeof(int));42for(i=0;i<orb_anz;i++)43c[i] = 0;44for(i=0;i<vecs->rows;i++)45{46j = subdiv[i]-1;47if(c[j] == 0)48f[j] = i;49c[j]++;50}51for(i=0;i<orb_anz;i++)52{53for(j=0;j<G->gen[0]->cols;j++)54represent->array.SZ[i][j] = vecs->array.SZ[f[i]][j];55}56put_mat(represent, NULL, "representatives of the orbits", 0);57printf(" The length of the i-th orbit is:\n");58for(i=0;i<orb_anz;i++)59printf("%d ", 2 *c[i]);60printf("\n");616263exit(0);64}656667