thetensor-space / TameGenus

Algorithms for isomorphism testing of groups with small genus
MIT License
1 stars 0 forks source link

Adjoint tensor #19

Open joshmaglione opened 4 years ago

joshmaglione commented 4 years ago

The function IsPseudoIsometricAdjointTensor in the file src/sloped.m is not symmetric. It seems that there is at least one order that returns the correct answer. Therefore, we have a band-aid fix such that if false is returned the first time, we swap the inputs and run it again. I believe this avoids us turning off adjoint tensor completely, but maybe not.

This function would take me a significant amount of time to debug because I am a bit far removed from this particular code. I would suggest @galois60 or @algeboy take a swing at this if you ever feel like undertaking such a task.

joshmaglione commented 4 years ago

Here is an example that will illustrate the issue, given by @eobr007.

Groups

G := PCGroup(\[ 14, -13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -13, 13, 
92633186446984821, 142863857971060592, 8129239547352394, 174828830759220459, 
4215161246784505, 447764381526311, 146777936273629574, 9659744524013238, 
376353682759632, 120997337846886, 62625252840417545, 24538260117553747, 
648486345842277, 30286450223531, 6646573915861, 157541652071243810, 
8605954248552408, 418814101036274, 166278550383994, 9912759738216, 707175787940,
412282921355257687, 23685192308195621, 2223381798125523, 32068009302833, 
14709256607199, 723866911117, 20542900651, 158520273955431578, 
20548918984341406, 677437237123956, 133616738882768, 14183929375498, 
126501287172, 62642348588, 2994108496, 502308199870602589, 25341262173984143, 
1119419738606297, 176671635307491, 15874171811745, 1133242215639, 15542632653, 
5146144747, 100482573255882828, 46368406807428730, 1783463073089736, 
153520396195218, 9924923280338, 96689895382, 92920471738, 3545444010, 180360302,
5077208, 653952159142525163, 15077307536541457, 3661097363534559, 
260244203382125, 22896682859299, 1434489020409, 55203843335, 7427688013, 
513781755, 397625, 371431 ]);
H := PCGroup(\[ 14, -13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -13, 13, 
108289499649292053, 978519575151302, 7000178499109084, 90023800913389619, 
11742234901739905, 285642795111887, 60342040469225064, 1254512275979708, 
1071160481678592, 30434913201466, 150692014603395725, 8731405442147407, 
1771757337427929, 79279237326791, 4111282834993, 347048276457504264, 
10713534871939920, 648486348456708, 114316503456294, 11751416783350, 
744071915936, 271376102534492599, 23484470344063477, 1451374243771123, 
100954837229841, 8405289595311, 1033091602893, 16218079787, 187875861209757638, 
21000543403638730, 1893349135232136, 56119057464884, 5755799566126, 
1328260884756, 83320398344, 13048412298501589, 501919112631323, 
3030138435633437, 51962722681011, 14732148802345, 404104448099, 78387685833, 
2287188647, 539804841, 122010003909055272, 15733217031760252, 3057275537774496, 
76765029733444, 19849103232024, 763455637024, 81027214362, 1544174740, 
611402914, 13197320, 372138521500994987, 48196431618345217, 1715638326561471, 
69617722653077, 21937383531403, 1624240535817, 70611017663, 9236627509, 
604948467, 397625, 371431 ]);

Tensors

s := Tensor(GF(13), \[ 12, 12, 2 ], [ GF(13) | 0, 0, 1, 0, 10, 11, 9, 2, 1, 4, 7, 3, 
9, 7, 11, 7, 11, 2, 2, 9, 11, 4, 2, 8, 12, 0, 0, 0, 9, 4, 10, 6, 1, 5, 6, 9, 3, 
1, 12, 7, 0, 6, 3, 10, 1, 11, 2, 4, 3, 2, 4, 9, 0, 0, 7, 1, 0, 10, 9, 8, 8, 0, 
12, 5, 0, 10, 7, 1, 7, 12, 11, 7, 4, 11, 3, 7, 6, 12, 0, 0, 6, 9, 5, 9, 9, 0, 
12, 1, 4, 7, 11, 10, 10, 2, 10, 11, 12, 9, 12, 8, 0, 3, 7, 4, 0, 0, 7, 11, 6, 
12, 8, 3, 5, 1, 4, 4, 12, 10, 2, 8, 6, 10, 7, 4, 4, 5, 8, 4, 6, 2, 0, 0, 2, 12, 
1, 3, 10, 8, 1, 1, 3, 4, 7, 8, 4, 6, 10, 12, 5, 0, 4, 0, 7, 1, 11, 1, 0, 0, 1, 
8, 1, 3, 3, 3, 5, 2, 10, 4, 2, 6, 1, 6, 1, 8, 1, 12, 5, 10, 12, 10, 12, 5, 0, 0,
1, 6, 5, 4, 3, 0, 11, 10, 2, 11, 0, 7, 0, 3, 9, 6, 8, 12, 3, 5, 12, 10, 12, 7, 
0, 0, 0, 0, 11, 3, 10, 1, 11, 4, 10, 3, 6, 12, 2, 3, 9, 9, 12, 12, 10, 10, 8, 9,
0, 0, 0, 0, 11, 5, 12, 3, 2, 9, 12, 2, 6, 1, 3, 11, 1, 3, 10, 9, 8, 11, 10, 0, 
2, 10, 2, 8, 0, 0, 0, 12, 11, 5, 11, 9, 2, 6, 3, 2, 11, 5, 6, 5, 3, 9, 2, 3, 3, 
12, 1, 10, 0, 1, 0, 0 ], TensorCategory(\[ 1, 1, 1 ], { PowerSet(IntegerRing()) 
|
{ IntegerRing() | 0 },
{ IntegerRing() | 1, 2 }
}));
t := Tensor(GF(13), \[ 12, 12, 2 ], [ GF(13) | 0, 0, 3, 0, 12, 9, 9, 5, 2, 6, 1, 12, 
4, 5, 0, 5, 1, 0, 9, 10, 5, 5, 9, 3, 10, 0, 0, 0, 11, 11, 0, 4, 3, 12, 7, 11, 4,
12, 0, 4, 11, 11, 11, 5, 8, 2, 9, 11, 1, 4, 2, 2, 0, 0, 2, 6, 6, 3, 3, 1, 4, 0, 
10, 7, 8, 11, 12, 10, 12, 11, 4, 11, 4, 8, 0, 9, 11, 7, 0, 0, 11, 2, 2, 2, 7, 7,
6, 5, 10, 11, 4, 1, 5, 4, 0, 10, 11, 7, 10, 1, 7, 10, 2, 11, 0, 0, 5, 3, 9, 12, 
12, 2, 9, 6, 1, 8, 11, 6, 9, 11, 12, 1, 6, 2, 10, 12, 11, 11, 8, 10, 0, 0, 9, 1,
9, 12, 1, 5, 6, 8, 12, 3, 2, 10, 9, 8, 9, 1, 9, 0, 6, 6, 4, 1, 4, 12, 0, 0, 9, 
8, 6, 1, 1, 9, 8, 11, 4, 10, 0, 8, 0, 9, 3, 6, 7, 8, 1, 11, 4, 1, 4, 5, 0, 0, 0,
0, 8, 3, 12, 7, 8, 8, 12, 0, 2, 2, 5, 2, 3, 2, 4, 7, 12, 8, 7, 12, 0, 0, 0, 0, 
8, 9, 4, 6, 4, 7, 4, 3, 2, 8, 1, 3, 9, 12, 12, 5, 7, 5, 12, 4, 5, 10, 5, 4, 0, 
0, 0, 10, 12, 9, 8, 8, 5, 11, 1, 2, 8, 9, 2, 7, 1, 10, 5, 2, 1, 6, 9, 7, 0, 3, 
0, 0, 0, 12, 4, 10, 4, 2, 9, 2, 0, 3, 4, 2, 11, 3, 9, 3, 5, 5, 9, 6, 1, 4, 0, 1,
0, 0 ], TensorCategory(\[ 1, 1, 1 ], { PowerSet(IntegerRing()) |
{ IntegerRing() | 0 },
{ IntegerRing() | 1, 2 }
}));
eamonnaobrien commented 4 years ago

And another example ... not clear if it's all related to same issue. Also not clear to me whether you've already implemented the temporary fix or not. So I record below 2 more isomorphic groups where TGIsIsomorphic returns false.

G:Magma; PCGroup([ 14, -17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, -17, 17, 3540012713408028313, 2226782190692158682, 151139062716662260, 7960950249507729435, 262933988472176577, 27207853680460687, 10644508274193579944, 525388170396357818, 20603457662609042, 597682897546116, 5432369740049559557, 682284911699373547, 7959143919385377, 2231349484191875, 94926107258617, 15530378357961990984, 349299167306541542, 18768903221365282, 1011080235494944, 50588192990516, 4463664086636, 3458445646153792679, 729305956129837989, 38384524023572979, 3094669234420113, 161725961062463, 5928573179949, 324408929355, 21142196623539004742, 116593042941240286, 2540155355899470, 2958530521749188, 225010042540606, 155108637510, 346712077622, 4293649816, 14437395640856187169, 1348257377348323983, 36126668143460337, 514674763256691, 227549406505465, 5744753115019, 787368188693, 42538956287, 1449927061, 22790161894540000432, 1335319886470977508, 83205174525977080, 3542994590380066, 105281848485264, 1959175482960, 483246993708, 50292091650, 295876010, 107440238, 24475891642229644355, 1439758331895861457, 82320857755181511, 1415688118106357, 188749224161299, 15445920054009, 653111502383, 11463758485, 2287964571, 874073, 828391 ]) H:Magma; PCGroup([ 14, -17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, -17, 17, 538342947200299641, 1908670449164709176, 110835312658885852, 6590622747543331563, 443341250635556689, 27433644997310975, 4649325453099339254, 67172916763304608, 25683762291740522, 904825497673346, 783044286956066777, 690921429568897063, 17611722714735189, 2759302710356519, 79105089382429, 4910340217737907476, 470210417479870766, 9088100511409184, 3335402614836144, 32130338801630, 7359013763324, 5350802672676056407, 652536908400740069, 50125672499787955, 3014978181414129, 39845527053311, 8548175268381, 83805641563, 18939884566810508162, 129547819745525560, 38102287759819830, 687335511078644, 31642046276086, 2378323567824, 355836078704, 44904399730, 22920375414921507329, 681326275201785803, 43464885941094697, 33207984678871, 146491105041045, 3676646203099, 959710431353, 2782960287, 1905951721, 20636790105738803776, 585862058015659064, 70165725977872948, 1680216226365190, 195520246742040, 5813896977122, 167286215498, 27551661938, 218702606, 152079756, 16449687702152456819, 898536545405721121, 22711950106705479, 2531362860190133, 24679409148979, 7311366200457, 924803979047, 5500359085, 14857035, 14080217 ])

joshmaglione commented 4 years ago

Hi @eobr007 this indeed seems to be related. The adjoint tensor method claims they are not isomorphic regardless of the order. So it seems that, until this is fixed, adjoint tensor will be turned off.