monodromyGroup -- compute the group of permutations implicitly defined by a homotopy graph

Synopsis

• Usage:
monodromyGroup S
monodromyGroup(S, p0, x0s)
• Inputs:
• S, an instance of the type System,
• p0, , a basepoint for the monodromy group in the parameter space for S
• x0s, a list, points in the fiber over S
• Optional inputs:
• FileName (missing documentation) => , default value null, a name for an output file suitable for reading by GAP. Default value is null.
• msOptions
• RootCount

Description

If the monodromy group is full symmetric and the degree is large, then the default settings have a good chance of generating the whole group. However, you will need to use a bigger graph than the default settings to fully generate imprimitive groups, as in the following example of a Euclidean distance degree calculation.

 i1 : setRandomSeed 100; i2 : declareVariable \ {t_1,t_2,u_0,u_1,u_2,u_3}; i3 : paramMatrix = gateMatrix{{u_0,u_1,u_2,u_3}}; i4 : varMatrix = gateMatrix{{t_1,t_2}}; i5 : phi = transpose gateMatrix{{t_1^3, t_1^2*t_2, t_1*t_2^2, t_2^3}}; i6 : loss = sum for i from 0 to 3 list (u_i - phi_(i,0))^2; i7 : dLoss = diff(varMatrix, gateMatrix{{loss}}); i8 : G = gateSystem(paramMatrix,varMatrix,transpose dLoss); i9 : monodromyGroup(G,"msOptions" => {NumberOfEdges=>10}) o9 = {{3, 4, 2, 6, 7, 5, 0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ------------------------------------------------------------------------ 20}, {4, 2, 6, 7, 5, 0, 1, 8, 3, 15, 10, 16, 12, 17, 14, 9, 11, 13, 18, ------------------------------------------------------------------------ 19, 20}, {5, 1, 6, 8, 4, 0, 2, 7, 3, 9, 10, 11, 12, 13, 14, 15, 16, 17, ------------------------------------------------------------------------ 18, 19, 20}, {4, 2, 6, 7, 5, 0, 1, 8, 3, 15, 10, 16, 12, 17, 14, 9, 11, ------------------------------------------------------------------------ 13, 18, 19, 20}, {9, 4, 10, 11, 7, 12, 13, 1, 14, 3, 2, 6, 5, 0, 8, 15, ------------------------------------------------------------------------ 16, 17, 19, 20, 18}, {3, 4, 2, 6, 7, 5, 0, 1, 8, 9, 10, 11, 12, 13, 14, ------------------------------------------------------------------------ 15, 16, 17, 18, 19, 20}, {3, 4, 2, 6, 7, 5, 0, 1, 8, 9, 10, 11, 12, 13, ------------------------------------------------------------------------ 14, 15, 16, 17, 18, 19, 20}, {9, 4, 18, 11, 7, 19, 13, 1, 20, 3, 10, 6, ------------------------------------------------------------------------ 12, 0, 14, 15, 16, 17, 5, 8, 2}, {3, 4, 2, 6, 7, 5, 0, 1, 8, 9, 10, 11, ------------------------------------------------------------------------ 12, 13, 14, 15, 16, 17, 18, 19, 20}} o9 : List

Caveat

This is still somewhat experimental.

Ways to use monodromyGroup :

• "monodromyGroup(System)"
• "monodromyGroup(System,Point,List)"
• monodromyGroup(HomotopyGraph) (missing documentation)

For the programmer

The object monodromyGroup is .