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.
