GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#include"typedef.h"12#include"getput.h"3#include"matrix.h"4#include"reduction.h"56int INFO_LEVEL;789int main (int argc, char *argv[])10{1112matrix_TYP **Mat, *T, *Red;13int i, anz;141516read_header(argc, argv);17if(FILEANZ != 1)18{19printf("Usage: %s 'file' [-t]\n",argv[0]);20printf("\n");21printf("file: matrix_TYP containing a set of symmetric positive definite matrices.\n");22printf("\n");23printf("Reduces all matrices in file by the Minkowski reduction algorithm.\n");24printf("WARNING: The algorithm might be very slow for some examples. In almost\n");25printf("all examples it pays to reduce the matrices by Pair_red before.\n");26printf("\n");27printf("Options:\n");28printf("-t : Give the transforming matrices as well, i.e. matrices\n");29printf(" T satisfying T^tr * F_old * T = F_new.\n");30printf("\n");31printf("Cf. Pair_red, Rform, Conj_bravais.\n");32printf("\n");33if (is_option('h')){34exit(0);35}36else{37exit(31);38}39}40Mat = mget_mat (FILENAMES[0], &anz);41if(anz > 1)42printf("#%d\n", anz);43for(i=0;i<anz;i++)44{45T = init_mat(Mat[i]->cols, Mat[i]->cols, "1");46Red = mink_red(Mat[i], T);47put_mat(Red, NULL, "reduced matrix", 2);48if(is_option('t') == TRUE)49put_mat(T, NULL, "Transformation matrix", 0);50free_mat(Red);51free_mat(T);52}5354exit(0);55}565758