Opened 6 years ago

Closed 6 years ago

# Crash with absFactorize

Reported by: Owned by: gorzel somebody major 4-2-0 and higher dontKnow 4-1-0 absFactorize, factorize

### Description

We check (online) the geometric irreducibility of a two cuspidal quartic using absFactorize*:

```> LIB "absfact.lib";
> ring r0 = 0,(x,y),dp;
> poly H = x^3-21*x^2*y-42*x*y^2-19*y^3+3*x^2+12*x*y+12*y^2+9*x+18*y+27;
```

With absFactorizeBCG the result is correct:

```> def S = absFactorizeBCG(H); setring S; absolute_factors;

// 'absFactorizeBCG' created a ring, in which a list absolute_factors (the
// absolute factors) is stored.
// To access the list of absolute factors, type (if the name S was assigned
// to the return value):
//        setring(S); absolute_factors;

:
_=-1
_=-x3+21*x2y+42*xy2+19*y3-3*x2-12*xy-12*y2-9*x-18*y-27
:
1,1
:
_=(a)
_=(a)
:
1
```

But with absFactorize Singular 4-0-1 ... 4-1-0 crashes:

```> setring r0;
> kill S;
> def S = absFactorize(H); setring S; absolute_factors;
Singular : signal 11 (v: 4103):
current line:>>  list p_facts = factorize(p);<<
Segment fault/Bus error occurred at 7ffec36864a0 because of 10206 (r:1502891066)
trying to restart...
? size(`def`) failed
? expected size(`bigint`)
? expected size(`number`)
? expected size(`resolution`)
? expected size(`string`)
? expected size(`poly`)
? expected size(`vector`)
? expected size(`ideal`)
? expected size(`module`)
? expected size(`matrix`)
? expected size(`intvec`)
? expected size(`intmat`)
? expected size(`list`)
? expected size(`ring`)
? error occurred in or before absfact.lib::smallestProperSimpleFactor line 92: `  int s = size(p_facts);`
? expected int-expression. type 'help int;'
? leaving absfact.lib::smallestProperSimpleFactor
Auf Wiedersehen.
```

Take a look at the proc smallestProperSimpleFactor of absfact.lib (analyzed with Singular 4-0-1):

The input and the internal basering just before the crash with factorize is:

```p =  x3-21*x2y-42*xy2-19*y3+3*x2+12*xy+12*y2+9*x+18*y+27
ring MPq = (0,a),(x,y),(dp(2),C);
minpoly = (a^3-12/19*a^2-18/19*a-27/19);
Singular : signal 11 (v: 4010):
current line:>>  factorize(p);<<
Segment fault/Bus error occurred at 7fff29f17790 because of 10202 (r:1502746365)
trying to restart...
```

If the minimal polynomial were reducible over Q, then it is well known that Singular crashes, but this minimal polynomial is irreducible. (Also checked with gp/pari, the Galois group is S_3.)

```> ring ra = 0,a,dp;
> poly mipo = a3-12/19a2-18/19a-27/19;
> factorize (mipo);
:
_=1/19
_=19a3-12a2-18a-27
:
1,1
```

The given polynomial F is irreducible over this number field, too. If we try factorize on the Toplevel with the same ring MPq as in smallestProperSimpleFactor, then no crash occurs:

```> ring raxy = (0,a),(x,y),dp; minpoly = a3-12/19a2-18/19a-27/19;
> poly H = x3-21*x2y-42*xy2-19*y3+3*x2+12*xy+12*y2+9*x+18*y+27;
> factorize (H);
:
_=1
_=x3-21*x2y-42*xy2-19*y3+3*x2+12*xy+12*y2+9*x+18*y+27
:
1,1
```

Very strange.

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

Resolution: → fixed new → closed
Note: See TracTickets for help on using tickets.