Opened 13 years ago

Closed 13 years ago

#197 closed bug (invalid)

toric.lib: problems with ASCII links

Reported by: Dominic Walter (csab6729@… Owned by: somebody
Priority: minor Milestone: 3-1-1
Component: singular-libs Version: 3-1-0
Keywords: toric ideal Cc:

Description

S.g. Damen und Herren,

ich versuche schon die längste Zeit, mit dem Befehl "toric_ideal" eine Basis eines torischen Ideals zu berechnen.

Ich erhalte immer folgende Fehlermeldung:

? open: Error for link of type: ASCII, mode: r, name: temp_MATRIX31015.GB.du ? cannot read from temp_MATRIX31015.GB.du ? error occurred in toric.lib::toric_ideal_1 line 284: string toric_id=read(TORIC_IDEAL); ? expected string-expression. type 'help string;' ? leaving toric.lib::toric_ideal_1 skipping text from ) error at token ) ? leaving toric.lib::toric_ideal

Singular beschwert sich, die Datei "temp_MATRIX31015.GB.du" nicht lesen zu können. Nun ja ... die Datei, welche im Arbeitsverzeichnis erzeugt wird heißt nur "temp_MATRIX31015" ... also wen wunderts!? Kein ".GB.du" vorhanden. Ähm, sehe ich das richtig? Wissen Sie davon irgendetwas?

Lg domo

Change History (6)

comment:1 Changed 13 years ago by seelisch

I get a maybe related(?) problem in toric.lib when running SINGULAR, loading toric.lib and typing "example toric_ideal;":

SINGULAR /

A Computer Algebra System for Polynomial Computations / version 3-1-0

0<

by: G.-M. Greuel, G. Pfister, H. Schoenemann \ Mar 2009

FB Mathematik der Universitaet, D-67653 Kaiserslautern \ executing /cygdrive/c/Programme/cygwin/home/seelisch/sandbox/LIB/.singularrc

LIB "toric.lib";

loaded /usr/share/Singular/LIB/toric.lib (1.11,2001/02/06)

example toric_ideal;

proc toric_ideal from lib toric.lib EXAMPLE

ring r=0,(x,y,z),dp;

call with two arguments intmat A[2][3]=1,1,0,0,1,1; A; 1,1,0, 0,1,1

ideal I=toric_ideal(A,"du"); I; I[1]=xz-y

I=toric_ideal(A,"blr"); ERROR: The chosen algorithm needs a positive vector in the row space of the matrix. I; I[1]=0

call with three arguments intvec prsv=1,2,1; I=toric_ideal(A,"blr",prsv); I; I[1]=xz-y

comment:2 Changed 13 years ago by Oleksandr

Frank, that's not a problem, please take a good look at that example: http://www.singular.uni-kl.de/Manual/latest/sing_1035.htm.

As for the actual problem reported by Dominic Walter: we need his singular code in order to reproduce this bug... Moreover we might need to know his OS and his Singular version (output of Singular -v).

ps: at the very least the file "temp_MATRIX31015.GB.du" would be handy...

comment:3 Changed 13 years ago by Oleksandr

Oh clearly the file "temp_MATRIX31015" was meant.

Thanks for the input code!

This is a bug in toric_ideal external tool. Debugging GDB output:

Program received signal SIGFPE, Arithmetic exception. 0x0000000000405f4a in binomial::head_reductions_by (this=0x64c040, b=...) at binomial.cc:590 590 new_result=(Integer) (exponent_vector[j]/ b.exponent_vector[j]);

(gdb) l 585 586 if(b.head_support&(1<<i)) 587 bit i of b.head_support is 1 588 { 589 short j=_number_of_variables-1-i;

590 new_result=(Integer) (exponent_vector[j]/ b.exponent_vector[j]); !!!!!! PROBLEM IS HERE !!!!!!!!

591 remember that exponent_vector[_number_of_variables-1-i]>0 ! 592 (head support contains that of b) 593 594 if(new_result==0)

(gdb) bt

#0 0x0000000000405f4a in binomial::head_reductions_by (this=0x64c040, b=...) at binomial.cc:590 #1 0x0000000000406a7e in binomial::reduce_head_by (this=0x40, b=..., w=...) at binomial.cc:814 #2 0x00000000004147ef in ideal::minimalize (this=0x63bfa0) at Buchberger.cc:2304 #3 0x000000000041750b in ideal::reduced_Groebner_basis_1 (this=0x40, S_pair_criteria=@0x40, interred_percentage=@0x0)

at Buchberger.cc:2879

#4 0x000000000041767e in ideal::reduced_Groebner_basis (this=0x63bfa0, version=<value optimized out>,

S_pair_criteria=<value optimized out>, interred_percentage=@0x1) at Buchberger.cc:3179

#5 0x0000000000420572 in DiBiase_Urbanke (MATRIX=0x7fffffffe1d6 "temp_MATRIX16546", version=@0x7fffffffdd50,

S_pair_criteria=@0x7fffffffdd4e, interred_percentage=@0x7fffffffdd68, verbose=@0x7fffffffdd53) at IP_algorithms.cc:1876

#6 0x0000000000426ec0 in main (argc=<value optimized out>, argv=0x7fffffffde78) at toric_ideal.cc:224

comment:4 Changed 13 years ago by seelisch

Hier der Vollständigkeit noch der Source Code von Dominic, der zum Fehler führt:

option(prot); LIB "toric.lib";

ring R = 0,(z00,z01,z02,z03,z04,z05,z06,z07,z10,z11,z12,z13,z14,z15,z16,z17,z20,z21,z22,z23,z24,z25,z26, z27,z30,z31,z32,z33,z34,z35,z36,z37,z40,z41,z42,z43,z44,z45,z46,z47,z50,z51,z52,z53,z54,z55, z56,z57,z60,z61,z62,z63,z64,z65,z66,z67,z70,z71,z72,z73,z74,z75,z76,z77),dp;

intmat A[16][64] = 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1, 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1, 1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0, 0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0, 0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,0,1;

ideal gb = toric_ideal(A,"du");

Und hier noch die Fehlermeldung:

? open: Error for link of type: ASCII, mode: r, name: temp_MATRIX31015.GB.du ? cannot read from temp_MATRIX31015.GB.du ? error occurred in toric.lib::toric_ideal_1 line 284: string toric_id=read(TORIC_IDEAL); ? expected string-expression. type 'help string;' ? leaving toric.lib::toric_ideal_1 skipping text from ) error at token ) ? leaving toric.lib::toric_ideal

Bezüglich des letzten Kommentars auf oben genannter Seite: "at the very least the file "temp_MATRIX31015.GB.du" would be handy"

Na no na ned, das ist ja gerade der Witz dran. Die Datei emp_MATRIX31015.GB.du gibt es nicht. Nur die Datei temp_MATRIX31015.

Ich will Ihnen nicht groß reinquatschen, aber im Singular-Source-Code, in der Datei "toric.lib" in den Zeilen 225-226 und 283 findet man folgendes:

string matrixfile="temp_MATRIX"+string(process); link MATRIX=":w "+matrixfile;

bzw.

link TORIC_IDEAL=":r "+matrixfile+".GB."+alg;

Also mir kommt das sehr verdächtig vor.

Vielen Dank!!

comment:5 Changed 13 years ago by hannes

2 Anmerkungen:

- der Fehler tritt in der 32bit-Version nicht auf
- neuere Versionen von toric.lib haben bessere Fehlermeldungen:
   > ideal gb = toric_ideal(A,"du");
   ? toric_ideal failed with error code 8
   ? leaving toric.lib::toric_ideal_1
   ? leaving toric.lib::toric_ideal

comment:6 Changed 13 years ago by seelisch

Resolution: invalid
Status: newclosed

Source Code von Dominic, der zum Fehler führt:

option(prot); LIB "toric.lib";

ring R = 0,(z00,z01,z02,z03,z04,z05,z06,z07,z10,z11,z12,z13,z14,z15,z16,z17,z20,z21,z22,z23,z24,z25,z26, z27,z30,z31,z32,z33,z34,z35,z36,z37,z40,z41,z42,z43,z44,z45,z46,z47,z50,z51,z52,z53,z54,z55, z56,z57,z60,z61,z62,z63,z64,z65,z66,z67,z70,z71,z72,z73,z74,z75,z76,z77),dp;

intmat A[16][64] = 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1, 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1, 1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0, 0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0, 0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,0,1;

ideal gb = toric_ideal(A,"du");

Und hier noch die Fehlermeldung:

? open: Error for link of type: ASCII, mode: r, name: temp_MATRIX31015.GB.du ? cannot read from temp_MATRIX31015.GB.du ? error occurred in toric.lib::toric_ideal_1 line 284: string toric_id=read(TORIC_IDEAL); ? expected string-expression. type 'help string;' ? leaving toric.lib::toric_ideal_1 skipping text from ) error at token ) ? leaving toric.lib::toric_ideal

  • der Fehler tritt in der 32bit-Version nicht auf
  • neuere Versionen von toric.lib haben bessere Fehlermeldungen:

    ideal gb = toric_ideal(A,"du");

? toric_ideal failed with error code 8 ? leaving toric.lib::toric_ideal_1 ? leaving toric.lib::toric_ideal

Dominic Walter (csab6729@…)

Note: See TracTickets for help on using tickets.