Differences between revisions 21 and 22
Revision 21 as of 2008-05-20 19:26:27
Size: 4919
Editor: JasonBandlow
Comment:
Revision 22 as of 2008-05-20 19:50:02
Size: 5418
Editor: JasonBandlow
Comment:
Deletions are marked like this. Additions are marked like this.
Line 78: Line 78:
  == Permutations ==
 * The keywords called 'recoils' in Permutations should perhaps be called 'ascents'
 * The Permutation constructor does not check enough: Permutation([1,1,1]) and Permutation([-3,7]) don't break, for example
 * For the following, let p be a Permutation
 === p.bruhat_* ===
 * greater/smaller return comb. classes, inversions,pred,succ return lists, *_iterator return iterators. Can this be made more consistent?
 * Bruhat order should be defined or referenced in all of these

Weirdness

Words (there is more to look at here)

  • sage.combinat.word is not imported by default
  • word.symmetric_group_action_on_values does not naturally belong in word
  • word.standard should be called word.standardization
  • word.charge returns the cocharge

Combinatorial* (not considered very carefully)

Combinations

  • Looks good! (Just recording here that it was looked at).

Compositions

  • Compositions has no option for allowing '0' parts (which are often useful) (IntegerVectors does this. There should be a pointer.)

  • Composition will allow entries with '0' parts (but not, for example, negative parts). It's not clear that all methods make sense when '0' parts are allowed.
  • Composition.conjugate() is not explained
  • Composition.descents() is not explained
  • Composition.major_index() doc-string says it is the sum of the descents. This is not true for the given example.
  • Composition.refinement() is not explained
  • SignedCompositions has no corresponding element class SignedComposition

Dyck Words

  • DyckWords? does not define Dyck words

  • DyckWord.b_statistic() is not explained

  • DyckWord.height() is not explained

  • DyckWord.peaks() is not explained

  • DyckWord.to_noncrossing_partition() could use a better reference

  • DyckWord.to_tableau is not explained

  • DyckWord.to_* for * in {ordered_tree, triangulation} is not implemented. Warning: Implementing bijections between Catalan objects can be a never-ending task.

Integer Vectors

Lyndon Words

MultichooseNK

  • MultichooseNK has no useful documentation
  • The name MultichooseNK does not compare well with Combinations, though they do very similar things

Necklaces

  • Necklaces? does not define necklaces

Partitions

  • PartitionsGreatestEQ, PartitionsGreatestLE, PartitionsInBox are redundant with options passed to Partitions

  • The doc for Partition should point out that < compares lexicographically

  • The doc for Partition says 'Sage uses the English convention...' this should be expanded and mention 0-indexing; in fact it should also mention that partitions can be interpreted as diagrams
  • The partition* stuff is all redundant
  • p.arm(i,j) and p.leg(i,j) should also be callable as p.arm([i,j]), p.leg([i,j])
  • (For the following comments, let p be a partition)
  • p.arm_lengths() and p.leg_lengths() should be called p.arm_length_tableau(), ...
  • p.arm_legs_coeff() is not defined
  • p.associated() is an alias for p.conjugate(). Is it necessary?
  • p.atom() is not defined
  • p.boxes() would be better called p.cells()
  • An reference, definition, or at least an example should be given for the q,t-analog of p.centralizer_size()
  • p.character_polynomial() deserves a reference
  • p.dominate() should be called p.dominated_partitions() (or something more clear)
  • p.down(), p.down_list(), p.up(), p.up_list() could have better names? (restrict/induce? is there a convention for a generator vs a list? is this too redundant?)
  • is p.evaluation() a standard name?
  • p.ferrers_diagram() is basically redundant with p.pp()
  • p.generalized_pochhammer_symbol? needs a definition and, better, a reference
  • p.hook_lengths() should be called p.hook_length_tableau()
  • p.hook_polynomial() needs a definition and/or reference
  • p.hook_product() needs a definition and/or reference, and the parameter should default to 1
  • the following example blows up:

    sage: m = p.jacobi_trudi(); m.row(0)

  • p.jacobi_trudi() should also include an option for the 'e' version
  • p.k_atom() needs a definition or reference
  • p.k_conjugate() could use a reference
  • p.k_split() needs a definition or reference
  • given p.outside_corners() should p.corners() be renamed?
  • a function p.add_cell(i,j) (also taking p.add_cell([i,j])) is *really* needed
  • p.pp() should be called p.pretty_print() or just p.print()
  • p.r_core() and p.r_quotient() need defintions and/or references. Also should be called core and quotient
  • p.reading_tableau() needs a definition
  • p.remove_box() should be called p.remove_cell()
  • p.remove_box(i,j) should understand p.remove_box([i,j])
  • p.to_exp() needs a better name
  • p.upper_hook() needs a definition or reference
  • p.upper_hook_lengths() should be called p.upper_hook_length_tableau()

Permutations

  • The keywords called 'recoils' in Permutations should perhaps be called 'ascents'
  • The Permutation constructor does not check enough: Permutation([1,1,1]) and Permutation([-3,7]) don't break, for example
  • For the following, let p be a Permutation === p.bruhat_* ===
  • greater/smaller return comb. classes, inversions,pred,succ return lists, *_iterator return iterators. Can this be made more consistent?
  • Bruhat order should be defined or referenced in all of these

combinat/Weirdness (last edited 2018-11-06 19:45:34 by chapoton)