#18564: Boost Edge Connectivity
-------------------------------------+-------------------------------------
Reporter: borassi | Owner: borassi
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-6.8
Component: graph theory | Resolution:
Keywords: Boost, | Merged in:
connectivity | Reviewers:
Authors: Michele Borassi | Work issues:
Report Upstream: N/A | Commit:
Branch: | f3a1c07f9d5c4a8b7830d2b624561f8ed5fc27f9
u/borassi/boost_edge_connectivity | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Changes (by borassi):
* status: needs_review => needs_work
Old description:
> This is a first step in including Boost Graph Library
> (http://trac.sagemath.org/ticket/17966). I would like to implement the
> edge connectivity algorithm by converting a given Sage graph into a Boost
> graph, apply the Boost edge connectivity algorithm, and convert the
> result.
>
> Since in my preliminary coding I had several problems with generic types,
> I will only restrict to vector-stored adjacency lists, leaving genericity
> to a future ticket.
New description:
This is a first step in including Boost Graph Library
(http://trac.sagemath.org/ticket/17966). I would like to implement the
edge connectivity algorithm by converting a given Sage graph into a Boost
graph, apply the Boost edge connectivity algorithm, and convert the
result.
--
Comment:
Hellooooooo!
I summarize a discussion we had via email, dealing with the huge copy-
paste. We found a way to avoid it: we created a C++ class boost_interface
that interfaces Cython with Boost, and we used fused types to make generic
functions accessing the C++ class.
The drawback is that we cannot access Boost graphs from Python anymore:
Boost graphs must be defined and deleted in the same cdef function.
The advantage is that we can fully use the genericity of Boost, by calling
any graph implementation we want.
The new code is available in this ticket's branch, while the old code is
still available at `u/borassi/boost_edge_connectivity_not_generic`.
I changed the status to needs_work, because I would like to test the code
and the doctest a bit more before asking for a review (in particular, I
would like to check if all previous comments are still applied).
--
Ticket URL: <http://trac.sagemath.org/ticket/18564#comment:42>
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.