Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/hap/lib/RegularCWComplexes/   (GAP Algebra Version 4.15.1©)  Datei vom 19.6.2025 mit Größe 4 kB image not shown  

Quelle  spunknotcomp.gi   Sprache: Shell

 

#DeclareGlobalFunction("SpunKnotCompliment");
#DeclareGlobalFunction("SpunAboutInitialHyperPlane");
###############################################################################
######################## Spinning Knot Complements ############################
###############################################################################
################# Input: an integer pair (n,p) corresponding ##################
######################## to the pth prime knot on n crossings, ################
######################## denoted by K. ########################################
################ Output: a 5-dimensional regular CW-complex S(K*) #############
######################## homotopy equivalent to the complement ################
######################## of the spinning of K* (a knotted arc formed ##########
######################## from K by removing an unknotted segment) #############
######################## about a plane. #######################################
###############################################################################
InstallGlobalFunction(SpunKnotComplement,
function(k)

    local
          d, K, DeletedPair, pair, C, U, C2, omicron;

    d:=[0,0,1,1,2,3,7,21,49,165,552];

    if IsList(k)
        then
        if not (IsInt(k[1]) and IsInt(k[2]) and SignInt(k[1])=1 and SignInt(k[2])=1)
            then
            Error("the input must be a pair of positive integers.\n");
        elif k[1]>11
            then
            Error("only knots with less than 12 crossings are stored in HAP.\n");
        elif k[2]>d[k[1]]
            then
            Error("no such prime knot exists.\n");
        fi;
        K:=PureCubicalKnot(k[1],k[2]);
    elif IsPureComplex(k)
        then
        K:=ShallowCopy(k);
    else
        Error("input must be an integer pair or a knot.\n");
    fi;

    DeletedPair:=function(K)
        # inputs a cubical knot
        # outputs a list of cubical complexes [C,U]
        # C being the complement of K with a certain line removed
        # (except for its end-points)
        # U is a plane intersecting C at just these endpoints
        local
              C, array, 0row, i, pos, a, b, subarray, j;

        C:=PureComplexComplement(K);
        array:=ShallowCopy(C!.binaryArray);
        0row:=0; # location of the line to be altered

        while 0row=0
            do
            for i in [1..Length(array[2])]
                do
                if 0 in array[2][i]
                    then
                    0row:=0row+i;
                    break;
                fi;
            od;
        od;

        pos:=Positions(array[2][0row],0);
        a:=pos[1]; # the endpoints of 0row
        b:=pos[Length(pos)];

        array[2][0row]:=0*ShallowCopy(array[2][0row])+1;
        array[2][0row][a]:=0;
        array[2][0row][b]:=0;
        array[1][0row]:=ShallowCopy(array[2][0row]);

        subarray:=0*ShallowCopy(array); # the plane about which the knot
        subarray[1]:=ShallowCopy(array[1]); # complement will be spun

        return [PureCubicalComplex(array), PureCubicalComplex(subarray)];

    end;

    pair:=DeletedPair(K);
    C:=ShallowCopy(pair[1]);
    U:=ShallowCopy(pair[2]);
    C2:=ContractedComplex(C,U);

    omicron:=RegularCWMap(C2,U);

    return Spin(omicron);

end);
###############################################################################
###############################################################################

###############################################################################
######################## Spinning About Hyperplane ##############################
###############################################################################
################# Input: Pure cubical Complex K ###############################
################ Output: a regular CW-complex S(K) ############################
######################## homotopy equivalent to the space got  ################
######################## by spinning K about the 'initial' hyperplane #########
###############################################################################
InstallGlobalFunction(SpunAboutHyperplane,
function(K)
local U,i,inc;

U:=1*K!.binaryArray;
for i in [2..Length(U)] do    ##CHANGED
U[i]:=0*U[i];
od;
U:=PureCubicalComplex(U);
inc:=RegularCWMap(K,U);

return ContractedComplex(Spin(inc));
end);
###############################################################################
###############################################################################

###############################################################################
###############################################################################
InstallGlobalFunction(SpunLinkComplement,
function(K)
local C,Y;
Y:=PureCubicalKnot(K);
Y:=PureComplexComplement(Y);
Y:=SpunAboutHyperplane(Y);
Y:=ContractedComplex(Y);
return Y;
end);
###############################################################################
###############################################################################


Messung
CHZG
919910096

¤ Dauer der Verarbeitung: 0.11 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.