Opened 15 years ago

Closed 15 years ago

Last modified 12 years ago

#97 closed bug (fixed)

Return value of factstd(0); should be the zero-ideal

Reported by: gorzelc@… Owned by: hannes
Priority: minor Milestone: Release 3-1-0
Component: singular-kernel Version:
Keywords: factstd(0); Cc:

Description

As the desription of facstd states, facstd should always return a list of ideals,

but

facstd(0);

gives the empty list and not the zero-ideal.

Cited from the Manual:

5.1.29 facstd

Syntax:
    facstd ( ideal_expression )
    facstd ( ideal_expression, ideal_expression ) 
Type:
    list of ideals 

Purpose:
    returns a list of ideals computed by 
    the factorizing Groebnerbasis algorithm.
    The intersection of these ideals has the 
    same zero-set as the input, 

Examples:

   ring r=0,x,dp;

   > facstd(x2);
   [1]:
      _[1]=x     // OK
   > facstd(2);
   [1]:
      _[1]=1     // OK
   > facstd(0);  // BUG
   empty list

But it should give

   > factstd(0);   
   [0]:
       _[1]=0

Otherwise,

"The intersection of these ideals has the

same zero-set as the input, ..."

makes no sense.

Change History (2)

comment:1 Changed 15 years ago by hannes

Resolution: fixed
Status: newclosed

fixed.

comment:2 Changed 12 years ago by gorzel

Could you commit a patch such it returns indeed the 0-ideal,

or is there a need that it works as it does:

> ring r=0,x,dp;
> facstd(2);
[1]:
   _[1]=1  //
> facstd(0);
[1]:

> def d = _;
> d;
[1]:

> typeof(d);
list
> size(d);
1
> typeof(d[1]);
ideal
> ideal I = d[1];
> I;

> size(I);
0
> ncols(I);
0

I would like to have it as in this case (without the message)

> ring r49 = (49,a),x,dp;
> facstd(0);
// ** no factorization implemented
[1]:
   _[1]=0
Note: See TracTickets for help on using tickets.