https://hal.archives-ouvertes.fr/hal-02398953
Raw File
Tip revision: c33910a29d53f4e137c225b21a8d59e43327cbf9 authored by Software Heritage on 08 December 2019, 12:26:32 UTC
hal: Deposit 351 in collection hal
Tip revision: c33910a
FiniteGroup.h

#ifndef FINITEGROUP_H
#define FINITEGROUP_H
 
#include <iostream>
#include <giac/config.h>
#include <giac/giac.h>

#include <string>
#include <map>
#include <algorithm>

using namespace std;
using namespace giac;

#include "CMfield.h"
#include "Util.h"

extern context ct;
class FiniteGroup
{
  public:

  FiniteGroup(CMfield k);
  FiniteGroup(CMfield k, int d);

  CMfield K;

  //  vector<gen> generators;
  vector<gen> elements;

  int dim;
  
  int oldnumber;
 
  bool isgroup;

  //  void addGenerator(gen M);
  //  void addGenerators(vector<gen> list);

  void addElements(vector<gen> list);
  void addElement(gen M);

  bool isNew(gen M);
  bool isInList(gen M,vector<gen> list);
  bool areMultiple(gen M, gen N);
  bool areMultipleNum(gen M, gen N, gen eps);

  void expand();
  void expandToGroup();

  bool exploreCosets(vecteur &h, vecteur &tsv);

};

#endif
back to top