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

Quelle  kernelsize.gi   Sprache: Shell

 

# Computes the size of the kernel of the map I^n/I^(n+m) -> I^n*p^l/I^n*p^l+m; x -> x^(p^l), cf. Hertweck-Soriano Section 2.7
BindGlobal("KernelSizePowerMap", function(T, n, m, l)
local Res, p, max, v0, pos, tup, s, v, w, i, posm, t, count, k;
    Res := 0;
    k := T.fld;
    p := Characteristic(k);
    max := Maximum(T.wgs);
    if max < n*(p^l)+m-1 then
        Print("Weight of table is too small, recompute for weight ", n*(p^l)+m, "\n");
        return fail;
    fi;
    pos := Filtered([1..Size(T.wgs)], x -> n <= T.wgs[x] and T.wgs[x] <= n+m-1);
    s := Size(pos);
    posm := Filtered([1..Size(T.wgs)], x -> T.wgs[x] < n*(p^l)+m);
    t := Size(posm);
    v0 := ListWithIdenticalEntries(t, 0*Z(p));
    count := 0;
    #Act on "projective" space to save time, hence the s-1
    for tup in IteratorOfTuples(k, s-1) do
        count := count + 1;
        if count mod 1000 = 0 and InfoLevel(InfoModIsom) >= 1 then
            Print("Step ", count, " of ", NrTuples(k,s-1), "\n");
        fi;
        #Case last entry is 0
        v := ListWithIdenticalEntries(T.dim, 0*Z(p));
        for i in [1..s-1] do
            v[pos[1]-1+i] := tup[i]*(Z(p)^0);
        od;
        w := v;
        for i in [1..p^l-1] do
            w := MultByTable(T, w, v);
        od;
        if w{[1..t]} = v0 then
            Res := Res + 1; 
        fi;
        #Case last entry is 1
        v := ListWithIdenticalEntries(T.dim, 0*Z(p));
        v[pos[1]-1+s] := Z(p)^0;
        for i in [1..s-1] do
            v[pos[1]-1+i] := tup[i]*Z(p);
        od;
        w := v;
        for i in [1..(p^l)-1] do
            w := MultByTable(T, w, v);
        od;
        if w{[1..t]} = v0 then
        #As any multipel of w is also in the kernel
            Res := Res + Size(k)-1; 
        fi;
    od; 
    return Res;
end);

Messung
CHZG
899810095

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


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.