Home Online Manual
Top
Back: GITfanSymmetric
Forward: bigintToBinary
FastBack:
FastForward:
Up: gitfan_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.13.3.24 GITfanParallelSymmetric

Procedure from library gitfan.lib (see gitfan_lib).

Usage:
GITfanParallelSymmetric(OC, Q, Qgamma, actiononorbitcones [, file1]); OC:list, Q:bigintmat, Qgamma:cone, actiononorbitcones: list of intvec, file1:string

Purpose:
Returns the common refinement of the cones given in
the list OC which is supposed to contain the orbit cones intersected with Qgamma. The list actiononorbitcones is supposed to contain the symmetry group acting as permutations of on the list of orbit cones in OC. The optional argument can be used to specify a name for a file which will contain the hashes of the GIT-cones. To obtain the whole GIT-fan Qgamma has to be take the cone generated by the columns of Q.

Return:
a list containing the bigint hashes of the GIT cones.

Note:
The proceduce uses parallel computation for the construction of the GIT-cones.

Example:
 
LIB "gitfan.lib";
ring R = 0,T(1..10),wp(1,1,1,1,1,1,1,1,1,1);
ideal J =
T(5)*T(10)-T(6)*T(9)+T(7)*T(8),
T(1)*T(9)-T(2)*T(7)+T(4)*T(5),
T(1)*T(8)-T(2)*T(6)+T(3)*T(5),
T(1)*T(10)-T(3)*T(7)+T(4)*T(6),
T(2)*T(10)-T(3)*T(9)+T(4)*T(8);
intmat Q[5][10] =
1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 1, 1, 0, 0, 0,
0, 1, 1, 0, 0, 0, -1, 1, 0, 0,
0, 1, 0, 1, 0, -1, 0, 0, 1, 0,
0, 0, 1, 1, -1, 0, 0, 0, 0, 1;
list simplexSymmetryGroup = G25Action();
list simplexOrbitRepresentatives = intvec( 1, 2, 3, 4, 5 ),
intvec( 1, 2, 3, 5, 6 ),
intvec( 1, 2, 3, 5, 7 ),
intvec( 1, 2, 3, 5, 10 ),
intvec( 1, 2, 3, 7, 9 ),
intvec( 1, 2, 6, 9, 10 ),
intvec( 1, 2, 3, 4, 5, 6 ),
intvec( 1, 2, 3, 4, 5, 10 ),
intvec( 1, 2, 3, 5, 6, 8 ),
intvec( 1, 2, 3, 5, 6, 9 ),
intvec( 1, 2, 3, 5, 7, 10 ),
intvec( 1, 2, 3, 7, 9, 10 ),
intvec( 1, 2, 3, 4, 5, 6, 7 ),
intvec( 1, 2, 3, 4, 5, 6, 8 ),
intvec( 1, 2, 3, 4, 5, 6, 9 ),
intvec( 1, 2, 3, 5, 6, 9, 10 ),
intvec( 1, 2, 3, 4, 5, 6, 7, 8 ),
intvec( 1, 2, 3, 4, 5, 6, 9, 10 ),
intvec( 1, 2, 3, 4, 5, 6, 7, 8, 9 ),
intvec( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
list afaceOrbitRepresentatives=afaces(J,simplexOrbitRepresentatives);
==> (T(1),T(2),T(3),T(4),T(5))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(5),T(6))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(5)
==>    [5]:
==>       T(6)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(5),T(7))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(5)
==>    [5]:
==>       T(7)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(5),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(5)
==>    [5]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(7),T(9))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(7)
==>    [5]:
==>       T(9)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(6),T(9),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(6)
==>    [4]:
==>       T(9)
==>    [5]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(5),T(6),T(8))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(5)
==>    [5]:
==>       T(6)
==>    [6]:
==>       T(8)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(5),T(6),T(9))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(5)
==>    [5]:
==>       T(6)
==>    [6]:
==>       T(9)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(5),T(7),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(5)
==>    [5]:
==>       T(7)
==>    [6]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(7),T(9),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(7)
==>    [5]:
==>       T(9)
==>    [6]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6),T(7))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==>    [7]:
==>       T(7)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6),T(8))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==>    [7]:
==>       T(8)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6),T(9))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==>    [7]:
==>       T(9)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(5),T(6),T(9),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(5)
==>    [5]:
==>       T(6)
==>    [6]:
==>       T(9)
==>    [7]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6),T(7),T(8))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==>    [7]:
==>       T(7)
==>    [8]:
==>       T(8)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6),T(9),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==>    [7]:
==>       T(9)
==>    [8]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6),T(7),T(8),T(9))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==>    [7]:
==>       T(7)
==>    [8]:
==>       T(8)
==>    [9]:
==>       T(9)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
==> (T(1),T(2),T(3),T(4),T(5),T(6),T(7),T(8),T(9),T(10))
==> [1]:
==>    0
==> [2]:
==>    [1]:
==>       T(1)
==>    [2]:
==>       T(2)
==>    [3]:
==>       T(3)
==>    [4]:
==>       T(4)
==>    [5]:
==>       T(5)
==>    [6]:
==>       T(6)
==>    [7]:
==>       T(7)
==>    [8]:
==>       T(8)
==>    [9]:
==>       T(9)
==>    [10]:
==>       T(10)
==> [3]:
==>    [1]:
==>       [1]:
==>          wp
==>       [2]:
==>          1,1,1,1,1,1,1,1,1,1
==>    [2]:
==>       [1]:
==>          C
==>       [2]:
==>          0
==> [4]:
==>    _[1]=0
list fulldimAfaceOrbitRepresentatives=fullDimImages(afaceOrbitRepresentatives,Q);
list afaceOrbits=computeAfaceOrbits(fulldimAfaceOrbitRepresentatives,simplexSymmetryGroup);
apply(afaceOrbits,size);
==> 10 15 10 1
list minAfaceOrbits = minimalAfaceOrbits(afaceOrbits);
apply(minAfaceOrbits,size);
==> 10 15
list listOfOrbitConeOrbits = orbitConeOrbits(minAfaceOrbits,Q);
apply(listOfOrbitConeOrbits,size);
==> 10 15
list listOfMinimalOrbitConeOrbits = minimalOrbitConeOrbits(listOfOrbitConeOrbits);
size(listOfMinimalOrbitConeOrbits);
==> 2
list Asigma = groupActionOnQImage(simplexSymmetryGroup,Q);
list actionOnOrbitconeIndices = groupActionOnHashes(Asigma,listOfOrbitConeOrbits);
list OClist = listOfOrbitConeOrbits[1];
for (int i =2;i<=size(listOfOrbitConeOrbits);i++){
OClist = OClist + listOfOrbitConeOrbits[i];
}
cone mov = coneViaPoints(transpose(Q));
mov = canonicalizeCone(mov);
list Sigma = GITfanParallelSymmetric(OClist, Q, mov, actionOnOrbitconeIndices);
Sigma;
==> [1]:
==>    7183
==> [2]:
==>    224275
==> [3]:
==>    605191
==> [4]:
==>    4946947
==> [5]:
==>    14416897
==> [6]:
==>    33553408