[sage-combinat-devel] Re: List of methods at beginning of files

2015-06-10 Thread Sébastien Labbé
For graphs, the list is also long and is separated by theme (everything 
done by hand) :
http://doc.sagemath.org/html/en/reference/graphs/sage/graphs/generic_graph.html

See also sage/graphs/graph_plot.py for an example of how __doc__ string is 
being created using a for loop.

Sébastien

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


[sage-combinat-devel] Re: dot2tex

2014-04-26 Thread Sébastien Labbé


One issue that is bugging me 
isA https://github.com/kjellmf/dot2tex/issues/13 
(https://code.google.com/p/dot2tex/issues/detail?id=32) 

   I'm not able to reproduce the issue with \verb in the current 
 development 
version. I may have fixed it or things may have changed in Graphviz or 
pyparsing. Can you confirm if this issue is still an issue in Sage? 


I reported that issue. The ticket on the sage side is  
http://trac.sagemath.org/sage_trac/ticket/13624

If I well remember, the issue was fixed indirectly by
http://trac.sagemath.org/ticket/14382 
which stop adding the \verb part for labels.

I am trying to confirm it on my version of Sage (sage-6.2.beta6), but it 
seems dot2tex is broken because it can't find pyparsing again. See comment 
http://trac.sagemath.org/ticket/14594#comment:62. So I am not able to 
confirm it is okay, but I think it was.

Note that *with* doc2tex installed, I get the following error message:

sage: G = DiGraph()
sage: G.add_edge(, 88, 'my_label')
sage: G.set_latex_options(format='dot2tex')
sage: G.set_latex_options(edge_labels=True)
sage: view(G)
Traceback (most recent call last):
...
RuntimeError: dot2tex not available.

Please see :meth:`sage.graphs.generic_graph.GenericGraph.layout_graphviz`
for installation instructions.

which is quite bad. The real error (while importing pyparsing) is not 
reraised and is replaced by the one above. I just created ticket #16242 to 
fix this. It needs review.

http://trac.sagemath.org/ticket/16242

Sébastien

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


[sage-combinat-devel] Re: poll for making dot2tex a standard spkg

2013-05-23 Thread Sébastien Labbé
 Description of dot2tex 
 --

Nicolas, can you describe the developement community which is behind 
dot2tex. Is it only one guy? Is it a team? How is dot2tex maintained? Is it 
a package that never needs fixes? 

At #13624, I got a problem with it and reported it upstream [2] last Fall. 
I got a quick acknowledgement and then silence. Finally the bug was fixed 
in another way by your patch at #13624 which needs review. Moreover, it 
seems that the bug will be fixed by #14382 which also needs review.

[1] http://trac.sagemath.org/sage_trac/ticket/13624
[2] http://code.google.com/p/dot2tex/issues/detail?id=32
[3] http://trac.sagemath.org/sage_trac/ticket/14382

So in the future, will all the bug related to dot2tex be fixed in Sage like 
in this example? Will we have problem with the upstream?

Anyway, I really like this dot2tex spkg, I use it a lot. If good warnings 
are printed if graphviz is needed and not installed, I agree to make it 
standard. Like we have code in Sage which are based on convert of ffmpeg :

sage: a = animate([sin(x + float(k)) for k in srange(0,2*pi,0.3)],xmin=0, 
xmax=2*pi, figsize=[2,1])
sage: a.gif?
...
Note: If neither ffmpeg nor ImageMagick is installed, you will get an
error message like this:

Error: Neither ImageMagick nor ffmpeg appears to be installed. 
Saving an
animation to a GIF file or displaying an animation requires one of 
these
packages, so please install one of them and try again.

See www.imagemagick.org and www.ffmpeg.org for more information.

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [sage-combinat-devel] Re: Permutations... again.

2012-11-24 Thread Sébastien Labbé
Hi,

I have been using the sage-combinat branch from 2008 to 2010 (all of my 
patches were in sage-combinat before getting on the sage trac) and then 
stop using it. Here is my view of this. First I believe the following 
principle is simple but very important :

Principle #1 : The priority (ordering) of patches to be merged into Sage 
should be given to the next patch which is ready and have positive review.

To me the main disadvantage of Sage-Combinat queue is that it does not tend 
to respect Principle #1. 

Here is why I claim this. First let us introduce some definitions. 

Definition #2 - Conflict. There is conflicts between two patches if they 
is a conflict when applying one patch after the other or if the doctest of 
one patch is broken by the other.

Principle #3 : When someone creates a patch in the sage-combinat queue, he 
or she will put the patch somewhere it does not disturb others, so 
somewhere it does not create conflicts with other patches. That means the 
patch will most probably be added after related patches susceptible to 
conflicts.

The consequence of Principle #3 is that the creator of a patch in the 
sage-combinat queue accept that *the time before inclusion of its own patch 
into Sage is larger than the time of inclusion of all patches it depends 
on*. Moreover, those patches depends on others which depends on others and 
so on...

Definition #4 - Slow patch : A patch is slow if it stays on the needs 
work or needs review status for a long time.

The problem is that a certain patch might depend on a slow patch, so that 
it can be considered as a slow patch even if it is during a period of time 
while you are promptly working on Sage.

I understand that a group of developpers working on similar research 
subject might work on similar patches/files and are suceptible to 
conflicts. Thus, it might be a good idea to share a common queue to 
anticipate and see conflicts in advance. For example : the sage-combinat 
queue. But, this tends to respect Principle #3 which violates Principle #1.

Another reason which tends to violate Principle #1 is that changing the 
series file (changing the order of patches) takes a non negligeable amount 
of energy so that you might prefer to keep the ordering as it is and 
defined following Principle #3.

Indeed, testing if a patch commutes with others is not that fast to check : 
one must unapply the patches, change the series file, reapply all the 
patches, run sage -br (with hundreds of modified files!!!) Then, once the 
commutativity is proved, one must recheck that the patch still work before 
putting it under review (unapply patches to go back to you patch, sage -br 
(with hundreds of modified files again). You might after build the 
documentation doing sage -docbuild reference html (with again hundreds of 
modified files again!!!)

Hence, I believe that a development model where there exists a sane 
competition to be the first to be merged (creating conflicts to eventual 
slow patches) might be better than a system which tries to avoid conflicts 
(favorising slow patches).

I am looking forward to discuss with Nicolas, Florent and Nathann about it 
during the next meeting of Sage users in Paris region.

Cheers,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sage-combinat-devel/-/1HdTwfvjSqwJ.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Sage Days 28 in Montreal : First Announcement

2012-02-06 Thread Sébastien Labbé
PLEASE ADVERTISE WHERE APPROPRIATE

Prière de diffuser cette information le plus largement possible.
L'annonce en français suit l'annonce en anglais.


Sage Days 38

First Announcement
CRM, Montreal, May 7--11, 2012


Sage (www.sagemath.org) is a mathematics software package,
developed by and for the mathematics community. It aims to
become a viable alternative to commercial software packages
on the basis of an open-source model.

This workshop will be a 5-day intensive workshop to serve
both as introduction to Sage and as an open developers
meeting. The event will include a combination of
mathematical talks, tutorials, demonstrations of Sage
functionality as well as time spent on Sage development. The
principal focus of the developers meeting is algebraic
combinatorics and the representation theory of algebras.

Further information is available at the following websites:

   http://wiki.sagemath.org/days38


INVITED SPEAKERS

* Meinolf Geck, University of Aberdeen
* Florent Hivert, LRI, Université Paris-Sud
* Anne Schilling, University of California Davis
* Øyvind Solberg, Norwegian University of Science and Technology
* Nicolas Thiéry, LMO, Université Paris-Sud


WHO SHOULD ATTEND

You! A specific goal of the workshop is to provide a venue
for faculty, graduate students and undergraduate students to
learn more about the software. This will make it accessible
to researchers at all levels, *even those without any prior
experience with Sage*. Since it will be held in May, it is
an excellent opportunity for undergraduate students
embarking on summer research projects and graduate students
looking to incorporate scientific computation into their
research projects.


REGISTRATION AND FINANCIAL SUPPORT

Online registration will be available starting at the end of
February through the official CRM website. In the meantime,
you can express your intention to participate by completing
the following questionnaire:

http://goo.gl/q8o9j

A limited amount of financial support is available for
students, postdocs, and researchers without grants. You
can register and apply for financial support through the
conference website once the forms become available.

Sincerely Yours,
The organizing committee

Srecko Brlek, Université du Québec à Montréal
Sébastien Labbé, Université du Québec à Montréal
Franco Saliola, Université du Québec à Montréal




Sage Days 38

Première annonce
CRM, Montréal, du 7 au 11 mai 2012


Sage (www.sagemath.org) est un logiciel libre de mathématiques
développé par et pour la communauté mathématique visant à
devenir une alternative viable aux logiciels commerciaux tels
que Magma, Maple, Mathematica et Matlab.

La conférence prendra la forme d'un atelier intensif de cinq
jours et servira à la fois d'introduction au logiciel Sage
et de réunion pour les utilisateurs et les développeurs.
La conférence comprendra des présentations mathématiques, des
tutoriels sur Sage et ses fonctionalités ainsi que des séances
de développement de Sage. Le thème principal de la réunion des
développeurs est la combinatoire algébrique et la théorie des
représentations des algèbres.

Information supplémentaire est disponible sur les pages web
suivantes:

   http://wiki.sagemath.org/days38


CONFÉRENCIERS INVITÉS

* Meinolf Geck, University of Aberdeen
* Florent Hivert, LRI, Université Paris-Sud
* Anne Schilling, University of California Davis
* Øyvind Solberg, Norwegian University of Science and Technology
* Nicolas Thiéry, LMO, Université Paris-Sud


QUI DEVRAIT PARTICIPER ?

Vous! Un objectif spécifique de l'atelier est de fournir un
lieu pour les professeurs et les étudiants du premier cycle
et des cycles supérieurs pour apprendre à utiliser Sage. Il
sera accessible aux chercheurs et enseignants de tous les niveaux,
*même ceux sans aucune expérience avec Sage*. Comme il sera tenu
en mai, il sera une occasion en or pour les étudiants de
premier cycle qui se lanceront dans des projets de recherche
à l'été 2012 et pour les étudiants des cycles supérieurs
qui cherchent à incorporer le calcul scientifique dans leurs
projets de recherche.


INSCRIPTION ET AIDE FINANCIÈRE

L'inscription en ligne sera disponible à partir de la fin du mois
de février sur le site web officiel du CRM. En attendant, vous
pouvez exprimer votre intention de participer en remplissant le
questionnaire ci-dessous:

http://goo.gl/q8o9j

Une aide financière est disponible pour les étudiants, post-docs
et chercheurs sans subventions. Vous pouvez vous inscrire et
demander l'aide financière à partir du site web de la conférence
(lorsque les formulaires seront disponibles).


Cordialement,
Le comité d'organisation

Srecko Brlek, Université du Québec à Montréal
Sébastien Labbé, Université du Québec à Montréal
Franco

[sage-combinat-devel] #10660 (merged in 4.7) creates conflicts with move_iet_into_dynamics-vd.patch

2011-04-24 Thread Sébastien Labbé
Salut,

After updating patches (#8670, #10660, #10788, #11128 and #8673 all
merged in 4.7) on the sage-combinat queue, I realized that #10660
creates conflicts with move_iet_into_dynamics-vd.patch.

Other than that, everything is perfect. Patches applies fine. sage -br works.

For now, I put a guard on #10660. Vincent you can remove the guard
once you fix the problem. It should not be too hard to fix. I suggest
you look at the ticket #10660. I remember it only changes some print
statements at some places in the iet folder. You can redo the changes
easily.

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: conjugate_position in words

2011-04-05 Thread Sébastien Labbé
Hello Alessandro,

Sorry for the absence of feedback, I read your email and it was on my
TODO list. This week, I am preparing a talk so I was busy...

I also had problems with those conjugacy methods (speed issues) and
created a patch for the is_conjugate_with method more than one year
ago. Since then, the patch was dying in my branch. So, it's a good
thing that you wrote on sage-combinat-devel: it motivates me to get it
into Sage.

I didn't know about the bug in the conjugate_position method. I also
fixed it. A patch will be available in some minutes here :

http://trac.sagemath.org/sage_trac/ticket/11128

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Problem with pickle in CombinatorialFreeModule

2011-03-21 Thread Sébastien Labbé
 Unless someone expresses a strong counter-feeling by Monday, I'll
 post a patch to revert that.

Expect some conflicts with #10354 where I remove the `` print x; ``
part (because the warnings do not appear anymore).

http://trac.sagemath.org/sage_trac/ticket/10354

I will adapt if your patch gets merge first.

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Problem with pickle in CombinatorialFreeModule

2011-03-21 Thread Sébastien Labbé
 Ah, thanks for the notice. Actually, would you mind updating your
 patch to remove the #long time? That will reduce the trac/patch/review
 overhead. I can reset a positive review as soon as done.

It is done. The patch was having a positive review since some time. I
put it back to needs review status, but I really want this to get into
sage-4.7...

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: Pickle jar

2011-02-23 Thread Sébastien Labbé
Salut,

 Since, as far as I understand, we currently replace the whole pickle tar 
 ball
 with all files included, this will not be a commutative operation, so we
 need to be careful in which the tickets are merged into Sage.

This might not be the case anymore. Indeed, this week, Jeroen wrote in
#10354 [1] :

Instead of providing a whole new pickle jar, could you make a tarball
containing only the new pickles? I would prefer that for merging as
opposed to replacing the pickle jar as a whole. 

Hence, our pickle jar modification might now be commutative.

Also, I wrote in a comment [2] some commands I learned about the
pickle jar which I haven't seen in the documentation. Might be usefull
for others... I don't know...

[1] http://trac.sagemath.org/sage_trac/ticket/10354#comment:11
[2] http://trac.sagemath.org/sage_trac/ticket/10354#comment:13

Cheers,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] [sage-devel] Ranking and unranking combinations

2011-02-21 Thread Sébastien Labbé
As a note, with subsets, the behavior of rank is stable under permutations :

sage: S = Subsets([0,1,2],2)
sage: S.unrank(1)
{0, 2}
sage: S.rank([0,2])
1
sage: S.rank([2,0])
1


2011/2/10 Rob Beezer nicolas.thi...@u-psud.fr:
 Is the last line a bug, or should the input required to be sorted and
 an error raised?  Or am I missing something?  The help for rank/unrank
 is not very complete.

 sage: C = Combinations([0,1,2], 2)
 sage: C.unrank(1)
 [0, 2]
 sage: C.rank([0,2])
 1
 sage: C.rank([2,0])
 0

 --
 To post to this group, send an email to sage-de...@googlegroups.com
 To unsubscribe from this group, send an email to 
 sage-devel+unsubscr...@googlegroups.com
 For more options, visit this group at 
 http://groups.google.com/group/sage-devel
 URL: http://www.sagemath.org

 --
 You received this message because you are subscribed to the Google Groups 
 sage-combinat-devel group.
 To post to this group, send email to sage-combinat-devel@googlegroups.com.
 To unsubscribe from this group, send email to 
 sage-combinat-devel+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/sage-combinat-devel?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Re: Pickle jar

2011-02-10 Thread Sébastien Labbé
Salut,

I worked recently on the pickle jar #10354. It needs review. If we are
many changing it at the same time, I guess it may cause trouble... If
it's the case, let's talk and have a good strategy...

http://trac.sagemath.org/sage_trac/ticket/10354

Since it is the first time I am changing the pickle jar, I wrote on
ticket all what I understood about how to do such a modification. It
might be usefull if one wants to improve the documentation about
pickle jar (?).

Cheers,

Sébastien

2011/2/10 Nicolas M. Thiery nicolas.thi...@u-psud.fr:
 On Wed, Feb 09, 2011 at 04:51:14AM -0800, Anne Schilling wrote:
 For #8911 the new pickle jar was just attached. So I added this file
 to #10632. Probably you can do the same for #7922 (but then the tickets
 might not commute if both change the pickles).

 Yeah, that pickle jar procedure is not perfect yet. I have just
 created a ticket with a suggestion for improving it:

        http://trac.sagemath.org/sage_trac/ticket/10768

 Cheers,
                                Nicolas
 --
 Nicolas M. Thiéry Isil nthi...@users.sf.net
 http://Nicolas.Thiery.name/

 --
 You received this message because you are subscribed to the Google Groups 
 sage-combinat-days group.
 To post to this group, send email to sage-combinat-d...@googlegroups.com.
 To unsubscribe from this group, send email to 
 sage-combinat-days+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/sage-combinat-days?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: De Bruijn Sequences

2011-01-03 Thread Sébastien Labbé
Hi again!

 On Thu, Dec 30, 2010 at 05:25:26PM -0500, Sébastien Labbé wrote:
 Languages are being implemented in the sage-combinat branch by Vincent
 and me. But we use the definition : the set of factors of a word,
 where factor means a finite sequence of consecutive letters.

 Thanks for the clarification!

 Since ``Language`` is a very common name, and the use case above is
 only one of the many usages, would it be possible to use a more
 specific name for the above, at least in the global namespace? I don't
 know the terminology, but possibly something like FactorLanguage? Or
 LanguageOfFiniteFactors?

Sorry, I realized my answer was wrong the day after when I was country
skiing. A language is simply a set of words. The set can be finite or
not. Elements can be finite words or infinite words, why not!? So
``Language`` is still the good name for it. Dyck words forms a
language and the set B(2,3) of certain DeBruijn Sequences is a
language as well.

So what I said above (about that the definition we use for language)
was wrong. I confused with the notion of language we often use (a
factorial language). So don't worry, when I write code I spend more
time making sure everything is fine than when I write emails. The code
should look like the following :

class Language
class FactorialLanguage(Language)
class UnionOfLanguage(Language)
etc.

Note : a factorial language is a language L such that w in L and u
factor of w implies that u in L.

So one question we will have to answer is : Does Language should
inherits from CombinatorialClass?

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: De Bruijn Sequences

2011-01-03 Thread Sébastien Labbé
 Thank you for the information, Sébastien! The circular problem is
 interesting; maybe support for operations on circular words could be
 added in the future.

Yes, good point! I am thinking about it. Moreover, I believe
CircularWord would behave the same as a PeriodicInfiniteWord, so I am
thinking of implementing both at the same time.

 Thus I think not having it return a word would be more appropriate.

 Note that DeBruijnSequences(10,3).an_element() could still return a
 word. This second design choice is yours.

I think an_element shoud be consistent with the iterator (either both
return words or both return lists or both return tuples). And I am ok
with returning a python object like list or tuple. It is more
versatile like that and a word can still be created from it.

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: De Bruijn Sequences

2011-01-01 Thread Sébastien Labbé
Hi,

 De Bruijn sequences are finite words. It would seem logical to include
 De Bruijn sequences as finite words, since they do fit the definition.

Amongst the method of the class WordGenerator, most return infinite
words but some return finite words (like PalindromicDefectWord,
RandomWord and fibonacci_tile).

So if it is a finite word, then it could be represented as a python
list, tuple, str, a function {0,1,2...n} - or a finite iterator.

 What is the reason for not including necklaces and Lyndon Words there,
 for example? Are they not also words?

Right, good question. The reason is simply that necklaces and Lyndon
Words were already in Sage when we started working on
sage/combinat/words in 2007. The uniformization has never been
completed. We could also mention dyck word and yamanouchi words as
well. But I think LyndonWord inherits from FiniteWord_list so it is
partially linked.

To illustrate my vision, I am making sure that the DeBruijnSequence
satisfies its definition in two ways : (1) with your patch applied and
(2) how it could be.

With the patch available at #10530 :


sage: L = DeBruijnSequence(2,3).first()
sage: L
[0, 0, 0, 1, 0, 1, 1, 1]
sage: w = Word(L)
sage: w
word: 00010111
sage: map(w.number_of_factors, [0,1,2,3])
[1, 2, 4, 6]

We are missing two factors of length 3 because the sequence is
circular. By considering a certain power, we get the missing factors :

sage: ww = w ^ (5/4)
sage: ww
word: 0001011100
sage: map(ww.number_of_factors, [0,1,2,3])
[1, 2, 4, 8]


how it could be :
--

sage: w = words.DeBruijnSequence(2,3).first()#maybe this one is
not natural for the user to find it...
sage: w = DeBruijnSequence(2,3).first()   #maybe this is
better, but in either case, the following could be...
sage: w
word: 00010111
sage: type(w)
class 'sage.combinat.words.word.FiniteWord_list'
sage: map(w.number_of_factors, [0,1,2,3])
[1, 2, 4, 6]

We are missing two factors of length 3 because the sequence is
circular. By considering a certain power, we get the missing factors :

sage: ww = w ^ (5/4)
sage: ww
word: 0001011100
sage: map(ww.number_of_factors, [0,1,2,3])
[1, 2, 4, 8]

---

There is one final important thing to consider :

sage: L = [0, 0, 0, 1, 0, 1, 1, 1]
sage: %timeit Word(L)
625 loops, best of 3: 186 µs per loop

This is could be improved, but today it is like that. So if one wants
to claim that 32.1 µs is 300 times faster than matematica to create
the first element of B(2,3), keeping the result as a list might be a
good idea as well. It depends what one wants to do with it.

Cheers and happy new year!

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: De Bruijn Sequences

2010-12-30 Thread Sébastien Labbé
Hi Eviatar and Nicolas,

 Speaking of which, one question for the sage-word people: should De
 Bruijn sequences be output as Words?

I believe so. Well, if we want to get things similar together. Many
infinite sequences have already been implemented. They are available
here (or in sage/combinat/words/word_generators.py) :

sage: words.[TAB]

Object returned are sequences (or infinite words over a given
alphabet). They are slice-able and many other methods for infinite
words have been implemented. Infinite words can be coded by an
iterator or a function N - Alphabet. Examples are in the following
file : sage/combinat/words/word_generator.py.

What do you think?

Maybe we could rename words by sequences , sequencesBank or something.

 Should the set of all De Bruijn
 sequences be a Language?

Languages are being implemented in the sage-combinat branch by Vincent
and me. But we use the definition : the set of factors of a word,
where factor means a finite sequence of consecutive letters.

Cheers,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Not able to use layout_graphviz

2010-11-26 Thread Sébastien Labbé
Salut Nicolas et Vincent,

I am trying to use the graphviz functionalities you added in ticket
#7004. So, I installed graphviz and the dot2tex spkg as explained in
the documentation of layout_graphviz method, but I get the following
error when I use it :

sage: g = Graph({2:[3,4]})
sage: g.layout_graphviz()
Traceback (most recent call last):
...
UnboundLocalError: local variable 'positions' referenced before assignment

Are you able to make this (or any) example to work? How should I use it?

Thank you,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Word bug ???

2010-11-13 Thread Sébastien Labbé
Hi,

This is now #10261 :

http://trac.sagemath.org/sage_trac/ticket/10261

Cheers,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Removed 15 of my work in progress patches from the sage-combinat tree.

2010-11-13 Thread Sébastien Labbé
Hi,

If you read the log of the sage combinat patch server, you will see
that today I removed 15 of my work in progress patches from the
sage-combinat tree. The reason is that I decided to change my workflow
of Sage development. I learned how to contribute to Sage in 2008
through Sage Combinat and since then, all of my patches started their
lives in the Sage-Combinat tree. But now, I realize that I can be more
efficient by keeping my use of the Sage Combinat tree to the strict
necessary, that is, for patches that are made in a collaboration with
other people using Sage-Combinat (language-vd.patch with Vincent
Delecroix, Alexandre Blondin Massé, Thierry Monteil... for example).

Indeed, the following actions take lot of time :

- Make sure I don't mess up the Sage-Combinat tree (one single hg qpop
-a  hg qpush -a  sage -br takes minutes)
- Compile the documentation (even though my patch often change only
one or two files, I am constantly building the documentation of
hundred modified files by the all the sage combinat patches)

Hence, since the majority of the patches I'm working on are
independent of other's, I decided to create my own patches repository
(made of my patches and the patches I am reviewing) :

http://sage.math.washington.edu/home/slabbe/patches/

The sage-combinat script can be used to install my patches on your
computer in a new branch called slabbe by simply running the following
command (don't consider the last print of that command which ends
saying Sage Combinat installed) :

$ sage -combinat install -b slabbe -s
http://sage.math.washington.edu/home/slabbe/patches/

Doing so, my workflow will be more efficient and sage-combinat
workflow as well because there are now 15 patches less in the
sage-combinat tree.

Cheers,

Sébastien Labbé

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] I get 2 warnings while building the documentation from patches needing review

2010-10-15 Thread Sébastien Labbé
Hi Sage-Combinat developers,

I get 2 warnings while building the documentation from patches needing review :

/Users/slabbe/Applications/sage-4.5.3/local/lib/python2.6/site-packages/sage/categories/modules_with_basis.py:docstring
of sage.categories.modules_with_basis.ModulesWithBasis:21: (ERROR/3)
Unexpected indentation.
/Users/slabbe/Applications/sage-4.5.3/local/lib/python2.6/site-packages/sage/categories/modules_with_basis.py:docstring
of 
sage.categories.modules_with_basis.ModulesWithBasis.ParentMethods.module_morphism:85:
(WARNING/2) Block quote ends without a blank line; unexpected
unindent.

I get them quite early in the sage-combinat tree. So the author of the
responsible patch should recognize himself :

sla...@pol ~/Applications/sage-4.5.3/devel/sage-combinat/sage/combinat/words
$ hg qapplied
sage-5.0.patch
trac_9648_modulemorphism_codomain_extension-cs.patch
trac_9651_CombinatorialFreeModule_Addition-cs.patch
trac_9075_unpickle_all_testsuite-nt.patch
trac_8925-call_set_enumset-fh.patch
trac_8674_word_combinaorial_cmp-sl.patch
trac_8674_fixes_after_review-sl.patch
trac_8670-word-path-projection-sl.patch
trac_8670-review-sl.patch

Cheers,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] updated sage-combinat tree for 4.5.3

2010-09-08 Thread Sébastien Labbé
Hi,

Today,  we updated the sage-combinat tree to work on sage-4.5.3. It
was easy : Thierry Monteil added the guard 4_5_3 on a patch merged in
sage-4.5.3.

So if you are still using sage-4.5.2 or an earlier version of sage,
consider adding the guard 4_5_3 to avoid conflicts in the application
of the sage-combinat patches (which is done automatically with the
script sage -combinat update.)

Cheers,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Re: updated sage-combinat tree for 4.5.3

2010-09-08 Thread Sébastien Labbé
Hi,

 consider adding the guard 4_5_3 to avoid conflicts

By adding the guard, I meant qselecting it :

$ sage -hg qselect
4_5_2
$ sage -hg qselect 4_5_2 4_5_3
$ sage -hg qselect
4_5_2 4_5_3

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Sage Day 25.5 - First Announce ment - Première Annonce

2010-08-17 Thread Sébastien Labbé
PLEASE ADVERTISE WHERE APPROPRIATE


Sage Day 25.5

First Announcement (en français plus bas)
LaCIM, UQAM, Montréal, Canada, September 1st, 2010


OVERVIEW

Held in sandwich between LaCIM 2010 - 20th anniversary and GASCom 2010
conferences, this day is an opportunity for their participants to
learn more about Sage. Introductory talks will be given and possibly
talks or discussions on Sage adapted to the audience of LaCIM 2010
(algebraic combinatorics, theoretical computer science, bioinformatic,
physics and number theory) and GASCom (generation of combinatorial
objects and bijective combinatorics). Students starting their Autumn
semester will be invited as well. The goals are :

 * Give introduction talk on Sage
 * Help people installing Sage on their computer
 * Give talks on Sage for topics related to LaCIM 2010 and GASCom conferences
 * Give the opportunity for Sage developers to meet and discuss

RELATED CONFERENCES

  * LaCIM 2010, August 29-31 2010, http://lacim2010.lacim.uqam.ca/
  * GASCom, September 2-4 2010, http://gascom2010.lacim.uqam.ca/

ABOUT SAGE

Sage is a free open-source software for mathematical computations. Its
mission is to provide a viable alternative to commercial software like
Maple or Mathematica, and its community is growing fast worldwide. You
will find more information about Sage on the website:

 http://www.sagemath.org

WORKSHOP PROGRAM

More information on the program, together with a list of speakers, will
be made available on the website:

  http://wiki.sagemath.org/days25.5

WHO SHOULD ATTEND

You! The workshop will be accessible to researchers at all levels,
even those without any experience with Sage. This also includes
undergraduates that will be starting their autumn semester.

REGISTRATION

The last day to register is August 28, but potential registrants are
requested to register as *soon as possible*. You can register here:

  
https://spreadsheets.google.com/viewform?formkey=dE1mc0N2M3lJQlpyN244MTdHOTdRUXc6MQ

It is strongly recommended that participants bring their own laptop,
as the number of on-site computers is limited.

Questions should be directed to Sébastien Labbé sla...@gmail.com.

Sincerely Yours,
The organizing committee

Alexandre Blondin Massé, LaCIM, UQAM
Sébastien Labbé, LaCIM, UQAM
Franco Saliola, LaCIM, UQAM


==




Journée Sage 25.5

Première annonce
LaCIM, UQAM, Montréal, Canada, 1er Septembre 2010


INFORMATIONS

Tenue en sandwich entre les conférences LaCIM 2010 - 20e anniversaire
et GASCom 2010,
cette journée est une occasion pour leurs participants à en savoir
plus sur Sage.
Des exposés d'introduction seront donnés ainsi que des
des discussions sur Sage adaptés à l'auditoire de LaCIM 2010
(Combinatoire algébrique, informatique théorique, bioinformatique,
la physique et la théorie des nombres) et GASCom (génération d'objets
combinatoires
 et combinatoire bijective). Les étudiants qui commencent leur
trimestre d'automne
 seront également invités. Les objectifs sont les suivants:

 * Donner des exposés d'introduction à Sage
 * Aider les participants à installer Sage sur leur ordinateur
 * Donner des conférences sur Sage sur des sujets liés aux conférences
LaCIM 2010 et GASCom
 * Donner la possibilité pour les développeurs de Sage se rencontrer et discuter

CONFÉRENCES CONNEXES

  * LaCIM 2010, 29 au 31 août 2010, http://lacim2010.lacim.uqam.ca/
  * GASCom, 2 au 4 Septembre 2010, http://gascom2010.lacim.uqam.ca/

À PROPOS DE SAGE

Sage est un logiciel libre et open-source de mathématiques. Sa
mission est d'offrir une alternative viable aux logiciels commerciaux comme
Maple ou Mathematica, et sa communauté est en pleine croissance dans
le monde entier. Vous
trouverez plus d'informations sur Sage sur le site:

 http://www.sagemath.org

PROGRAMME DE LA JOURNÉE

Plus d'informations sur le programme, le local exact ainsi que la
liste des orateurs,
seront mises à disposition sur le site:

  http://wiki.sagemath.org/days25.5

QUI PEUT PARTICIPER?

Vous! L'atelier sera accessible aux chercheurs de tous les niveaux,
même ceux qui n'ont aucune expérience avec Sage. Cela inclut également
les étudiants qui commenceront le semestre d'automne.

INSCRIPTION

Le dernier jour pour s'inscrire est le 28 août, mais comme l'annonce
est tardive, on préfère que
les participants s'inscrivent dès que possible. Vous pouvez vous inscrire ici:

  
https://spreadsheets.google.com/viewform?formkey=dE1mc0N2M3lJQlpyN244MTdHOTdRUXc6MQ

Il est fortement recommandé aux participants d'apporter leur propre
ordinateur portable,
étant donné que le nombre d'ordinateurs sur place est limité.

Les questions peuvent être adressées à Sébastien Labbé sla...@gmail.com.

Cordialement,
Le

Re: [sage-combinat-devel] Re: LACIM + GASCOM

2010-08-07 Thread Sébastien Labbé
Hi!

Thanks Florent for starting this topic. It's time to start organizing this!

 - I have already the rights to put web pages on the LaCIM server:
 therefore, I can be in charge of the website for this Sage Day.

Alex, I propose not to do a web page on the LaCIM server. My opinion
is that web pages are often not that practical for Sage Days because
it centralizes its management. A wiki page is lot more convenient. It
can be updated by anyone, people can add their pdf presentations, etc.
So I will create such a page right now and will try to gather all the
basic informations we have (date, people attending, objective ...). I
think it can be a good way to start the organisation.

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: LACIM + GASCOM

2010-08-07 Thread Sébastien Labbé
 So I will create such a page right now and will try to gather all the
 basic informations we have (date, people attending, objective ...). I
 think it can be a good way to start the organisation.

The page is up (it is a first version) :

http://wiki.sagemath.org/days25.5

I put the information I have and wrote a small section about the goals
of the day as I see them. Please read it and edit it so that the goals
become as WE see them! There is also a Projects section that you can
edit.

Florent : I added you as an invited speaker. Thanks for your proposal
for giving an introductory talk!

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Failure in words.py in needs_review

2010-04-27 Thread Sébastien Labbé
    2 items had failures:
       2 of   7 in __main__.example_10
       2 of  12 in __main__.example_9
    ***Test Failed*** 4 failures.
    For whitespace errors, see the file 
 /home/combi/nthiery/.sage//tmp/.doctest_words.py
             [1.7 s]

    
 --

 Please fix it soon!

Fixed!

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Poset labels

2010-04-27 Thread Sébastien Labbé
 x.element gives you the element underlying the node.

 sage: x.element()
 ---
 TypeError                                 Traceback (most recent call
 last)

 /home/martin/ipython console in module()

 TypeError: 'SkewPartition_class' object is not callable

Try with no parenthesis... I don't know why it is an attribute and not
a method as usual...

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] Re: language

2010-04-26 Thread Sébastien Labbé
Bonjour Vincent,

I am adding sage-combinat-devel in cc to my answer to your email
because I think it the discussion is pertinent. Although, I realized
it in the end, so everything is in French... Sorry.

 Je viens de poster un brouillon de la classe LanguageOfFullWords.
 Comme j'ai besoin de faire des calculs rapides, j'utilise le plus
 possibles des objets python de base, mais évidemment ça limite
 l'utilisation. En plus, on pourrait aller exponentiellement plus vite
 (et gagner beaucoup de place) en utilisant en SuffixTrie... En effet,
 la construction du langage est locale: pour construire les mots de
 taille n on regarde juste les mots de taille n-1 et on fait
 éventuellement un test de palindrome. Par contre on a besoin de
 regarder à gauche et à droite.

Cool, alors, je vais continuer à travailler sur le suffix trie à la cassaigne.

 sage: L = sage.combinat.words.language.LanguageOfFullWords(2)
 sage: L
 Language of full words over the Ordered Alphabet ['0', '1']
 sage: [L.factor_complexity(i) for i in range(15)]
 [1, 2, 4, 8, 16, 32, 64, 128, 252, 488, 932, 1756, 3246, 5916, 10618]

 Quelques remarques, dis-moi ce que tu en penses:
 1) Ce serait pratique d'avoir un __getitem__ dans Language, pour le
 moment il est implémenté très bas (LanguageOfMorphism,
 LanguageOfFullWords)

D'abord le getitem retourne une liste des facteurs de longueurs n du
langage, c'est bien ça qu'on veut? Je trouve ça pratique, sauf que
souvent le getitem suit le comportement de __iter__ alors qu'ici
__iter__ itère sur le facteurs eux-mêmes.

Tu n'avais peut-être pas une version à jour lorsque tu as fait cette
remarque, car __getitem__ est implémenté dans Language.

 2) L'utilisation de __new__ complique l'héritage ! Je suis obligé de
 faire une méthode __new__ presque triviale dans ma nouvelle classe.

Le but du __new__ est d'éviter d'appeler LanguageOfFullWords,
LanguageOfMorphism, LanguageOfWord, pour construire une instance et
d'utiliser plutôt et toujours le même mot clé Language. Maintenant, la
question est de savoir comment reconnaître qu'avec certains arguments
donnés l'utilisateur veut construire le language d'un morphisme, des
facteurs d'un mot, des mots pleins, etc.

En fait, je crois qu'une autre solution serait mieux dans ce cas-ci.
L'utilisation de méthodes sur les objets permet d'éviter toute
l'ambiguité due à la création d'un objet plus complexes à partir
d'objets simples (qui peuvent utiliser les mêmes structures de données
python pour représenter des objets différents).

sage: W = Words('ab')
sage: F = W.language_of_full_palindromic_words()
sage: P = W.language_of_palindromes()

De même, on pourrait faire la même chose pour le langage des facteurs d'un mot:

sage: w = Word('aasldnafnasdfl')
sage: L = w.language()

et le langage d'une substitution:

sage: m = WordMorphism('a-ab,b-ba')
sage: L = m.language()

Et on pourrait même éviter l'ajout du mot Language dans le namespace
de Sage, car de toute façon, on doit toujours créer un autre objet
Sage (Morphisme, Mot, Ensemble de mots) avant de créer une instance de
langage.

Qu'en penses-tu?

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] queue is broken -- am I responsible ?

2010-04-21 Thread Sébastien Labbé
Salut Alex,

 applying trac_8696-character_rings-nt.patch
 patching file sage/combinat/j_trivial_monoids.py
 Hunk #2 FAILED at 223
 1 out of 9 hunks FAILED -- saving rejects to file sage/combinat/
 j_trivial_monoids.py.rej
 patch failed, unable to continue (try -v)
 patch failed, rejects left in working dir
 errors during apply, please fix and refresh trac_8696-character_rings-
 nt.patch
 Abort

Did you read the 10 lines about reject in the following section ?

http://wiki.sagemath.org/combinat/MercurialStepByStep#Handlingrejection

I was having the same reject this morning (I should have written to
sage-combinat-devel about it but I didn't), so I don't think you are
responsable for it.

Another way for you to know if you are responsable for the reject is
to ask yourself if you modified the file where the conflicts arise, in
this case : j_trivial_monoids.py.

 The problem seems to come from trac_8696-character_rings-nt.patch,
 which is N. Thiéry's patch, but I don't understand how I could have
 made it fail, nor how I can fix it.

One thing you can do is to

sage -hg qpush -a

one more time (and do not worry about the conflicts) and until all
patches are applied or until you get to your patch. It is possible
that sage -br still works anyway so that you can work on your patch
anyway.

In any case, it is a good thing to email sage-combinat-devel, because
most probably the author didn't know about the conflict.

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] can I use dynamic classes without lost of speed ?

2010-04-12 Thread Sébastien Labbé
Great! Thanks for your answer Nicolas and for the clues you give me. I
am now more confident and I will continue to work on it!

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] WordMorphismExtension, vocabulary ang global namespace

2010-03-08 Thread Sébastien Labbé
Hi,

 {{{
 sage: e = WordMorphismExtensionDual('a-ab,b-ac,c-a')
 sage: e
 E*(WordMorphism: a-ab, b-ac, c-a)
 sage: f1 = Face((0,0,0),1)  # the face 1 or a at (0,0,0)
 sage: f2 = Face((0,0,0),2)  # the face 2 or b at (0,0,0)
 sage: f3 = Face((0,0,0),3)  # the face 3 or c at (0,0,0)
 sage: e(f1)  # the image of f1
 Patch([((0, 1, -1), 2), ((1, 0, -1), 1), ((0, 0, 0), 3)])
 sage: e(f2)  # the image of f2
 Patch([((0, 0, 0), 1)])
 sage: e(f3)  # the image of f3
 Patch([((0, 0, 0), 2)])
 }}}

Instead of adding WordMorphismExtensionDual to the namespace, I prefer
the following :

sage: m = WordMorphism('a-ab,b-ac,c-a')
sage: e = e.extension_dual()
sage: e
Extension dual of WordMorphism: a-ab, b-ac, c-a


 And one can iterates and this is the way we obtain our beautiful
 pictures (is there a standard for the option iterations ?)
 {{{
 sage: e(f1,iterations=5)
 Patch([((1, -3, 4), 1), ((0, -1, 2), 3), ((1, -1, 1), 1), ((-1, -1,
 4), 2), ((0, -1, 2), 1), ((1, -3, 3), 3), ((-1, -1, 4), 3), ((1, -2,
 2), 2), ((1, -1, 0), 1), ((2, -2, 0), 1), ((1, -3, 3), 1), ((0, -2,
 4), 2), ((0, -3, 5), 3), ((2, -2, 1), 1), ((-1, 0, 2), 2), ((0, 0, 1),
 2), ((0, -1, 2), 2), ((0, -2, 4), 3), ((2, -3, 1), 1), ((1, -2, 3),
 1), ((1, -1, 1), 2), ((0, 0, 0), 2), ((1, -2, 2), 3), ((0, -1, 3), 2),
 ((1, -2, 2), 1), ((2, -3, 2), 1), ((-1, -2, 5), 3), ((0, -1, 3), 1),
 ((1, -1, 0), 2), ((-1, 0, 3), 2), ((0, -2, 4), 1)])
 }}}

Right now, with word morphism, one can do either of the following

sage: m = WordMorphism('a-ab,b-ac,c-a')
sage: (m^5)('a')
word: abacabaabacababacabaabac
sage: m('a', 5)
word: abacabaabacababacabaabac

You obtain the fixed point using :

sage: m('a', oo)
word: abacabaabacababacabaabacabacabaabacababa...

Hence, you could follow the same idea :

sage: (e^5)(f1)
A patch ...
sage: e(f1, 5)
A patch ...
sage: e(f1, oo)
The limit fractal!


Does the name of patch is really used by Arnoux, Ito? Or is it
Franco who used that name? Instead of patch, I would use another name
that evoques a little bit more the idea of a finite domain of a
discrete plane. So why not, finite domain of a discrete plane which
says what it is!?

 Thanks! So, somehow, e is a function from the set of patches to
 itself, right? I have no clue on the subject, so this might be
 completely silly, but what about:

 {{{
   sage: Patches = e.codomain()          # or e.domain()?
 }}}

 ``patches`` would be a parent modeling the collection of all
 patches. And then, one could do things like:

 {{{
   sage: f1 = Patches.face((0,0,0),1)                 # builds a face
   sage: p = Patches( ( ((0,0,0),1), ((0,0,0),2) ) )  # builds a patch from an 
 iterable of face-data
 }}}

+1 : I agree with the ideas of Nicolas


After speaking with Timo (now in Montpellier), I think the extension
(before taking the dual) of word morphism corresponds to something I
use quite often for example to construct a Christoffel Tile :

sage: P = WordPaths('abAB')
sage: P
Word Paths on the square grid
sage: P.letters_to_steps()
{'a': (1, 0), 'A': (-1, 0), 'B': (0, -1), 'b': (0, 1)}
sage: L = WordMorphism('a-aBab,b-ab,A-AbAB,B-AB', codomain=P)
sage: bar = WordMorphism('a-A,b-B,A-a,B-b', codomain=P)
sage: w = P(words.ChristoffelWord(5,8, alphabet='ab'))
sage: L(w*bar(w)).plot(endarrow=False)

Maybe it can be usefull ...

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Garded trac_8429_split_word-sl.patch for 4.3.4

2010-03-06 Thread Sébastien Labbé
Hi Florent,

the patch 8429 depends on many patches merged in 4.3.4.alpha1 already
(for instance 8418). Did you applied those first?

Maybe I should not guard by 4_3_4 the patches which 8429 depends on

Sébastien

2010/3/6 Florent Hivert florent.hiv...@univ-rouen.fr:
      Dear Sébastien,

 For some reason, the patch trac_8429_split_word-sl.patch is rejected against
 4.3.4alpha0... I guarded it. You probably want to update it.

 Cheers,

 Florent

 --
 You received this message because you are subscribed to the Google Groups 
 sage-combinat-devel group.
 To post to this group, send email to sage-combinat-de...@googlegroups.com.
 To unsubscribe from this group, send email to 
 sage-combinat-devel+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/sage-combinat-devel?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Check when defining a permutation by one-line notation (list of int)

2010-02-28 Thread Sébastien Labbé
 This function then call an hidden internal function
 called for example _from_list that creates the object from a list
 without any check.

hidden or not : I now remember Nicolas saying from_list is good. The
user might want to use it.

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Empty word and comparisons

2010-02-16 Thread Sébastien Labbé
Le 15 février 2010 23:19, Nicolas M. Thiery nicolas.thi...@u-psud.fr a écrit :
        Hi Sébastien,

 I just went through the patch.

Great. Thanks!

 It sounds good! What about having a
 common super class for all the concrete word classes (list/tuple/str)
 which would contain all the shared logic about how finite words
 interact together?

Good idea, one could put there the function length because its code is
the exact same for all of those three classes. So, your idea is (like
you explain below) that concatenation of finite word defined by list
with another defined by str could be treated there, right?

 The two following design decisions will probably require more
 discussion:

  - Using _mul_ rather than __mul__ in the Words class, so as not to
   get in the way of coercion?

Ok, I need more explanation here. (You can wait for next week if you
don't want to write a long mail for that).

  - Automatically concatenating concrete words, with coercion if needed
   (say list+string - list, ...)

Right, I understand. Some discussion are needed. Like tuple + list -
list or tuple ?

Thanks,

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] server down?

2010-02-10 Thread Sébastien Labbé
 My fault. Fixed in principle. I had hopped no-one would have pulled in
 the 2 minutes gap ...

No, I think it was Alexandre who pushed an old version of the series
file on the server. With Nicolas's and my recent changes, everything
is back to normal. Nothing was lost.

I didn't explain to Alexandre exactly what to do in case of
conflicts (if this is what happened to him).

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



Re: [sage-combinat-devel] Re: [sage-devel] Re: #8044: Categories for finite/permutation/symmetric groups

2010-01-29 Thread Sébastien Labbé
 Sébastien Labbé: you played quite some with the Cayley graph
 code. Would you be ok reviewing this part? (unless Robert beats you to
 it). As a teaser, you might like the following:

    sage: M = Monoids().example(); M
    An example of a monoid: the free monoid generated by ('a', 'b', 'c', 'd')
    sage: elements = [ M.prod(w) for w in 
 sum((list(Words(M.semigroup_generators(),k)) for k in range(4)),[]) ]
    sage: G = M.cayley_graph(elements = elements)
    sage: G.show3d(color_by_label=True, edge_size=0.001, vertex_size=0.01)

Cool! I like it!


 (and I take your suggestions for a better way to create all words of
 length =3)

A solution (independant of monoid code though):

sage: Words('abcd', length=4)
Finite Words of length 4 over Ordered Alphabet ['a', 'b', 'c', 'd']

We could have a discussion about merging this code in February

 By the way, Sébastien, if you want to make a small patch on top of
 #8044 which would include the cl Cayley graph examples from
 cayley_graph-sl.patch, it would make sense to merge it in the same
 ticket, and I'll be happy to review it.

I just added the patch on sage-trac and on sage-combinat server. I
don't have time right now to do more than that... Maybe on sunday (in
Marseille!).

Have a good weekend!

Sébastien

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] ** unknown exception encountered, details follow

2010-01-28 Thread Sébastien Labbé
Bonjour sage-combinat,

I am currently having a strange problem with the sage-combinat tree.
Are you experiencing a similar thing?

Sébastien

sla...@pol:~/sage-4.3.1/devel/sage-combinat$ hg qpop -a
aucun patch appliqué
sla...@pol:~/sage-4.3.1/devel/sage-combinat$ hg qpush
application de 
impossible de lire 
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercur...@selenic.com
** Mercurial Distributed SCM (version 1.3.1)
** Extensions loaded: mq, extdiff
Traceback (most recent call last):
  File /home/slabbe/sage-4.3.1/local/bin/hg, line 27, in module
mercurial.dispatch.run()
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 16, in run
sys.exit(dispatch(sys.argv[1:]))
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 27, in dispatch
return _runcatch(u, args)
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 43, in _runcatch
return _dispatch(ui, args)
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 449, in _dispatch
return runcommand(lui, repo, cmd, fullargs, ui, options, d)
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 317, in runcommand
ret = _runcommand(ui, options, cmd, d)
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 501, in _runcommand
return checkargs()
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 454, in checkargs
return cmdfunc()
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/dispatch.py,
line 448, in lambda
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File /home/slabbe/sage-4.3.1/local/lib/python/mercurial/util.py,
line 402, in check
return func(*args, **kwargs)
  File /home/slabbe/sage-4.3.1/local/lib/python/hgext/mq.py, line
2117, in push
mergeq=mergeq, all=opts.get('all'))
  File /home/slabbe/sage-4.3.1/local/lib/python/hgext/mq.py, line 979, in push
top = self.applied[-1].name
IndexError: list index out of range

-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.



[sage-combinat-devel] conflicts with triangular-morphisms-jb.patch

2010-01-14 Thread Sébastien Labbé
Dear Jason,
Dear Nicolas,

I am currently experiencing a small conflict in the sage-combinat
tree. See below for the content of the reject file.

Sébastien


sla...@pol:~/sage-4.3/devel/sage-combinat$ hg qpop -a
aucun patch appliqué
sla...@pol:~/sage-4.3/devel/sage-combinat$ hg qselect
no active guards
sla...@pol:~/sage-4.3/devel/sage-combinat$ hg qpush -a
application de trac_7776-inject_variable-nt.patch
application de trac__symmetric_functions-inject_shorthands-nt.patch
skipping trac_7921-categories_for_extension_types-nt.patch - guarded
by ['+category']
application de trac_7145-iet-final.patch
application de trac_7543_s_adic_final.patch
application de trac_7520_words_construction_improvements-sl.patch
application de trac_7619_pickle_for_FiniteWord_iter_callable-sl.patch
skipping words_ng-cpp_basic_string.patch - guarded by ['+words_ng_fixme']
application de classcall_metaclass-nt.patch
application de element_wrapper-improvement-nt.patch
patching file sage/categories/examples/finite_semigroups.py
Hunk #1 succeeded at 171 with fuzz 2 (offset 57 lines).
application de crystal_cleanup-as.patch
patching file sage/combinat/crystals/letters.py
Hunk #11 succeeded at 1309 with fuzz 2 (offset 0 lines).
application de crystal_cleanup-nt.patch
application de trac_7538_poset_equal_fix-fh.patch
application de trac_6641-poset_antichains_backtracker.patch
application de trac_6641-poset_antichains_backtracker-part2.patch
application de combinat-quickref-jb.patch
application de trac_6655_partition_newfeature-ny.patch
patching file sage/combinat/partition.py
Hunk #1 succeeded at 834 with fuzz 2 (offset -13 lines).
application de triangular-morphisms-jb.patch
patching file sage/categories/modules_with_basis.py
Hunk #3 FAILED at 240
Hunk #4 succeeded at 245 with fuzz 2 (offset -28 lines).
1 out of 8 hunks FAILED -- saving rejects to file
sage/categories/modules_with_basis.py.rej
l'application du patch a échoué, impossible de continuer (essayez avec -v)
patch failed, rejects left in working dir
des erreurs se sont produites durant l'application, veuillez corriger
puis rafraîchir triangular-morphisms-jb.patch


Here is the reject :


sla...@pol:~/sage-4.3/devel/sage-combinat$ cat
sage/categories/modules_with_basis.py.rej
--- modules_with_basis.py
+++ modules_with_basis.py
@@ -239,6 +241,16 @@ class ModulesWithBasis(Category_over_bas

 # TODO: find something better to get this inheritance from
CategoryWithTensorProduct.Element
 class ElementMethods(CategoryWithTensorProduct.ElementMethods,
CategoryWithCartesianProduct.ElementMethods):
+# TODO: Define the appropriate element methods here (instead of in
+# subclasses).  These methods should be consistent with those on
+# polynomials.
+
+# def _neg_(self):
+# 
+# Default implementation of negation by trying to multiply by -1.
+# TODO: doctest
+# 
+# return self._lmul_(-self.parent().base_ring().one(), self)

 def support_of_monomial(self):
 
-- 
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.




Re: [sage-combinat-devel] Enhancement of graph drawing

2010-01-03 Thread Sébastien Labbé
Hi Victor Miller,

 I would like the following enhancements of graph drawing:

 1) The ability to add an optional label to vertices (the labels
 needn't be unique) and to have an option to drawing the graph use that
 label, instead of the unique vertex label.  This arises, for
 instances, in the standard drawing of decision diagrams in which
 internal nodes of a DAG are labeled with a variable name.  A number of
 different nodes may be labeled with the same variable name.

Great!

 What do people think of this?

I have been needing (1) in the past : often, the repr of an object is
not aesthetic (e.g. too long) for graph drawing. So I like the
possibility of defining the labels of the vertices using a dict maybe.
I also wondered recently if one can do a graph of Graphics objects.
For example :

sage: a = Graph().plot()
sage: b = Graph({0:[0]}).plot()
sage: c = Graph({0:[1],1:[0]}).plot()
sage: d = Graph({0:[1],1:[2],2:[0]}).plot()

Beware, the following line doesn't fail and produces dozens of
drawings I guess because repr called on a,b,c and d produces a plot.

sage: g = Graph({a:[b],b:[c],c:[d]})

The following line could produce one plot where each vertices is a
circle containing the plot of a, b, c or d (beware, is still produces
dozens of plots) :

sage: g.plot()

I just wanted to share this idea. Feel free to share me development on
(1), I will be happy to try it, gives comments and/or be a reviewer.

Sébastien

--

You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.




Re: [sage-combinat-devel] Alphabet and Words

2009-12-14 Thread Sébastien Labbé
 I propose to create a class UnionAlphabet which
 heritates from UnionCombinatorialClass and Alphabet.
 Do you agree ?

Yes!

 2) The _str_ method of words is pretty bad in a lot
 of situations.

I agree! Up to now, I was using the WordOptions(identifier='') method
which could be better. It could be more automatic.

 Especially in my case where the labels
 of my intervals are words (but there is also the example
 of the Rauzy graph).
 Do you have any idea for this ?
 I propose to build a _str_ method of any words
 inside Words. I imagine something that looks like this

 {{{
 sage: W1 = Words(alphabet=abc,  str=standard)
 sage:  print str(W2(abbaca))
 word: abbaca
 sage: W2 = Words(alphabet=abc, str=minimalist)
 sage: print str(W2(abbaca))
 abbaca
 sage: W3 = Words(alphabet=abc, str=sequence)
 sage: print str(W3(abbaca))
 a, b, b, a, c, a
 }}}

I don't think I like this proposition. The print option of an element
is not really a property of the parent.

 The latter is especially nice when your alphabet looks like
   A = {'ab', 'ac', 'be'}

This is the current default behavior (comma are added when there is a
letter using more than one character):

sage: A = Alphabet(['ab','ac','be'])
sage: W = Words(A)
sage: W(['ab','ab','be','ac'])
word: ab,ab,be,ac

 What do you think ?
 Cheers,
 Vincent

I think that the problem is that str and repr are currently the same :

sage: w = Word('abccdef')
sage: str(w)
'word: abccdef'
sage: repr(w)
'word: abccdef'

str(w) should not include the identifier :

sage: str(w)
'abccdef'
sage: print w
abccdef

This would solve the problem for labels of (rauzy) graphs...and probably more.

I will create the ticket soon, if you don't do it before me.

Cheers,
Sébastien

--

You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.




Re: [sage-combinat-devel] Re: [sage-devel] sage combinat installation freezes on mac os 10.6

2009-12-07 Thread Sébastien Labbé
 Hello everyone !
 I'm trying to install sage combinat on my computer to share patches
 with a friend, but it freezes after only a few minutes. Here are the
 last lines of input in the terminal

Alexandre,

I think that this is solved by

http://trac.sagemath.org/sage_trac/ticket/7473

merged yesterday.

Sébastien

--

You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.




[sage-combinat-devel] Re: Reject on word_pal_complexity-sl.patch

2009-11-13 Thread Sébastien Labbé

Hi

 application de word_pal_complexity-sl.patch
 patching file sage/combinat/words/word.py
 Hunk #1 succeeded at 1264 with fuzz 2 (offset 147 lines).
 Hunk #3 FAILED at 2738
 1 out of 4 hunks FAILED -- saving rejects to file 
 sage/combinat/words/word.py.rej

 Can you please fix it or at least disable the patch. It does not bother me
 since it's very low in the queue but it is a problem for newcommers.

The patch word_pal_complexity-sl.patch depends on #7227 patches merged
in sage-4.2.1.alpha0. If you are using a version of sage 
4.2.1.alpha0, make sure to apply the 4_2_1 guard :

/sage-4.2/devel/sage-combinat$ hg qselect
4_2_1

This should fix the problem (tell me if not).

Sébastien

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en
-~--~~~~--~~--~--~---



[sage-combinat-devel] Re: word_pal_complexity-sl.patch and 4.2

2009-11-03 Thread Sébastien Labbé

I found the reason :

I added the guard 4_2_1 this morning to the patches #7227 which are
needed by word_pal_complexity-sl.patch So everybody should now add
this guard to their qselect...

Althought, I still get the reject on primes.py

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en
-~--~~~~--~~--~--~---



[sage-combinat-devel] Re: word_pal_complexity-sl.patch and 4.2

2009-11-03 Thread Sébastien Labbé

2009/11/3 Sébastien Labbé sla...@gmail.com:
 I found the reason :

 I added the guard 4_2_1 this morning to the patches #7227 which are
 needed by word_pal_complexity-sl.patch So everybody should now add
 this guard to their qselect...

Finally, I just removed the 4_2_1 guard since sage-4.2.1 doesn't exist yet!

When should we add the new x_y_z guard for the first time to avoid this problem?


 Althought, I still get the reject on primes.py


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en
-~--~~~~--~~--~--~---



[sage-combinat-devel] Re: word_pal_complexity-sl.patch and 4.2

2009-11-03 Thread Sébastien Labbé

 PS by the way, please make sure to systematically include the ticket
 number in the patch description. That helps diagnosing this kind of
 error.  Thanks!

 E.g: this is one piece of 5038, as it shows up in hg log in sage 4.2
 vanilla:

 changeset:   13197:af3f9d33e6cc
 user:        Sebastien Labbe sla...@gmail.com
 date:        Fri Sep 18 23:28:17 2009 +0200
 summary:     * * *


Ok, I must admit I was not doing it systematically. I will also make
sure to keep the header on one single line...



sla...@pol:~/sage-4.1.2/devel/sage-combinat$ hg qtop
trac_5038_paths-sl.patch
sla...@pol:~/sage-4.1.2/devel/sage-combinat$ hg qheader
* * *
This patch introduces classes for word paths.
* * *


Sébastien

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en
-~--~~~~--~~--~--~---



[sage-combinat-devel] Re: Accent in patches...

2009-09-12 Thread Sébastien Labbé

Dear Florent,

  disjoint_sets_sl.patch:# User Sébastien Labbé sla...@gmail.com
 
  Sébastien, I'm sorry to ask this to you but can you remove the accents in 
  your
  patches and refresh them ?

Done.

Sorry for that. I removed the accent from my .hgrc file 2 months ago.
I guess I haven't qrefresh that patch for a long time.

Sébastien

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en
-~--~~~~--~~--~--~---



[sage-combinat-devel] Re: polynoms/finite words and series/infinite words

2009-09-10 Thread Sébastien Labbé
Salut Vincent,

Do you know that I am in France now!? For one year!

 What do you think if we made the following works:

sage: w = Word(P, datatype=polynom)
sage: P == R(w)
True


Well, I thought that the datatype input above meant in which kind of data to
store the word and not really the way to understand the input P.

Does the following is satisfaisant?

sage: R = GF(2)['x']
sage: P = R('x^5 + x^3 + x + 1')
sage: Word(P, datatype='list')
word: 110101
sage: Word(P, datatype='iter')
word: 110101
sage: l = list(P)
sage: Word(l)
word: 110101



 My second question is what about infinite series ?


If S is a infinite series, Word(S, datatype='callable') should work as long
as S is callable and Word(S, datatype='iter') as long as S is iterable.

Sébastien

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sage-combinat-devel group.
To post to this group, send email to sage-combinat-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en
-~--~~~~--~~--~--~---