# HG changeset patch
# User Johannes Klaus Fichte <fichte@kr.tuwien.ac.at>
# Date 1324621964 -3600
# Node ID 092dc01ded091da2bae330d4e9b20e320f85d039
# Parent df5620969fbddef0cf191407d046c2ed522d6a49
Ticket #12136
FVS function in DiGraph returns [0] instead of [] if already directed acyclic
-> feedback vertex set returns empty list, if the graph is directed acyclic
diff --git a/sage/graphs/digraph.py b/sage/graphs/digraph.py
|
a
|
b
|
|
| 1451 | 1451 | |
| 1452 | 1452 | b_sol=p.get_values(b) |
| 1453 | 1453 | |
| 1454 | | from sage.sets.set import Set |
| 1455 | | return Set([(u,v) for (u,v) in self.edges(labels=None) if b_sol[(u,v)]==1]) |
| | 1454 | return [(u,v) for (u,v) in self.edges(labels=None) if b_sol[(u,v)]==1] |
| 1456 | 1455 | |
| 1457 | 1456 | def feedback_vertex_set(self, value_only=False, solver=None, verbose=0, constraint_generation = True): |
| 1458 | 1457 | r""" |
| … |
… |
|
| 1573 | 1572 | if self.is_directed_acyclic(): |
| 1574 | 1573 | if value_only: |
| 1575 | 1574 | return 0 |
| 1576 | | |
| 1577 | | from sage.sets.set import Set |
| 1578 | | return Set([0]) |
| | 1575 | return [] |
| 1579 | 1576 | |
| 1580 | 1577 | from sage.numerical.mip import MixedIntegerLinearProgram, Sum |
| 1581 | 1578 | |
| … |
… |
|
| 1627 | 1624 | else: |
| 1628 | 1625 | |
| 1629 | 1626 | # listing the edges contained in the MFAS |
| 1630 | | from sage.sets.set import Set |
| 1631 | | return Set([v for v in self if p.get_values(b[v]) > .5]) |
| | 1627 | return [v for v in self if p.get_values(b[v]) > .5] |
| 1632 | 1628 | |
| 1633 | 1629 | |
| 1634 | 1630 | else: |
| … |
… |
|
| 1658 | 1654 | p.solve(log=verbose) |
| 1659 | 1655 | b_sol=p.get_values(b) |
| 1660 | 1656 | |
| 1661 | | from sage.sets.set import Set |
| 1662 | | return Set([v for v in self if b_sol[v]==1]) |
| | 1657 | return [v for v in self if b_sol[v]==1] |
| 1663 | 1658 | |
| 1664 | 1659 | |
| 1665 | 1660 | ### Construction |