| 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() |