Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/modisom/gap/grpalg/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 23.8.2024 mit Größe 1 kB image not shown  

Quelle  jenningsConjecture.gi   Sprache: unbekannt

 
Spracherkennung für: .gi vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#############################################################################
##Functions to check conjecture on Jennings bound from MM20
##
## input: prime and JenningsBound between p-groups
## output: conjectured Jennings bound from MM20
BindGlobal( "ConjecturedJenBound", function(p, jb)
if p = 2 then
  return 2*jb;
else
 return 2*jb - ((p-1)/2);
fi;
end );

## 
## 
BindGlobal( "JenningsBoundConjecture", function(p, n, tup)
local s, l, ids, jb, b, pair, jbp, bp, a, lp;
if IsString(tup.splits[1]) or IsString(tup.splits[1][1]) then
  Print("Data is given in format which does not allow the check. \n");
  return fail;
else
  s := tup.splits;
  l := Maximum(List(s, x -> x[1]));
  ids := Concatenation(List(s, x -> x[2]));
  jb := JenningsBound(p,n,ids);
  b := ConjecturedJenBound(p,jb);
  if l <= b then  
    return true;
  else
    for pair in Combinations(ids, 2) do
    jbp := JenningsBoundPairwise(p,n,pair)[1][3];
    bp := ConjecturedJenBound(p, jbp);
      if l > bp then
        a := MIPBinSplit(p,n,false,jbp,1,pair);
        lp := Maximum(List(a.splits, x -> x[1]));
        if lp > bp then
          return false;
        else 
          return true;
        fi;
      fi;
    od;
  fi;
fi;
end );

BindGlobal( "JenningsBoundConjectureIsStrict", function(p, n, tup)
local s, l, ids, jb, b;
if IsString(tup.splits[1]) or IsString(tup.splits[1][1]) then
  Print("Data is given in format which does not allow the check. \n");
  return fail;
else
  s := tup.splits;
  l := Maximum(List(s, x -> x[1]));
  ids := Concatenation(List(s, x -> x[2]));
  if Size(ids) > 3 then
    Print("This function is currently only implemented for pairs of groups \n");
    return fail;
  fi;
  jb := JenningsBound(p,n,ids);
  b := ConjecturedJenBound(p,jb);
  if l = b then  
    return true;
  else 
    return false;
  fi;
fi;
end );

[ Dauer der Verarbeitung: 0.57 Sekunden  ]