Skip to content

Commit 68a3b64

Browse files
committed
graphs/modular_decomposition: add ref to AP2024 + doctests to show error is fixed
1 parent 451b325 commit 68a3b64

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/doc/en/reference/references/index.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,10 @@ REFERENCES:
277277
.. [Ap1997] \T. Apostol, Modular functions and Dirichlet series in
278278
number theory, Springer, 1997 (2nd ed), section 3.7--3.9.
279279
280+
.. [AP2024] William Atherton, Dmitrii V. Pasechnik, *Decline and Fall of the
281+
ICALP 2008 Modular Decomposition algorithm*, 2024.
282+
:arxiv:`2404.14049`.
283+
280284
.. [APR2001] George E. Andrews, Peter Paule, Axel Riese,
281285
*MacMahon's partition analysis: the Omega package*,
282286
European J. Combin. 22 (2001), no. 7, 887--904.

src/sage/graphs/graph_decompositions/modular_decomposition.pyx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ def corneil_habib_paul_tedder_algorithm(G):
6262
decomposition by calling itself recursively on the slices of the previously
6363
computed slice decomposition.
6464
65+
This functions is based on the last version of the paper [TCHP2008]_.
66+
Previous versions of the paper and previous implementations were found to
67+
contains errors, see [AP2024]_.
68+
6569
.. SEEALSO::
6670
6771
* :mod:`~sage.graphs.graph_decompositions.slice_decomposition` --
@@ -83,6 +87,13 @@ def corneil_habib_paul_tedder_algorithm(G):
8387
....: 4, 5, 0.2)
8488
sage: recreate_decomposition(3, corneil_habib_paul_tedder_algorithm,
8589
....: 6, 5, 0.2)
90+
91+
sage: H = Graph('Hv|mmjz', format='graph6')
92+
sage: H.relabel('abcdefghi') # counter-exemple graph from [AP2024]_
93+
sage: H.modular_decomposition()
94+
(SERIES,
95+
[(PRIME, ['e', (PARALLEL, ['g', 'h']), 'b', 'c']),
96+
(PARALLEL, [(SERIES, ['i', 'd', 'a']), 'f'])])
8697
"""
8798
cdef CGraphBackend Gbackend = <CGraphBackend> G._backend
8899
cdef CGraph cg = Gbackend.cg()

0 commit comments

Comments
 (0)