#16210: Bug in is_hamiltonian: wrong exceptions are caught
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  ncohen                 |       Status:  needs_review
           Type:         |    Milestone:  sage-6.2
  defect                 |   Resolution:
       Priority:  major  |    Merged in:
      Component:  graph  |    Reviewers:  Vincent Delecroix
  theory                 |  Work issues:
       Keywords:         |       Commit:
        Authors:         |  d69303cb818b864cc4d2ac95ccfb17f4cf9bf375
  Nathann Cohen          |     Stopgaps:
Report Upstream:  N/A    |
         Branch:         |
  u/ncohen/16210         |
   Dependencies:         |
-------------------------+-------------------------------------------------
Changes (by vdelecroix):

 * reviewer:   => Vincent Delecroix


Old description:

> {{{
> g=graphs.CycleGraph(10)
> sage: g.allow_loops(True)
> sage: g.add_edge(0,0)
> sage: g.is_hamiltonian()
> False
> }}}
>
> This happens because in `traveling_salesman_problem` the call to
> `_scream_is_not_simple` raises a `ValueError` when the graph is not
> simple, and the same exception is raised when the graph is not
> hamiltonian.
>
> We can use the `EmptySetError` to differentiate them, as we cannot
> optimize anything on an empty set.
>
> Nathann

New description:

 {{{
 sage: g = graphs.CycleGraph(10)
 sage: g.allow_loops(True)
 sage: g.add_edge(0,0)
 sage: g.is_hamiltonian()
 False
 }}}

 This happens because in `traveling_salesman_problem` the call to
 `_scream_is_not_simple` raises a `ValueError` when the graph is not
 simple, and the same exception is raised when the graph is not
 hamiltonian.

 We can use the `EmptySetError` to differentiate them, as we cannot
 optimize anything on an empty set.

 Nathann

--

Comment:

 Hi Nathann,

 Why not a `NonImplementedError` (with a shorter message)?

 Vincent

--
Ticket URL: <http://trac.sagemath.org/ticket/16210#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to