Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346/* author: Oliver Heidbuechel */1/* last change: 19.01.2001 */23#include <ZZ.h>4#include<typedef.h>5#include<getput.h>6#include<matrix.h>7#include<longtools.h>8#include<tools.h>9#include"zass.h"10#include <base.h>11#include <bravais.h>12#include <graph.h>13#include <presentation.h>141516int INFO_LEVEL;17extern int SFLAG;18boolean GRAPH_DEBUG;19202122int main (int argc, char *argv[])23{24bravais_TYP *P, *R, **S;2526int i, anz;2728char comment[1000],29file[1000];303132read_header(argc, argv);33if (FILEANZ < 1 || (is_option('h') && optionnumber('h') == 0)){34printf("\n");35printf("Usage: %s 'file1' 'p_1' ... 'p_n' \n", argv[0]);36printf("\n");37printf("file1: Spacegroup in standard affine form\n");38printf("p_i : primes\n");39printf("\n");40printf("Calculates the minimal klassengleich supergroups with p_i-power index.\n");41printf("\n");42printf("Options:\n");43printf("-t : omit the last dim generators of the spacegroup\n");44printf("-f : print the supergroups in files 'file1_j'\n");45printf("-h : gives this help\n");46printf("-d : only for debugging\n");47exit(11);48}49INFO_LEVEL = optionnumber('h');50if (INFO_LEVEL & 12){51SFLAG = 1;52}5354/* get data */55R = get_bravais(FILENAMES[0]);56if (is_option('t'))57R->gen_no -= (R->dim - 1);58P = p_group(R);59for (i = 2; i <= FILEANZ; i++){60P->divisors[atoi(argv[i])]++;61}6263/* calculate and print minimal klassengleich supergroups of prime-power-index */64S = min_k_super(P, R, &anz, is_option('d'));6566if (is_option('f')){67for (i = 0; i < anz; i++){68sprintf(comment, "%d-th minimal klassengleich supergroup of %s", i + 1, FILENAMES[0]);69sprintf(file, "%s_%d", FILENAMES[0], i + 1);70put_bravais(S[i], file, comment);71}72}73else74for (i = 0; i < anz; i++)75put_bravais(S[i],0,0);7677/* clean */78if (is_option('t'))79R->gen_no += (R->dim - 1);80free_bravais(R);81free_bravais(P);82for (i = 0; i < anz; i++)83free_bravais(S[i]);84free(S);8586/* for debugging */87if (INFO_LEVEL & 12){88fprintf(stderr,"write pointer_statistics\n");89pointer_statistics(0,0);90}9192exit(0);93}949596979899100101102