Project

General

Profile

Feature #1536

Implement xel?

Added by John Abbott over 3 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
CoCoA-4 function to be added
Target version:
Start date:
13 Nov 2020
Due date:
% Done:

100%

Estimated time:
1.49 h
Spent time:

Description

At the moment CoCoA-5 does not recognise the keyword xel for specifying a term order when defining a new ring.

Implement?


Related issues

Related to CoCoA-5 - Slug #465: Emacs UI; remove cruftNew2014-03-11

History

#1 Updated by John Abbott over 3 years ago

  • Related to Slug #465: Emacs UI; remove cruft added

#2 Updated by John Abbott over 3 years ago

The matter was raised by Bernhard Andraschko. His argument is below:

Imagine you are new to Computer Algebra and want to try CoCoA.
One of the first things you look for is how to work with term orderings.
"Oh, there are plenty of them implemented. Hmm... Lex, DegLex, DegRevLex... why is Xel not implemented yet?
It must be very hard to do so!
... but it's so easy? Why didn't they implement it yet?
Is this software in such an early state of development that they didn't even have time to implement such a simple thing yet???
Let's use Sage instead!" 

There is also the question of backward compatibility.

I am not enthusiastic about creating new keywords (since that can cause backward incompatibility), but I cannot imagine may people wanting to use xel.

#3 Updated by Anna Maria Bigatti over 3 years ago

  • Status changed from New to In Progress
  • Assignee set to Anna Maria Bigatti
  • % Done changed from 0 to 10

Very good reasoning.
Indeed some researchers have opposite standards, calling lex (and degrevlex) what we call xel (and nothing).
(among which, T.Mora and W.Seiler, if I recall well).
It's just a matter of reversing the list of names, but one might be happier finding its standard orderings.

I could do it. Maybe just in CoCoA-5, and using matrix ordering.

#4 Updated by John Abbott over 3 years ago

  • % Done changed from 10 to 20

One difference between QQ[x,y,z],xel and QQ[z,y,x],lex is that the order in which the idents are printed is different:

/**/ use QQ[x,y,z],xel;
/**/ x*y*z;
x*y*z
/**/ use QQ[z,y,x],lex;
/**/ x*y*z;
z*y*x

#5 Updated by John Abbott over 3 years ago

Anna will impl in CoCoAlib, and then make accessible to CoCoA-5.

#6 Updated by John Abbott about 3 years ago

  • Assignee changed from Anna Maria Bigatti to John Abbott
  • % Done changed from 20 to 60

Anna has too much else to do. So I have knocked up a quick impl... brain off, just cut-and-paste... and hope!

Perhaps Bernhard can do some testing! ;-)
The impl should be in the next interim release.

#7 Updated by John Abbott about 3 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 60 to 90

I have added doc, but no tests (too lazy/tired).

#8 Updated by John Abbott over 2 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100
  • Estimated time set to 1.49 h

Also available in: Atom PDF