1558 | | """ |
1559 | | # Below are the lines generating the graph's sparse6 string. As it |
1560 | | # takes some time to run them, this method actually builds the graph |
1561 | | # from its sparse6 string. |
1562 | | |
1563 | | # The following construction is due to version 3 of the ATLAS of Finite |
1564 | | # Group Representations, specifically the page at |
1565 | | # http://brauer.maths.qmul.ac.uk/Atlas/v3/permrep/J2G1-p100B0 . |
1566 | | |
1567 | | # from sage.interfaces.gap import gap |
1568 | | # gap.eval("g1 := (1,84)(2,20)(3,48)(4,56)(5,82)(6,67)(7,55)(8,41)" |
1569 | | # "(9,35)(10,40)(11,78)(12,100)(13,49)(14,37)(15,94)(16,76)" |
1570 | | # "(17,19)(18,44)(21,34)(22,85)(23,92)(24,57)(25,75)(26,28)" |
1571 | | # "(27,64)(29,90)(30,97)(31,38)(32,68)(33,69)(36,53)(39,61)" |
1572 | | # "(42,73)(43,91)(45,86)(46,81)(47,89)(50,93)(51,96)(52,72)" |
1573 | | # "(54,74)(58,99)(59,95)(60,63)(62,83)(65,70)(66,88)(71,87)" |
1574 | | # "(77,98)(79,80);") |
1575 | | |
1576 | | # gap.eval("g2 := (1,80,22)(2,9,11)(3,53,87)(4,23,78)(5,51,18)" |
1577 | | # "(6,37,24)(8,27,60)(10,62,47)(12,65,31)(13,64,19)(14,61,52)" |
1578 | | # "(15,98,25)(16,73,32)(17,39,33)(20,97,58)(21,96,67)" |
1579 | | # "(26,93,99)(28,57,35)(29,71,55)(30,69,45)(34,86,82)" |
1580 | | # "(38,59,94)(40,43,91)(42,68,44)(46,85,89)(48,76,90)" |
1581 | | # "(49,92,77)(50,66,88)(54,95,56)(63,74,72)(70,81,75)" |
1582 | | # "(79,100,83);") |
1583 | | |
1584 | | # gap.eval("G := Group([g1,g2]);") |
1585 | | # edges = gap('Orbit(G,[1,5],OnSets)') |
1586 | | |
1587 | | # edge_list = [] |
1588 | | # for u, v in edges: |
1589 | | # edge_list.append((int(u),int(v))) |
1590 | | |
1591 | | # g = sage.graphs.graph.Graph(edge_list, pos={}) |
1592 | | # string = g.sparse6_string() |
| 1565 | |
| 1566 | TESTS:: |
| 1567 | |
| 1568 | sage: gg = graphs.HallJankoGraph(from_string = False) |
| 1569 | sage: g == gg |
| 1570 | True |
| 1571 | """ |
1637 | | g = graph.Graph(string, pos={}, loops=False, multiedges=False) |
| 1616 | if from_string: |
| 1617 | g = graph.Graph(string, pos={}, loops=False, multiedges=False) |
| 1618 | else: |
| 1619 | |
| 1620 | # The following construction is due to version 3 of the ATLAS of Finite |
| 1621 | # Group Representations, specifically the page at |
| 1622 | # http://brauer.maths.qmul.ac.uk/Atlas/v3/permrep/J2G1-p100B0 . |
| 1623 | |
| 1624 | from sage.interfaces.gap import gap |
| 1625 | gap.eval("g1 := (1,84)(2,20)(3,48)(4,56)(5,82)(6,67)(7,55)(8,41)" |
| 1626 | "(9,35)(10,40)(11,78)(12,100)(13,49)(14,37)(15,94)(16,76)" |
| 1627 | "(17,19)(18,44)(21,34)(22,85)(23,92)(24,57)(25,75)(26,28)" |
| 1628 | "(27,64)(29,90)(30,97)(31,38)(32,68)(33,69)(36,53)(39,61)" |
| 1629 | "(42,73)(43,91)(45,86)(46,81)(47,89)(50,93)(51,96)(52,72)" |
| 1630 | "(54,74)(58,99)(59,95)(60,63)(62,83)(65,70)(66,88)(71,87)" |
| 1631 | "(77,98)(79,80);") |
| 1632 | |
| 1633 | gap.eval("g2 := (1,80,22)(2,9,11)(3,53,87)(4,23,78)(5,51,18)" |
| 1634 | "(6,37,24)(8,27,60)(10,62,47)(12,65,31)(13,64,19)(14,61,52)" |
| 1635 | "(15,98,25)(16,73,32)(17,39,33)(20,97,58)(21,96,67)" |
| 1636 | "(26,93,99)(28,57,35)(29,71,55)(30,69,45)(34,86,82)" |
| 1637 | "(38,59,94)(40,43,91)(42,68,44)(46,85,89)(48,76,90)" |
| 1638 | "(49,92,77)(50,66,88)(54,95,56)(63,74,72)(70,81,75)" |
| 1639 | "(79,100,83);") |
| 1640 | |
| 1641 | gap.eval("G := Group([g1,g2]);") |
| 1642 | edges = gap('Orbit(G,[1,5],OnSets)') |
| 1643 | |
| 1644 | edge_list = [] |
| 1645 | for u, v in edges: |
| 1646 | edge_list.append((int(u),int(v))) |
| 1647 | |
| 1648 | g = graph.Graph(edge_list, pos={}) |
| 1649 | g.relabel() |