Project

General

Profile

Design #908

Sum of ideals: what are the generators of (x) + (0)?

Added by Anna Maria Bigatti almost 8 years ago. Updated about 2 months ago.

Status:
Closed
Priority:
High
Category:
Improving
Target version:
Start date:
14 Jul 2016
Due date:
% Done:

100%

Estimated time:
2.01 h
Spent time:

Description

The current strategy is that the generators of the sum is the concatenation of the generators of the two ideals. Is this a //rule//?
In other words:
(x) + (0) should be (x,0) or can it be (x)?
(x) + (1) should be (x,1) or can it be (1)?

2024-01 decision "yes"


Related issues

Related to CoCoALib - Design #1647: Suppress zero from ideal generators? Detect 1 and simplify generators?Closed2022-01-20

History

#1 Updated by John Abbott over 7 years ago

  • Target version changed from CoCoA-5.2.0 spring 2017 to CoCoA-5.2.2

Since we shall need to discuss this, I think it is better to postpone the "delivery date" rather than take hasty action.

My current feeling is that it is OK to do some cleaning of the list of generators.

Related question: if L is a list of polynomials, do we guarantee that gens(ideal(L)) is equal to L? Or might the result be a "cleaned" version of L? e.g. with zero elements removed, with duplicated removed, perhaps rescaled conveniently.

NOTE even if we do not "clean" the elements of L, might they be ordered differently in gens(ideal(L))?

#2 Updated by John Abbott over 6 years ago

  • Target version changed from CoCoA-5.2.2 to CoCoA-5.2.4

I have spoken briefly to Renzo about this.

He thinks it is most natural if gens(ideal(L)) = L always.

Ideal sum usually just concatenates the lists of gens, but does handle ideal(0) specially sometimes:

Z := zero(R);
ideal(x) + ideal(Z);  --> ideal(x)
ideal(x) + ideal(Z,Z); --> ideal(x)
 ideal(x, Z, y) + ideal(Z, y, x, Z);  --> ideal(x, 0, y, 0, y, x, 0)
ideal(Z) + ideal(x); --> ideal(0, x)

It seems that ideal sum recognizes if the second arg is the zero ideal.

#3 Updated by Anna Maria Bigatti over 6 years ago

  • Estimated time set to 8.00 h

I have met this problem in a particular context (hyperplane arrangements).
We constructed an ideal and then asked SyzOfGens.
One of the generators was 0, and we did need those syzygies (and their correct length)
[I cannot find it now!! I wrote this so I do not forget...]

#4 Updated by John Abbott over 5 years ago

  • Target version changed from CoCoA-5.2.4 to CoCoA-5.3.0

#5 Updated by John Abbott over 4 years ago

  • Target version changed from CoCoA-5.3.0 to CoCoA-5.4.0

#6 Updated by John Abbott about 2 years ago

  • Related to Design #1647: Suppress zero from ideal generators? Detect 1 and simplify generators? added

#7 Updated by John Abbott about 2 years ago

  • Target version changed from CoCoA-5.4.0 to CoCoA-5.4.2

#8 Updated by John Abbott 4 months ago

  • % Done changed from 10 to 20

Currently I think we should not require that gens(I+J) = concat(gens(I),gens(J)). Other ideal operations do not give guarantees about the generators of results (e.g. in I*J). If the user really wants an ideal whose generators are concat(gens(I),gens(J)) then this can be done explicitly as ideal(concat(gens(I),gens(J)))

I can see that for functions such as SyzOfGens we cannot "clean up" the generators: i.e. we have the rule L = gens(ideal(L))

There is a function MinSubsetOfGens which will do some cleaning; also we could just do I+ideal(R,0)

#9 Updated by Anna Maria Bigatti 3 months ago

  • Project changed from CoCoA-5 to CoCoALib
  • Category changed from enhancing/improving to Improving
  • Target version changed from CoCoA-5.4.2 to CoCoALib-0.99850

#10 Updated by John Abbott 3 months ago

Status on 2024-01-22

/**/ I := ideal([x,0]);
/**/ gens(I);
[x,  0]
/**/ J := ideal([0,y,z,0]);
/**/ gens(J);
[0,  y,  z,  0]
/**/ K := I+J;
/**/ gens(K);
[x,  0,  0,  y,  z,  0]

I get the same result even if I compute RGBs for I and J before computing the sum.

#11 Updated by John Abbott 3 months ago

Anna has just confirmed that the documentation does not guarantee that gens(I+J) = concat(...). This is good!

#12 Updated by Anna Maria Bigatti 3 months ago

Neither the manual for CoCoALib nor for CoCoA-5 mention that the generators are the mere concatenation, so we are allowed to be "clever".
We can remove 0s, deal with 1s, maybe with invertibles, and with MinGens (if pre-computed).

#13 Updated by Anna Maria Bigatti 3 months ago

  • Description updated (diff)

#14 Updated by Anna Maria Bigatti 3 months ago

  • % Done changed from 20 to 50

#15 Updated by John Abbott about 2 months ago

  • Assignee set to Anna Maria Bigatti

Fully resolved now? Close?

#16 Updated by Anna Maria Bigatti about 2 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 50 to 100
  • Estimated time changed from 8.00 h to 2.01 h

Closing because duplicated into #1647

Also available in: Atom PDF