Opened 13 years ago
Closed 13 years ago
#197 closed bug (invalid)
toric.lib: problems with ASCII links
Reported by: | 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
comment:2 Changed 13 years ago by
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
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
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
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
Resolution: | → invalid |
---|---|
Status: | new → closed |
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@…)
I get a maybe related(?) problem in toric.lib when running SINGULAR, loading toric.lib and typing "example toric_ideal;":
FB Mathematik der Universitaet, D-67653 Kaiserslautern \ executing /cygdrive/c/Programme/cygwin/home/seelisch/sandbox/LIB/.singularrc
loaded /usr/share/Singular/LIB/toric.lib (1.11,2001/02/06)
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