Previous
About HAP: The Bogomolov Multiplier
next

Some Theory

Let 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:


B0(G)   =

Intersection of all kernels    Ker ( resA H2(G,C*) --> H2(A,C*) )   where A ranges over abelian subgroups in 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


B0(G)   = 

Quotient of  H2(G,Z)  by the images of all homomorphisms

 H2(ZxZ,Z) --> H2(G,Z)
 
induced by homomorphisms ZxZ --> G from the free abelian group of rank 2 into G.



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.


Theorem.

Let G be a finite group. If C(G) is rational over C then B0(G)=0.


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.

Theorem

If G is isoclinic to H then B0(G) is isomorphic to B0(H)

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.

B0n(G)   = 

Quotient of  Hn(G,Z)  by the images of all homomorphisms

 Hn(A,Z) --> Hn(G,Z)
 
induced by all abelian subgroups A in G.


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;
[  ]
[  ]
[  ]
[  ]
[  ]
[  ]
[  ]
[  ]
[  ]
[  ]
Previous Page
Contents
Next page