Project

General

Profile

Feature #1103

Pseudo-zero-dim ideals

Added by John Abbott almost 7 years ago. Updated over 2 years ago.

Status:
In Progress
Priority:
Normal
Category:
Improving
Target version:
Start date:
19 Sep 2017
Due date:
% Done:

30%

Estimated time:
Spent time:

Description

We have several functions which work well for 0-dim ideals but which give "Not yet implemented" for non-0-dim ideals.

However, the current implementations would work fine in the "obvious subring":

use Q[x,y,z];
IsPrimary(ideal(x^2,y));
--> ERR::NYI

Of course, CoCoA will compute the answer if the ideal is mapped into QQ[x,y]...
so why not do this automatically?


Related issues

Related to CoCoALib - Feature #658: Indets actually in a poly (or vector or matrix)Closed2015-01-22

Related to CoCoALib - Feature #1254: New function: MinPoly for pseudo-zero-dimensional idealsNew2019-03-06

Related to CoCoALib - Design #849: Cleanup MinPoly codeIn Progress2016-03-22

Related to CoCoALib - Slug #1569: IsInRadical too slow (test-RadicalMembership)Closed2021-01-22

History

#1 Updated by John Abbott almost 7 years ago

Here is an example where it would be faster to recognize that the ideal is 0-dim in an "obvious subring":

use QQ[x,y,z];
I := ideal(x^5 +x^2*z^3 -y^2*z^2,  x*y^4 -z^5 +x*y^2*z,  y^5 +x^2*z^3 -z^4);
t0:=CpuTime();
rI := radical(I);
TimeFrom(t0);
---> 68.255

-- Now adjoin redundant indet
use P ::= QQ[x,y,z,t];
I := ideal(x^5 +x^2*z^3 -y^2*z^2,  x*y^4 -z^5 +x*y^2*z,  y^5 +x^2*z^3 -z^4);
t0:=CpuTime();
rI := radical(I);
TimeFrom(t0);
-->  don't know how much time -- it takes *AGES*

#2 Updated by John Abbott over 6 years ago

  • Related to Feature #658: Indets actually in a poly (or vector or matrix) added

#3 Updated by John Abbott over 5 years ago

  • Related to Bug #1248: MinPolyQuot: guaranteed and ideal without GBasis added

#4 Updated by John Abbott over 5 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

Note also that if we map into a temporary ring without redundant indets, then we can also choose a convenient term-ordering (e.g. DegRevLex if we need to compute a GBasis)

#5 Updated by Anna Maria Bigatti over 5 years ago

  • Related to Feature #1254: New function: MinPoly for pseudo-zero-dimensional ideals added

#6 Updated by Anna Maria Bigatti over 5 years ago

  • Related to deleted (Bug #1248: MinPolyQuot: guaranteed and ideal without GBasis)

#7 Updated by Anna Maria Bigatti over 2 years ago

  • Assignee set to Anna Maria Bigatti

There is something very similar for RationalSolve in CoCoA-5.
Anna: consider that design and copy:

  ListX := FindIndets(PolyList); // will be non-empty since we've checked PolyList
  P := RingOf(PolyList[1]);
  SurplusIndets := diff(indets(P), ListX);
  J := ideal(PolyList)+ideal(P,SurplusIndets);

#8 Updated by Anna Maria Bigatti over 2 years ago

  • % Done changed from 10 to 30

#9 Updated by Anna Maria Bigatti over 2 years ago

see also #1254

#10 Updated by John Abbott 5 months ago

#11 Updated by John Abbott 5 months ago

  • Related to Slug #1569: IsInRadical too slow (test-RadicalMembership) added

Also available in: Atom PDF