Project

General

Profile

Design #584

BaseRing for all rings

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

Status:
Closed
Priority:
Normal
Assignee:
Category:
New Function
Start date:
08 Jul 2014
Due date:
% Done:

100%

Estimated time:
6.50 h
Spent time:

Description

I'm considering implementing BaseRing for all rings (except perhaps ZZ).

With our current design every ring has a single "parent" ring (i.e. one step closer to ZZ), and it can be helpful to know if one ring is derived from another (e.g. for iterated canonical hom).


Related issues

Related to CoCoALib - Feature #151: Iterated CanonicalHomNew2012-05-03

Related to CoCoALib - Feature #150: RingOf rather than owner? (and than AmbientRing, ...)In Progress2012-05-03

Related to CoCoALib - Design #415: Remove AsPolyRing etc?Closed2013-11-23

History

#1 Updated by John Abbott almost 10 years ago

One problem with this approach is that we would exclude product rings, since a product ring could have several "parents". It is not clear to me whether there would be any real interest in having product rings (e.g. for implementing chinese-remaindering style algorithms?)
I suppose BaseRing could have an optional second arg saying which parent to select (default would be the "first" parent).

#2 Updated by John Abbott almost 10 years ago

Not sure what BaseRing(ZZ) should produce:
(A) either ZZ itself
(B) an error

My current preference (after very little reflection) is for (B)

#3 Updated by John Abbott almost 10 years ago

  • Assignee set to John Abbott
  • % Done changed from 0 to 30
  • Estimated time set to 3.00 h

I've implemented it, and it seems to work. Currently the impl does (B), but it'd be easy to change to (A).
(20140714: apparently I also checked everything in)

Not sure about the best name for BaseRing; in some ways ParentRing (or just parent) might be more indicative... not sure that it is a good idea to break backward compatibility.

No doc, no tests, no examples.

#4 Updated by John Abbott almost 10 years ago

  • Status changed from New to Resolved
  • % Done changed from 30 to 60

I have just noticed that the function which says over which a ring a matrix lies is called BaseRing. I'm not so happy about the name being the same as that of the function which "decomposes" a ring.

I note that for an ideal, the function saying to which ring it belongs is called AmbientRing; maybe we could use the same name for matrices?

20140714 consider also issue #150 which proposes the name RingOf

#5 Updated by John Abbott over 9 years ago

  • % Done changed from 60 to 70

I have now changed the name BaseRing into RingOf for matrices and modules.
I have changed AmbientRing into RingOf for ideals.

Examples and tests have been updated. Doc has been updated. Check in after lunch.

#6 Updated by John Abbott over 9 years ago

  • Status changed from Resolved to Feedback
  • % Done changed from 70 to 90

Checked in. Updated documentation. Everything works --> feedback.

#7 Updated by John Abbott over 9 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100
  • Estimated time changed from 3.00 h to 6.50 h

Time is tight. Since it is just a name change, no real need to stay in feedback for any length of time. Closing.

Also available in: Atom PDF