Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/lib/   (GAP Algebra Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 7 kB image not shown  

Quellcode-Bibliothek grpcompl.gi   Sprache: Shell

 

#############################################################################
##
##  This file is part of GAP, a system for computational discrete algebra.
##  This file's authors include Alexander Hulpke.
##
##  Copyright of GAP belongs to its developers, whose names are too numerous
##  to list here. Please refer to the COPYRIGHT file for details.
##
##  SPDX-License-Identifier: GPL-2.0-or-later
##
##  This file contains the operations for the computation of complements in
##  'white box groups'
##


BindGlobal("COCohomologyAction",function(oc,actgrp,auts,orbs)
  local b, mats, orb, com, stabilizer, i,coc,u;
  if not IsBound(oc.complement) then
    return [];
  fi;if bactorspace)0
  .=Zero;
return           :=
if     (c.)ength(.factorspacejava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 24
  ifjava.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0
urec:=oZ(.),stabilizer:actgrp),
           bas:=b);
    if orbs then
      .1:[local,N, , ,factorpres com,comgens,cenocrels,pcgs,
    1;
    java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
  fi;
  Info(2
    Characteristic:failjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    if :=List(s,x->ClosureGroup,);
        s:=[TrivialSubgroup);
  fi s:[[1]java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14

  mats:      Size()Size(Last() 
  orb(ss,);
  =[]java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  iinorbdo

    coc:=i.vector*b.factorspace;
    #u:=oc.cocycleToComplement(coc);
    u=cocycle:cjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
                elsejava.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 46
                =i.;
    iforbs uq:magesSourceh;
        q:=q:java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 12
   fpi:q);
      # build a series only down to K
  return rec(com:     h:=List(s,x->ClosureGroup(K,x)  :[((fpi)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
end;

BindGlobal                    >PreImagesRepresentativefpi)]fori h{2...h]  Assert1ForAll[]i-ImagehPreImagesRepresentative(,i)i);
local  # #T transfer probably to better group (later, AgCase)
       h:NaturalHomomorphismByNormalSubgroup(N)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
      l, java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0

  G
:rg]2
compute a series   
 (N then
    s:[,TrivialSubgroupN]java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    InfoInfoComplement,2"  sso far
    :       ((([2], generators"java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  fi;
  if Length(arg)=2 then
    K:;      # compute complements
  else
    K:=arg[3];
     java.lang.StringIndexOutOfBoundsException: Range [13, 11) out of bounds for length 35
    # initialize
    s=h1   =java.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for length 33
     i  h{[.)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
      if Sizeocrjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
        (java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
      (java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 39
    od;
   ins[])java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

  Info(InfoComplement,1,"Series of 
1],>ize([]/(1);

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  # construct a presentation:=;
  h:=                  cocycle:= forjin 1.(com]=);

  # AH still: Try to find a more simple presentation if available.

   java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
    java.lang.StringIndexOutOfBoundsException: Range [15, 5) out of bounds for length 38
  else
                     fZero(.oneCocycles);
  fi)
  fpiif <          Info(InfoComplement,2,"fuse ",Length(v)," classes; working in dim ",
sentation#
       Length(#            Assert(3,z in AsList(v))-P            :ocr#            for k in [1..Length(
  factorpres=(#            #            Assert(2,z in ocr.oneCocycles);
               #              if IsBound(l.heads[                               [-1])java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
               List(GeneratorsOfGroupif          if Length(l)<>Length(k) then Error("differ!");fi;
                    -                  =.),
  Assert else
  # initialize
  com:=[G];
  comgens:=[List(factorpres[3java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  cen:=[s        InfoComplement,no java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 48
  ocrels:=falsejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  # step down
  for i in [
    Info(InfoComplement,1java.lang.StringIndexOutOfBoundsException: Range [0, 9) out of bounds for length 1
     we know the afterjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    fpcgs:=Pcgs(s[i-1]); # the factor pcgs
    #fpcgs:=fpcgs mod InducedPcgsByGenerators(fpcgs,GeneratorsOfGroup(s[i]));            :=cr.
    fpcgs:#

    #       java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ncomgens:=[];
    ncen#            Assert(2,z in ocr.#            # sift z
      all#                z:=z-z[k]*l.subspace[-l.heads[k]];
.L(#            od;
               #             z          end;
      gens:[;
      nlcen:#          if Length(l)<>Length(k) then Error("differ!");fi;
      # compute complements
      ocr:=rec(group            v=vCanonicalRightCosetElements[]jj)afu;
               java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 11
              Info(InfoComplement"complements")
               java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               );
      if ocrels<false 
        ocr.
        Assert(ForAll(cr.elators,
                        ncomgens=Concatenation(ncomgens,nlcomgens);
                              ;
                              [1))
java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 9

      OCOneCocycles(ocr,true);
relatorsjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27

      if =Normalizer(q,ClosureGroupsi]java.lang.StringIndexOutOfBoundsException: Range [41, 5) out of bounds for length 5
         for trivial case:
fDimensionocr.)Dimension(ocr.        =x (i,^;;
          :=java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 37
                  :=(ocr.oneCocycles-> )s] then
                  complement=ocr.omplement);
        else
          l:=BaseSteinitzVectors(BasisVectors(Basis(ocr.oneCocycles)),
        # andcohomology. 
#
#          v:=Enumerator(VectorSpace(LeftActingDomain(ocr.oneCocycles),
#                                    l.factorspace,Zero(ocr.oneCocycles)));
#
#          dimran:=[1..Length(v[1])];
#
#          # fuse
#          Info(InfoComplement,2,"fuse ",Length(v)," classes; working in dim ",
#           Dimension(ocr.oneCocycles),"/",Dimension(ocr.oneCoboundaries));
#
#          opfun:=function(z,g)
#            Assert(3,z in AsList(v));
#            z:=ocr.cocycleToList(z);
#            for k in [1..Length(z)] do
#              z[k]:=Inverse(ocr.complementGens[k])*(ocr.complementGens[k]*z[k])^g;
#            od;
#            Assert(2,ForAll(z,k->k in s[i-1]));
#            z:=ocr.listToCocycle(z);
#            Assert(2,z in ocr.oneCocycles);
#            # sift z
#            for k in dimran do
#              if IsBound(l.heads[k]) and l.heads[k]<0 then
#                z:=z-z[k]*l.subspace[-l.heads[k]];
#              fi;
#            od;
#            Assert(1,z in AsList(v));
#            return z;
#          end;
#
#          k:=ExternalOrbitsStabilizers(cen[j],v,opfun);

          l:=ComplementClassesRepresentativesSolvableWBG));
#          if Length(l)<>Length(k) then Error("differ!");fi;
        fi;

        Info(InfoComplement,2,"splits in ",Length(l)," complements");
      else
        l:=[];
        Info(InfoComplement,2,"no complements");
      fi;

      for k in l do
        q:=k.stabilizer;
        k:=ocr.cocycleToComplement(k.cocycle);
        Assert(3,Length(GeneratorsOfGroup(k))
                  =Length(MappingGeneratorsImages(fpi)[2]));
        # correct stabilizer to obtain centralizer

        v:=Normalizer(q,ClosureGroup(s[i],k));
        afu:=function(x,g) return CanonicalRightCosetElement(s[i],x^g);end;
        for jj in GeneratorsOfGroup(k) do
          if ForAny(GeneratorsOfGroup(v),x->not Comm(x,jj) in s[i]) then
            # we are likely very close as we centralized in the higher level
            # and stabilize the cohomology. Thus a plain stabilizer
            # calculation ought to work.
            v:=Stabilizer(v,CanonicalRightCosetElement(s[i],jj),afu);
          fi;
        od;


        Add(ncen,v);
        Add(nlcom,k);
        Add(nlcomgens,GeneratorsOfGroup(k));
      od;

      ncom:=Concatenation(ncom,nlcom);
      ncomgens:=Concatenation(ncomgens,nlcomgens);
      ncen:=Concatenation(ncen,nlcen);
    od;
    com:=ncom;
    comgens:=ncomgens;
    cen:=ncen;
    Info(InfoComplement,1,Length(com)," complements in total");
  od;

  if K<>fail then
    com:=List(com,x->ClosureGroup(K,x));
  fi;
  return com;

end );

InstallMethod(ComplementClassesRepresentativesSolvableNC,"using cohomology",
  IsIdenticalObj,
  [IsGroup,IsGroup],1,
  ComplementClassesRepresentativesSolvableWBG);

Messung V0.5 in Prozent
C=66 H=87 G=76

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.