Feature #356
IsZeroDivisor
Description
Add new fn IsZeroDivisor
for ringelem
Related issues
History
#1 Updated by Anna Maria Bigatti almost 11 years ago
- Category set to New Function
- Status changed from New to Resolved
- Assignee set to Anna Maria Bigatti
- Target version set to CoCoALib-0.99534 Seoul14
- % Done changed from 0 to 50
First implementation done, can be improved with "IsIntegralDomain3"
#2 Updated by Anna Maria Bigatti over 10 years ago
- Status changed from Resolved to Closed
- Target version changed from CoCoALib-0.99534 Seoul14 to CoCoALib-0.99532
- % Done changed from 50 to 100
------< example >------ /**/ Use P ::= QQ[x,y,z]; /**/ R := NewQuotientRing(P, ideal(x*y)); /**/ IsZeroDivisor(RingElem(R,x)); true /**/ colon(ideal(zero(R)), ideal(RingElem(R,x))); ideal((y)) ------< end example >------
#3 Updated by Anna Maria Bigatti over 10 years ago
- Target version changed from CoCoALib-0.99532 to CoCoALib-0.99531
#4 Updated by John Abbott about 10 years ago
- Status changed from Closed to Resolved
- Target version changed from CoCoALib-0.99531 to CoCoALib-0.99532
- % Done changed from 100 to 90
#5 Updated by John Abbott almost 10 years ago
- Target version changed from CoCoALib-0.99532 to CoCoALib-0.99533 Easter14
#6 Updated by John Abbott almost 10 years ago
Anna's global impl is fine as a general case, but it does not offer the possibility for smarter impls when we can (e.g. in ZZ/(N) it is enough to compute a gcd -- I suppose that's what colon
would do anyway).
JAA thinks it may be appropriate to add a new mem fn to RingBase
called myIsZeroDivisor
; the default impl in RingBase
would calculate the colon, but some rings can impl their own "smarter" versions.
e.g. if the ring is (obviously) an integral domain, it's enough to call IsZero
.
#7 Updated by John Abbott almost 10 years ago
- Status changed from Resolved to Closed
- % Done changed from 90 to 100
The current impl is simple, compact and works fine in the cases we have tried. Let's KISS until someone points out that there is a problem. Indeed the case-specific "smarts" should probably be inside the relevant "colon" impl rather than just in a myIsZeroDivisor
fn.
#8 Updated by Anna Maria Bigatti almost 10 years ago
- Estimated time set to 4.00 h