|
|||||
---|---|---|---|---|---|
Some TheoryLet C* denote the non-zero complex numbers, considered as an abelian group under multiplication. The second cohomology H2(G,C*) of a finite group G with coefficients in the abelian group C* is known as the Schur multiplier of G. This cohomology group was used by Schur in the study of projective representations of G. When G is finite there is an isomorphism between H2(G,C*) and the second integral homology group H2(G,Z).Bogomolov and Saltman [F. A. Bogomolov, The Brauer group of quotient spaces by linear group actions, Math. USSR Izv. 30 (1988), 455–485] and [D. J. Saltman, Multiplicative field invariants and the Brauer group, J. Algebra 133 (1990), 533–544] introduced the following subgroup of the Schur multiplier of a finite group G:
Alternatively, following Moravec [P. Moravec, Unramified Brauer groups of finite and infinite groups, American Journal of Maths, 134 (2012), 1679-1704] one can define
Following [B. E. Kunyavskii, The Bogomolov multiplier of finite simple groups, in “Rationality problems” (F. A. Bogomolov and Y. Tschinkel, eds.), Progress in Math. vol. 282, Birkhauser, Boston, 2010, pp. 209–217] we call B0(G) the Bogomolov multiplier of G. Let G act on the rational function field C(xg : g in G) so that g.xh = xgh for all g, h in G. Let C(G) be the fixed field C(xg : g in G)G . Interest in the Bogomolov multiplier B0(G) stems from the following theorem.
Primoz Moravec, in his above mentioned paper, was the first to compute values of B0(G) using the GAP system and its functions related to covering groups. |
|||||
The
following HAP commands use a method based on free ZG-resolutions to
show that B0(M24) is trivial and that the group G
with number 1550 in GAP's list of groups of order 128 has B0(G)=Z2
+ Z2. |
|||||
gap>
BogomolovMultiplier(MathieuGroup(24)); [ ] gap> BogomolovMultiplier(SmallGroup(128,1550)); [ 2, 2 ] |
|||||
The following commands determine all groups G of order dividing 128 for which B0(G) is non-trivial. The computation time, shown in milliseconds, is about 8 minutes. | |||||
gap>
NonTrivial:=[];; gap> for n in [2,4,8,16,32,64,128] do > for G in AllSmallGroups(n) do > if not BogomolovMultiplier(G)=[] then Add(NonTrivial,IdGroup(G)); fi; > od;od; gap> time; 488158 gap> NonTrivial; [ [ 64, 149 ], [ 64, 150 ], [ 64, 151 ], [ 64, 170 ], [ 64, 171 ], [ 64, 172 ], [ 64, 177 ], [ 64, 178 ], [ 64, 182 ], [ 128, 36 ], [ 128, 37 ], [ 128, 38 ], [ 128, 39 ], [ 128, 40 ], [ 128, 41 ], [ 128, 138 ], [ 128, 139 ], [ 128, 144 ], [ 128, 145 ], [ 128, 227 ], [ 128, 228 ], [ 128, 229 ], [ 128, 242 ], [ 128, 243 ], [ 128, 244 ], [ 128, 245 ], [ 128, 246 ], [ 128, 247 ], [ 128, 265 ], [ 128, 266 ], [ 128, 267 ], [ 128, 268 ], [ 128, 269 ], [ 128, 287 ], [ 128, 288 ], [ 128, 289 ], [ 128, 290 ], [ 128, 291 ], [ 128, 292 ], [ 128, 293 ], [ 128, 301 ], [ 128, 324 ], [ 128, 325 ], [ 128, 326 ], [ 128, 417 ], [ 128, 418 ], [ 128, 419 ], [ 128, 420 ], [ 128, 421 ], [ 128, 422 ], [ 128, 423 ], [ 128, 424 ], [ 128, 425 ], [ 128, 426 ], [ 128, 427 ], [ 128, 428 ], [ 128, 429 ], [ 128, 430 ], [ 128, 431 ], [ 128, 432 ], [ 128, 433 ], [ 128, 434 ], [ 128, 435 ], [ 128, 436 ], [ 128, 446 ], [ 128, 447 ], [ 128, 448 ], [ 128, 449 ], [ 128, 450 ], [ 128, 451 ], [ 128, 452 ], [ 128, 453 ], [ 128, 454 ], [ 128, 455 ], [ 128, 541 ], [ 128, 543 ], [ 128, 568 ], [ 128, 570 ], [ 128, 579 ], [ 128, 581 ], [ 128, 626 ], [ 128, 627 ], [ 128, 629 ], [ 128, 667 ], [ 128, 668 ], [ 128, 670 ], [ 128, 675 ], [ 128, 676 ], [ 128, 678 ], [ 128, 691 ], [ 128, 692 ], [ 128, 693 ], [ 128, 695 ], [ 128, 703 ], [ 128, 704 ], [ 128, 705 ], [ 128, 707 ], [ 128, 724 ], [ 128, 725 ], [ 128, 727 ], [ 128, 950 ], [ 128, 951 ], [ 128, 952 ], [ 128, 975 ], [ 128, 976 ], [ 128, 977 ], [ 128, 982 ], [ 128, 983 ], [ 128, 987 ], [ 128, 1345 ], [ 128, 1346 ], [ 128, 1347 ], [ 128, 1348 ], [ 128, 1349 ], [ 128, 1350 ], [ 128, 1351 ], [ 128, 1352 ], [ 128, 1353 ], [ 128, 1354 ], [ 128, 1355 ], [ 128, 1356 ], [ 128, 1357 ], [ 128, 1358 ], [ 128, 1359 ], [ 128, 1360 ], [ 128, 1361 ], [ 128, 1362 ], [ 128, 1363 ], [ 128, 1364 ], [ 128, 1365 ], [ 128, 1366 ], [ 128, 1367 ], [ 128, 1368 ], [ 128, 1369 ], [ 128, 1370 ], [ 128, 1371 ], [ 128, 1372 ], [ 128, 1373 ], [ 128, 1374 ], [ 128, 1375 ], [ 128, 1376 ], [ 128, 1377 ], [ 128, 1378 ], [ 128, 1379 ], [ 128, 1380 ], [ 128, 1381 ], [ 128, 1382 ], [ 128, 1383 ], [ 128, 1384 ], [ 128, 1385 ], [ 128, 1386 ], [ 128, 1387 ], [ 128, 1388 ], [ 128, 1389 ], [ 128, 1390 ], [ 128, 1391 ], [ 128, 1392 ], [ 128, 1393 ], [ 128, 1394 ], [ 128, 1395 ], [ 128, 1396 ], [ 128, 1397 ], [ 128, 1398 ], [ 128, 1399 ], [ 128, 1544 ], [ 128, 1545 ], [ 128, 1546 ], [ 128, 1547 ], [ 128, 1548 ], [ 128, 1549 ], [ 128, 1550 ], [ 128, 1551 ], [ 128, 1552 ], [ 128, 1553 ], [ 128, 1554 ], [ 128, 1555 ], [ 128, 1556 ], [ 128, 1557 ], [ 128, 1558 ], [ 128, 1559 ], [ 128, 1560 ], [ 128, 1561 ], [ 128, 1562 ], [ 128, 1563 ], [ 128, 1564 ], [ 128, 1565 ], [ 128, 1566 ], [ 128, 1567 ], [ 128, 1568 ], [ 128, 1569 ], [ 128, 1570 ], [ 128, 1571 ], [ 128, 1572 ], [ 128, 1573 ], [ 128, 1574 ], [ 128, 1575 ], [ 128, 1576 ], [ 128, 1577 ], [ 128, 1783 ], [ 128, 1784 ], [ 128, 1785 ], [ 128, 1786 ], [ 128, 1864 ], [ 128, 1865 ], [ 128, 1866 ], [ 128, 1867 ], [ 128, 1880 ], [ 128, 1881 ], [ 128, 1882 ], [ 128, 1893 ], [ 128, 1894 ], [ 128, 1903 ], [ 128, 1904 ], [ 128, 1924 ], [ 128, 1925 ], [ 128, 1926 ], [ 128, 1927 ], [ 128, 1928 ], [ 128, 1929 ], [ 128, 1945 ], [ 128, 1946 ], [ 128, 1947 ], [ 128, 1948 ], [ 128, 1949 ], [ 128, 1950 ], [ 128, 1951 ], [ 128, 1966 ], [ 128, 1967 ], [ 128, 1968 ], [ 128, 1969 ], [ 128, 1970 ], [ 128, 1971 ], [ 128, 1972 ], [ 128, 1983 ], [ 128, 1984 ], [ 128, 1985 ], [ 128, 1986 ], [ 128, 1987 ], [ 128, 1988 ] ] |
|||||
The
computation of Bogomolov Multipliers is slower for larger groups. The
following commands take 18 minutes to determine those groups of order
11^5 = 161051 that have non-trivial Bogomolov multiplier. |
|||||
gap>
NonTrivial:=[];; gap> for G in AllSmallGroups(11^5) do > if Length(BogomolovMultiplier(G))>0 then Add(NonTrivial,IdGroup(G)); fi; > od; gap> time; 1069955 gap> NonTrivial; [ [ 161051, 39 ], [ 161051, 40 ], [ 161051, 41 ], [ 161051, 42 ] ] |
|||||
Parallel
Computation
The computation of Bogomolov multipliers for the groups of order 11^5 can be performed more quickly using HAP's functions for parallel computation. On a 2×Quad laptop the following commands create 7 child processes and then use the ParallelList() function on these processes to compute a list L of the multipliers. The computation take 4 minutes. |
|||||
gap>
children:=List([1..7],i->ChildProcess());; gap> fn:=function(i); return BogomolovMultiplier(SmallGroup(11^5,i)); end;; gap> for s in children do > ChildPut(fn,"fn",s); > od; gap> Exec("date"); L:=ParallelList([1..NrSmallGroups(11^5)],"fn",children);; Exec("date"); Mon Jun 24 09:27:59 IST 2013 Mon Jun 24 09:31:57 IST 2013 gap> for i in [1..Length(L)] do > if not L[i]=[] then > Print("Group ",[11^5,i], " has Bogomolov Multiplier ",L[i],"\n"); > fi; > od; Group [ 161051, 39 ] has Bogomolov Multiplier [ 11 ] Group [ 161051, 40 ] has Bogomolov Multiplier [ 11 ] Group [ 161051, 41 ] has Bogomolov Multiplier [ 11 ] Group [ 161051, 42 ] has Bogomolov Multiplier [ 11 ] |
|||||
Isoclinism
Phillip Hall defined two groups G and H to be isoclinic if there exists an isomorphism of central quotients F : G/Z(G) -->
H/Z(H)
and an isomorphism of derived subgroups FF : [G,G] -->
[H,H]
such that, for any set theoretic section i : H/Z(H) --> H
to the quotient H-->H/Z(H), the function G x G --->
[H,H], (g, g') ---> [ i(F(gZ(G))),
i(F(g'Z(G))) ]
induces the isomorphism FF. Isoclinism is an equivalence relation on groups. |
|||||
Primoz
Moravec
has
observed
the
following.
The HAP function IsoclinismClasses(L) uses a naive algorithm to partition a list L of groups into isoclinism classes. The following commands list the isoclinism classes of groups of order 243, and then list those isoclinism classes with non-trivial Bogomolov multipliers. |
|||||
gap>
L:=AllSmallGroups(3^5);; gap> C:=IsoclinismClasses(L);; gap> time; 6165 gap> for c in C do > Print(List(c,IdGroup),"\n\n"); > od; [ [ 243, 1 ], [ 243, 10 ], [ 243, 23 ], [ 243, 31 ], [ 243, 48 ], [ 243, 61 ], [ 243, 67 ] ] [ [ 243, 2 ], [ 243, 11 ], [ 243, 12 ], [ 243, 21 ], [ 243, 24 ], [ 243, 32 ], [ 243, 33 ], [ 243, 34 ], [ 243, 35 ], [ 243, 36 ], [ 243, 49 ], [ 243, 50 ], [ 243, 62 ], [ 243, 63 ], [ 243, 64 ] ] [ [ 243, 3 ], [ 243, 4 ], [ 243, 5 ], [ 243, 6 ], [ 243, 7 ], [ 243, 8 ], [ 243, 9 ] ] [ [ 243, 13 ], [ 243, 14 ], [ 243, 15 ], [ 243, 16 ], [ 243, 51 ], [ 243, 52 ], [ 243, 53 ], [ 243, 54 ], [ 243, 55 ] ] [ [ 243, 22 ] ] [ [ 243, 25 ], [ 243, 26 ], [ 243, 27 ] ] [ [ 243, 28 ], [ 243, 29 ], [ 243, 30 ] ] [ [ 243, 37 ], [ 243, 38 ], [ 243, 39 ], [ 243, 40 ], [ 243, 41 ], [ 243, 42 ], [ 243, 43 ], [ 243, 44 ], [ 243, 45 ], [ 243, 46 ], [ 243, 47 ] ] [ [ 243, 56 ], [ 243, 57 ], [ 243, 58 ], [ 243, 59 ], [ 243, 60 ] ] [ [ 243, 65 ], [ 243, 66 ] ] gap> for c in C do > if Length(BogomolovMultiplier(c[1]))>0 then > Print(List(c,g->IdGroup(g)),"\n\n\n"); fi; > od; [ [ 243, 28 ], [ 243, 29 ], [ 243, 30 ] ] gap> time; 260 |
|||||
HAP's
IsoclinismClasses()
function is very slow. A slightly faster
function PartialIsoclinismClasses(L)
partitions L into subsets with each subset
consisting of isoclinic groups, but with the possibility that groups in
distinct subsets may be isoclinic. The following commands take 2 minutes to list all groups of order 729 with non-trivial Bogomolov multiplier. |
|||||
gap>
L:=AllSmallGroups(3^6);; gap> C:=PartialIsoclinismClasses(L);; gap> time; 51007 gap> for c in C do > if not BogomolovMultiplier(c[1])=[] then > P:=List(c,g->IdGroup(g)); > Append(NonTrivial,P); > fi;od; 69976 gap> Print(NonTrivial); [ [ 729, 81 ], [ 729, 82 ], [ 729, 83 ], [ 729, 87 ], [ 729, 89 ], [ 729, 90 ], [ 729, 402 ], [ 729, 403 ], [ 729, 404 ], [ 729, 405 ], [ 729, 88 ], [ 729, 99 ], [ 729, 100 ], [ 729, 101 ], [ 729, 188 ], [ 729, 189 ], [ 729, 190 ], [ 729, 191 ], [ 729, 192 ], [ 729, 193 ], [ 729, 194 ], [ 729, 195 ], [ 729, 196 ], [ 729, 197 ], [ 729, 198 ], [ 729, 199 ], [ 729, 200 ], [ 729, 201 ], [ 729, 202 ], [ 729, 203 ], [ 729, 204 ], [ 729, 205 ], [ 729, 206 ], [ 729, 207 ], [ 729, 208 ], [ 729, 209 ], [ 729, 210 ], [ 729, 211 ], [ 729, 212 ], [ 729, 213 ], [ 729, 214 ], [ 729, 215 ], [ 729, 216 ], [ 729, 217 ], [ 729, 218 ], [ 729, 219 ], [ 729, 220 ], [ 729, 221 ], [ 729, 222 ], [ 729, 223 ], [ 729, 224 ], [ 729, 225 ], [ 729, 226 ], [ 729, 227 ], [ 729, 228 ], [ 729, 229 ], [ 729, 230 ], [ 729, 231 ], [ 729, 232 ], [ 729, 233 ], [ 729, 234 ], [ 729, 235 ], [ 729, 236 ], [ 729, 237 ], [ 729, 295 ], [ 729, 296 ], [ 729, 297 ], [ 729, 298 ], [ 729, 299 ], [ 729, 336 ], [ 729, 374 ], [ 729, 329 ], [ 729, 330 ], [ 729, 331 ], [ 729, 332 ], [ 729, 348 ], [ 729, 349 ], [ 729, 350 ], [ 729, 351 ], [ 729, 375 ], [ 729, 376 ], [ 729, 377 ], [ 729, 333 ], [ 729, 334 ], [ 729, 335 ] ] |
|||||
Variants of the Algorithm
Three variants of an algorithm for computing the Bogomolov multiplier are implemented in HAP. In addition to the default "standard" implementation there is a "homology" implementation and a "tensor" implementation. Their relative computation times depend on the group G in some not so obvious way. The following commands show that the "homology" implementation is around 15 times faster than the "standard" implementation for group number 35 in GAP's table of groups of order 55. |
|||||
gap>
BogomolovMultiplier(SmallGroup(5^5,35),"standard");time; [ 5 ] 27361 gap> BogomolovMultiplier(SmallGroup(5^5,35),"homology");time; [ 5 ] 1709 |
|||||
The
following commnds apply both the "standard" implementation and the
"homology" implementation to each group of order 5^6=15625; on each
group
the computation terminates as soon as one of the two implementations
terminates. The groups are treated serially. The commands take about
120 minutes to determine those groups of order 5^6 with non-trivial
multiplier. |
|||||
Exec("date"); Fri Jun 28 13:40:58 IST 2013 ####################################### children:=List([1..4],i->ChildProcess());; NonTrivial:=[]; for i in [1..NrSmallGroups(5^6)] do if IsOddInt(i) then s:=1; t:=2; else s:=3; t:=4; fi; strg1:=Concatenation("x:=BogomolovMultiplier(SmallGroup(5^6,", String(i),"), \"standard\");"); strg2:=Concatenation("x:=BogomolovMultiplier(SmallGroup(5^6,", String(i),"), \"homology\");"); ChildCommand(strg1,children[s]); ChildCommand(strg2,children[t]); r:=NextAvailableChild([children[s],children[t]]); x:=ChildGet("x",r); if r=children[t] then ChildClose(children[s]); children[s]:=ChildProcess(); else ChildClose(children[t]); children[t]:=ChildProcess(); fi; if not x=[] then Add(NonTrivial, [5^6, i]); fi; od; ####################################### Exec("date"); Fri Jun 28 15:41:27 IST 2013 gap> NonTrivial; [ [ 15625, 201 ], [ 15625, 202 ], [ 15625, 203 ], [ 15625, 204 ], [ 15625, 205 ], [ 15625, 206 ], [ 15625, 207 ], [ 15625, 208 ], [ 15625, 209 ], [ 15625, 210 ], [ 15625, 211 ], [ 15625, 212 ], [ 15625, 213 ], [ 15625, 214 ], [ 15625, 215 ], [ 15625, 216 ], [ 15625, 217 ], [ 15625, 218 ], [ 15625, 219 ], [ 15625, 353 ], [ 15625, 354 ], [ 15625, 355 ], [ 15625, 356 ], [ 15625, 357 ], [ 15625, 358 ], [ 15625, 359 ], [ 15625, 360 ], [ 15625, 361 ], [ 15625, 362 ], [ 15625, 363 ], [ 15625, 364 ], [ 15625, 365 ], [ 15625, 366 ], [ 15625, 367 ], [ 15625, 368 ], [ 15625, 369 ], [ 15625, 370 ], [ 15625, 371 ], [ 15625, 372 ], [ 15625, 373 ], [ 15625, 374 ], [ 15625, 375 ], [ 15625, 376 ], [ 15625, 377 ], [ 15625, 378 ], [ 15625, 379 ], [ 15625, 380 ], [ 15625, 381 ], [ 15625, 455 ], [ 15625, 456 ], [ 15625, 457 ], [ 15625, 458 ], [ 15625, 459 ], [ 15625, 460 ], [ 15625, 461 ], [ 15625, 462 ], [ 15625, 463 ], [ 15625, 464 ], [ 15625, 465 ], [ 15625, 466 ], [ 15625, 467 ], [ 15625, 468 ], [ 15625, 469 ], [ 15625, 470 ], [ 15625, 471 ], [ 15625, 472 ], [ 15625, 473 ], [ 15625, 474 ], [ 15625, 475 ], [ 15625, 476 ], [ 15625, 477 ], [ 15625, 478 ], [ 15625, 479 ], [ 15625, 480 ], [ 15625, 481 ], [ 15625, 482 ], [ 15625, 483 ], [ 15625, 484 ], [ 15625, 485 ], [ 15625, 486 ], [ 15625, 487 ], [ 15625, 488 ], [ 15625, 489 ], [ 15625, 490 ], [ 15625, 491 ], [ 15625, 492 ], [ 15625, 493 ], [ 15625, 494 ], [ 15625, 495 ], [ 15625, 496 ], [ 15625, 497 ], [ 15625, 498 ], [ 15625, 499 ], [ 15625, 500 ], [ 15625, 501 ], [ 15625, 502 ], [ 15625, 503 ], [ 15625, 504 ], [ 15625, 505 ], [ 15625, 506 ], [ 15625, 507 ], [ 15625, 508 ], [ 15625, 509 ], [ 15625, 510 ], [ 15625, 511 ], [ 15625, 512 ], [ 15625, 513 ], [ 15625, 514 ], [ 15625, 515 ], [ 15625, 516 ], [ 15625, 517 ], [ 15625, 518 ], [ 15625, 519 ], [ 15625, 520 ], [ 15625, 521 ], [ 15625, 522 ], [ 15625, 523 ], [ 15625, 524 ], [ 15625, 525 ], [ 15625, 526 ], [ 15625, 527 ], [ 15625, 528 ], [ 15625, 529 ], [ 15625, 530 ], [ 15625, 531 ], [ 15625, 532 ], [ 15625, 533 ], [ 15625, 534 ], [ 15625, 535 ], [ 15625, 536 ], [ 15625, 537 ], [ 15625, 538 ], [ 15625, 539 ], [ 15625, 540 ], [ 15625, 541 ], [ 15625, 542 ], [ 15625, 543 ], [ 15625, 544 ], [ 15625, 545 ], [ 15625, 546 ], [ 15625, 547 ], [ 15625, 636 ], [ 15625, 637 ], [ 15625, 638 ], [ 15625, 639 ], [ 15625, 640 ], [ 15625, 641 ], [ 15625, 642 ], [ 15625, 651 ], [ 15625, 652 ], [ 15625, 653 ], [ 15625, 654 ], [ 15625, 655 ], [ 15625, 656 ], [ 15625, 657 ], [ 15625, 658 ], [ 15625, 659 ], [ 15625, 660 ], [ 15625, 661 ], [ 15625, 662 ], [ 15625, 663 ], [ 15625, 664 ], [ 15625, 665 ], [ 15625, 666 ], [ 15625, 667 ], [ 15625, 668 ] ] |
|||||
Higher
Bogomology ?
It is tempting to generalize the above definitions of the Bogomolov multiplier as follows.
It is also tempting to refer to these functors as the degree n Bogomology of the finite group G. It is clear that B02(G) is just the Bogomolov multiplier B0(G). The following commands show that the "even" extra-special group of order 8 has trivial bogomology in all degrees up to n=10. |
|||||
gap>
G:=ExtraspecialGroup(8,"+");; gap> for n in [1..10] do > Print(Bogomology(G,n),"\n"); > od; [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] |
|||||
|