Project

General

Profile

Feature #568

Valid symbol heads

Added by John Abbott almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Various
Start date:
10 Jun 2014
Due date:
% Done:

100%

Estimated time:
4.00 h
Spent time:

Description

Currently symbol heads must start with a letter and contain letters and underscores.

Mario Albert would find it very handy to be able to create symbols whose names contain digits (not appearing as indices); for instance he has an example which uses both a and a32.

Should we expand the range of allowable symbol heads? I see no technical objection.
If so, what should be allowed? I suggest initial letter followed by letters, digits, underscores.

History

#1 Updated by John Abbott almost 10 years ago

  • Status changed from New to In Progress

Mario has a fairly large database (several hundred entries) of polynomial sets which he wants to test using CoCoALib. Many of the examples have indet names starting with a letter and containing digits. It would be rather tedious for him to have to translate the names into valid CoCoALib symbols.

There is no technical objection to allowing symbol heads containing digits; I think we felt it was better to use indices, and so prohibited using digits in names (on "aesthetic grounds").

Mario's examples show that this decision does impede interoperability with other computer algebra systems. While we think that it is "poor taste" to merge an index into the symbol head, perhaps it is unreasonable to force our notion of "good taste" onto the world?

#2 Updated by John Abbott almost 10 years ago

  • % Done changed from 0 to 10

I modified Mario's copy of CoCoALib so that it would accept digits in symbol heads; everything seemed to work fine. I'll try a more thorough test in my copy later on.

#3 Updated by John Abbott almost 10 years ago

If we allow a wider range of heads, I suggest that any head may be indexed (rather than trying to introduce some arcane rule saying only certain heads may have indices). This would mean that one can create a12[3]; and if you really want to be obtuse you could create a polynomial ring with indets a12, a1[2], a[1,2]

#4 Updated by Anna Maria Bigatti almost 10 years ago

John Abbott wrote:

If we allow a wider range of heads, I suggest that any head may be indexed (rather than trying to introduce some arcane rule saying only certain heads may have indices). This would mean that one can create a12[3]; and if you really want to be obtuse you could create a polynomial ring with indets a12, a1[2], a[1,2]

I agree.

#5 Updated by Anna Maria Bigatti almost 10 years ago

  • Assignee set to John Abbott

#6 Updated by John Abbott almost 10 years ago

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

All done. It is also easier now to change which chars are allowed as 1st of symbol head, and which are allowed after the 1st char.

Tests have been updated. I'd better check the documentation.

#7 Updated by John Abbott almost 10 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100

No problems have come up, so closing.

Also available in: Atom PDF