Opened 15 years ago

Closed 15 years ago

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

Reported by: Owned by: gorzelc@… hannes minor Release 3-1-0 singular-kernel factstd(0);

### 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.

### comment:1 Changed 15 years ago by hannes

Resolution: → fixed new → closed

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.