Bug #736
QuotientRing: is it correct to prohibit quotient by ideal(1)?
Description
The quotient ring R/I
where I=ideal(1)
gives the trivial ring.
Currently the quotienting operation gives a specific error because we do not want users trying to compute in the trivial ring. However this also blocks reasonable operations such as dim(R/I)
and multiplicity(R/I)
.
Should we really forbid the creation of the trivial ring?
History
#1 Updated by John Abbott almost 9 years ago
The problem arose while doing some computations for Ulrich where it was known/expected that some ideals would be ideal(1)
.
Is there an easy way to test whether an ideal is ideal(1)
? We have IsZero
, but not IsOne
.
#2 Updated by John Abbott almost 9 years ago
Robbiano confirms that it is best to avoid the null ring (which has surprising properties such as 1 = 0
).
ideal(1)
. What do you think about the readability of the following:
if 1 isin I then ....
if IsOne(I) then ....
Given that IsZero
already exists, it seems coherent to offer IsOne
too (for which types of arg?)
#3 Updated by Anna Maria Bigatti almost 9 years ago
- Status changed from New to In Progress
- Assignee set to Anna Maria Bigatti
- % Done changed from 0 to 10
John Abbott wrote:
if 1 isin I then ....
if IsOne(I) then ....
the first already works. The second should be easy to add (I can do it).
#4 Updated by Anna Maria Bigatti almost 9 years ago
- Status changed from In Progress to Resolved
- % Done changed from 10 to 30
done: added IsOne(IDEAL)
#5 Updated by John Abbott about 4 years ago
- Status changed from Resolved to Closed
- Target version changed from CoCoALib-1.0 to CoCoALib-0.99700
- % Done changed from 30 to 100
- Estimated time set to 1.11 h
This was presumably done about 4 years ago, but we forgot to close the issue...
Closing now.