[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] 20080314.01.wxh.patch (heugcd fricas rev 256)
From: |
daly |
Subject: |
[Axiom-developer] 20080314.01.wxh.patch (heugcd fricas rev 256) |
Date: |
Fri, 14 Mar 2008 21:00:20 -0600 |
This is a port of the HEUGCD Fricas revision 256 patch. The patch causes
memory overflows in the default size (256*1024) maxpages in GCL for the
differential equation test suite (specifically in kamke2). Thus the
limit is raised here. There is a new regression test file, heugcd.input.
Tim
=======================================================================
diff --git a/Makefile.pamphlet b/Makefile.pamphlet
index cf1de09..f5354c8 100644
--- a/Makefile.pamphlet
+++ b/Makefile.pamphlet
@@ -772,7 +772,7 @@ Error: Cannot get relocated section contents
\end{verbatim}
<<GCLOPTS-LOCBFD>>=
GCLOPTS="--enable-vssize=65536*2 --enable-locbfd --disable-dynsysbfd \
- --disable-statsysbfd --enable-maxpage=256*1024 --disable-xgcl \
+ --disable-statsysbfd --enable-maxpage=512*1024 --disable-xgcl \
--disable-tkconfig"
@
For the MACOSX port we need the following options. The ``--disable-nls'' means
diff --git a/changelog b/changelog
index 6a0d90e..1076313 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20080314 tpd Makefile --enable-maxpage=512*1024 due to kamke2
+20080314 tpd src/input/Makefile add heugcd.input
+20080314 tpd src/input/heugcd.input regression test listgcd change
+20080314 wxh src/algebra/listgcd.spad add check for bad reduction (rev 256)
20080313 pab src/interp/hashcode.boot make Mapping hash correct for Aldor
20080312 tpd src/algebra/intfact.spad speed BasicSieve, prime, add docs
20080305 tpd src/hyper/bookvol11 add additional hyperdoc page translations
diff --git a/src/algebra/listgcd.spad.pamphlet
b/src/algebra/listgcd.spad.pamphlet
index f626adb..8cbcebe 100644
--- a/src/algebra/listgcd.spad.pamphlet
+++ b/src/algebra/listgcd.spad.pamphlet
@@ -34,6 +34,10 @@ HeuGcd (BP):C == T
C == with
gcd : List BP -> BP
++ gcd([f1,..,fk]) = gcd of the polynomials fi.
+ ++
+ ++E gcd([671*671*x^2-1,671*671*x^2+2*671*x+1])
+ ++E gcd([7*x^2+1,(7*x^2+1)^2])
+
gcdprim : List BP -> BP
++ gcdprim([f1,..,fk]) = gcd of k PRIMITIVE univariate polynomials
gcdcofact : List BP -> List BP
@@ -196,9 +200,13 @@ HeuGcd (BP):C == T
minpol:=contgcd*minpol
listdeg:=[degree f for f in listf ]
f:= first listf
- for g in rest listf repeat
- f:=gcd(f,g,bigPrime)
- if degree f = 0 then return cons(minpol,listf)
+ if positiveRemainder(leadingCoefficient(f), bigPrime) ~= 0 then
+ for g in rest listf repeat
+ lcg := leadingCoefficient(g)
+ if positiveRemainder(lcg, bigPrime) = 0 then
+ leave
+ f:=gcd(f,g,bigPrime)
+ if degree f = 0 then return cons(minpol,listf)
ans:List BP :=
--one polynomial is constant
member?(0,listdeg) => constcase(listdeg,listf)
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index a54a9e7..2b626c3 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -320,7 +320,8 @@ REGRES= algaggr.regress algbrbf.regress algfacob.regress
alist.regress \
galois.regress gamma.regress \
gbf.regress genups.regress gonshor.regress grpthry.regress \
gstbl.regress heap.regress heat.regress help.regress \
- herm.regress hexadec.regress ico.regress ideal.regress \
+ herm.regress heugcd.regress \
+ hexadec.regress ico.regress ideal.regress \
ifact.regress infprod.regress intaf.regress intbypart.regress \
intdeq.regress \
intef2.regress intef.regress intg0.regress intheory.regress \
@@ -566,7 +567,8 @@ FILES= ${OUT}/algaggr.input ${OUT}/algbrbf.input
${OUT}/algfacob.input \
${OUT}/gonshor.input ${OUT}/grdef.input \
${OUT}/gstbl.input \
${OUT}/heap.input ${OUT}/heat.input ${OUT}/helix.input \
- ${OUT}/herm.input ${OUT}/hexadec.input ${OUT}/huang.input \
+ ${OUT}/herm.input ${OUT}/heugcd.input \
+ ${OUT}/hexadec.input ${OUT}/huang.input \
${OUT}/ico.input ${OUT}/ideal.input ${OUT}/ifact.input \
${OUT}/images1.input ${OUT}/images1a.input ${OUT}/images3a.input \
${OUT}/images3.input ${OUT}/images6.input ${OUT}/images6a.input \
@@ -836,6 +838,7 @@ DOCFILES= \
${DOC}/gstbl.input.dvi ${DOC}/heap.input.dvi \
${DOC}/heat.input.dvi ${DOC}/helix.input.dvi \
${DOC}/help.input.dvi ${DOC}/herm.input.dvi \
+ ${DOC}/heugcd.input.dvi \
${DOC}/hexadec.input.dvi ${DOC}/hilbert.as.dvi \
${DOC}/huang.input.dvi ${DOC}/ico.input.dvi \
${DOC}/ideal.input.dvi ${DOC}/ifact.input.dvi \
diff --git a/src/input/heugcd.input.pamphlet b/src/input/heugcd.input.pamphlet
new file mode 100644
index 0000000..9541d31
--- /dev/null
+++ b/src/input/heugcd.input.pamphlet
@@ -0,0 +1,66 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input heugcd.input}
+\author{Waldek Hebisch and Timothy Daly}
+\maketitle
+\begin{abstract}
+This is a test of revision 256 of FriCAS which changed
+the gcd function in listgcd.spad.pamphlet.
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+Of these examples, all but the first used to return 1.
+This is a test of revision 256 of FriCAS which changed
+the gcd function in listgcd.spad.pamphlet.
+@
+<<*>>=
+)spool heugcd.output
+)set message test on
+)set message auto off
+)clear all
+
+--S 1 of 5
+gcd([0,0,x^2-1,x^2+2*x+1])
+--R
+--R (1) x + 1
+--R Type: Polynomial
Integer
+--E 1
+
+--S 2 of 5
+gcd([0,0,x^2-1,x^2+2*x+1])$HeuGcd(SparseUnivariatePolynomial Integer)
+--R
+--R (2) ? + 1
+--R Type: SparseUnivariatePolynomial
Integer
+--E 2
+
+--S 3 of 5
+gcd(6*x^2-1,36*x^2+12*x+1)
+--R
+--R (3) 1
+--R Type: Polynomial
Integer
+--E 3
+
+--S 4 of 5
+gcd([36*x^2-1,36*x^2+12*x+1])
+--R
+--R (4) 6x + 1
+--R Type: Polynomial
Integer
+--E 4
+
+--S 5 of 5
+gcd([36*x^2-1,36*x^2+12*x+1])$HeuGcd(SparseUnivariatePolynomial Integer)
+--R
+--R (5) 6? + 1
+--R Type: SparseUnivariatePolynomial
Integer
+--E 5
+)spool
+)lisp (bye)
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} http://fricas.svn.sourceforge.net/fricas/?rev=256\&view=rev
+\end{thebibliography}
+\end{document}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] 20080314.01.wxh.patch (heugcd fricas rev 256),
daly <=