Opened 7 weeks ago

#28421 new enhancement

Fix weighted term order construction

Reported by: bruno Owned by:
Priority: major Milestone: sage-8.9
Component: algebra Keywords:
Cc: Merged in:
Authors: Bruno Grenet Reviewers:
Report Upstream: N/A Work issues:
Branch: weighted_term_orders Commit:
Dependencies: Stopgaps:

Description

Currently, weighted term orders that are not given a tuple or a list as parameter behave strangely (and this causes confusion, cf on Ask¹):

sage: t = TermOrder('wdegrevlex', 2)
sage: t
Weighted degree reverse lexicographic term order
sage: t.is_weighted_degree_order()
False
sage: P.<x> = PolynomialRing(QQ, 1, order=t)
sage: x.degree()
1

In this ticket, we change the behavior as follows:

sage: t = TermOrder('wdegrevlex', 2)
sage: t
Weighted degree reverse lexicographic term order with weights (2,)
sage: t.is_weighted_degree_order()
True
sage: P.<x> = PolynomialRing(QQ, 1, order=t)
sage: x.degree()
2

Note: Another possibility is to raise an Exception when an integer is given rather than a tuple/list. I think the proposed solution is more useful to the users.

¹ The Ask question uncovers two distinct problems, the second one is fixed in #28420.

Change History (0)

Note: See TracTickets for help on using tickets.