-
-
Notifications
You must be signed in to change notification settings - Fork 480
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an interface to Jean-Eric Pin's Semigroupe package #8360
Comments
comment:1
Attachment: Semigroupe-2.0.spkg.gz |
This comment has been minimized.
This comment has been minimized.
Superceedes the previous spkg |
comment:2
Attachment: semigroupe-2.0.spkg.gz |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:5
There seems to be a problem on a 64bit machine. After installing the spkg, the following commands will cause Sage to segfault:
The problem seems to be with compiling Semigroupe on a 64bit machine. After installing the package, the following segfaults:
I think that the two test suites (I think they are test suites...) should be run by the |
comment:6
On a 32-bit machine, I obtain the following error: sage: S = semigroupe.AutomaticSemigroup(W.semigroup_generators(), W.one(), category = FiniteCoxeterGroups()) size : 2^ used/allocated total : 850645964/850657280 4-byte units used/allocated Anne |
comment:7
In case this helps track down the issue: things seem to be working correctly in a 32bit virtual machine. I created a 32bit VirtualBox virtual machine, installed Ubuntu 10.04, then I installed the sage-4.4.1 binary, the gap3 spkg from #8906, and the semigroupe spkg here. |
Changed author from Florent Hivert, Jean-Eric Pin Nicolas M. Thiéry to Florent Hivert, Jean-Eric Pin, Nicolas M. Thiéry |
comment:8
Those are little self contained test programs we had written with Florent to understand how semigroupe was working. Yes, they eventually should be turned into test suites, and run from |
This comment has been minimized.
This comment has been minimized.
Attachment: semigroupe-2.0-2.spkg.gz Same as previous one, working on both 32bits and 64bits, but managing the patches on the semigroupe sources in a mercurial queue |
comment:11
Note that semigroupe is now part of the experimental packages: http://www.sagemath.org/packages/experimental/ One can install it with the usual next step is to make the code in sage-combinat go into sage... |
comment:12
Great, thanks Sébastien for taking care of this! The next step is actually just to make a branch out of the patch. I am not sure about actually getting this branch into Sage until Semigroupe will be fixed one way or the other to support several semigroups simultaneously. Cheers, |
comment:13
Replying to @nthiery:
you mean a git branch? which patch? is it finite_semigroup-nt.patch ? I don't see how this patch uses semigroupe.
I think I don't agree. I think the goal of the actual ticket #8360 is to make the actual semigroup into sage as it is. semigroupe was written for something no? Let's first make this available! Then I suggest to open a ticket showing with sage command line code illustrating how the bug for creating two semigroup simultaneously is obtained. The new ticket would ask for an upstream fix. Sébastien |
comment:14
Replying to @seblabbe:
Yup.
trac_8360_semigroupe-interface-nt.patch
Indeed, the interface was written for something. But in practice, even
That's an option. If you are convinced that:
Then let's go ahead. I'd love to have this code always under my fingertips. Otherwise I am a bit reluctant to put in Sage some code that we might need to remove (because unused) or change a At the end of the day, this would actually be best handled by putting Cheers, |
This comment has been minimized.
This comment has been minimized.
comment:15
Attachment: trac_8360_semigroupe-interface-nt.patch.gz |
Add an interface to Jean-Eric Pin's Semigroupe package
http://www.liafa.jussieu.fr/~jep/semigroupes.html
An experimental spkg is now on trac; here is the patch taken from the old Sage-Combinat patch server:
:attachment:trac_8360_semigroupe-interface-nt.patch
Status: advanced proof of concept, with interactions in both directions (building a semigroup in Semigroupe from Sage data). Main show stopper: one can only manipulate one semigroup at a time.
The following should hopefully get you started:
Beware 'sage -f an_url' does not redownload the package if sage
already has a copy of it. So you may have to first do:
Update 2016-12-05: James Mitchel is reimplementing Semigroupe in C++, which will lift the main limitation (a single semigroup at a time):
https://james-d-mitchell.github.io/semigroupsplusplus/
This could be the occasion to revive this old code.
CC: @sagetrac-sage-combinat Jean-Eric.Pin@liafa.jussieu.fr @sagetrac-abmasse @tscrim
Component: algebra
Keywords: Semigroupes
Author: Florent Hivert, Jean-Eric Pin, Nicolas M. Thiéry
Issue created by migration from https://trac.sagemath.org/ticket/8360
The text was updated successfully, but these errors were encountered: