Turns out that I am an idiot, and that the warning is triggered by the
"degree=G([1,2])"
part of the expression I had overlooked. The branch now passes all tests,
and is in needs_review.

The only thing that  needs to be discussed is this warning problem, and
whether we should create a new function (or just add in the warning that
the users should use G(vector(x)) instead of G(x), which removes the
warning too).

Nathann


On 28 April 2014 20:38, Nathann Cohen <[email protected]> wrote:

> Hellooooo again !
>
> This time the branch passes all long tests in src/ except one, and I need
> your advice. Here is the problem :
>
> **********************************************************************
> File "chain_complex.py", line 738, in
> sage.homology.chain_complex.ChainComplex_class.grading_group
> Failed example:
>     C = ChainComplex(grading_group=G, degree=G([1,2]))
> Expected nothing
> Got:
>
>     doctest:1: DeprecationWarning: The default behaviour changed ! If you
> *really* want a linear combination of smith generators, use
> .linear_combination_of_smith_form_gens.
>     See http://trac.sagemath.org/16261 for details.
> **********************************************************************
>
> 1) The warning is not very meaningful as the user never called G.__call__
> explicitly, and has no idea what the problem could  be
> 2) I cannot change the code of ChainComplex to call G(vector(x)) instead
> of G(x) as AdditiveAbelianGroup is not the only group that ChainComplex
> works on (and wrapping does not work for all groups)
>
> Soooo, well... My way of doing things would be "let's consider that this
> G(x) has been broken all along, and because we are fixing a bug there is no
> need to display a warning at all".
>
> On the other hand, Volker would prefer to have a
> ".linear_combination_of_gens()" function to  go with the current
> ".linear_combination_of_smith_form_gens()" so that we could say to all
> users "Don't use G(x), call one of the two .linear_combination* functions
> instead".
>
> I do not like  this, because it feels like shooting at one's foot to stop
> using G(x) for one year just because it had a weird syntax before.
>
> Aaaaaaaaand besides, having a new function like that would not solve the
> problem above with ChainComplex.
>
> Well, what do you think guys ?
>
> I pushed the branch in #16261 if you want to give it a try.
>
> Nathann
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" 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-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to