#14261: Iwahori-Hecke algebra with several bases
-------------------------------------+-------------------------------------
       Reporter:  brant              |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-5.13
      Component:  combinatorics      |   Resolution:
       Keywords:  Iwahori Hecke      |    Merged in:
  algebra                            |    Reviewers:  Andrew Mathas, Brant
        Authors:  Brant Jones,       |  Jones, Travis Scrimshaw
  Travis Scrimshaw, Andrew Mathas    |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |     Stopgaps:
   Dependencies:  #13735 #14014      |
  #14678 #14516                      |
-------------------------------------+-------------------------------------

Comment (by andrew.mathas):

 Thanks for doing this Travis and, in particular, for fixing my mistakes!

 > * changed `_AGenericIwahoriHeckeAlgebra` to `GenericIwahoriHeckeAlgebra`
 since it is a more natural name and to allow it to be seen in the
 documentation,

 I ''strongly'' feel that this class should not be public and it should not
 be included in the documentation. My reason for this is that unless people
 really know what they are doing (and probably even if hey do) they should
 not be calling this class directly because it will probably not behave as
 they expect.

 By making this class public and advertising it in the documentation I
 think that we will only be encouraging people to make a mistake. I
 intentionally made this class a private class for precisely these reasons.

 In terms of names, I called this '''A'''`GenenericIwahoriHeckeAlgebra`
 because it returns a generic Hecke algebra with a particularly
 ''idiosyncratic'' choice of parameters: `u` and `-v^2/u`. There is
 (currently) no way to change these parameters. Most people would expect
 the two variable generic Hecke algebra to have parameters `u` and `v` and
 to be defined over the Laurent polynomial ring in these indeterminates.
 This is not what this class returns. For these reasons, whether or not the
 class is private, I think that calling the class
 `GenericIwahoriHeckeAlgebra` is misleading and will cause confusion.

 This class is intended as a helper class for the real Hecke algebras. It
 should not be used directly. By putting it in the documentation we will
 only confuse people because they will think that they should use the
 generic class when they want to work with a generic Hecke algebra. When
 they try to do this however they will get a rude surprise because they
 will not be able to work with their preferred parameters.


 > I'm not completely in favor of having the bases category accessible from
 the `IwahoriHeckeAlgebra` instance (which does follow `QSym`) since the
 category should be behind the scene as far as `IwahoriHeckeAlgebra` is
 concerned and I would expect `Bases` to return a list of bases (up to the
 mismatch with convention). I'd prefer to have it as its own separate
 class, but I'd like to get opinions on the matter first.

 I prefer to have the category class as subclass of the algebra class. As
 you say this structure is already used in several places in `sage` so the
 idiom is established and will be familar to people. Rather than the
 categor being "behind the scenes", I think that the element category is an
 integral part of specifying the algebra which should be part of algebra's
 class - having to call a random external class for the category, and
 further poluting sage's namespace, just seems wrong to me.

 If you want to rename the class something other than `Bases` I certainly
 won't object as I agree that the name is misleading. Still, I vote for
 keeping the category class internal to `IwahoriHeckeAlegbra` as it
 currently is.

 If it is decided to change this then the
 `CombinatorialFreeModule.__init__` call in `_Basis` will need to be
 changed as the category is different in the generic and non-generic cases.
 This makes the code slightly more awkward, but this awkwardness is already
 present in `_KLHeckeBases.__init__`.

 Andrew

--
Ticket URL: <http://trac.sagemath.org/ticket/14261#comment:54>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to