#15205: NSym (NCSF): bugs or weird design decisions
-------------------------------------------------+-------------------------
       Reporter:  darij                          |        Owner:
           Type:  defect                         |       Status:  new
       Priority:  major                          |    Milestone:  sage-5.13
      Component:  combinatorics                  |   Resolution:
       Keywords:  sage-combinat, NSym, NCSF,     |    Merged in:
  Sym, symmetric-functions                       |    Reviewers:
        Authors:                                 |  Work issues:
Report Upstream:  N/A                            |       Commit:
         Branch:                                 |     Stopgaps:
   Dependencies:  #15164                         |
-------------------------------------------------+-------------------------
Description changed by darij:

Old description:

> Here are the issues that haven't been deal with in #15164:
>
> * I don't understand why the internal product is implemented in
> {{{ncsf_qsym/generic_basis_code.py}}} rather than
> {{{ncsf_qsym/ncsf.py}}}. Isn't {{{generic_basis_code.py}}} for methods
> shared between QSym and NSym? There is no internal product on QSym.
>
> * This here is a doctest which has been around before me:
> {{{
>                 sage: N = NonCommutativeSymmetricFunctions(QQ)
>                 sage: S = N.complete()
>                 sage: S.internal_product
>                 Generic endomorphism of Non-Commutative Symmetric
> Functions over the Rational Field in the Complete basis
> }}}
> The output makes no sense: The internal product is not an endomorphism of
> anything. I understand it is implemented in some weirdly curried form,
> but then its target should be a Hom space.
>
> * I was trying to overshadow the {{{verschiebung}}} function I
> implemented on a generic NSym basis by a specific implementation on the
> ribbon basis. So I've added it under {{{class ElementMethods:}}} in the
> {{{class Ribbon}}}. But it doesn't get precedence over the generic
> implementation at runtime! What am I doing wrong? If this can be
> explained, I'll implement the verschiebung on a few more bases (Psi and
> Phi both have very simple formulas).

New description:

 Here are the issues that haven't been deal with in #15164:

 * I don't understand why the internal product is implemented in
 {{{ncsf_qsym/generic_basis_code.py}}} rather than {{{ncsf_qsym/ncsf.py}}}.
 Isn't {{{generic_basis_code.py}}} for methods shared between QSym and
 NSym? There is no internal product on QSym.

 [*Update:* This is not a real issue. The code isn't in the wrong class,
 it's just in a slightly unexpected module.]

 * This here is a doctest which has been around before me:
 {{{
                 sage: N = NonCommutativeSymmetricFunctions(QQ)
                 sage: S = N.complete()
                 sage: S.internal_product
                 Generic endomorphism of Non-Commutative Symmetric
 Functions over the Rational Field in the Complete basis
 }}}
 The output makes no sense: The internal product is not an endomorphism of
 anything. I understand it is implemented in some weirdly curried form, but
 then its target should be a Hom space.

 [*Update:* From a conversation with Travis, this is wrong, but probably
 not worth fixing at the current stage.]

 * I was trying to overshadow the {{{verschiebung}}} function I implemented
 on a generic NSym basis by a specific implementation on the ribbon basis.
 So I've added it under {{{class ElementMethods:}}} in the {{{class
 Ribbon}}}. But it doesn't get precedence over the generic implementation
 at runtime! What am I doing wrong? If this can be explained, I'll
 implement the verschiebung on a few more bases (Psi and Phi both have very
 simple formulas).

 [*Update:* It should be `class Element(CombinatorialFreeModule.Element):`
 rather than `class ElementMethods:`. At least verschiebung works now. I'll
 post that patch soon; right now an unrelated bug has to be fixed first.]

--

--
Ticket URL: <http://trac.sagemath.org/ticket/15205#comment:2>
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