Rips complex in Sage?

89 views
Skip to first unread message

Simon King

unread,
Feb 4, 2010, 9:10:53 AM2/4/10
to sage-devel
Hi!

At http://groups.google.com/group/sage-support/browse_thread/thread/edcd7dc0e8be9aa5
Eli posed a problem that -- as much as I understand -- can be tackled
using the Rips complex. A quick search suggests that it is not
provided by Sage.

Is there a sufficiently free (licence-wise etc) piece of software that
can compute Rips complex? Do people think that -- if it exists -- it
would be worth the effort to interface/link Sage with it?

Best regards,
Simon

Mike Hansen

unread,
Feb 4, 2010, 2:24:54 PM2/4/10
to sage-...@googlegroups.com, Dmitriy Morozov

I found this: http://www.mrzv.org/software/dionysus/ , but I was not
able to find anything on licensing.

I've cc'd Dmitriy, the author, on this.

--Mike

Mike Hansen

unread,
Feb 4, 2010, 3:18:08 PM2/4/10
to sage-devel
---------- Forwarded message ----------
From: Dmitriy Morozov <dmi...@mrzv.org>
Date: Thu, Feb 4, 2010 at 11:48 AM
Subject: Re: [sage-devel] Rips complex in Sage?
To: Mike Hansen <mha...@gmail.com>
Cc: sage-devel <sage-...@googlegroups.com>


Excerpts from Mike Hansen's message of Thu Feb 04 14:24:54 -0500 2010:

Hi, Mike,

I've always intended Dionysus to be GPL (at some point I stated so in
the README file, but the note seems to be no longer there). Perhaps, I
should make it clear on the front page of the documentation. In any
case, it's GPL.

On a less direct note, from scanning the conversation Simon links to,
the construction he describes is not the Rips complex, but rather the
Cech complex (which is defined as the nerve of the collection of
discs). In persistent homology Rips complex is used more commonly
since it's much easier to compute and in a certain (precise) sense
approximates the Cech complex, but the two are not the same. Now, Cech
complex is in turn homotopy equivalent to an alpha shape, which is a
subset of the Delaunay triangulation. This fact makes the alpha shape
nicely realizable geometrically, and I suspect that that's the actual
construction Simon has in mind.  Dionysus can compute alpha shapes,
but it uses CGAL's Delaunay triangulation for the computation.

I do not pretend to understand Eli's original problem, so I don't know
if this indeed is the best solution, but that's a quick survey of the
various complexes that may be useful for Sage.

Best,
Dmitriy

Simon King

unread,
Feb 4, 2010, 5:40:16 PM2/4/10
to sage-devel
Hi!

On 4 Feb., 21:18, Mike Hansen <mhan...@gmail.com> wrote:
...


> On a less direct note, from scanning the conversation Simon links to,
> the construction he describes is not the Rips complex, but rather the
> Cech complex (which is defined as the nerve of the collection of
> discs). In persistent homology Rips complex is used more commonly
> since it's much easier to compute and in a certain (precise) sense
> approximates the Cech complex, but the two are not the same.

Oops, sorry, I didn't actually work with the Rips or the Cech complex
myself, although some of what I do in the cohomology of finite groups
is (morally) inspired by persistent homology of point cloud data. And
from some talks on the latter, I recall the name "Rips", on the one
hand, and the definition of the Cech complex, on the other hand. So,
this is how I got confused...

> I do not pretend to understand Eli's original problem, so I don't know
> if this indeed is the best solution, but that's a quick survey of the
> various complexes that may be useful for Sage.

I think a more reasonable suggestion in this thread eventually was to
use formulae from physics and fit the parameters with the data.

Anyway. I really think Sage could use more topology related tools. And
since Dionysos comes with Python bindings, I think it would be a nice
project to combine with Sage.

Cheers,
Simon

kcrisman

unread,
Feb 4, 2010, 9:24:49 PM2/4/10
to sage-devel
>
> Anyway. I really think Sage could use more topology related tools. And
> since Dionysos comes with Python bindings, I think it would be a nice
> project to combine with Sage.
>

Dionysos apparently needs Boost 1.36 or greater, but we ship 1.34
(again, just according to http://www.sagemath.org/packages/standard/).
It also says it needs Cmake - in addition to other compilers? Also,
"There also seems to be a dependence on the version of GCC, although I
don’t entirely understand it. GCC 4.3 and above definitely work, but
some versions below that seem not to."

Optional dependencies include cvxopt (we ship), pyx, cgal, rlog.
Well, whatever. Just throwing it out there.

- kcrisman

kcrisman

unread,
Feb 4, 2010, 9:29:27 PM2/4/10
to sage-devel

> It also says it needs Cmake

Cmake 2.4.8 is actually a current experimental spkg, but Dionysos says
it needs 2.6 or above.

Jaap Spies

unread,
Feb 5, 2010, 5:47:28 AM2/5/10
to sage-...@googlegroups.com

kcrisman

unread,
Feb 5, 2010, 12:59:45 PM2/5/10
to sage-devel

This should be put on the experimental page (Harald?) because it
installed fine. Is there any way to check it?

Unfortunately our Boost spkg is a 'cropped' one (and too old) that
does not include a number of libraries (I think) that are needed by
Dionysus. Upgrading to the full Boost would go from an spkg of 299 KB
to (potentially) one over 30 MB, and Boost is standard because it is
used by Polybori. (Apparently we are actually using Boost Jam, which
is much smaller (see #6032), but I don't know whether that would
include the libraries needed to compile Dionysus, which are

boost_program_options
boost_python
boost_serialization
boost_signals

But I am interested in trying to help make this an optional spkg, if
we can clear these things up.

- kcrisman

Jaap Spies

unread,
Feb 5, 2010, 1:51:07 PM2/5/10
to sage-...@googlegroups.com
kcrisman wrote:
>
>
> On Feb 5, 5:47 am, Jaap Spies<j.sp...@hccnet.nl> wrote:
>> kcrisman wrote:
>>
>>>> It also says it needs Cmake
>>
>>> Cmake 2.4.8 is actually a current experimental spkg, but Dionysos says
>>> it needs 2.6 or above.
>>
>> You can find one here:http://boxen.math.washington.edu/home/jsp/cmake-2.6.2.spkg
>
> This should be put on the experimental page (Harald?) because it
> installed fine. Is there any way to check it?
>

Last year I made a lot of experimental packages. They didn't made it in
for several reasons. See: http://boxen.math.washington.edu/home/jsp/SPKGS/
And lost interest somehow!

Jaap


Harald Schilly

unread,
Feb 5, 2010, 2:02:23 PM2/5/10
to sage-devel
On Feb 5, 6:59 pm, kcrisman <kcris...@gmail.com> wrote:
> This should be put on the experimental page (Harald?) because it
> installed fine.

Ok, together with a short description text, ... but ...

On Feb 5, 7:51 pm, Jaap Spies <j.sp...@hccnet.nl> wrote:
> Last year I made a lot of experimental packages. They didn't made it in
> for several reasons.

What are the reasons for not including an experimental package? What
are the criteria?

H

Jaap Spies

unread,
Feb 5, 2010, 2:33:46 PM2/5/10
to sage-...@googlegroups.com

At first William had rather strong criteria, like building on sage.math.
Later this was dropped. And mabshoff was about to put them up in
experimental. The rest is history. Some of the packages like mayavi2
were picked up by Ondrej, but I don't see the follow up in experimental.

If there is some interest I can put some effort in it. As it is winter
and sailing is impossible here :)

Jaap


> H
>


Reply all
Reply to author
Forward
0 new messages