Ticket #6812 (needs_review enhancement)

Opened 13 months ago

Last modified 3 months ago

Enumerate integer vectors modulo to the action of a Permutation Group

Reported by: nborie Owned by: nborie
Priority: major Milestone: sage-4.5.3
Component: combinatorics Keywords: enumeration, integer, list, permutation, group
Cc: sage-combinat Author(s): nborie
Report Upstream: N/A Reviewer(s):
Merged in: Work issues:

Description (last modified by nborie) (diff)

The goal of this ticket is to enumerate integer vectors up to the action of a Permutation Group.

This will produced a Parent : infinite enumerated set whose element are just tuple of python int (cythonize this is in my wishlist...).

depends on #8288

Attachments

fast_generating_list_up_to_permgroup-nb.patch Download (36.9 KB) - added by nborie 7 months ago.
trac_6812_integer_vectors_mod_permgroup.patch Download (33.9 KB) - added by nborie 3 months ago.

Change History

Changed 13 months ago by nborie

  • summary changed from Enumerate integer list up to the action of a Permutation Group to [with patch, needs review]Enumerate integer list up to the action of a Permutation Group

Changed 13 months ago by nborie

  • owner changed from tbd to mhansen
  • component changed from algebra to combinatorics

Changed 13 months ago by nborie

  • milestone changed from sage-combinat to sage-4.1.2

I fixed some language mistakes. I already tell reviewers that there are probably still some typos, misunderstood or mistakes. I am sorry for that... It's hard!

Changed 12 months ago by nborie

  • summary changed from [with patch, needs review]Enumerate integer list up to the action of a Permutation Group to [with patch, not ready for review]Enumerate integer list up to the action of a Permutation Group

Changed 12 months ago by nborie

  • owner changed from mhansen to nborie
  • status changed from new to assigned
  • summary changed from [with patch, not ready for review]Enumerate integer list up to the action of a Permutation Group to [with patch, needs review]Enumerate integer list up to the action of a Permutation Group
  • description modified (diff)
  • milestone changed from sage-4.1.2 to sage-combinat

Refactoring : -> I move the code in sage/combinat/invariant_ring_perm_gps (advise form Nicolas Thiéry) -> I implemented a new class InfiniteEnumeratedSet? (with category)

There is no a shortcut in sage to IntegerVectorsUptoPermGroup? which is a user friendly parent (with hope). This code stay really strongly connected to the Invariant theory and connected with a the graded algebras of multivariate polynomial view as combination of orbit sum. This really why the code enter this new folder : sage/combinat/invariant_ring_perm_gps (other things have to come here....)

Changed 12 months ago by nborie

  • summary changed from [with patch, needs review]Enumerate integer list up to the action of a Permutation Group to [with patch, not ready for review]Enumerate integer list up to the action of a Permutation Group

Changed 10 months ago by nborie

  • status changed from needs_work to needs_review
  • milestone changed from sage-combinat to sage-4.3

Changed 10 months ago by nborie

  • summary changed from [with patch, not ready for review]Enumerate integer list up to the action of a Permutation Group to Enumerate integer list up to the action of a Permutation Group

Changed 10 months ago by AlexGhitza

  • keywords enumeration, added; enumaration, removed

Changed 7 months ago by SimonKing

  • upstream set to N/A

Hi!

This is not a review yet, just some remarks.

Indeed it seems to me that the comments and the documentation should be proof read by a native speaker. I am not a native speaker, I'm afraid.

I also suggest to rename some methods. For example, the purpose of "generate_list_of_sum" is not clear from that name:

  • "generate" suggests a process. Therefore, I expected that the method would return an iterator. But in fact, an actual list is returned. A similar statement applies to "get_orbit". Why not simply "orbit"?
  • "list_of_sums" is not clear at all. I mean, there is the notion of "partition", so, there is no reason to describe it as "list of sums". Of course, not all partitions are returned, but representatives for each permutation class of partitions.

So, I think "partition_class_representatives" or slightly less precise "partition_classes" would be clearer.

And "generate_canonicals": The return value is the list of canonical representatives of all children of the input. So, why not "children_representatives" or "canonical_children"?

Best regards, Simon

Changed 7 months ago by nborie

  • status changed from needs_review to needs_work

Hi Simon,

Thank for these advises, I start a new cleanup and will update a better version shortly!

Changed 7 months ago by nborie

  • status changed from needs_work to needs_review
  • description modified (diff)

The patch use now the generic code from Search Forest (breadth_first_search....). So this patch now depends on #8288

Changed 7 months ago by nborie

Changed 7 months ago by nborie

Add a canonical_representative method... This will perhaps help later...

Changed 6 months ago by nborie

  • status changed from needs_review to needs_work

Changed 3 months ago by nborie

  • description modified (diff)
  • summary changed from Enumerate integer list up to the action of a Permutation Group to Enumerate integer vectors modulo to the action of a Permutation Group

Changed 3 months ago by nborie

  • status changed from needs_work to needs_review

Please apply and look only the last patch...

Changed 3 months ago by nborie

Note: See TracTickets for help on using tickets.