Re: [sage-combinat-devel] Re: Sage-Combinat Days 2014

2014-01-10 Thread Viviane Pons
Hi Adrien,

I would also really like to know if this is settled. When I answered the
doodle, it seemed like the most probable date was the 10th of March. But
now I see many more people have answered and it could be the 7th of April
(where I'm not available).

So when is it at the end? (I need to know quite soon cause there are many
things in March)

See you, and thank's for organizing this

Viviane


2014/1/9 Simon King 

> Hi!
>
> On 2013-12-03, Adrien Boussicault  wrote:
> > Dear Sage-Combinat lovers,
> >
> > We are thinking about organizing new Sage-Combinat days in
> > February-May.
>
> Sorry, I somehow missed to put my preferred dates into the doodle quest
> soon enough. Yesterday I did, but I reckon it is too late.
>
> So, when will the Sage-Combinat days take place?
>
> Best regards,
> Simon
>
> --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [sage-combinat-devel] Sage Days in Chicago

2014-03-11 Thread Viviane Pons
So, no Sage Days in the US this summer ? What happened to the
Berkeley-Davis Sage days ?

See you

Viviane


2014-03-11 21:46 GMT+01:00 Anne Schilling :

> Hi!
>
> Just heads up:
>
> Aaron Lauve and Peter Tingley are planning to host Sage Days in Chicago
> during the
> summer of 2015 (not 2014!!). This will focus on representation theory,
> crystals,
> and combinatorics.
>
> Best,
>
> Anne
>
> --
> 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.
>

-- 
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] SciPy, EuroPython and friends

2014-04-14 Thread Viviane Pons
Hi guys,

the main part of the PyCon conference just finished yesterday (now, it's
sprint time!). I'm going to write you soon a full report on how great and
useful it was, and also some links to the pycon videos.

But just a quick word right now about some upcomig conferences you should
be aware of:

SciPy about python in Science, is going to be in Austin, Texas, the week
after FPSAC. I'm thinking of attending and invite you to do the same!

Also, some others where I won't be but are also interesting

EuroPython: July 21 - 27 Berlin
EuroSciPy: Cambridge, UK - 27-30 August 2014
PyOhio (Not only for Ohio but more like the Midwest): July 26 - 27, and
this one is free!

As I said, I'm going to write a whole email on WHY you should attend, but
to summarize: you should and it's great!

Cheers

-- 
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] PyCon report

2014-04-15 Thread Viviane Pons
Hi guys,

so I'm still at PyCon 2014 Montreal for the sprint time. But I find it is
the right time to give you some kind of report of my time here. Quick
hints: it was one of the most useful, greatest conference I have ever been,
and also, it was HUGE. There were around 2000 people (of which I knew 2...)
and I can tell you, it brings the "break room" to an all other level... I
met tons of new people everyday, it was exhausting and awesome!

All the talks and Pycon tutorials are filmed and are now public.

You can see here the list of talks :
https://us.pycon.org/2014/schedule/talks/
And here the videos: http://pyvideo.org/category/50/pycon-us-2014

I have selected "a few" ones, some I attended, some I didn't, that I
thought could be interesting for all of you guys. You'll find the links at
the end of the email.

But first, let me tell you quickly what I learned here...

--- As a Python programmer --

Well, just go through the "technical" videos that I selected and you'll see
that it's worth going from a technical point of view... Any advanced
question you have about the language, there is somebody here who can
answer...

 As a Open source developer -

Actually, I haven't finished with this one, cause the sprints are happening
right now and I intend to have a look around. But let's just say there are
a bunch of people working on lots of different kind of open source projects
and more generally lots of people thinking and discussing the open source
philosophy.

 As a scientist --

There were lots of scientists here and I found it very interesting to go
out of my own science circle to see what was happening out there. The talks
are aimed for a large audience and are definitely easier to follow than
most of the FPSAC ones, even so they relate to physics, biology and other
cool stuff. Also, I got to talk about my research, and Sage, and maths, and
combinatorics to people who didn't know about it and were really curious
about it!

 As a teacher --

I am not teaching right now but I might be soon (hopefully?). There are
lots of people here dealing with "teaching computer science" and especially
python and trying to think of the best way to bring this knowledge to all
kind of students. I also met students (girl students!), like undergrads
attending the conference. I actually intend to advertise this conference
(and its European sister EuroPython) to my future students, especially
because they can be funded by the conference itself.

 As a woman programmer / scientist --

I know I'm talking to, mainly, a bunch of guys, and I guess most of you are
not really happy with this. And you can all understand that as woman
programmer, sometimes, I feel a bit lonely (Hi Anne!!) even in this very
welcoming community which is Sage. Well, here are some very interesting
numbers about the women presenting at PyCon

2011: 1%
2012: 7%
2013: 15%
2014: 33%

As you're all mathematicians, you've all recognized an exponential growth!
And so, we can probably expect 66% next year (yeah, right... maybe not).
Anyway, this was made possible because there are a bunch of very active
women who run lots of different actions to bring more girls into computer
science and to push the existing ones to speak up! I was really happy to
meet all those women and exchange experiences and points of views with
them. They have special grants, meetings, classes... Check out the Pyladies
website to know more: http://pyladies.com/

- Conclusion 

I am more than happy to have attended it this year. Next year is also in
Montreal and I'll try to attend again. Especially, I'm going to propose a
talk about experimental mathematics and combinatorics.

Also, as I said in a previous email, I will be going to the SciPy one in
July in Austin Texas and more generally, I'll try to keep a closer eye on
the python related events.

And now some links to the PyCon videos

--- PyCon talks
--

-- Technichal and useful -

How data structures like lists and dicts are handled on a low level
http://pyvideo.org/video/2571/all-your-ducks-in-a-row-data-structures-in-the-s

Decorators (the second one is a really advanced one)
http://pyvideo.org/video/2574/decorators-a-powerful-weapon-in-your-python-arse
http://pyvideo.org/video/2617/advanced-methods-for-creat

Memory leaks
http://pyvideo.org/video/2698/track-memory-leaks-in-python

Garbage collection
http://pyvideo.org/video/2633/garbage-collection-in-python

Why pickling can be bad
http://pyvideo.org/video/2566/pickles-are-for-delis-not-software

- Other useful stuffs ---

Bringing more students to python and computer science
http://pyvideo.org/video/2684/keynote-jessica-mckellar

Using science to analyze open source projects
http://pyvideo.org/video/2696/software-engineering-research-for-hackers-bridgi

Scientific python and ipython
http://pyvideo.org/video/2683/key

[sage-combinat-devel] Fwd: [gdr-im] [y...@cs.nyu.edu: [SIGSAM] Final Call for Abstracts: ICMS August 2014]

2014-04-29 Thread Viviane Pons
Is anyone submitting to this? I'm not and I won't go, but I'm curious!

-- Message transféré --
From: Chee Yap 
To: sigsam-frie...@listserv.acm.org
Cc:
Date: Mon, 28 Apr 2014 22:49:01 -0400
Subject: [SIGSAM] Final Call for Abstracts: ICMS August 2014
Dear Colleagues,

 The 4th International Congress on Mathematical Software (ICMS)
   August 5 - 9 2014, Seoul Korea
   http://voronoi.hanyang.ac.kr/icms2014

 Invited Plenary Speakers:
Jonathan Borwein   (Australia)
Bruno Buchberger   (Austria)
Wolfram Decker (Germany)
Andrew Sommese (USA)
Lloyd N. Trefethen (UK)

 Official satellite conference of
International Congress of Mathematicians (ICM)
  http://www.icm2014.org

This forum is for researchers to share challenges, achievements and
progress in mathematical software research, their design, development
and use.

Deadlines:
   * Short abstract   April 30 2014
   * Extended abstractMay 21 2014
   * Papers   After conference

Publications include conference proceedings in Springer's Lecture Notes
Series,
and in journal special issues.

Feel free to contact us (y...@cs.nyu.edu).

Chee Yap  Hoon Hong
General Chair   Program Chair


--

To unsubscribe from the SIGSAM-FRIENDS list, click the following link:
http://listserv.acm.org/SCRIPTS/WA-ACMLPX.CGI?SUBED1=SIGSAM-FRIENDS&A=1

-- 
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.


Re: [sage-combinat-devel] CombinatorialFreeModule

2014-05-16 Thread Viviane Pons
I think the Foo class must also inherit from the Element class.

Viviane


2014-05-16 15:50 GMT+02:00 Bruce :

> I am trying to construct formal linear combinations of instances of a
> particular class.
> I have asked about this before and, I think, was given the following
> template
>
>
> class Foo(UniqueRepresentation):
>
> def __init__(self,a):
> self.data = a
>
> class Foos(Parent, UniqueRepresentation):
> # This class represents the set of all Foo's
> def __contains__(self,f):
> return isinstance(f,Foo)
>
> Element = Foo
>
> FreeM = CombinatorialFreeModule(QQ,Foo)
>
> s = Foo(1)
> FreeM(s)
>
> This example seems to work. When I try this on my actual example I get a
> message
>
> 'Foo' object has no attribute 'parent'
>
> Actually I thought the last line should be
>
> FreeM = CombinatorialFreeModule(QQ,Foos())
>
> but this didn't work in either example.
>
> Can anyone tell me what I am doing wrong?
>
> ---
>
> While I am here: I am constructing an infinite dimensional representation
> of an algebra.
> This means the next step for me is to construct operators on this vector
> space (one for each integer)
> and these operators will satisfy the Temperley-Lieb relations.
>
> I want to define each operator on the basis and then extend by linearity.
>
> Is there an existing category I could/should be using?
>
> --
> 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.
>

-- 
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.


Re: [sage-combinat-devel] Re: CombinatorialFreeModule

2014-05-17 Thread Viviane Pons
I would say: include whatever you feel useful in the documentation. As a
new user of the object, you're the best to know which explanations we need.


2014-05-17 20:29 GMT+01:00 Bruce :

> Thanks, Travis.
>
> I changed this to
>
> class Foo(Element):
> def __init__(self, a):
> self.data = a
> Element.__init__(self, Foos)
>
> which seems a bit simpler as we still have Foo(1) without an extra
> argument.
>
> P.S. I am considering including this in the documentation.
>
>>
>>>  --
> 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.
>

-- 
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.


Re: [sage-combinat-devel] combinatorial statistics

2014-05-26 Thread Viviane Pons
Just so you know, I intend to "fix" the decorator at some point to reduce
whatever impact it could have (I learned a bit a more about decorator while
at PyCon). We could also think of adding more semantic information to make
the usecase for sage more obvious (I really do think there is one).

Also, the functionality you're talking about to access FindStat through
Sage is definitely on our list (and on mine specifically). It would mean
some work on our side as we don't have any API yet to access the database
without the web interface.

Cheers

Viviane




2014-05-26 10:03 GMT+02:00 Nicolas M. Thiery :

> Hi Christian,
>
> On Mon, May 26, 2014 at 09:08:14AM +0200, Christian Stump wrote:
> > Let me add that I was thinking of opening a ticket to remove
> > combinatorial maps from Sage again (in the medium time future) simply
> > because the negative comments about it were louder (and I am currently
> > not in the position to be able to spend much time on stuff I don't
> > need for my research).
>
> I also won't spend time on arguing about this. Let me just recall my
> personal position, for whatever it's worth.
>
> I like having such semantic information in the code, and I am fine
> with having it even if we don't yet have a strong use case within
> Sage. The only prerequisites are:
>
> - Not having an impact on performance (IIRC that's the case with
>   combinatorial maps)
>
> - Not adding functions in the code unless they are actually useful in
>   Sage and have a clear mathematical meaning.
>
> > So if you have some use cases for combinatorial maps, please write
> > about it so such cases are also visible.
>
> +1
>
> By the way: I second being able to programmatically search for
> combinatorial statistics, be it through a remote call to findstat.org,
> or by running locally a findstat search engine.
>
> Cheers,
> Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.
>

-- 
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.


Re: [sage-combinat-devel] combinatorial statistics

2014-05-27 Thread Viviane Pons
Sorry Nathann, I don't take orders.

If you want to open tickets, just do so. I don't think a ticket removing
the map decorator all together would be positively reviewed right now. If
you really want to know my time frame, I *intend* to work on this decorator
to make it better this summer. If someone else wants to have a look on how
it could be improved and open a ticket with suggestions, they're welcome.
The decorator as it is is not major issue or even a bug, it's been
positively reviewed years ago.

The way I remember, nothing was really agreed at the end of this endless
discussion last year. If you want to open a ticket to remove
graph.to_partition, just do so.


2014-05-27 11:39 GMT+02:00 Nathann Cohen :

> Just so you know, I intend to "fix" the decorator at some point to reduce
>> whatever impact it could have (I learned a bit a more about decorator while
>> at PyCon).
>>
>
> Our discussion about this is almost 1 year old. If you do not know how to
> clean this code this month, please remove it.
>
> Also, if I remember correctly we had agreed that Graph.to_partition was to
> be removed anyway as its meaning was totally unclear. Please open and
> implement a ticket for that, I will review it. This should have been done
> one year ago, yet nothing happened since.
>
> Nathann
>
> --
> 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.
>

-- 
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.


Re: [sage-combinat-devel] combinatorial statistics

2014-05-27 Thread Viviane Pons
>
>
> thanks for the fast reply -- but I need statistics, not maps.  I..e, I'd
> like to have a list of all methods applying to permutations that return a
> number...
>

I don't think there is anything like that for statistics, maybe the sign
that we do need more semantic into Sage?

>
> Is it correct that findstat implements more statistics and more maps?  Is
> it possible to use findstat from within sage?
>

The maps in Findstat come from Sage. If a map is not needed in Sage, then
we add it to our own Sage version but it's quite rare (and it's only silly
maps that we need for technical reasons)
But there are indeed more statistics, you can browse through them here:
http://www.findstat.org/StatisticsDatabase

Sadly, there is not yet a way to access FindStat through Sage. If you're
interested, we can add you to our github project so that you can describe
your usecase, it would help us build our API the right way.


>
> Martin
>
> --
> 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.
>

-- 
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.


Re: [sage-combinat-devel] combinatorial statistics

2014-05-27 Thread Viviane Pons
>
> I guess this is getting slightly off topic now, so I'll continue in
> private, unless someone objects...
>

For anything related to FindStat, you can write to i...@findstat.org :)





>
> Many thanks,
>
> Martin
>
> --
> 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.
>

-- 
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: [sage-devel] redesign combinatorial statistics

2014-05-27 Thread Viviane Pons
> That being said we do not want to register all computable maps on
> startup. So we have to find the good balance between interesting maps
> as "the number of descents in a permutation" and uninteresting maps as
> "the polynomial map 57*n^2 - 18*n +3 from {-12, 1, 42, 2243} to the
> integers".
>
>
I don't understand, are you talking about maps or statistics? There are two
different things, unless you consider  statistics to be a map from the
object to the integers but I'd say we want to keep two problems separated.

Right now, the combinatorial_map decorator offers already some kind of
semantic information, the fact it flags the methods is in itself semantics.
I agree that there should be more. Right now, you can do:

sage: p = Permutation([1,2,3])
sage: from sage.combinat.combinatorial_map import
combinatorial_maps_in_class
sage: combinatorial_maps_in_class(p)
[Combinatorial map: reverse,
 Combinatorial map: complement,
 Combinatorial map: permutation poset,
 Combinatorial map: Robinson-Schensted insertion tableau,
 Combinatorial map: inverse,
 Combinatorial map: Robinson-Schensted recording tableau,
 Combinatorial map: foata_bijection,
 Combinatorial map: descent composition,
 Combinatorial map: Increasing tree,
 Combinatorial map: Binary search tree (left to right),
 Combinatorial map: Robinson-Schensted tableau shape,
 Combinatorial map: to alternating sign matrix,
 Combinatorial map: Simion-Schmidt map]

The way it works: the decorator replaces the tagged methods by instances of
combinatorial map class, the functions only checks which methods are indeed
instances of this class.

It is partly the information you need even so I'm not sure it's a good way
to have it. And also, this function is hidden somewhere and not accessible
from the object or the parent itself.

About Nathan's suggestion to have a flag, I don't know if it's such a good
idea. The idea is to provide this semantic information to any user of Sage
not machines.

Also, there is no need to bring Findstat into the debate. We have our own
sage branch for the website. Git has made it quite easy for us to maintain
it and do whatever we want in it, the concern here is indeed Sage.

The way I see this, *because* of the FindStat use case, the
combinatorial_map decorator has been introduced and many Sage developers
have been devoted time into adding semantic information into sage methods.
Of course, we could remove this all together, but this would be a great
loss for Sage as this semantic information is useful for users. And Here, I
speak as a combinatorist person working with these objects every day.

So, our concern should be: how to make this information easily available to
users and how could we store this without impacting efficiency of the
program.

-- 
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: [sage-devel] redesign combinatorial statistics

2014-05-27 Thread Viviane Pons
>
> Dead right ! Is there any reason why gathering this semantic information
> requires this decorator to wrap the function in a combinatorial map ? Can't
> the information be gathered wherever we need it *without* modifying the
> actual function ? You could do whatever you need with a decorator that,
> when applied to a function f with some flags, stores a copy of this
> function f and works with the flags while returning the original function
> f, can't you ?
>
> This would make it less intrustive, and actually not intrusive at all !
>
>
 Yes I've thought of that. I'm trying to find the best way of doing it. The
decorator seems the best way to flag. Before returning the orignal
function, I could store the "map" itself. But I would like to create the
map objects only if needed, and this I'm not yet sure how to do.

-- 
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.


Re: [sage-combinat-devel] Re: [sage-devel] redesign combinatorial statistics

2014-05-27 Thread Viviane Pons
Let's not mix everything here. In FindStat, we do use a database for
statistics (not maps) but that's not what we're talking about here. We're
just talking about flagging some object methods as maps with some semantic
information.

If we were to use a sage database for those maps (I've never used one, I
don't know how it works), how we would do? Are we talking about something
persistent here? I was more thinking of just storing some data  when the
object is created, which means where the decorator is called.

What I have in mind (and I think what Nathan had in mind) is

def map_decorator(f, args):
# storing the info
return f

my only question is what "storing the info" means. I understand Nathan is
suggestiong I just put it in some database object somewhere, and then my
permutation object would just ask this object whenever it needs to give the
list of maps. Am I right here?


2014-05-28 0:24 GMT+02:00 Paul-Olivier Dehaye <
paul-olivier.deh...@math.uzh.ch>:

> For anyone involved in findstat, there are several layers of complexity.
> This is my assessment from outside the findstat collaboration:
>  - they also deal with Mathematica code
>  - they also deal with user-generated information that is not code
>  - they also develop some of the code and would thus 1) prefer to maintain
> one rather than two separate objects (code and database) 2) like to easily
> and flexibly be able to develop the code as they intend to use it (i.e.
> equipped with everything, cf. monkey patching)
>  - some of the information they want is added/could easily be added by
> others in sage code
>  - just like the LMFDB, the database term is a misnomer. They want their
> thing to be data and code. The code is partly their data, either directly
> (class dependencies) or indirectly (the code is run to produce the data).
>
> Paul
>
>
> Paul-Olivier Dehaye
> SNF Professor of Mathematics
> University of Zurich
> skype: lokami_lokami (preferred)
> phone: +41 76 407 57 96
> chat: pauloliv...@gmail.com
> twitter: podehaye
> freenode irc: pdehaye
>
>
> On Wed, May 28, 2014 at 12:13 AM, Simon King wrote:
>
>> Hi Viviane,
>>
>> On 2014-05-27, Viviane Pons  wrote:
>> > The way it works: the decorator replaces the tagged methods by
>> instances of
>> > combinatorial map class, the functions only checks which methods are
>> indeed
>> > instances of this class.
>>
>> And, if I understand correctly, it is this kind of things that makes
>> Nathann ask for removal of the decorator.
>>
>> What you *want* to do is create a database that handles requests of the
>> type "what combinatorial maps are provided by a class C?", or perhaps even
>> better "what combinatorial maps are provided by a sub-category S of
>> Sets().Finite()?". This could very well be a (SQLAlchemy?) database that
>> is
>> stored somewhere, perhaps even in a remote location.
>>
>> But what you *do* is to encode this database via the *type* of methods.
>> The information is not put into an external database, but the
>> information is stored *implicitly* by changing Sage code.
>>
>> I agree with Nathann: This is intrusive! And when your decorator
>> replaces methods by "instances of some class" then certainly the
>> overhead of calling these methods will increase. Applying your decorator
>> to a frequently (recursively?) used method may result in a slow-down, as
>> it seems.
>>
>> Even when trying to take your perspective, I still don't understand why
>> you might want the decorator to work in that way.
>> Certainly a proper database (relying on a dedicated database engine) is
>> faster and easier to search and thus more useful for you than an ad-hoc
>> function that ultimately relies on listing attributes and determining
>> their types.
>>
>> So, what is the rationale for *not* using a database for your database of
>> combinatorial maps?
>>
>> > It is partly the information you need even so I'm not sure it's a good
>> way
>> > to have it.
>>
>> I see no reason how this could be a good way to have it.
>>
>> > And also, this function is hidden somewhere and not accessible
>> > from the object or the parent itself.
>>
>> "Hidden somewhere" is bad for a user interface.
>>
>> > About Nathan's suggestion to have a flag, I don't know if it's such a
>> good
>> > idea. The idea is to provide this semantic information to any user of
>> Sage
>> > not machines.
>>
>> It seems to me that you are argueing *against* the curre

Re: [sage-combinat-devel] combinatorial statistics

2014-05-27 Thread Viviane Pons
I find it quite difficult now to follow this thread, I see the answer to
some emails that are not even in the thread...

Anyway, I just want to answer to this specific sentence of Nathan: "This is
only technical issues, nothing more. But I hate that it takes one year to
see it fixed."

Well, Nathan, you just have to live with it! See, we're all working on a
global project depending on lots of people, we all have to wait. The fact
that you hate / love something has no impact on my time line whatsoever.
And you should understand that you won't make things faster by a) insulting
people (as you did last year) and b) giving orders (as you just did in this
very thread).



2014-05-27 20:29 GMT+02:00 Nathann Cohen :

> > You asked how you failed me.
>
> Are you *REALLY* answering to that question ? O_o
>
> > Well, I know for a fact that your behaviour on the list has put off
> people from contributing to sage.
>
> Gosh. You are.
>
> > Certainly me, and others who could have contributed indirectly to my
> research projects. So that's how you have failed me, since you ask. But
> that's something I have tolerated for a couple years now.
>
> AHAHahahahahahahaahahahh
>
> > The reason for my email is different: if your attitude persists, it is
> likely to derail what I am trying to do now along the same lines, when it
> is actually starting.
>
> (eating popcorn)
>
> > One option is to truly explain to you what it is that I am trying to do.
> At this point, you are approximately 3 PhD thesis, 7-8 or so research
> papers and a good 15 talks (but they are recorded) behind in terms of
> reading, if you want the background material.
>
> Gosh. You will never find a hat to fit this head.
>
> > Yet you send me to yet another thread that I have already read (and
> participated in).
>
> So you noticed.
>
> > Also, your ticket's description is a hodgepodge of one precise
> ("Graph.to_partition is very badly named") and two large grievances ("only
> there for findstat", "find_stat, a project distinct from Sage"). I have not
> made up my mind on the precise, but I know I disagree with the two large
> grievances, and am more informed than you there.
>
> Oh. Well, if this is a problem for you please remove those lines from the
> ticket, I do not mind. Surely that has no impact on the actual changes
> brought to Sage ?
>
> > I like Vincent's approach better than either of ours. Why don't we both
> change tone and try to contribute constructively in "his" thread?
>
> Which thread ? Must haved missed it O_o
>
> > PS: Francoise == Francoise Genova, the astronomer who was invited in
> Edinburgh.
>
> Quite frankly, I have no memory for names and faces.
>
> Nathann
>
> --
> 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.
>

-- 
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.


Re: [sage-devel] Re: [sage-combinat-devel] Re: redesign combinatorial statistics

2014-05-28 Thread Viviane Pons
I think we all agree on this idea now (that the decorator should not wrap
the method), so there is no point in keeping the argument.

Still, I have asked a few questions on which I'd like you guys opinions:

- what's the best way to store this information? Nathan and Simon mentioned
database, would this be a run time database? Or something persistent?

- Where to put the method to get the maps, right now it is a function
hidden in some folder. I would like people to be able to see it when
they're on the object, but it seems silly to add it manually to the object
and yet, it shouldn't be on every object...

Cheers

Viviane


2014-05-28 19:00 GMT+02:00 Nathann Cohen :

> Yo !
>
> > I agree 100% with your summary, Simon, except that
> > 1) Nathann will have to say himself whether he agrees or not;
>
> I think that the first time I said it was on the 20/6/2013 (one year ago):
>
> https://groups.google.com/d/msg/sage-devel/SnPfidRM9j8/u7f4X-cLlrsJ
> Quote : "Well, just returning the function as it is while registering the
> decorator's information somewhere seems to be nice. The decorator could
> even add some information to the docstring so that this information would
> automatically appear in the doc !"
>
> Then, I repeated it (same day one year ago)
> https://groups.google.com/d/msg/sage-devel/SnPfidRM9j8/4LbWLMBf-2kJ
>
> I added yesterday a link toward the link above :
> https://groups.google.com/d/msg/sage-devel/QRUXmy6UZVo/wiEpg-eCnYAJ
>
> Which was right after mentionning this idea again :
> https://groups.google.com/d/msg/sage-devel/QRUXmy6UZVo/BJ0WMYjmKJ0J
>
> I mean...
> I don't know
> Yeah... I am pretty sure that I did my job and that I mentionned the
> idea. What more can I do ?
>
> Nathann
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-de...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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.


Re: [sage-devel] Re: [sage-combinat-devel] Re: redesign combinatorial statistics

2014-05-29 Thread Viviane Pons
I actually do think it would be a really good thing to have a statfinder
within sage, and somehow merge findstat code with sage code. It would
benefit both sage and findstat users. At the end, both FindStat and Sage
have the same aim: using computers to help us doing research. I understand
completely that it should have no impact on performance for other people
(but it is true for every code someone adds...) but I do not understand the
"it is useful only for FindStat users so it is not useful". Anyway, this
not going to happen in the near future, I mostly see this as long term
objective and it is only my opinion.

The short term perspectives is for "us FindStat people" to build a FindStat
API that would allow query from external websites. It does not seem that
complicated, it's mostly a question of taking the time to do it. Once we
have that, we can start thinking of more integration, local computation,
etc.


2014-05-29 22:35 GMT+02:00 John Cremona :

> On 29 May 2014 21:02, Nathann Cohen  wrote:
> >> > BUT: this would result in code in Sage that is not useful purely
> >> > within Sage. And there are people, loud people, that say there should
> >> > not be such code in Sage.
>
> I do not know what is "code in Sage that is not useful purely within Sage".
>
> John
>
> >>
> >> I can hear your frustration ... In similar situations, it helped me to
> >> keep in mind that loud people are not always representative. Of course
> >> the difficulty is to fetch the opinion from the others.
> >
> >
> > Ahahahahahahah. Well, only including in Sage code that is useful to "a
> Sage
> > user" or "other developpers" does not seem that far-fetched. I still do
> not
> > see what the problem is with that.
> >
> > Err Well, assuming the obvious : that I am the "loud people" you
> > mention.
> >
> > Nathann
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to sage-devel+unsubscr...@googlegroups.com.
> > To post to this group, send email to sage-de...@googlegroups.com.
> > Visit this group at http://groups.google.com/group/sage-devel.
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-de...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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] Talk

2014-07-10 Thread Viviane Pons
Hi everyone,

I gave a 5 minutes lighting talk yesterday at SciPy on "Experimental pure
mathematics with sage" and it was quite a success!

You can watch it here:

https://www.youtube.com/watch?v=SMyto7WHiNs&list=PLYx7XA2nY5GfuhCvStxgbynFNrxr3VFog

(at 30:20)

I intend to make it a long talk for next PyCon, suggestions are welcome!

Cheers,

Viviane

-- 
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] Sage Days at PyCon 2015

2014-08-11 Thread Viviane Pons
Hi everyone,

I've just written to the PyCon organizing team about making SageDays as a
satelite even for next year conference (April 2015). The idea would be to
organize the Sage Days during the sprint days of the PyCon conference. This
is not done yet but I'm very confident it's going to happen! Anyway, if
you're interested in helping us with the organization or if you have ideas
or suggestions, please write to me.

Also, the talk proposal have been open for PyCon 2015 in Montreal:

https://us.pycon.org/2015/

I'm going to propose a talk about experimental mathematics in
combinatorics, I'm pretty sure many things we do here in Sage are really
interesting for PyCon people, so do propose talks!

All the best

Viviane

-- 
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] PyCon talk proposal

2014-08-26 Thread Viviane Pons
Hi everyone,

a reminder that you still have until 15th of September to submit a talk for
PyCon 2015 in Montreal. I read some of you are attending SciPyEurope or
EuroPython and that's great!

A talk proposal is much shorter than a conference paper, mine took only one
day to write. If you don't know what you could talk about, here are some
ideas:

- how do you use Python in your research?

- have you developed or are you using some framework or something
specifically for your code that could benefit the entire Pycon community
(categories, debugging, etc)?

- Are you using Sage to teach and could you share that experience?

- How do you teach to code to mathematicians?

- sharing you experience of a big open source project.

These are just some ideas. My own talk proposal is about Experimental
mathematics in combinatorics, so mostly answering the first question.

If you don't want to talk for 20 minutes, there are also some 5 minutes
talks.

About funding, it is possible to get funding from PyCon itself for
registration and / or travel costs. Anyway, you should first worry about
submitting a talk and worry about the funding later...

Also, we're in touch with the PyCon organization team to have Sage days
organized during the PyCon sprints, so there will be Sage people at PyCon
next year, so you should consider going!

Cheers,

Viviane

-- 
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] Sage Days 67 at PyCon -- Call for registration and financial aid application

2014-12-11 Thread Viviane Pons
Dear all,

As I have mentioned before, there will be some Sage Days during the next
PyCon in Montreal:

PyCon: April 8-16, 2015
Sage-Days 67: April 13-16, 2015 (during PyCon sprints)

You can find all needed informations here: http://wiki.sagemath.org/days67

Important deadline: financial aid applications accepted until 1st of January

PyCon is usually offering lots of financial assistance towards student, so
please tell your student to apply and attend both PyCon and Sage Days!

We're also welcoming more advanced users: please propose some talks and
projects to on work on. Remember that there will be some other open source
projects sprints going on at the same time (IPython, SciPy,...) so if you
have some common project with them, it's the right place!

PyCon is a great conference and the best opportunity for us to meet the
python community. And I don't need to convince you all of the great benefit
of sprints and Sage days.

Best,

Viviane

-- 
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.


Re: [sage-combinat-devel] Import error using recusive trees

2015-02-10 Thread Viviane Pons
Hi,

I don't know about your import error. But I just wanted to say than
unordered trees were implemented a while ago but never finished...

Here's the ticket:

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

I'm not saying you should use those, maybe it's better to start from
scratch, but it's always good to know it exists!

By the way, ot's something that would be very cool to have.

Best,

Viviane

2015-02-10 12:50 GMT+01:00 Henrik Sperre Sundklakk <
henrik.sundkl...@gmail.com>:

> I am implementing unordered rooted trees in Sage (to use them in
> B-series). When trying to iinherit from
> sage.combinat.abstract_tree.AbstractClonableTree I get an ImportError.
>
> I have successfully called OrderedTrees() from the notebook, so my Sage
> installation is sound. The problem occurs when I use Eclipse.
>
> I launch Eclipse from the Sage shell, and use the Python interpreter
> provided by Sage (/usr/lib/sagemath/local/bin/python2.7). I keep my .py
> files in a directory in my SAGE_PATH. I have successfully imported and
> inherited from classes in Sage (ClonableElement). This code runs, both in
> Eclipse and the nootebook.
>
> However, the following line, even when it is the only line in a file,
> elicit the following error (as does all attempts to import anything
> depending on "abstrac_tree"):
>
> import sage.combinat.abstract_tree
>
> Traceback (most recent call last):
>   File
> "/home/henrik/Documents/studier/masteroppgave/code/pybs/pybs/scratch2.py",
> line 5, in 
> import sage.combinat.abstract_tree# import AbstractClonableTree
>   File
> "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/combinat/abstract_tree.py",
> line 67, in 
> from sage.rings.integer import Integer
>   File "sage/rings/rational.pxd", line 10, in init sage.rings.integer
> (build/cythonized/sage/rings/integer.c:41630)
>   File "sage/rings/rational.pyx", line 56, in init sage.rings.rational
> (build/cythonized/sage/rings/rational.c:30843)
>   File
> "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/rational_field.py",
> line 55, in 
> import infinity
>   File
> "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/infinity.py",
> line 213, in 
> from sage.rings.integer_ring import ZZ
>   File "sage/rings/integer_ring.pyx", line 67, in init
> sage.rings.integer_ring (build/cythonized/sage/rings/integer_ring.c:11566)
>   File
> "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/structure/factorization.py",
> line 188, in 
> from sage.misc.all import prod
>   File
> "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/misc/all.py",
> line 89, in 
> from functional import (additive_order,
>   File
> "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/misc/functional.py",
> line 36, in 
> from sage.rings.complex_double import CDF
>   File "sage/rings/real_double.pxd", line 8, in init
> sage.rings.complex_double
> (build/cythonized/sage/rings/complex_double.c:20095)
>   File "sage/rings/real_double.pyx", line 56, in init
> sage.rings.real_double (build/cythonized/sage/rings/real_double.c:22825)
> ImportError: cannot import name ZZ
>
> Since recursive trees work from the notebook, I guess the problem is me
> doing something wrong trying to import it, but I can't think of what it
> is...
>
> Regards,
> Henrik S. Sundklakk
>
> --
> 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.
>

-- 
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.


Re: [sage-combinat-devel] Import error using recusive trees

2015-02-10 Thread Viviane Pons
Hi,

from what I remember, it was finished but depended on this one:

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

Which is also "almost finished" but still not...

These two tickets come from the old combinat queue (when Sage wasn't on git
yet) and were shared among combinat people without being merged, Nicolas
and Florent are the ones who should know the status...


> P.S. Viviane Pons, what is "ot"?
>

typo: I meant "it"

Best,

Viviane


>  --
> 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.
>

-- 
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] Sage Days 67 at PyCon

2015-02-18 Thread Viviane Pons
Hi everyone,

here is a second call to invite you to participate to Sage Days and PyCon
this spring in Montreal:

PyCon: April 8 -12
Sage Days: April 13 - 16 (during PyCon sprints)

All informations here: http://wiki.sagemath.org/days67

Especially, if you intend to come to PyCon: register quicly! Last year,
they were sold out...

Whether you come only to Sage days or to both events, please send me an
email to let me know.

All the best!

Viviane

-- 
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.


Re: [sage-combinat-devel] Re: Order of Partitions()

2015-03-18 Thread Viviane Pons
2015-03-18 12:40 GMT+01:00 Mike Zabrocki :

> That would make sense.  My preference is that (at least for values less
> than 15) the default is that the output is sorted and this can be
> controlled by the optional parameter.
>
> I think about how many times that I test symmetric function identities on
> partitions and realize that patterns that indicate a relation to dominance
> order will be a lot less clear if the order is not something natural.  I
> wouldn't want the interface to be too complicated, but the more I think
> about it the more I realize that my personal use of partitions is very
> dependent on this order.
>

I would tend to agree with you. The order wasn't documented but I'm pretty
sure many people writing some personal code using partitions still rely on
the order somehow. I feel a good choice would be to give the "nice" order
by default and some parameter to obtain the optimized one.



>
> On Wednesday, 18 March 2015 04:20:15 UTC-4, Samuel Lelievre wrote:
>>
>> Nathann Cohen wrote:
>>>
>>> Hello,
>>>
>>> > I think that Partitions should be output in either lex (or possibly
>>> reverse
>>> > lex) since this order is compatible with dominance order.
>>>
>>> I only want to bring to your attention that deciding in which order
>>> the partitions should be returned is not free in terms of
>>> computational time.
>>>
>>> The current implementation returns them in lex order, but returns
>>> *many* wrong answers too (see #17548).
>>>
>>> In order to fix that, Jeroen is re-implementing this feature through a
>>> routine that enumerates the integer points of a polytope (see #17920),
>>> probably without any control over the order in which they are
>>> returned.
>>>
>>> Thus, in order for Partition/Composition to return them in a specific
>>> order we must list them *all* before returning the first of them. This
>>> can really mean hours (or no results at all) instead of seconds on big
>>> instances.
>>>
>>
>> So would it make sense to have an optional parameter sorted=None,
>> which one could set to 'lex' or 'revlex' to get them in a desired order.
>> The documentation could warn about the issues you just raised.
>>
>  --
> 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.
>

-- 
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.


Re: [sage-combinat-devel] Re: remove combinat/mupad from sagemath website

2015-06-08 Thread Viviane Pons
Hi Nathann,

Isn't it possible to just remove the link to the mupad page from the menu
without removing the page? Then the page would only be accessible from the
combinat page, which makes sense. Honestly, I cannot see the cost of
hosting a html page on a related former project...

Best

Viviane

2015-06-07 23:31 GMT-05:00 Anne Schilling :

>
> On Sunday, June 7, 2015 at 4:21:39 PM UTC-5, Nicolas M. Thiery wrote:
>>
>> On Sun, Jun 07, 2015 at 11:07:44PM +0200, Nathann Cohen wrote:
>> > > - The MuPAD-Combinat citation list is unlikely to evolve much more. I
>> > >   agree that there is no compelling reason to have a link
>> sagemath.org
>> > >   -> Library -> Citations MuPAD; so if you want to remove that link,
>> > >   that's fine with me. On the other hand, there probably isn't much
>> > >   cost nor confusion involved in keeping the page:
>> > >
>> > > http://www.sagemath.org/library-publications-mupad.html
>> > >
>> > >   just to save the time on relocating it elsewhere. Also I would find
>> > >   natural to have a link from the Sage-Combinat list to that list,
>> > >   with a word of explanation.
>> >
>> > So you agree with my proposal.
>>
>> With the amendments I mention above, I am ok with it.
>>
>> Other opinions anyone?
>>
>
> The sage-combinat publication list is used as one of the deliverables for
> each annual report for the NSF combinatorics grant. So it needs to stay as
> long as the grant is active (which it currently is).
>
> Best,
>
> Anne
>
>
> --
> 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.
>

-- 
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] SageDays78 Announcement

2016-03-03 Thread Viviane Pons
Dear all,

I'm happy to announce SageDays78 to happen in Vancouver, June 29 to July
1st 2016:

https://wiki.sagemath.org/days78

These SageDays are organized as a satellite event of the combinatorics
conference FPSAC. The main topic will then be combinatorics. Please follow
the link for more information and registration.

Best

Viviane

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Re: SageDays78 Announcement

2016-04-07 Thread Viviane Pons
Dear all,

here is a reminder about the SageDays78 in Vancouver, June 29 to July 1st
2016:

https://wiki.sagemath.org/days78

And some information:

* Mike Zabroky will be our invited speaker
* We have some (limited) student funding available, please send your
request before April 30.

Best

Viviane



2016-03-03 10:38 GMT+01:00 Viviane Pons :

> Dear all,
>
> I'm happy to announce SageDays78 to happen in Vancouver, June 29 to July
> 1st 2016:
>
> https://wiki.sagemath.org/days78
>
> These SageDays are organized as a satellite event of the combinatorics
> conference FPSAC. The main topic will then be combinatorics. Please follow
> the link for more information and registration.
>
> Best
>
> Viviane
>

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Re: SageDays78 Announcement

2016-04-07 Thread Viviane Pons
Little correction; it is Mike Zabrocki (and not Zabroky as I spelled it,
sorry Mike!)

2016-04-07 14:25 GMT+02:00 Viviane Pons :

> Dear all,
>
> here is a reminder about the SageDays78 in Vancouver, June 29 to July 1st
> 2016:
>
> https://wiki.sagemath.org/days78
>
> And some information:
>
> * Mike Zabroky will be our invited speaker
> * We have some (limited) student funding available, please send your
> request before April 30.
>
> Best
>
> Viviane
>
>
>
> 2016-03-03 10:38 GMT+01:00 Viviane Pons :
>
>> Dear all,
>>
>> I'm happy to announce SageDays78 to happen in Vancouver, June 29 to July
>> 1st 2016:
>>
>> https://wiki.sagemath.org/days78
>>
>> These SageDays are organized as a satellite event of the combinatorics
>> conference FPSAC. The main topic will then be combinatorics. Please follow
>> the link for more information and registration.
>>
>> Best
>>
>> Viviane
>>
>
>

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Program for Sage Days 78

2016-06-07 Thread Viviane Pons
Dear all,

the program for Sage Days 78 in Vancouver is now on line:

https://wiki.sagemath.org/days78

If you intend to join us please register if you haven't done so already!

Best

Viviane

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Sage Days 82, Women in Sage

2016-08-31 Thread Viviane Pons
Dear all,

the first ever workshop for women in Sage in Europe (the previous ones were
in the US) will be organized January 9 - 13, 2017 by Jessica Striker,
Jennifer Balakrishnan, and myself.

We will rent a house in Paris area and organize coding sprints, tutorials,
and presentations.

All Sage levels are welcome: from novice to expert.

All informations are here: https://wiki.sagemath.org/days82

Applications are due October 31. **Food and lodging are provided by the
conference**

Please share this among your departments and students.

Best

Viviane

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Call to registration to "Calcul Mathématique Libre" CIRM Feb 11-15 2019

2018-12-22 Thread Viviane Pons
Dear colleagues and fellow developers,

This is reminder for the conference "Calcul Mathématique Libre" which we
organize in CIRM (Marseilles) on Feb 11-15, 2019. Please register **before
January 7**.

This community building and training conference aims to bring together
users and developers of (open source) (pure) mathematics software,
including GAP, Linbox, MPIR, Pari/GP, SageMath, or Singular. Following
a long trend of highly productive workshops within the various
communities (e.g. the Sage-Days series), this conference will consist
of keynote talks and hands on tutorials with a focus on experimental
research and computational and development best practices; and plenty
of free time for interactions and collaborative work.

This conference is organized by the H2020 European project
OpenDreamKit, of which it will be the main public closing event.

Keynote speakers:

- Marie-Françoise Roy (Université de Rennes 1)
  A historical perspective on contributions of researchers and teachers to
(open source) mathematical software
- Max Horn (Justus-Liebig-Universität Gießen)
  Collaborative software development in a large system (GAP)
- Fernando Perez (Berkeley Institute for Data Science, California)
  Scientific computing, user interfaces, and community building
- Anne Schilling (UC Davis California)
  Impact of computer assisted experimentation in combinatorics
- Joris Van Der Hoeven (Ecole Polytechnique)
  General purpose mathematical software design

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Sage Days 98 -- Women in sage

2019-02-04 Thread Viviane Pons
Dear fellow developers,

I am organizing a "Women in Sage" event with Eleni Tzanaki: April 9 -- 12
in Archanes, Crete.

https://wiki.sagemath.org/days98

All local expenses are covered and we can provide travel funding.

The number of participants is limited: applications are due by Feb. 28. All
Sage levels are welcome: from novice to expert. Please share this among
your departments and students.

Best regards

Viviane

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Sage Days Nigeria

2019-02-20 Thread Viviane Pons
Dear Sage people,

we have an opportunity to organize some Sage Days in Nigeria (university of
Ibadan). These would be targeted mostly at local people of the university
of Ibadan and other Nigerian universities. We have a local contact who is
in charge of all the practical aspects.

We are looking for volunteers with good Sage knowledge who would be willing
to travel to Nigeria and organize the Sage aspects. I won't be able to
attend but Erik is already very interested. OpenDreamKit project would take
care of all expenses.

The preferred dates are for now July 15-- 19 2019.

Please let me know if you want to come!

Viviane

PS : Nigeria cannot be considered "safe" as a whole country. Nevertheless,
the region of Ibadan is in the safest part, it is considered ok by the
French website
https://www.diplomatie.gouv.fr/fr/conseils-aux-voyageurs/conseils-par-pays-destination/nigeria/#securite
which I use for all my trips in weird parts of the world. It's a "yellow"
zone. I have been to many yellow zones. We will check with our university
what specific security measures we have to take.

-- 
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 https://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-combinat-devel] Sequences depreciated ?

2010-05-06 Thread Viviane Pons
Hi everyone,

I'm a very new sage developer and I just started working with Adrien
on multivariate polynomials.

As it is now, our objetcs are indexed by IntergerVectors but we can't
keep it this way as we need negative values. We're thinking of using
Sequences (sage.categories.category_types.Sequences). It is written on
the doc that Sequences category is depreciated, does anyone know why
and what is it to be replaced by ?

Also, if you have a better idea of what object we could use to replace
IntergerVectors that would take negative values, please let us know !

Thank's a lot

Viviane

-- 
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] Bug with the has_coerce_map_from method

2010-07-08 Thread Viviane Pons
Hi everyone,

I'am working with modules and making lots of morphism between them I
just discovered a bug with the method "has_coerce_map_from" . This is
the method you use from the codomain to check if a coercion exist to
another domain. Obviously, instead of just checking, the method is
changing the fact that the coercion exist or not

I have attched two files to show you the error. The py file is just
declaring two very basics CombinatorialFreeModule. I have put the
example raising the error in the txt file with comments.

I haven't open a track ticket yet as I don't know if someone is
working on this and who it should be assigned to. Please let me know !

Thank's

Viviane

-- 
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: module = Module1()
sage: mor = module.to_module2_morphism()
sage: codomain = mor.codomain()
sage: 
sage: codomain.has_coerce_map_from(module)
False
sage: codomain.register_coercion(mor)
---
AssertionErrorTraceback (most recent call last)

/home/pons/ in ()

/home/pons/sage-4.4.4/local/lib/python2.6/site-packages/sage/structure/parent.so
 in sage.structure.parent.Parent.register_coercion 
(sage/structure/parent.c:9859)()

/home/pons/sage-4.4.4/local/lib/python2.6/site-packages/sage/structure/parent.so
 in sage.structure.parent.Parent.register_coercion 
(sage/structure/parent.c:9798)()

AssertionError: coercion from Free module generated by xrange(3) over Rational 
Field to Free module generated by xrange(4) over Rational Field already 
registered or discovered
sage: codomain.has_coerce_map_from(module)
False

---> Here, the method "has_coerce_map_from" has somehow told the codomain that 
the morphism is already there, even so it's still returning "False". Note as 
well that the morphism is actually not registered : I've tested the coercion 
and it dosen't work

---

sage: attach "Documents/sage/exemple_bug_coerc.py"
sage: 
sage: module = Module1()
sage: mor = module.to_module2_morphism()
sage: codomain = mor.codomain()
sage: 
sage: codomain.register_coercion(mor)
sage: codomain.register_coercion(mor)
sage: 
sage: codomain.has_coerce_map_from(module)
True
sage: codomain.register_coercion(mor)
---
AssertionErrorTraceback (most recent call last)

/home/pons/ in ()

/home/pons/sage-4.4.4/local/lib/python2.6/site-packages/sage/structure/parent.so
 in sage.structure.parent.Parent.register_coercion 
(sage/structure/parent.c:9859)()

/home/pons/sage-4.4.4/local/lib/python2.6/site-packages/sage/structure/parent.so
 in sage.structure.parent.Parent.register_coercion 
(sage/structure/parent.c:9798)()

AssertionError: coercion from Free module generated by xrange(3) over Rational 
Field to Free module generated by xrange(4) over Rational Field already 
registered or discovered

--> Here, you can see that you can register twice the morphism without raising 
any errors. Only after checking if the morphims is registered, the error schows.

from sage.combinat.free_module import CombinatorialFreeModule

class Module1(CombinatorialFreeModule):

def __init__(self):
CombinatorialFreeModule.__init__(self, QQ, xrange(3))



def to_module2_morphism(self):
module2 = Module2()
return self._module_morphism(
self.to_module2_on_basis,
codomain = module2
)


def to_module2_on_basis(self, num):
module2 = Module2()
return module2.monomial(num)


class Module2(CombinatorialFreeModule):

def __init__(self):
CombinatorialFreeModule.__init__(self, QQ, xrange(4))


Re: [sage-combinat-devel] Re: Bug with the has_coerce_map_from method

2010-07-10 Thread Viviane Pons

Hi Andrey,

What you describe is indeed what should happen but it's not the problem 
i'm encountering. My problem is that the function which is checking if 
the corecion is registered changes the way the system react.


Bug 1 :

- A morphism is created but not registered
- I check if the morphism is registered with "has_corece_map_from", 
answer : False

- I try to register the morphism : error, the morphsim is already registred
- but "has_coerce_map_from" is stillr eturning False and the coercion is 
not working


--> by only checking if the morphisms was registered I stopped him from 
being registered. This is quiet annoying, because, by doing things 
right, you shoul always check if a morphim is registered before 
registering it !


Bug 2 :

-I create the morphism
- I register it
- I register it again : no error !!
- I use "has_coerce_map_from", response : True
- I register the morphism again : error (normal, but should have 
happened the first time)


So my conclusion is that the error is raised not when the morphsims is 
already registered but when it has been checked to be registered (and 
even if the response was false). So maybe the but is not in the 
"has_corece_map_from" function but in the registering morphism function, 
but it's somewhere !


Regards

Viviane

Andrey Novoseltsev a écrit :

Hi Viviane,

I am not a professional in the coercion framework, but I think this it
how it is supposed to behave. Coercion morphisms are cached for
efficiency, so if you try to define a coercion morphism after the
framework has already determined that it does not exist - it gives an
error. Similarly, if a coercion was discovered and cached and you try
to redefine it - it gives an error. So all coercion maps should be set
before any attempts to use them. Hopefully someone will correct me, if
I am wrong.

Thank you,
Andrey

On Jul 8, 8:05 am, Viviane Pons  wrote:
  

Hi everyone,

I'am working with modules and making lots of morphism between them I
just discovered a bug with the method "has_coerce_map_from" . This is
the method you use from the codomain to check if a coercion exist to
another domain. Obviously, instead of just checking, the method is
changing the fact that the coercion exist or not

I have attched two files to show you the error. The py file is just
declaring two very basics CombinatorialFreeModule. I have put the
example raising the error in the txt file with comments.

I haven't open a track ticket yet as I don't know if someone is
working on this and who it should be assigned to. Please let me know !

Thank's

Viviane

 exemple_bug.txt
3KViewDownload

 exemple_bug_coerc.py
< 1KViewDownload



  


--
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: Bug with the has_coerce_map_from method

2010-07-12 Thread Viviane Pons
Ok I understand what you're saying but this is not obvious from the
documentation which says : Return True if there is a natural map from
S to self. Otherwise, return False.

There is nothing in this sentence that says that the function is
actually changing something and stopping you from registering
coertions !

Also, there is still a problem. This beahviour may not be a bug but
it's causing me issues. Look at the example I attached, The behavious
is as follows :

- I create the morphism
- I register the morphism (ok, no error)
- I use the morphism (this is actually moving the coercion to stage 2)
- I register again the morphims : I got an error (still normal from
what you say)

Only, this may look silly on the example but this is exactly what I
was doing on my program which is creating morphism dynamically : and
that is why I tried to use has_coerce_map because I needed to know if
the morphism was already there. So, if has_coerce_map is not the
method I need, what should I do ? Should I launch the coercion anyway
and catch the error ? It seems a bit heavy and a method only checking
would seem usefull.

Also, the name of has_coerce_map_from is also wrong, If it's actually
doing something, it should be called "look_for_coercion" or something
like that. This name (and the doc) says it's a checking method not an
active method.

Regards

Viviane


2010/7/10 Nicolas M. Thiery :
>        Hi Viviane,
>
> On Sat, Jul 10, 2010 at 12:04:06PM +0200, Viviane Pons wrote:
>> What you describe is indeed what should happen but it's not the
>> problem i'm encountering. My problem is that the function which is
>> checking if the corecion is registered changes the way the system
>> react.
>
> Let me build just a bit on Andrey's answer. The point is that
> has_coerce_map_from does not *check* if there is a coercion
> registered; it asks the coercion model to *discover* whether there is
> a coercion, either registered or obtained by transitivity (if you have
> suggestions for improving the documentation of has_coerce_map_from to
> clear this ambiguity, a patch is welcome!)
>
> Then, there are two stages in the life of a parent:
>
>  - In stage I you can register coercions, and reregister them as much
>   as you want (say if you find out that you have a better way of
>   doing a coercion). Any coercion discovery, including using
>   has_coerce_map_from, triggers the switch from stage I to stage II.
>
>  - In stage II you can only register coercions between two parents
>   when no coercion registration or discovery occurred between those
>   before. This rule is for safety, to ensure that all cached
>   information is consistent. One could think of weakening this rule a
>   bit, but care must be taken.
>
> For information: the relevant code is in sage.structure.parent, in
> register_coercion, around line 1356.
>
> Point taken: the error message is ambiguous; when it says "morphism
> already discovered", it does not mean that the discovery was actually
> successful. Do you think "morphism already looked up" would be
> clearer?  If yes, maybe the coercion documentation should be updated
> as well to use "look up" rather than "discover".
>
>> This is quiet annoying, because, by doing things right, you shoul
>> always check if a morphim is registered before registering it !
>
> register_coercion is officially responsible for this check, so you do
> not need to worry about it.
>
>
> By the way, you can simplify:
>
>    sage: module = Module1()
>    sage: mor = module.to_module2_morphism()
>    sage: codomain = mor.codomain()
>    sage:
>    sage: codomain.has_coerce_map_from(module)
>    False
>    sage: codomain.register_coercion(mor)
>
> to:
>
>    sage: module = Module1()
>    sage: mor = module.to_module2_morphism()
>    sage: mor.register_as_coercion()
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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 mo

Re: [sage-combinat-devel] Root lattices & friends

2010-07-12 Thread Viviane Pons
Hi Nicolas,

I'm working on root sytem & friends on the patch I'm developing for
multivariate polynomials :

trac_6629_abstract_ring_of_multivariate_polynomials_with_several_bases_vp.patch

It's still in progress and there are no tests yet (so you won't see it
if you break it). root system are used to index polynomials a bit as
in Nicolas Borie's code but seen as a polynomial ring basis. For
example, there are morphisms to change this group-attached polynomials
to non groups polynomials indexed by relative integer vectors.
Divided difference are defined as a morphism and I will use them to
create the shubert basis.

If you want me to send you sample codes and example, let me know

Regards

Viviane



2010/7/11 Nicolas M. Thiery :
>        Dear root system fans,
>
> I am in the process of refactoring root lattices & friends to properly
> use categories. This in particular makes it trivial to adding
> structure to their group algebras, and so on (toward Schubert
> polynomials and friends as Adrien/Nicolas/Vivianne are working on).
> I used it for a demo during the Affine Schubert Calculus workshop.
>
> To do this properly, I need to reindent almost all the code in those
> files, which is prone to creating conflicts. Before proceeding, I
> double checked with the patch in the queue, and that's ok
> there. Please let me know urgently if you have any personal patches
> that modify sage.combinat.root_system.root_lattice_realization and
> friends!
>
> Nicolas: I'll let you know as soon as my patch is stable. Then you can
> start throwing in divided differences and such in a subsequent patch!
> Also, I read the other e-mail; out of curiosity: was the glitch with
> the divided differences caught by checking the braid relations?
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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] Re: Bug with the has_coerce_map_from method

2010-07-13 Thread Viviane Pons
Here is where I needed the feature, tell me what you think :

I have a FiniteAbstractPolynomialRing which is an abstract algebra
with different basis. It has the monomial basis which is created at
the beginging. And there are lots of "ambient space basis" which
correpond to polynomials indexed by lattices from different ambient
space. There are as many "ambient space basis" as group types so I
don't create them all, only when asked. And these basis all have a
morphism to convert to monomials

I had this function :

def ambient_space_basis(self, letter):
if(letter == "A"): number = self.nb_variables()-1
else: number = self.nb_variables()
code = str(letter) + str(number)
basis =
FinitePolynomialRingWithBasisFromAmbientSpace(self,code,letter,"Ambient
space basis of type " + letter, "X")
self._register_isomorphism( basis.to_monomial_morphism() )
self._register_isomorphism( basis.from_monomial_morphism() )
return basis

If I re ask the basis, this function is called. The basis is only
created once as it is a UniqueRepresentation. But When I call the
function, I don't know if it was the first time and I  always register
the morphisms. This functions is giving me an error if I ask for the
basis when I already used the morphism. So that's why I wrote :

def ambient_space_basis(self, letter):
if(letter == "A"): number = self.nb_variables()-1
else: number = self.nb_variables()
code = str(letter) + str(number)
basis =
FinitePolynomialRingWithBasisFromAmbientSpace(self,code,letter,"Ambient
space basis of type " + letter, "X")
mor = basis.to_monomial_morphism()
if(not mor.codomain().has_coerce_map_from(basis)):
self._register_isomorphism(mor)
self._register_isomorphism(basis.from_monomial_morphism())
return basis

But because the way has_coerce_map_from works, this doesn't work. But
I would like to make this test here.

What I do now is that I register the morphism in the init of
FinitePolynomialRingWithBasisFromAmbientSpace (the object I create)
but i'm not sure it's a good solution as you may want to create the
object without registering the morphism.

Tell me what you think

Regards

Viviane


2010/7/12 Nicolas M. Thiery :
> On Mon, Jul 12, 2010 at 11:28:41AM +0200, Viviane Pons wrote:
>> Ok I understand what you're saying but this is not obvious from the
>> documentation which says : Return True if there is a natural map from
>> S to self. Otherwise, return False.
>>
>> There is nothing in this sentence that says that the function is
>> actually changing something and stopping you from registering
>> coertions !
>
> Note that the name of the function is not
> "has_registered_coerce_map_from". So it is clear that the coercion
> still has to do something non trivial.
>
> But yes, the documentation could be improved. Patch welcome!
>
>> Also, there is still a problem. This beahviour may not be a bug but
>> it's causing me issues. Look at the example I attached, The behavious
>> is as follows :
>>
>> - I create the morphism
>> - I register the morphism (ok, no error)
>> - I use the morphism (this is actually moving the coercion to stage 2)
>> - I register again the morphims : I got an error (still normal from
>> what you say)
>>
>> Only, this may look silly on the example but this is exactly what I
>> was doing on my program which is creating morphism dynamically : and
>> that is why I tried to use has_coerce_map because I needed to know if
>> the morphism was already there. So, if has_coerce_map is not the
>> method I need, what should I do ? Should I launch the coercion anyway
>> and catch the error ? It seems a bit heavy and a method only checking
>> would seem usefull.
>>
>> Also, the name of has_coerce_map_from is also wrong, If it's actually
>> doing something, it should be called "look_for_coercion" or something
>> like that. This name (and the doc) says it's a checking method not an
>> active method.
>
> If this feature is really useful, then you could add an accessor
> self.has_registered_coerce_map_from(domain) in parent.pyx to lookup if
> domain is already in self._coerce_from_hash. Though even that would
> not work perfectly, since self._coerce_from_hash contains both
> registered and discovered coercion maps.
>
> Now do you really need this feature? We never had a need for it.
> Isn't it possible to setup the initialization of your parents so that
> it is guaranteed that the coercion is registered exactly once?
>
> Cheers,
>                                Nicolas
> --
>

[sage-combinat-devel] constant term on multivariate polynomials

2010-09-17 Thread Viviane Pons
Hi everyone,

I'm implementing multivariate polynomials over different basis right
now and I have to compute a scalar product. I don't know which object
or functions I should use, here is my definition :

(f,g) = CT( f(x_1, ... x_n) g(1/x_n, ..., 1/x_1) Prod_{i,j<=n}(1-x_i/x_j))

So the first part of the product (f*g) is ok but the Kernel shouldn't
be developped to compute the constant term (not efficient). As you can
see, my polynomials are Laurent Polynomilas, i.e. with negative
exposants. This product can be computed by steps : first constant term
on x_1 (which is a polynomial in x_2, ..., x_n), then x_2 etc. It can
also be done by using residues

I would like to have your opinion on how I should proceed : is there
any object or method on symbolic expressions that would do the work
efficiently ?


Thanks a lot

Viviane

-- 
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] constant term on multivariate polynomials

2010-09-17 Thread Viviane Pons

 I forgot the i
Hi Viviane,


I'm implementing multivariate polynomials over different basis right
now and I have to compute a scalar product. I don't know which object
or functions I should use, here is my definition :

(f,g) = CT( f(x_1, ... x_n) g(1/x_n, ..., 1/x_1) 
Prod_{i,j<=n}(1-x_i/x_j))


It looks like this is always 0 since the term i=j is allowed.

Best wishes,

Anne



--
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] Where is the __contains__ method ?

2010-09-21 Thread Viviane Pons
Hi everyone,

I am still implenting multivariate poynomials on multi bases and I'm
trying to understand how the __contains__ method works. I can't access
to the code :

sage: M.__contains__??
Error getting source: arg is not a module, class, method, function,
traceback, frame, or code object
Type:   method-wrapper
Base Class: 
String Form:
Namespace:  Interactive
Docstring [source file open failed]:
x.__contains__(y) <==> y in x

but it still does something, it seems to be related to the call method.

I have a quiet complex architechture : here is an example for you to
understand (you can test it yourself as it's already in sage-combinat)

sage: A = AbstractPolynomialRing(QQ); A
The abstract ring of multivariate polynomials over Rational Field
sage: F3 = A.finite_polynomial_ring(3); F3
The abstract ring of multivariate polynomials over Rational Field with
3 variables
sage: M = A.monomial_basis(); M
The ring of multivariate polynomials over Rational Field on the monomial basis
sage: M3 = M._finite_basis(3); M3
The ring of multivariate polynomials over Rational Field with 3
variables on the monomial basis
sage: Schub = A.schubert_basis_on_vectors("A"); Schub
The ring of multivariate polynomials over Rational Field on the
Schubert basis of type A (indexed by vectors)
sage: Schub3 = Schub._finite_basis(3); Schub3
The ring of multivariate polynomials over Rational Field with 3
variables on the Schubert basis of type A (indexed by vectors)
sage: pol = M[1,2,3]; pol
x[1, 2, 3]
sage: pol.parent()
The ring of multivariate polynomials over Rational Field with 3
variables on the monomial basis
sage: pol.parent() == M3
True

Note that only Schub3 and M3 are CombinatorialFreeModule, the other
ones are only facades, they don't actually have elements. That's why
I'm trying to put the sage facades system on them, but first I would
like to undestrand what's happening by default, i.e the way it's coded
now, without any facades category anywhere.

sage: pol in A
---
NotImplementedError   Traceback (most recent call last)

/home/pons/sage-4.5.2/ in ()

/home/pons/sage-4.5.2/local/lib/python2.6/site-packages/sage/structure/parent.so
in sage.structure.parent.Parent.__contains__
(sage/structure/parent.c:6773)()

/home/pons/sage-4.5.2/local/lib/python2.6/site-packages/sage/structure/parent.so
in sage.structure.parent.Parent.__call__
(sage/structure/parent.c:6417)()

NotImplementedError:
sage: pol in M
True
sage: pol in M3
True
sage: pol in Schub
True
sage: pol in Schub3
False
sage: pol in F3
---
NotImplementedError   Traceback (most recent call last)

/home/pons/sage-4.5.2/ in ()

/home/pons/sage-4.5.2/local/lib/python2.6/site-packages/sage/structure/parent.so
in sage.structure.parent.Parent.__contains__
(sage/structure/parent.c:6773)()

/home/pons/sage-4.5.2/local/lib/python2.6/site-packages/sage/structure/parent.so
in sage.structure.parent.Parent.__call__
(sage/structure/parent.c:6417)()

NotImplementedError:


I'm very surprised that the "NotImplementedError" is not raised in
case of M and Schub. By the tests I have done, it seems that because
there is a call function in M and Schub that accepts pol, it returns
True. When I change the categories to use Realizations, this behaviour
is causing me troubles. That's how it works :

M3 is a realization of M and F3
Schub3 is a realization of Schub and F3
F3 is a realization of A
M and Schub are realizations of A

By adding the realizations categories, I remove the
"NotImplementedError" but still, I got the "pol in Schub" returning
true where it should be "False". I don't know what is the clean way of
doing this and where I should rewrite the __contains__ method...

Thank's to anyone who have read all these explanations and than'ks for
your help !

-- 
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] CombinatorialFreeModule and Facade

2010-09-27 Thread Viviane Pons
Hi everyone,

I would like to send the "facade" init parameter to a
CombinatorialFreeModule, but it's not supported whereas it is for
Parent. Should I create a ticket and fix that ?

Regards

Viviane

-- 
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] CombinatorialFreeModule and Facade

2010-09-27 Thread Viviane Pons
I was seeing it the other way arround : the concrete parents giving
their facade parents. This is the way it has to work for me, so
actually, I can't use the "facade" parameter in parents as I don't
know which are the concrete parents when I create the facade.

thank's anyway

2010/9/27 Nicolas M. Thiery :
>        Hi Viviane,
>
> On Mon, Sep 27, 2010 at 11:03:27AM +0200, Viviane Pons wrote:
>> I would like to send the "facade" init parameter to a
>> CombinatorialFreeModule, but it's not supported whereas it is for
>> Parent. Should I create a ticket and fix that ?
>
> A CombinatorialFreeModule provides a concrete implementation. It can't
> be a facade.
>
> What's your use case?
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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] CombinatorialFreeModule and Facade

2010-09-30 Thread Viviane Pons
Hi,

I have just pushed my last changes. I'm using both facades and
representations as we discussed. Still two issues :

- the is_parent_of method checks only one level and I would need it to
check all levels
- the problem we discussed already that the category dosen't overwrite
the default parent method which leads to a conctradiction in the way
__contains__ works

Thanks for your help anyway

Viviane

2010/9/27 Nicolas M. Thiery :
>        Hi Viviane!
>
> On Mon, Sep 27, 2010 at 03:42:55PM +0200, Viviane Pons wrote:
>> I was seeing it the other way arround : the concrete parents giving
>> their facade parents.
>
> I see.
>
>> This is the way it has to work for me, so actually, I can't use the
>> "facade" parameter in parents as I don't know which are the concrete
>> parents when I create the facade.
>
> The facade parameter is just a convenient shortcut for a typical use
> case. For more complicated situations like yours, the facade parent
> can instead declare itself as being in the Sets().Facades() category,
> and implement self.is_parent_of(x) as desired (typically by checking
> that x.parent() is in the appropriate class). Then, it does not need
> to know at creation time which are the concrete parents it is a facade
> for.
>
> Ok, that bit of documentation needs to be improved:
>
> """
>    A parent wich is a facade must either
>
>     - call :meth:`Parent.__init__` together with the parameter ``facade``
>     - overload method :meth:`~FacadeSets.ParentMethods.facade_for`.
> """
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



[sage-combinat-devel] Re: patch Sage

2010-10-25 Thread Viviane Pons
Hi all,

the problem should now be fixed. By copying some files, I had changed
the rights on some Nicolas's files that I didn't intend to change at
all. I have removed these changes from my patch and removed as well
the +disabled as it is working now. If there is still something wrong
with it, please let me know.

Regards

Viviane

Le 22 octobre 2010 16:25, Nicolas M. Thiery  a écrit :
>        Dear all,
>
> There is apparently a conflict between Nicolas's patches (at least on 4.5.2).
>
>  - trac_8581_multivariate_schubert_step_1-nb.patch
>  - trac_8593_lehmer_code_schubert_step_2-nb.patch
>
> And that of Vivianne:
>
>  - 
> trac_6629_abstract_ring_of_multivariate_polynomials_with_several_bases_vp.patch
>  #+disabled
>
> I just disabled the later, and let Vivianne and Nicolas handle the
> resolution.
>
> Cheers,
>                                        Nicolas
>
> On Fri, Oct 22, 2010 at 02:38:50PM +0200, Viviane Pons wrote:
>> Bonjour,
>>
>> je ne suis pas chez moi ce week end et ne peux pas regarder ça. J'ai
>> en effet fait un push hier mais le patch s'appliquait correctement sur
>> ma machine. Quelle version de sage utilisez vous ? Avez vous bien fait
>> un pull des dernières versions ? Car j'ai updaté une version bugguée
>> mercredi mais l'ai corrigée peu de temps après.
>
>
>> Viviane Pons
>>
>> Le 22 octobre 2010 10:45, Frédéric Chapoton
>>  a écrit :
>> > Bonjour,
>> >
>> > il y a un probleme dans sage-combinat avec le patch
>> >
>> > trac_6629_abstract_ring_of_multivariate_polynomials_with_several_bases_vp.patch
>> >
>> > Je n'ai pas pu faire un update ce matin: ca me repond ca
>> >
>> > 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
>> > trac_6629_abstract_ring_of_multivariate_polynomials_with_several_bases_vp.patch
>> > Abort
>> >
>> > Est-ce que vous pourriez corriger ca ?
>> >
>> > Cordialement,
>> > Frederic C.
>> >
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>

-- 
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] combinatorial free module of abstract algebra

2010-10-26 Thread Viviane Pons
Hi everyone,

I'm still working on multivariate polynomials but I try now to see how
could work double multivariate polynomials, I.E in two sets of
variables.

What I try to do is this :

sage: A = AbstractPolynomialRing(QQ);A
The abstract ring of multivarate polynomials over Rational Field
sage: B = AbstractPolynomialRing(A); B
The abstract ring of multivariate polynomials over The abstract ring
of multivariate polynomials over Rational Field

this works, and I can get :

sage: B.an_element()
x[]*x[1, 2, 3]

the first x[] is the one of A and the x[1,2,3] is the monomial of B.
But if I do this :

sage: A.one() * B.an_element()

I get this error :

---
TypeError Traceback (most recent call last)

/home/pons/sage-4.5.3/devel/sage-combinat/ in ()

/home/pons/sage-4.5.3/local/lib/python2.6/site-packages/sage/categories/algebras.pyc
in __mul__(self, right)
138 from sage.structure.element import get_coercion_model
139 import operator
--> 140 return get_coercion_model().bin_op(self, right,
operator.mul)
141
142 #__imul__ = __mul__

/home/pons/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce.so
in sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7066)()

/home/pons/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce.so
in sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:6969)()

TypeError: unsupported operand parent(s) for '*': 'The ring of
multivarate polynomials over Rational Field with 0 variable on the
monomial basis' and 'The ring of multivarate polynomials over The
abstract ring of multivarate polynomials over Rational Field with 3
variables on the monomial basis'


The problems comes from A.one() whose parents is not directly A,

sage: A.one() in A
True
sage: A.one().parent() is A
False

A is an abstract algebra, and I really need the coefficient type to be
an abstract algebra and not a specific basis. It works if I specify a
concrete algebra for coefficients :

sage: AM0 = A.one().parent();AM0
The ring of multivariate polynomials over Rational Field with 0
variable on the monomial basis
sage: B = AbstractPolynomialRing(AM0)
sage: AM0.one() * B.an_element()
x[]*x[1, 2, 3]

but, as I said, this is not what I want...

Do I have to override some functions like the product or is there another way ?

Thank's

Viviane

-- 
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] combinatorial free module of abstract algebra

2010-10-26 Thread Viviane Pons
How do you create coercion with something that is not a combinatorial 
free module ?


Le 26/10/2010 18:51, Nicolas M. Thiery a écrit :

Hi Viviane!

On Tue, Oct 26, 2010 at 05:02:07PM +0200, Viviane Pons wrote:

I'm still working on multivariate polynomials but I try now to see how
could work double multivariate polynomials, I.E in two sets of
variables.

What I try to do is this :

sage: A = AbstractPolynomialRing(QQ);A
The abstract ring of multivarate polynomials over Rational Field
sage: B = AbstractPolynomialRing(A); B
The abstract ring of multivariate polynomials over The abstract ring
of multivariate polynomials over Rational Field

this works, and I can get :

sage: B.an_element()
x[]*x[1, 2, 3]

the first x[] is the one of A and the x[1,2,3] is the monomial of B.
But if I do this :

sage: A.one() * B.an_element()

I get this error :

---
TypeError Traceback (most recent call last)

/home/pons/sage-4.5.3/devel/sage-combinat/  in()

/home/pons/sage-4.5.3/local/lib/python2.6/site-packages/sage/categories/algebras.pyc
in __mul__(self, right)
 138 from sage.structure.element import get_coercion_model
 139 import operator
-->  140 return get_coercion_model().bin_op(self, right,
operator.mul)
 141
 142 #__imul__ = __mul__

/home/pons/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce.so
in sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7066)()

/home/pons/sage-4.5.3/local/lib/python2.6/site-packages/sage/structure/coerce.so
in sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:6969)()

TypeError: unsupported operand parent(s) for '*': 'The ring of
multivarate polynomials over Rational Field with 0 variable on the
monomial basis' and 'The ring of multivarate polynomials over The
abstract ring of multivarate polynomials over Rational Field with 3
variables on the monomial basis'


The problems comes from A.one() whose parents is not directly A,

sage: A.one() in A
True
sage: A.one().parent() is A
False

A is an abstract algebra, and I really need the coefficient type to be
an abstract algebra and not a specific basis. It works if I specify a
concrete algebra for coefficients :

sage: AM0 = A.one().parent();AM0
The ring of multivariate polynomials over Rational Field with 0
variable on the monomial basis
sage: B = AbstractPolynomialRing(AM0)
sage: AM0.one() * B.an_element()
x[]*x[1, 2, 3]

but, as I said, this is not what I want...

Do I have to override some functions like the product or is there another way ?

Hmm, interesting problem. Hopefully it can be solved by declaring a
coercion from AM0 to A doing, well, basically nothing. In
MuPAD-Combinat we could declare such facade coercions, using the
identity as morphism. I am not sure if we can create such facade
coercions in Sage at this point.

Let me know how it goes!

Cheers,
Nicolas
--
Nicolas M. Thiéry "Isil"
http://Nicolas.Thiery.name/



--
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] combinatorial free module of abstract algebra

2010-10-28 Thread Viviane Pons
thank's, that's what I needed to know. There is a big lack of
documentation there :

http://combinat.sagemath.org/doc/reference/sage/categories/morphism.html

For the original issue, I've tested by creating morphism and it's
working well !

Cheers,

Viviane

2010/10/27 Nicolas M. Thiery :
> On Tue, Oct 26, 2010 at 07:47:03PM +0200, Viviane Pons wrote:
>> How do you create coercion with something that is not a
>> combinatorial free module ?
>
> As usual: you create a morphism. In that case, you can use
> SetMorphism to create a morphism from a Python function.
>
>    sage: A = AbstractPolynomialRing(QQ)
>    sage: M = A.monomial_basis();
>    sage: phi = sage.categories.morphism.SetMorphism(Hom(M, A), lambda x: x)
>    sage: phi(M.an_element())
>    x[1, 2, 3]
>    sage: phi.register_as_coercion()
>    sage: A(M.an_element())
>    x[1, 2, 3]
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



[sage-combinat-devel] Inversion of a triangular module morphism

2010-12-01 Thread Viviane Pons
Hi everyone,

dealing with my multivariate polynomials on multi bases, I had a look
into the code of TriangularModuleMorphism especially the part that
inverse a triangular morphism defined on the basis. The method
"preimage" is working well and uses the usual algorithm to inverse
triangular morphim. However, where you create a morphim on basis and
ask for its inverse using the "__invert__" method, it creates another
morphism on basis where the on basis method is actullay the preimage
of the first morphism. This is not efficient at all and is making my
inverse morphisms really slow. The preimage should be used on the
global element and not on basis elements. It is even written as a
comment that it is not well implemented :

# This should be removed and optimized (the inverse should not be computed
# on the basis

An example on where the inverse morphism is unefficient :

sage: A = AbstractPolynomialRing(QQ);
sage: Schub = A.schubert_basis_on_vectors();
sage: pol = Schub[3,2,4,5,6].expand()
sage: mor = Schub._finite_basis(5)._morphism
sage: inv = mor.__invert__()
sage: time mor.preimage(pol)
CPU times: user 0.33 s, sys: 0.00 s, total: 0.33 s
Wall time: 0.33 s
Y(3, 2, 4, 5, 6)
sage: time inv(pol)
CPU times: user 243.01 s, sys: 0.04 s, total: 243.04 s
Wall time: 243.06 s
Y(3, 2, 4, 5, 6)

Here mor is the morphism that transform a Schubert polynomial into a
sum of monomials elements. The Schubert polynomial I chose is quiet
big so there is a lots of elements in the sum. the preimage method
takes the dominant monomial and develop the corresponding schubert and
sees right away that the development corresponds to the entire
polynomial : so it's really quick. Whereas the inverse morphism is
actually transforming each one of monomial elements into a a sum of
Schubert polynomials which takes for ever...

So my questions are: is there a reason it is implementing like that ?
Is there a plan to change it ? What has to be done for that to be
changed and nothing beeing broken ?

Thank's a lot

Viviane

-- 
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] Inversion of a triangular module morphism

2010-12-07 Thread Viviane Pons
I was actually wondering if there were a specific need for the inverse
to be from the same type as the original morphism, in this case, a
triangular morphism on basis. If there is none, the fixing should be
quite easy by creating method morphism with the preimage function
(with maybe an optionnal argument to force the inverse on basis when
needed).

2010/12/1 Nicolas M. Thiery :
>        Hi Vivianne,
>
> On Wed, Dec 01, 2010 at 03:31:51PM +0100, Viviane Pons wrote:
>> dealing with my multivariate polynomials on multi bases, I had a look
>> into the code of TriangularModuleMorphism especially the part that
>> inverse a triangular morphism defined on the basis. The method
>> "preimage" is working well and uses the usual algorithm to inverse
>> triangular morphim. However, where you create a morphim on basis and
>> ask for its inverse using the "__invert__" method, it creates another
>> morphism on basis where the on basis method is actullay the preimage
>> of the first morphism. This is not efficient at all and is making my
>> inverse morphisms really slow. The preimage should be used on the
>> global element and not on basis elements. It is even written as a
>> comment that it is not well implemented :
>>
>> # This should be removed and optimized (the inverse should not be computed
>> # on the basis
>>
>> An example on where the inverse morphism is unefficient :
>>
>> sage: A = AbstractPolynomialRing(QQ);
>> sage: Schub = A.schubert_basis_on_vectors();
>> sage: pol = Schub[3,2,4,5,6].expand()
>> sage: mor = Schub._finite_basis(5)._morphism
>> sage: inv = mor.__invert__()
>> sage: time mor.preimage(pol)
>> CPU times: user 0.33 s, sys: 0.00 s, total: 0.33 s
>> Wall time: 0.33 s
>> Y(3, 2, 4, 5, 6)
>> sage: time inv(pol)
>> CPU times: user 243.01 s, sys: 0.04 s, total: 243.04 s
>> Wall time: 243.06 s
>> Y(3, 2, 4, 5, 6)
>>
>> Here mor is the morphism that transform a Schubert polynomial into a
>> sum of monomials elements. The Schubert polynomial I chose is quiet
>> big so there is a lots of elements in the sum. the preimage method
>> takes the dominant monomial and develop the corresponding schubert and
>> sees right away that the development corresponds to the entire
>> polynomial : so it's really quick. Whereas the inverse morphism is
>> actually transforming each one of monomial elements into a a sum of
>> Schubert polynomials which takes for ever...
>>
>> So my questions are: is there a reason it is implementing like that ?
>> Is there a plan to change it ? What has to be done for that to be
>> changed and nothing beeing broken ?
>
> The TODO says it all: this should be fixed, and what is needed is a
> volunteer! There is a single case where doing things on basis is
> useful: if one wants to cache the result (in other words to
> progressively compute the matrix of the inverse morphism).
>
> I would need to dig into the code to see what exactly needs to be
> done. But feel free to improvise whatever feels natural. As far as I
> remember, the code is tested rather intensively, so that should be a
> safe refactoring.
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



[sage-combinat-devel] Trac 10995 : getitem on ambient sapce of a root system

2011-03-23 Thread Viviane Pons
Hi everyone,

I just opened a ticked on trac about the getitem method on an ambient
space basis of a root system

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

Nicolas, I believe Florent told you about that on Friday when we
looked at it. Is there someone who can fix it or should I do it myself
? If so, should I fix it through a patch in sage-combinat or directly
into Sage ?

Best regards,

Viviane

-- 
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] Trac 10995 : getitem on ambient sapce of a root system

2011-03-24 Thread Viviane Pons
I created a patch :

trac_10995-fixing_getitem_on_ambient_space-vp.patch

under the "Root System and crystals"

and added the fix, I changed my trac to "need review".

Cheers

Viviane

2011/3/23 Nicolas M. Thiery :
>        Hi Viviane,
>
> On Wed, Mar 23, 2011 at 11:38:27AM +0100, Viviane Pons wrote:
>> I just opened a ticked on trac about the getitem method on an ambient
>> space basis of a root system
>>
>> http://trac.sagemath.org/sage_trac/ticket/10995
>>
>> Nicolas, I believe Florent told you about that on Friday when we
>> looked at it. Is there someone who can fix it or should I do it myself
>> ? If so, should I fix it through a patch in sage-combinat or directly
>> into Sage ?
>
> In principle this fix should be small and commute with the other
> ongoing patches on root systems. But just in case, I would do it
> through a patch very low on the queue, and then double check that the
> other patches still apply smoothly.
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



Re: [sage-combinat-devel] Trac 10995 : getitem on ambient sapce of a root system

2011-03-24 Thread Viviane Pons
Ok, I did the simple >0 and <= dimension, it seems to be the quickest.

I uploaded it on trac, so here you go !

Cheers,

Viviane

-- 
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] Trac 10995 : getitem on ambient sapce of a root system

2011-03-25 Thread Viviane Pons
ok, done and I updated the patch on the ticket as well.

Cheers,

Viviane

2011/3/24 Nicolas M. Thiery :
> On Thu, Mar 24, 2011 at 02:49:45PM +0100, Viviane Pons wrote:
>> Ok, I did the simple >0 and <= dimension, it seems to be the quickest.
>>
>> I uploaded it on trac, so here you go !
>
> Thanks!
>
> Sorry to be picky, but consistency in the spacing around < and <=
> would be good (usually one space on both). Also, please add the
> following line at the top of the patch description (e.g. with hg
> qrefresh -e):
>
> #10995: add check on getitem for the ambient space of a root system
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



Re: [sage-combinat-devel] Trac 10995 : getitem on ambient sapce of a root system

2011-03-28 Thread Viviane Pons
Ok, I've followed the instructions and exported the patch. I also
moved it up into the queue so that it appears with the positive
reviewed patches.

Regards

Viviane

-- 
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: Reject on the queue...

2011-04-10 Thread Viviane Pons
Hi,

I have removed the part that was causing problems. It seems to work now.

I'll be away next week from tuesday to tuesday : I won't leave any
uncommitted content so you can modify my patch if needed.

Regards

Viviane

2011/4/10 Florent Hivert :
>      Hi There,
>
> Since Nicolas Borie added is code to the documentation the patch
>
>   
> trac_6629_abstract_ring_of_multivariate_polynomials_with_several_bases_vp.patch
>
> Has a trivial reject:
>
> patching file doc/en/reference/combinat/index.rst
> Hunk #1 FAILED at 43
> 1 out of 1 hunks FAILED -- saving rejects to file 
> doc/en/reference/combinat/index.rst.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 
> trac_6629_abstract_ring_of_multivariate_polynomials_with_several_bases_vp.patch
>
> Viviane can you solve it ? If you have some trouble I can do it for you but I
> don't want to mess up your patch without being sure that you don't have any
> uncommited changes.
>
> 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-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: combinat queue issue?

2011-05-11 Thread Viviane Pons
I seem to have similar issues :

I am still with sage-4.6.2, I did a hg pull and hg update and then
tried to pop and push all the patches and here's what I get :

applying trac_10998-categories-posets-nt.patch
unable to find 'sage/categories/facade_sets.py' for patching
2 out of 2 hunks FAILED -- saving rejects to file
sage/categories/facade_sets.py.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh
trac_10998-categories-posets-nt.patch


The above qselect fixed it but it should have worked without this fix,
the problem came from the update itself.

Regards

Viviane

-- 
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] Sage 4.7 - import error

2011-06-06 Thread Viviane Pons
Hi all,

I just installed sage-4.7 and my patches apply but don't work, I get
this error :

sage: A = AbstractPolynomialRing(QQ)
sage: from sage.combinat.multivariate_polynomials.basis import Bases
sage: B = Bases(A)
---
ImportError   Traceback (most recent call last)

/home/pons/sage-4.7/devel/sage-combinat/ in ()

/home/pons/sage-4.7/local/lib/python2.6/site-packages/sage/misc/lazy_import.so
in sage.misc.lazy_import.LazyImport.__call__
(sage/misc/lazy_import.c:1461)()

/home/pons/sage-4.7/local/lib/python2.6/site-packages/sage/misc/lazy_import.so
in sage.misc.lazy_import.LazyImport._get_object
(sage/misc/lazy_import.c:1025)()

ImportError: No module named Bases

This is breaking my all patch, can you tell me if it is something
wrong on my side or what ? I would like to make my presentation on
sage-4.7 at FPSAC, so it would be great if this could be fixed quickly
!

Thank's

Viviane

-- 
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 4.7 - import error

2011-06-06 Thread Viviane Pons
It seems to work. What's a lazy import ?

I will check tomorrow if I can make everything on my demo work, and I
let you know if I have problems. Please don't make too many updates on
the realizations code before FPSAC, I'm using them a lot !

Regards

Viviane

2011/6/6 Nicolas M. Thiery :
> On Mon, Jun 06, 2011 at 10:57:38AM +0200, Viviane Pons wrote:
>> Hi all,
>>
>> I just installed sage-4.7 and my patches apply but don't work, I get
>> this error :
>>
>> sage: A = AbstractPolynomialRing(QQ)
>> sage: from sage.combinat.multivariate_polynomials.basis import Bases
>> sage: B = Bases(A)
>
> Ah, shoot, it's my fault (and independent on the Sage version). I am
> refactoring the ``realizations'' code, and apparently inheriting from
> a lazy imported class can cause trouble; so my backward compatibility
> link does not work. Can you try replacing
> sage.categories.category_type.Category_realization by
> sage.categories.realizations.Category_realization_of_parent ?
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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] Issue with zeros on Combinat free module

2011-06-07 Thread Viviane Pons
Hi everyone,

I just came across a big "zero" problem on my patch and I was
wondering where it was coming from.

Here is what I have

sage: A = AbstractPolynomialRing(QQ)
sage: m = A.monomial_basis()
sage: (0 * m[1,2]) == 0
False

By comparing sage versions (because, it was working before), it seems
to come from the dict_linear_combination function in
sage.combinat.dict_addition import

Here is the code that is causing issues :

if D != {}:
a = iter(D).next()
if hasattr(a,'parent') and hasattr(a.parent(),'zero'):
zero = a.parent().zero()
else:
zero = 0
for_removal = [key for key in D if D[key] == zero]
for key in for_removal:
del D[key]

This is the part removing the zeros, it used to be only :

for_removal = [ key for key, value in D.iteritems() if value == 0 ]
for key in for_removal:
del D[key]

It seems to me that you're not testing the right 0, when I was looking
for the error, my D was as follow :

sage: D
{[1, 2]: 0}
sage: a =iter(D).next()
sage: a
[1, 2]

so the a is the key, not the value, so the test makes zero equals to
the key zero and not the ring zero :

sage: zero = a.parent().zero()
sage: zero
[0, 0]
sage: D[key]
0
sage: D[key] == zero
False

Obviously, there is something wrong, and it's breaking my program ...

Regards

Viviane

-- 
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] Issue with zeros on Combinat free module

2011-06-07 Thread Viviane Pons
Are you fixing it yourself ? It would be difficult for me to it as I
leave tomorrow morning !

2011/6/7 Nicolas M. Thiery :
>        Hi Vivianne, Christian, and all free module fans,
>
> On Tue, Jun 07, 2011 at 11:44:07AM +0200, Viviane Pons wrote:
>> I just came across a big "zero" problem on my patch and I was
>> wondering where it was coming from.
>> ...
>> Obviously, there is something wrong, and it's breaking my program ...
>
> I agree that this is a bug. Here is a reduction of the problem, using
> that Z3.zero() != 0.0::
>
>    sage: Z3 = IntegerModRing(3)
>    sage: D = { Z3.zero(): 0.0 }
>    sage: sage.combinat.dict_addition.dict_addition([D])
>    {0: 0.000}
>    sage: D = { 0: 0.0 }
>    sage: sage.combinat.dict_addition.dict_addition([D])
>    {}
>
> Whether an item is deleted should only depend on the value, not the
> key. A quick fix is to use ``a = D.itervalues().next()`` instead of
> ``a = iter(D).next()``; this must have been the original intention.
>
> Now, what about replacing:
>
>    for_removal = [key for key in D if D[key] == zero]
>    for key in for_removal:
>        del D[key]
>
> by:
>
>    D = dict( (key, value) for (key, value) in D if not value.is_zero() )
>
> To everyone: do you agree that this is the semantic we want?
>
> Christian: please benchmark!
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



Re: [sage-combinat-devel] Issue with zeros on Combinat free module

2011-06-07 Thread Viviane Pons
it's working !

Thank's, now that it seems ok, I won't do any pull before the presentation !

Nicolas, I already have my demo file as a notebook file, how do I get
it as a python test file ?

Regards

Viviane

2011/6/7 Christian Stump :
> I commit the change -- I now do
>
>    if D != {}:
>        a = D[iter(D).next()]
>        if hasattr(a,'parent') and hasattr(a.parent(),'zero'):
>            zero = a.parent().zero()
>        else:
>            zero = 0
>    for_removal = [key for key in D if D[key] == zero]
>    for key in for_removal:
>        del D[key]
>
> Could you please recheck if that solves your problem.
>
> @Nicolas: calling python methods in cython always slows down
> everything, that's why I check equality rather that calling is_zero.
> Also, your suggestion to construct a new dict at the end, rather than
> deleting the keys with values being zero, slows down the process. I
> will do some benchmarks in a quite minute...
>
> Best, Christian
>
> On Tue, Jun 7, 2011 at 7:17 AM, Christian Stump
>  wrote:
>> Hi,
>>
>>> The final fix will need discussion. In the mean time, just add a micro
>>> patch just before yours to fix dict_addition ``itervalue``.
>>
>> That was my mistake last week when I changed the code -- sorry!
>>
>> I will fix that in the next 2 hours and push...
>>
>> Best, Christian
>>
>
>
>
> --
> Christian Stump
>
> LaCIM, Université du Québec à Montréal
>
> christian.st...@lacim.ca
> http://homepage.univie.ac.at/christian.stump/
>
> --
> 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.



Re: [sage-combinat-devel] Missing patch

2011-07-04 Thread Viviane Pons
Hi,

as my patch is quite low on the queue, whenever there is an error on a upper
patch, it's not working. When did you try to install Sage-Combinat ? Did you
try again since FPSAC ? There seems to be a problem right now on
Sage-Combinat (see Franko's email)

Regards

Viviane

2011/7/4 Florent Hivert 

>  Hi
>
> > I recently installed sage 4.7 and combinat, but I could not use
> > Viviane Pons' patch
> > for multivariate polynomials. I was wondering if the experts here
> > could help me
> > solve the problem. Thank you very much!
>
> To solve a problem, we have to know what is the problem. Could you be more
> specific in describing it. It there an error message ?
>
> 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-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.



Re: [sage-combinat-devel] Missing patch

2011-07-04 Thread Viviane Pons
When is he back, do you know ?

I ask because, it is blocking sage-combinat to install properly for a
student of ours here as well.



2011/7/4 Anne Schilling 

> Hi Jia,
>
> Did you do
>
> sage -combinat install
>
> after you installed sage?
>
> In any case, some of Nicolas' patches do not apply right now. I tried to
> disable
> them, but then one needs to disable half of the queue as a consequence
> (also
> some of Christian Stump's patches). He is on holidays right now, so you
> will have
> to wait until he is back, or Viviane could move her patches up in the
> queue.
>
> Best,
>
> Anne
>
>
> On 7/4/11 7:46 AM, Jia Huang wrote:
>
>> Hi Viviane,
>>
>> Yes, I did try to install sage-combinat again since FPSAC.
>> Nicolas helped me install it at FPSAC, on my laptop with only
>> windows. There was a problem with using your patch after the
>> installation, and Nicolas solved it.
>>
>> Now I switch to linux and installed sage-combinat myself.
>> But I met the same problem with your patch.
>> I don't know if it's related to Franco's problem.
>>
>> Best,
>> Jia
>>
>> On Mon, Jul 4, 2011 at 9:52 PM, Viviane Pons  wrote:
>>
>>> Hi,
>>>
>>> as my patch is quite low on the queue, whenever there is an error on a
>>> upper
>>> patch, it's not working. When did you try to install Sage-Combinat ? Did
>>> you
>>> try again since FPSAC ? There seems to be a problem right now on
>>> Sage-Combinat (see Franko's email)
>>>
>>> Regards
>>>
>>> Viviane
>>>
>>> 2011/7/4 Florent 
>>> Hivert
>>> >
>>>
>>>>
>>>>  Hi
>>>>
>>>>  I recently installed sage 4.7 and combinat, but I could not use
>>>>> Viviane Pons' patch
>>>>> for multivariate polynomials. I was wondering if the experts here
>>>>> could help me
>>>>> solve the problem. Thank you very much!
>>>>>
>>>>
>>>> To solve a problem, we have to know what is the problem. Could you be
>>>> more
>>>> specific in describing it. It there an error message ?
>>>>
>>>> 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-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<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<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<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.



Re: [sage-combinat-devel] Missing patch

2011-07-06 Thread Viviane Pons
The sage-combinat install did not work well, it seems that you need an hg
username, but I thought that was not needed for the install itself, can
anyone clarify ?

Regards


Viviane

2011/7/6 Jia Huang 

> Hi Franco,
>
> jia@jia-laptop:~/sage$ sudo ./sage -combinat update
> Switching to sage combinat root directory:
> /home/jia/sage/devel/sage-combinat
> Storing top applied patch
> Unapplying all the patches
>  /home/jia/sage/sage -hg --config 'extensions.hgext.mq=' qpop -a
> no patches applied
> Pulling the new version of the patches from the patch server
>  (cd .hg/patches ; /home/jia/sage/sage -hg --config
> 'extensions.hgext.mq=' pull -u http://combinat.sagemath.org/patches/)
> pulling from http://combinat.sagemath.org/patches/
> searching for changes
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> Current non version guards:
> Updated non version guards:
> Skip backward compatibility patches for sage 4.1.2
> Skip backward compatibility patches for sage 4.3.1
> Skip backward compatibility patches for sage 4.3.2
> Skip backward compatibility patches for sage 4.3.3
> Skip backward compatibility patches for sage 4.3.4
> Skip backward compatibility patches for sage 4.4
> Skip backward compatibility patches for sage 4.4.1
> Skip backward compatibility patches for sage 4.4.2
> Skip backward compatibility patches for sage 4.4.3
> Skip backward compatibility patches for sage 4.4.4
> Skip backward compatibility patches for sage 4.5
> Skip backward compatibility patches for sage 4.5.2
> Skip backward compatibility patches for sage 4.5.3
> Skip backward compatibility patches for sage 4.6
> Skip backward compatibility patches for sage 4.6.1
> Skip backward compatibility patches for sage 4.6.2
> Skip backward compatibility patches for sage 4.7
> Keep backward compatibility patches for sage 4.7.1
> Keep backward compatibility patches for sage 5.0
> Updating guards
>  /home/jia/sage/sage -hg --config 'extensions.hgext.mq=' qselect -q -n
>  /home/jia/sage/sage -hg --config 'extensions.hgext.mq=' qselect 4_7_1 5_0
> number of unguarded, unapplied patches has changed from 157 to 193
> Warning: the former top patch no patches applied does not exist anymore
> Applying all patches
>  /home/jia/sage/sage -hg --config 'extensions.hgext.mq=' qpush -a
> applying sage-4.7.1.patch
> patch sage-4.7.1.patch is empty
> cleaning up working directory...done
> abort: no username supplied (see "hg help config")
> Abort
>
> jia@jia-laptop:~/sage$ cd /home/jia/sage/devel/sage-combinat
> jia@jia-laptop:~/sage/devel/sage-combinat$
>
> jia@jia-laptop:~/sage$ sudo ./sage -hg qpush -a
> hg: unknown command 'qpush'
> 'qpush' is provided by the following extension:
>
>mq  manage a stack of patches
>
> use "hg help extensions" for information on enabling extensions
>
>
> jia@jia-laptop:~/sage$ sudo ./sage -br
>
> --
> sage: Building and installing modified Sage library files.
>
>
> Installing c_lib
> scons: `install' is up to date.
> Updating Cython code
> Execute 0 commands (using 0 threads)
> Time to execute 0 commands: 0.609705924988 seconds
> Finished compiling Cython code (time = 7.4320909977 seconds)
> running install
> running build
> running build_py
> running build_ext
> Execute 0 commands (using 0 threads)
> Time to execute 0 commands: 0.0160980224609 seconds
> Total time spent compiling C/C++ extensions:  0.367668867111 seconds.
> running install_lib
> running install_egg_info
> Removing
> /home/jia/sage/local/lib/python2.6/site-packages/sage-0.0.0-py2.6.egg-info
> Writing
> /home/jia/sage/local/lib/python2.6/site-packages/sage-0.0.0-py2.6.egg-info
> --
> | Sage Version 4.7, Release Date: 2011-05-23 |
> | Type notebook() for the GUI, and license() for information.|
> --
> Loading Sage library. Current Mercurial branch is: combinat
>
> Best,
> Jia
>
>
> On Wed, Jul 6, 2011 at 9:08 AM, Franco Saliola  wrote:
> > Hello Jia,
> >
> > Please run the following commands and cut-and-paste all the output so
> > that we can try to diagnose the problem.
> >
> >   sage -combinat update
> >   cd $(sage -root)/devel/sage-combinat
> >   sage -hg qpush -a
> >   sage -br
> >
> > Franco
> >
> > --
> >
> > On Wed, Jul 6, 2011 at 9:01 AM, Jia Huang 
> wrote:
> >> Anne,
> >>
> >> I just reinstalled sage and sage-combinat. It's still not working:
> >>
> >> --
> >> | Sage Version 4.7, Release Date: 2011-05-23 |
> >> | Type notebook() for the GUI, and license() for information.|
> >> --
> >> Loading Sage library. Current Mercurial branc

Re: [sage-combinat-devel] Sage-Combinat meeting in Cernay

2011-12-16 Thread Viviane Pons
6/2 - 10/2 is ok for me. But I need to know that this is fixed as I need to
reschedule some classes.

See you

Viviane

2011/12/13 Nicolas M. Thiery 

> On Tue, Dec 13, 2011 at 09:37:03AM +0100, Florent Hivert wrote:
> >  [X]  6/2-10/2
> >  [ ] 27/2- 2/2   I'll be skiing. You too Florent actually :-)
> >  [X] 12/3-16/3
>
> Cheers,
>Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



Re: [sage-combinat-devel] Re: Sage-Combinat meeting in Cernay

2012-01-04 Thread Viviane Pons
Hi everyone,

where are we on the matter of the week in Cernay ? I really need to know
when this is happening as I have some classes to organize !!

See You

Viviane

-- 
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] Bug with Schubert polynomials?

2012-03-05 Thread Viviane Pons
Hi,

About your bug, I don't know if someone is looking after
SchubertPolynomialRing, from what I see it is mostly sent to symmetrica. I
see what is causing the problem, when creating an element, the index is
sent to Permutation_class which doesn't check if the list is a valid
permutation.

When I try :

sage: perm = Permutation([1,2,1])
sage: perm
[1, 2, 1]

Sage is not saying anything. But, there seem to be a fix in sage-combinat :

sage: perm = Permutation([1,2,1])
---
ValueErrorTraceback (most recent call last)
...
ValueError: the list l (=[1, 2, 1]) must contain each integer of {1,...,n}
one time

Nevertheless, SchubertPolynomialRing is using directly Permutation_class
which doesn't check anything.

sage: from sage.combinat.permutation import Permutation_class
sage: perm = Permutation_class([1,2,1])

So, the fix is in 2 steps :

- find what patch is fixing Permutation in sage-combinat and see if it is
reviewed / accepted when it is due into Sage.
- use Permutation instead of Permutation_class inside SchubertPolynomialRing

Also, just to let you know, there is also another object you can use to
work with Schubert polynomials.

sage: A = AbstractPolynomialRing(QQ)
sage: Schub = A.schubert_basis_on_vectors()
sage: pol = Schub[2,0,1]
sage: pol.expand()
x(2, 1, 0) + x(2, 0, 1)

elements are indexed by lehmer code. I'm don't know SchubertPolynomialRing
so I'm not sure what are the exact differences in terms of functionalities.
But this other object contains many bases of the polynomial ring and makes
it easy to work with divided differences. You need to install sage-combinat
to use it as it is not yet in Sage.. There are some worksheet on my webpage
: http://www-igm.univ-mlv.fr/~pons/en/research.php

If you're interested in this, please let me know and send me all your
feedbacks / questions.

Best regards

Viviane


2012/3/1 Leandro Vendramin 

> Hi,
>
> I already reported this bug but maybe it is worthwhile to mention the
> problem here since this bug crashes Sage (console).
>
> I am using Sage Version 4.8, Release Date: 2012-01-20 compiled from
> sources (linux). I found a problem related to the computation of Schubert
> Polynomials.
> Suppose that I want to make some computations with these polynomials. What
> I do is the following:
>
> >sage: S = SchubertPolynomialRing(ZZ)
>
> Then if I want to compute the polynomial associated to the permutation,
> say, [3,2,1], I do the following:
> > sage: S([3,2,1]).expand()
>
> But if I make a mistake and enter [1,2,1], which of course is not a
> permutation, console Sage crashes.
> This is the output:
>
> >sage: S([1,2,1]).expand()
> >function: mult_apply_integer(2)
> >python:
>
> Maybe it is important to mention that when I use the Sage notebook this
> problem seems to be overlooked. No error messages, no answers...
> I tested the same code with Sage Version 4.6, Release Date: 2010-10-30,
> compiled from sources, and the same problem appears.
>
> Best,
> Leandro
>
>  --
> 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.



Re: [sage-combinat-devel] [sage-devel] Bug with Schubert polynomials?

2012-03-05 Thread Viviane Pons
It will also slow things for SchubertPolynomialRing if we do the check for
each new element. The problem is that when the permutation is not correct
and someone try to expand the polynomial, then instead of doing a usual
exception, it stops the program ! I think it comes from something with
symmetrica, but I don't know anything about that. Maybe, the check could be
made only when expanding the polynomial...

2012/3/5 Vincent Delecroix <20100.delecr...@gmail.com>

> Hello,
>
> > Sage is not saying anything. But, there seem to be a fix in
> sage-combinat :
> >
> > sage: perm = Permutation([1,2,1])
> >
> ---
> > ValueErrorTraceback (most recent call
> last)
> > ...
> > ValueError: the list l (=[1, 2, 1]) must contain each integer of
> {1,...,n}
>
> It's me (improve_constructors_of_iet-vd.patch). But, I don't know if
> it's a good idea as it slows down everything. In
> PermutationGroupElement, there is a check options wich is set to True
> by default. This may be an issue.
>
> Cheers,
> Vincent
>
> --
> 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.



Re: [sage-combinat-devel] [sage-devel] Bug with Schubert polynomials?

2012-03-15 Thread Viviane Pons
I can do it but I'm not sure when...

2012/3/6 Nicolas M. Thiery :
>        Dear Viviane,
>
> On Mon, Mar 05, 2012 at 03:39:39PM +0100, Viviane Pons wrote:
>>    About your bug, I don't know if someone is looking after
>>    SchubertPolynomialRing, from what I see it is mostly sent to symmetrica.
>
> Thanks for investigating. This sounds right: Symmetrica is extremely
> sensitive on its input, and tends to segfault when they are not
> exactly what it expects. I am not sure about systematically checking
> every Permutation that is created in Sage like Vincent's patch
> does. On the other hand, data sent to SchubertPolynomialRing should
> definitely be checked systematically to avoid horrible crashes like
> the one reported.
>
> Volunteers?
>
> Cheers,
>                                Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



Re: [sage-combinat-devel] Catalan

2012-03-23 Thread Viviane Pons
Hi Vivace,

it would be great if you worked on that. some of it has already be
done in the patch trac_11571_catalan_objects-nm.patch

the files are in sage/combinat/catalan

it has been written by Nevena Milojkovic who was a student in
Marne-la-Vallee. She didn't stay and is no longer working on it, But I
still have her email if you need it. I'm not sure exactly what she has
developed and how far she went. I'm not even sure everything she did
is into sage-combinat. But you can have a look, I'm pretty sure she
implemented most of the bijection algorithms.

Cheers

Viviane

2012/3/23 Florent Hivert :
>      Hi,
>
>> I am totally new to this. But would very much like to work on
>> http://trac.sagemath.org/sage_trac/ticket/11571
>>
>> Some classes for objects that can be counted by the catalan numbers.
>> What would be a good place to start to look for the format i would
>> need to follow.
>
> You should contact the author and guys in cc in this ticket to see what has
> already been done. Since I'm not sure they are following this mailing list,
> writing directly on the ticket (after getting a trac account) is probably the
> best way.
>
> 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-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.



Re: [sage-combinat-devel] Re: Sage-Combinat on Sage 5.0.beta12

2012-04-06 Thread Viviane Pons
Hi Nicolas,

some questions :

On what version of sage should we be developing ?
is Sage 5 supposed to arrive soon ?

Thank's

Viviane



2012/4/6 Nicolas M. Thiery :
>
> For the record: the Sage-Combinat queue now applies smoothly on Sage 
> 5.0.beta12.
>
> Cheers,
>                                Nicolas
>
> PS: Franco: I had to rebase
> trac_9123-schur-algebra-and-gln-characters-ht.patch for a trivial
> conflict in sage/algebras/all.py. I did that by removing a bit of
> context. By the way: TensorSpace seems too generic a name to be
> exported in all.py.
>
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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] Default basis ring for ambient space

2012-05-07 Thread Viviane Pons
Hi everyone,

I just noticed that the default basis ring for ambient space has been
changed to cyclotomic field. I don't know the reason behind that but
it doesn't seem handy !

In my case, I use the elements of the ambient space to index another
combinatorial free module and it is a pain that their basis ring
elements are not number.

Here is an example:

sage: R = RootSystem("A3")
sage: A3 = R.ambient_space()
sage: key = A3.an_element()
sage: key
(2, 2, 3, 0)
sage: key[0]
2
sage: type(key[0])

sage: xrange(key[0])
---
TypeError Traceback (most recent call last)

/home/pons/sage-5.0.rc0/devel/sage-combinat/ in ()

TypeError: an integer is required

This type of thing just broke my entire patch on multivariate
polynomials. I had to fix it by changing the field to ZZ or QQ but I
wonder why the default field has been changed...


Cheers

Viviane

-- 
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] Default basis ring for ambient space

2012-05-08 Thread Viviane Pons
Ok, well in the mean time I will force the field to be QQ on my hand.
But I think a long end solution would be to do some test on the root
system type to decide what is the best field.

Cheers

Viviane

2012/5/8 Christian Stump :
> Hi Viviane,
>
>> This type of thing just broke my entire patch on multivariate
>> polynomials. I had to fix it by changing the field to ZZ or QQ but I
>> wonder why the default field has been changed...
>
> sorry for that!
>
> the reason is that I implemented non-crystallographic root systems and
> reflection groups. That's why I changed the default ring to be the
> universal cyclotomics (which is the smallest field containing the
> integers and all roots of unity). But I agree that in the
> crystallographic types (where everything works over the integers), we
> still should have things working over ZZ.
>
> This patch is still very much under construction, so I expect myself
> to make tons of further changes. I will hopefully find some time tod
>
> --
> 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.



Re: [sage-combinat-devel] [sage-devel] Bug with Schubert polynomials?

2012-05-08 Thread Viviane Pons
I have created the ticket and the patch and fixed the problem : it now
needs to be reviewed, any volunteer ?

Cheers

Viviane

2012/3/15 Viviane Pons :
> I can do it but I'm not sure when...
>
> 2012/3/6 Nicolas M. Thiery :
>>        Dear Viviane,
>>
>> On Mon, Mar 05, 2012 at 03:39:39PM +0100, Viviane Pons wrote:
>>>    About your bug, I don't know if someone is looking after
>>>    SchubertPolynomialRing, from what I see it is mostly sent to symmetrica.
>>
>> Thanks for investigating. This sounds right: Symmetrica is extremely
>> sensitive on its input, and tends to segfault when they are not
>> exactly what it expects. I am not sure about systematically checking
>> every Permutation that is created in Sage like Vincent's patch
>> does. On the other hand, data sent to SchubertPolynomialRing should
>> definitely be checked systematically to avoid horrible crashes like
>> the one reported.
>>
>> Volunteers?
>>
>> Cheers,
>>                                Nicolas
>> --
>> Nicolas M. Thiéry "Isil" 
>> http://Nicolas.Thiery.name/
>>
>> --
>> 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] Bug with trac_12959-improve_with_realizations-fs.patch

2012-05-25 Thread Viviane Pons
Hi everyone,

this patch is breaking Ambient spaces which breaks my patch for
example, and probably lots of other stuff... I'm not sure what the
problem is, so can somebody have a look or disable the patch if the
person is not available (I did it on my local copy but I didn't want
to push it because I have no idea what the patch does and where it is
needed).


sage: R = RootSystem("A3")
sage: R.ambient_space()
---
TypeError Traceback (most recent call last)

/home/pons/sage-5.0/devel/sage-combinat/ in ()

/home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/misc/cachefunc.so
in sage.misc.cachefunc.CachedMethodCaller.__call__
(sage/misc/cachefunc.c:6299)()

/home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/misc/cachefunc.so
in sage.misc.cachefunc.CachedMethod._instance_call
(sage/misc/cachefunc.c:8524)()

/home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/root_system/root_system.pyc
in ambient_space(self, base_ring)
674 if base_ring == ZZ and AmbientSpace.smallest_base_ring() == QQ:
675 return None
--> 676 return AmbientSpace(self, base_ring)
677
678

/home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so
in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
(sage/misc/classcall_metaclass.c:820)()

/home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/misc/cachefunc.so
in sage.misc.cachefunc.WeakCachedFunction.__call__
(sage/misc/cachefunc.c:4293)()

/home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/structure/unique_representation.pyc
in __classcall__(cls, *args, **options)
464 True
465 """
--> 466 instance = typecall(cls, *args, **options)
467 assert isinstance( instance, cls )
468 if instance.__class__.__reduce__ ==
UniqueRepresentation.__reduce__:

/home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so
in sage.misc.classcall_metaclass.typecall
(sage/misc/classcall_metaclass.c:1140)()

TypeError: __init__() takes exactly 3 arguments (4 given)


Thank's a lot !

Viviane

-- 
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] Bug with trac_12959-improve_with_realizations-fs.patch

2012-05-29 Thread Viviane Pons
Thank you Franco, this is fixed !

2012/5/25 Franco Saliola :
> Hello Viviane,
>
> On Fri, May 25, 2012 at 6:16 AM, Viviane Pons  wrote:
>> Hi everyone,
>>
>> this patch is breaking Ambient spaces which breaks my patch for
>> example, and probably lots of other stuff... I'm not sure what the
>> problem is, so can somebody have a look or disable the patch if the
>> person is not available (I did it on my local copy but I didn't want
>> to push it because I have no idea what the patch does and where it is
>> needed).
>>
>>
>> sage: R = RootSystem("A3")
>> sage: R.ambient_space()
>> ---
>> TypeError                                 Traceback (most recent call last)
>>
>> /home/pons/sage-5.0/devel/sage-combinat/ in ()
>>
>> /home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/misc/cachefunc.so
>> in sage.misc.cachefunc.CachedMethodCaller.__call__
>> (sage/misc/cachefunc.c:6299)()
>>
>> /home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/misc/cachefunc.so
>> in sage.misc.cachefunc.CachedMethod._instance_call
>> (sage/misc/cachefunc.c:8524)()
>>
>> /home/pons/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/root_system/root_system.pyc
>> in ambient_space(self, base_ring)
>>    674         if base_ring == ZZ and AmbientSpace.smallest_base_ring() == 
>> QQ:
>>    675             return None
>> --> 676         return AmbientSpace(self, base_ring)
>
> Disabling this patch will break other patches, so I pushed a different
> change instead. (I disabled the inheritance from BindableClass for
> CombinatorialFreeModule, which is a new, very, very experimental
> feature.)
>
> I hope this fixes things for you.
>
> Take care,
> Franco
>
> --
>
> --
> 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] Sage install party FPSAC

2012-06-20 Thread Viviane Pons
Hi everyone,

I was wondering if some of you were attending the next FPSAC in Nagoya
and would be interested in organizing some informal sage presentations
with a sage install party as well. It wouldn't be part of the official
"software presentations" but I'm sure it is possible. As Florent and
Nicolas won't be there, we need some sage developers to help and
participate.

Please let me know who is interested

See you

Viviane

-- 
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: Sage install party FPSAC

2012-06-29 Thread Viviane Pons
As I have seen, the software demo is on the tuesday night before the
poster session but there is no time for the install party there.

Is it to late to it after the poster session on the Monday ? Is the
venue open in the evening ?

Thank's for asking anyway !

Viviane

2012/6/29 Christian Stump :
> Hello,
>
> (sorry for my late reply!)
>
> I will also be there and can help with a sage session.
>
>
>> But the candidate of the time of the session is
>> the same time of the poster session on Monday,
>> the same time of the poster session on Tuesday, or
>> the time after all talks on Thursday before the banquet.
>
>
> Those 3 candidates are certainly no good options though. I definitely want
> to go to the poster sessions (and I guess most if not all others wanna go as
> well).
>
> Btw: Chris Berg also asked for a software demo of our web-based statistic
> finder www.findstat.org, but I don't know the current status of when and
> were we are going to do it...
>
> Best, Christian
>
> --
> 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/-/my4aIlHBbT8J.
>
> 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.



Re: [sage-combinat-devel] Re: Sage install party FPSAC

2012-07-03 Thread Viviane Pons
Ok I just got an answer for professor Soichi Okada. The venue is open
up to 8 PM. So I propose to do an install party on the Monday night
after the poster session so 18-20h. It is good to do it on the first
day, because it lets the whole week to manage to install Sage on all
machines ;). And also, it lets time for people to come afterwards and
ask questions and all.

I can do a general Sage and Sage-combinat presentation and then we
install Sage for people. Also, if some of you have some nice stuff on
Sage that they would like to show (for example, some computations for
things you're presenting during the week), it is a good time to
present it briefly. Please, let me know !

See you all there

Viviane

2012/6/29 Viviane Pons :
> As I have seen, the software demo is on the tuesday night before the
> poster session but there is no time for the install party there.
>
> Is it to late to it after the poster session on the Monday ? Is the
> venue open in the evening ?
>
> Thank's for asking anyway !
>
> Viviane
>
> 2012/6/29 Christian Stump :
>> Hello,
>>
>> (sorry for my late reply!)
>>
>> I will also be there and can help with a sage session.
>>
>>
>>> But the candidate of the time of the session is
>>> the same time of the poster session on Monday,
>>> the same time of the poster session on Tuesday, or
>>> the time after all talks on Thursday before the banquet.
>>
>>
>> Those 3 candidates are certainly no good options though. I definitely want
>> to go to the poster sessions (and I guess most if not all others wanna go as
>> well).
>>
>> Btw: Chris Berg also asked for a software demo of our web-based statistic
>> finder www.findstat.org, but I don't know the current status of when and
>> were we are going to do it...
>>
>> Best, Christian
>>
>> --
>> 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/-/my4aIlHBbT8J.
>>
>> 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.



Re: [sage-combinat-devel] Re: Sage install party FPSAC

2012-07-29 Thread Viviane Pons
Thank you very much. I also have my usb key with different install on it !

2012/7/30 Yasuhide Numata :
> Dear participants of Sage install party at FPSAC in Nagoya.
>
> There are no Sage-mirror servers in Japan.
> So, to download sage binary files,
> we use servers in the other countries.
> Due to the speed of the network between Japan and the other country,
> it sometimes takes long time to download files.
> This may make some trouble at the unofficial Sage session in FPSAC today.
> So I copied some binaries to my space of web server of Tokyo
> university temporally.
> The URL is [1] (and  its shortened URL is [2]).
> If official mirror servers does not work well, then
> please use [2].
> Also, today, I have USB memory sticks containing
> some Sage binaries for Windows, Mac OS and Linux.
> So people who use them
> can copy a binary file from my USB memory stick.
>
> # Beacause I do not know PPA system for Ubuntu well,
> # I did not copy the files for PPA.
> # I copied only the compied Sage binaries.
> # If you want to install via apt, then
> # please use usual severs.
>
> [1] http://www.stat.t.u-tokyo.ac.jp/~numata/nora/sage/5/
> [2] http://goo.gl/g6Kh7
>
>   Cheers,
>   Yas.
>
> 2012/7/3 Viviane Pons :
>> Ok I just got an answer for professor Soichi Okada. The venue is open
>> up to 8 PM. So I propose to do an install party on the Monday night
>> after the poster session so 18-20h. It is good to do it on the first
>> day, because it lets the whole week to manage to install Sage on all
>> machines ;). And also, it lets time for people to come afterwards and
>> ask questions and all.
>>
>> I can do a general Sage and Sage-combinat presentation and then we
>> install Sage for people. Also, if some of you have some nice stuff on
>> Sage that they would like to show (for example, some computations for
>> things you're presenting during the week), it is a good time to
>> present it briefly. Please, let me know !
>>
>> See you all there
>>
>> Viviane
>>
>> 2012/6/29 Viviane Pons :
>>> As I have seen, the software demo is on the tuesday night before the
>>> poster session but there is no time for the install party there.
>>>
>>> Is it to late to it after the poster session on the Monday ? Is the
>>> venue open in the evening ?
>>>
>>> Thank's for asking anyway !
>>>
>>> Viviane
>>>
>>> 2012/6/29 Christian Stump :
>>>> Hello,
>>>>
>>>> (sorry for my late reply!)
>>>>
>>>> I will also be there and can help with a sage session.
>>>>
>>>>
>>>>> But the candidate of the time of the session is
>>>>> the same time of the poster session on Monday,
>>>>> the same time of the poster session on Tuesday, or
>>>>> the time after all talks on Thursday before the banquet.
>>>>
>>>>
>>>> Those 3 candidates are certainly no good options though. I definitely want
>>>> to go to the poster sessions (and I guess most if not all others wanna go 
>>>> as
>>>> well).
>>>>
>>>> Btw: Chris Berg also asked for a software demo of our web-based statistic
>>>> finder www.findstat.org, but I don't know the current status of when and
>>>> were we are going to do it...
>>>>
>>>> Best, Christian
>>>>
>>>> --
>>>> 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/-/my4aIlHBbT8J.
>>>>
>>>> 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.
>>
>
> --
> 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.



Re: [sage-combinat-devel] Re: Macdonald polynomials for root systems

2012-08-30 Thread Viviane Pons
Non symmetric mac donald polynomials are also implemented in
sage-combinat in a more general patch on multivariate polynomials.
This is done by Lascoux's formula using divided differences, but as I
am not a specialist I have not tested this part much.

You can see how the whole patch work on my website :

http://igm.univ-mlv.fr/~pons/en/research.php



2012/8/30 bump :
> In addition to Macdonald polynomials there are the nonsymmetric Macdonald
> polynomials
> which for Type A are implemented in ns_macdonald.py by HHL
> (Haglund-Haiman-Loehr)
> combinatorial algorithm. But one wants nonsymmetric Macdonald polynomials
> for
> all Cartan types.
>
> It was discussed at Sage Days 40 how to compute these for other root
> systems.
> It should be possible soon to implement them by recursively
> applying Demazure-Lusztig operators to a weight. One needs extended affine
> Weyl group, the corresponding Hecke algebra, and then Demazure Lusztig
> operator.
> There are patches for the first two items in the queue. Of these the first
> extended_affine_weyl_groups_sd40.patch is working correctly. The Hecke
> algebra patch needs more work.
>
> --
> 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/-/8LScMwyOKDwJ.
>
> 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.



Re: [sage-combinat-devel] Re: Macdonald polynomials for root systems

2012-09-03 Thread Viviane Pons
Indeed, my patch is not made to work with the affine case, but as I am
no expert I have no idea how it should work.

2012/9/2 Anne Schilling :
> Hi Viviane,
>
> As far as I can see, in your patch this is not done for the affine case.
> Is this correct? It should really be done in the affine case as well!
>
> Best,
>
> Anne
>
> On 8/30/12 6:37 AM, Viviane Pons wrote:
>> Non symmetric mac donald polynomials are also implemented in
>> sage-combinat in a more general patch on multivariate polynomials.
>> This is done by Lascoux's formula using divided differences, but as I
>> am not a specialist I have not tested this part much.
>>
>> You can see how the whole patch work on my website :
>>
>> http://igm.univ-mlv.fr/~pons/en/research.php
>>
>>
>>
>> 2012/8/30 bump :
>>> In addition to Macdonald polynomials there are the nonsymmetric Macdonald
>>> polynomials
>>> which for Type A are implemented in ns_macdonald.py by HHL
>>> (Haglund-Haiman-Loehr)
>>> combinatorial algorithm. But one wants nonsymmetric Macdonald polynomials
>>> for
>>> all Cartan types.
>>>
>>> It was discussed at Sage Days 40 how to compute these for other root
>>> systems.
>>> It should be possible soon to implement them by recursively
>>> applying Demazure-Lusztig operators to a weight. One needs extended affine
>>> Weyl group, the corresponding Hecke algebra, and then Demazure Lusztig
>>> operator.
>>> There are patches for the first two items in the queue. Of these the first
>>> extended_affine_weyl_groups_sd40.patch is working correctly. The Hecke
>>> algebra patch needs more work.
>>>
>>> --
>>> 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/-/8LScMwyOKDwJ.
>>>
>>> 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.
>

-- 
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] mutable trees

2012-09-03 Thread Viviane Pons
Hi everyone,

I'm trying to work with trees but I find them quite difficult to use.
I have a simple question : how can I crate a temporary mutable
labelled rooted tree and set it to be immutable after the construction
is finished ?

I have found no way of doing this and this would be necessary for what
I'm doing now. If someone know how it works, it would be great.

Thank's

Viviane

-- 
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] mutable trees

2012-09-03 Thread Viviane Pons
I'm working with LabelledRootedTree but my problem is that I need to
create first all the nodes and then an algorithm creates connection
parent-child. It is something like that:

for v in g.vertices():
nodes[v] = LabelledRootedTree([], v;label) # labelled tree node
with no child

for ... :


2012/9/3 Nicolas M. Thiery :
> On Mon, Sep 03, 2012 at 06:57:44PM +0200, Viviane Pons wrote:
>> I'm trying to work with trees but I find them quite difficult to use.
>> I have a simple question : how can I crate a temporary mutable
>> labelled rooted tree and set it to be immutable after the construction
>> is finished ?
>>
>> I have found no way of doing this and this would be necessary for what
>> I'm doing now. If someone know how it works, it would be great.
>
> Just a suggestion: could you post a sample piece of code that you
> would want to write?
>
> Cheers,
> Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.



Re: [sage-combinat-devel] mutable trees

2012-09-03 Thread Viviane Pons
I'm working with LabelledRootedTree but my problem is that I need to
create first all the nodes and then an algorithm creates connection
parent-child. It is something like that:

for v in g.vertices():
nodes[v] = LabelledRootedTree([], v;label) # labelled tree node
with no child

for ... :
if ...:
   nodes[v1].append(nodes[v2]) #adding children

This is not possible because LabelledRootedTree is not mutable. But I
don't know how to create a mutable labelled rooted tree (and I don't
really understand how the tree class architecture works). When I'm
finished building the tree, at the end of my algorithm, I would really
much like to change the tree back to immutable. This thing seems
really natural for me but for some reason, it seems really difficult
to do !

Thank's anyway

Viviane

(PS : sorry for the first half-message, my keyboard did it without asking me)

2012/9/3 Viviane Pons :
> I'm working with LabelledRootedTree but my problem is that I need to
> create first all the nodes and then an algorithm creates connection
> parent-child. It is something like that:
>
> for v in g.vertices():
> nodes[v] = LabelledRootedTree([], v;label) # labelled tree node
> with no child
>
> for ... :
>
>
> 2012/9/3 Nicolas M. Thiery :
>> On Mon, Sep 03, 2012 at 06:57:44PM +0200, Viviane Pons wrote:
>>> I'm trying to work with trees but I find them quite difficult to use.
>>> I have a simple question : how can I crate a temporary mutable
>>> labelled rooted tree and set it to be immutable after the construction
>>> is finished ?
>>>
>>> I have found no way of doing this and this would be necessary for what
>>> I'm doing now. If someone know how it works, it would be great.
>>
>> Just a suggestion: could you post a sample piece of code that you
>> would want to write?
>>
>> Cheers,
>> Nicolas
>> --
>> Nicolas M. Thiéry "Isil" 
>> http://Nicolas.Thiery.name/
>>
>> --
>> 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.



Re: [sage-combinat-devel] Re: mutable trees

2012-09-04 Thread Viviane Pons
Thank's for the quick answer. The "with" statement is a weird one I
shall look into that more closely. But actually the clone itself is
good enough for me.

Problem :

nodes = {}
nodes[0] = LabelledOrderedTree([], 0)
nodes[1] = LabelledOrderedTree([], 1)
nodes[2] = LabelledOrderedTree([], 2)

nodes[0].append(nodes[1])
nodes[1].append(nodes[2])

--> not working

Solution :

nodes = {}
nodes = {}
nodes[0] = LabelledOrderedTree([], 0).clone()
nodes[1] = LabelledOrderedTree([], 1).clone()
nodes[2] = LabelledOrderedTree([], 2).clone()

nodes[0].append(nodes[1])
nodes[1].append(nodes[2])

nodes[0].set_immutable()

nodes[0]
0[1[2[]]]

Working ! So yes, mutable trees exist, they are just a bit difficult to find.

Thank you a lot

Viviane

2012/9/4 Frédéric Chapoton :
> Il faut utiliser "with"  comme ca :
>
> with T.clone() as TT:
> TT[chemin[:-1]]=trees([],None)
>
> Tant qu'on est dans le "with" l'arbre est mutable
>
> Frederic
>
>
> Le lundi 3 septembre 2012 18:57:51 UTC+2, Viviane Pons a écrit :
>>
>> Hi everyone,
>>
>> I'm trying to work with trees but I find them quite difficult to use.
>> I have a simple question : how can I crate a temporary mutable
>> labelled rooted tree and set it to be immutable after the construction
>> is finished ?
>>
>> I have found no way of doing this and this would be necessary for what
>> I'm doing now. If someone know how it works, it would be great.
>>
>> Thank's
>>
>> Viviane
>
> --
> 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/-/cRljg5RpUK0J.
>
> 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.



Re: [sage-combinat-devel] questions on sorting of terms

2013-01-14 Thread Viviane Pons
Hi,

I think what you're looking for is the parameter ``monomial_cmp`` of
combinatorial free module. When you create your module, you can give a
comparison function between elements so that they are sorted the way
you want.

Cheers

Viviane

2013/1/14 Frédéric Chapoton :
> Hello,
>
> I would like to change the default ordering of terms in some Modules with
> basis, for the purpose of changing leading_term.
>
> More precisely, I would like to use my own term-orders for some free modules
> on LabelledOrderedTrees, a bit like the choice of term orders on polynomials
> algebras
>
> I have not been able to find if there is already a mechanism to do that. Any
> idea ?
>
> Cheers,
>
> Frederic
>
> --
> 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/-/nEa-Ci4SwWcJ.
> 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.



Re: [sage-combinat-devel] AsbtractPolynomialRing error possibly from update error

2013-05-30 Thread Viviane Pons
If ever, you can't get sage-combinat to work. I put instructions on my
website on how to install the patch on its own:

http://www-igm.univ-mlv.fr/~pons/en/prog.php


2013/5/29 Nicolas M. Thiery 

> On Wed, May 29, 2013 at 10:26:21AM -0700, Dan Betea wrote:
> >This seemed to have been asked before (the solution to it didn't help
> very
> >much), but I get the following error:
> >sage: A = AbstractPolynomialRing(QQ); A
> >
>  ---
> >NameError Traceback (most recent call
> >last)
> >> 1 A = AbstractPolynomialRing(QQ); A
>
> Yes, you currently indeed need the sage-combinat patches for this feature.
>
> >I have tried to upgrade sage and succeeded (5.9), but ./sage -combinat
> >update failed with the last few lines being:Hunk #1 FAILED at 405
> >1 out of 4 hunks FAILED -- saving rejects to file
> >doc/en/thematic_tutorials/coercion_and_categories.rst.rej
> >patching file sage/categories/sets_cat.py
> >Hunk #5 FAILED at 661
> >1 out of 5 hunks FAILED -- saving rejects to file
>
> Upgrading sage and updating the sage-combinat queue is not super
> robust. If you don't have local modifications, I would recommend to
> just nuke the sage-combinat branch, and reinstall it:
>
> sage -b main
> rm -rf <... SAGE_ROOT ...>/devel/sage-combinat
> sage -combinat install
>
> (please be careful with the rm -rf!)
>
> Hope this helps!
>
> Cheers,
> Nicolas
> --
> Nicolas M. Thiéry "Isil" 
> http://Nicolas.Thiery.name/
>
> --
> 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.
>
>
>

-- 
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.




[sage-combinat-devel] Equality of objects

2013-11-11 Thread Viviane Pons
Hi everyone,

I guess this subject has already been discussed somewhere but I'm not aware
of it so I'm asking the question here.

Looking into hash functions, I discovered that many combinatorial objects
have weird equality between them. Basically: if they are equal as lists,
they are considered equal as objects. And it seems to me that this is
really wrong (but also difficult to change, because I guess this has
repercussions in lots of places). Here is an example

sage: Permutation([2,1,3]) == Composition([2,1,3])
True
sage: Permutation([2,1,3]) == [2,1,3]
True
sage: Permutation([3,2,1]) == Partition([3,2,1])
True


So I guess some of you guys are already aware of this, do you want it to
stay like this or is there a plan to change it?

Cheers

-- 
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/groups/opt_out.