axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] 20081221.01.tpd.patch (bookvol10.3 add domains)


From: daly
Subject: [Axiom-developer] 20081221.01.tpd.patch (bookvol10.3 add domains)
Date: Mon, 22 Dec 2008 20:12:27 -0600

Break out MYEXPR, MYUP from GUESSF
Add a Gorka quote to readme
Add Ubuntu XTerm Xresources to download.html
========================================================================
diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 7d78657..453e0e2 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -47664,6 +47664,100 @@ MultivariatePolynomial(vl:List Symbol, R:Ring)
 
 @
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{domain MYEXPR MyExpression}
+\pagehead{MyExpression}{MYEXPR}
+\pagepic{ps/v103myexpression.ps}{MYEXPR}{1.00}
+See also:\\
+\refto{MyUnivariatePolynomial}{MYUP}
+<<domain MYEXPR MyExpression>>=
+)abbrev domain MYEXPR MyExpression
+MyExpression(q: Symbol, R): Exports == Implementation where
+
+  R: Join(Ring, OrderedSet, IntegralDomain)
+  UP ==> MyUnivariatePolynomial(q, R)
+
+  Exports == Join(FunctionSpace R, IntegralDomain,
+                RetractableTo UP, RetractableTo Symbol, 
+                RetractableTo Integer, CombinatorialOpsCategory,
+                PartialDifferentialRing Symbol) with
+              _* : (%,%) -> %
+              _/ : (%,%) -> %
+              _*_* : (%,%) -> %
+              numerator : % -> %
+              denominator : % -> %
+              ground? : % -> Boolean 
+
+              coerce: Fraction UP -> %
+              retract: % -> Fraction UP
+
+  Implementation == Expression R add
+    Rep := Expression R
+
+    iunivariate(p: Polynomial R): UP ==
+        poly: SparseUnivariatePolynomial(Polynomial R) 
+             := univariate(p, q)$(Polynomial R)
+        map(retract(#1), 
poly)$UnivariatePolynomialCategoryFunctions2(Polynomial R,
+                    SparseUnivariatePolynomial Polynomial R, 
+                    R, UP)
+
+    retract(p: %): Fraction UP == 
+        poly: Fraction Polynomial R := retract p
+        upoly: UP := iunivariate numer poly
+        vpoly: UP := iunivariate denom poly
+
+        upoly / vpoly
+
+    retract(p: %): UP == iunivariate retract p
+
+    coerce(r: Fraction UP): % == 
+       num: SparseUnivariatePolynomial R := makeSUP numer r
+       den: SparseUnivariatePolynomial R := makeSUP denom r
+       u: Polynomial R := multivariate(num, q)
+       v: Polynomial R := multivariate(den, q)
+
+       quot: Fraction Polynomial R := u/v
+
+       quot::(Expression R)
+
+@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{domain MYUP MyUnivariatePolynomial}
+\pagehead{MyUnivariatePolynomial}{MYUP}
+\pagepic{ps/v103myunivariatepolynomial.ps}{MYUP}{1.00}
+See also:\\
+\refto{MyExpression}{MYEXPR}
+<<domain MYUP MyUnivariatePolynomial>>=
+)abbrev domain MYUP MyUnivariatePolynomial
+MyUnivariatePolynomial(x:Symbol, R:Ring):
+  UnivariatePolynomialCategory(R) with
+    RetractableTo Symbol;
+    coerce: Variable(x) -> %
+      ++ coerce(x) converts the variable x to a univariate polynomial.
+    fmecg: (%,NonNegativeInteger,R,%) -> %
+        ++ fmecg(p1,e,r,p2) finds X : p1 - r * X**e * p2
+    if R has univariate: (R, Symbol) -> SparseUnivariatePolynomial R
+    then coerce: R -> %
+    coerce: Polynomial R -> %
+   == SparseUnivariatePolynomial(R) add
+    Rep := SparseUnivariatePolynomial(R)
+    coerce(p: %):OutputForm  == outputForm(p, outputForm x)
+    coerce(x: Symbol): % == monomial(1, 1)
+    coerce(v: Variable(x)):% == monomial(1, 1)
+    retract(p: %): Symbol == 
+        retract(p)@SingletonAsOrderedSet
+        x
+    if R has univariate: (R, Symbol) -> SparseUnivariatePolynomial R
+    then coerce(p: R): % == univariate(p, x)$R
+
+    coerce(p: Polynomial R): % == 
+        poly: SparseUnivariatePolynomial(Polynomial R) 
+             := univariate(p, x)$(Polynomial R)
+        map(retract(#1), 
poly)$UnivariatePolynomialCategoryFunctions2(Polynomial R,
+                    SparseUnivariatePolynomial Polynomial R, 
+                    R, %)
+
+@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \chapter{Chapter N}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{domain NSMP NewSparseMultivariatePolynomial}
@@ -91347,6 +91441,8 @@ Note that this code is not included in the generated 
catdef.spad file.
 <<domain MRING MonoidRing>>
 <<domain MSET Multiset>>
 <<domain MPOLY MultivariatePolynomial>>
+<<domain MYEXPR MyExpression>>
+<<domain MYUP MyUnivariatePolynomial>>
 
 <<domain NSMP NewSparseMultivariatePolynomial>>
 <<domain NSUP NewSparseUnivariatePolynomial>>
diff --git a/changelog b/changelog
index f491f42..fcdd260 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,11 @@
+20081221 tpd src/axiom-website/patches.html 20081221.01.tpd.patch
+20081221 tpd readme add Gorka quote
+20081221 tpd src/axiom-website/download.html XTerm*metaSendsEscape: true
+20081221 tpd src/algebra/Makefile.pamphlet
+20081221 tpd books/bookvol10.3 add domains
+20081221 tpd books/ps/v103myunivariatepolynomial.ps added
+20081221 tpd books/ps/v103myexpression.ps added
+20081221 tpd src/algebra/mantepse.spad move domains to bookvol10.3
 20081219 tpd src/axiom-website/patches.html 20081219.01.wxh.patch
 20081219 wxh src/interp/nrunfast.boot Float has exp : Float -> Float
 20081217 tpd src/axiom-website/patches.html 20081217.02.tpd.patch
diff --git a/readme b/readme
index c8f1a1c..ae718f3 100644
--- a/readme
+++ b/readme
@@ -1,3 +1,5 @@
+"What matters the most is what you do for free" -- John Gorka
+
 You've unpacked the Axiom source code to some directory. In this
 document we'll call that directory /home/me/axiom. Note that the path
 cannot contain uppercase characters or spaces. This is a porting
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index ce9ddba..e15ac4b 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -878,7 +878,8 @@ LAYER20=\
   ${OUT}/INTHERAL.o ${OUT}/INTPAF.o   ${OUT}/INTPM.o    ${OUT}/INTTOOLS.o \
   ${OUT}/ITRIGMNP.o ${OUT}/JORDAN.o   ${OUT}/KOVACIC.o  ${OUT}/LF.o       \
   ${OUT}/LIE.o      ${OUT}/LODOF.o    ${OUT}/LSQM.o     ${OUT}/OMEXPR.o   \
-  ${OUT}/MCMPLX.o   ${OUT}/MULTFACT.o ${OUT}/NAGD01.o   ${OUT}/NAGD02.o   \
+  ${OUT}/MCMPLX.o   ${OUT}/MULTFACT.o ${OUT}/MYEXPR.o  \
+  ${OUT}/NAGD01.o   ${OUT}/NAGD02.o   \
   ${OUT}/NAGF01.o   ${OUT}/NAGF02.o   ${OUT}/NAGF04.o   ${OUT}/NCEP.o     \
   ${OUT}/NLINSOL.o  ${OUT}/NSMP.o     ${OUT}/NUMERIC.o  ${OUT}/OCT.o      \
   ${OUT}/OCTCT2.o   ${OUT}/ODEPAL.o   ${OUT}/ODERTRIC.o ${OUT}/PADE.o     \
@@ -931,6 +932,7 @@ LAYER21=\
   ${OUT}/FDIV.o     ${OUT}/FSCINT.o   ${OUT}/FSINT.o    ${OUT}/FS2EXPXP.o \
   ${OUT}/GSERIES.o  ${OUT}/HELLFDIV.o ${OUT}/INVLAPLA.o ${OUT}/IR2F.o     \
   ${OUT}/IRRF2F.o   ${OUT}/LAPLACE.o  ${OUT}/LIMITPS.o  ${OUT}/LODEEF.o   \
+  ${OUT}/MYUP.o \
   ${OUT}/NODE1.o    ${OUT}/ODECONST.o ${OUT}/ODEINT.o   ${OUT}/RECOP.o    \
   ${OUT}/REP.o      \
   ${OUT}/SOLVERAD.o ${OUT}/SULS.o     ${OUT}/SUPXS.o    ${OUT}/UFPS1.o \
@@ -1181,7 +1183,7 @@ ${MID}/GUESSAN.nrlib/code.o: ${MID}/GUESSAN.spad
           fi )
 
 GUESSUPDEPS = NEWTON FAMR2 FFFG FFFGF SUPEXPR UTSSOL EXPRSOL GOPT GOPT0 \
-            UFPS RECOP UFPS1 GUESS
+            UFPS RECOP UFPS1 GUESS MYEXPR MYUP
 
 ${MID}/GUESSUP.nrlib/code.o: ${MID}/GUESSUP.spad
        @echo S1 making ${MID}/GUESSUP.nrlib/code.o from ${MID}/GUESSUP.spad
@@ -3242,6 +3244,7 @@ ${HELP}/ZeroDimensionalSolvePackage.help: 
${IN}/zerodim.spad.pamphlet
 <<layer21>>
 <<layer22>>
 <<layer23>>
+<<layer24>>
 <<USERLAYER>>
 <<order>>
 
diff --git a/src/algebra/mantepse.spad.pamphlet 
b/src/algebra/mantepse.spad.pamphlet
index 5addd74..b6c9ba3 100644
--- a/src/algebra/mantepse.spad.pamphlet
+++ b/src/algebra/mantepse.spad.pamphlet
@@ -2587,91 +2587,8 @@ GuessAlgebraicNumber() == Guess(AlgebraicNumber, 
AlgebraicNumber,
                            coerce$Expression(Integer))
 
 @
-
-
 \section{package GUESSUP GuessUnivariatePolynomial}
 <<package GUESSUP GuessUnivariatePolynomial>>=
-)abbrev domain MYUP MyUnivariatePolynomial
-MyUnivariatePolynomial(x:Symbol, R:Ring):
-  UnivariatePolynomialCategory(R) with
-    RetractableTo Symbol;
-    coerce: Variable(x) -> %
-      ++ coerce(x) converts the variable x to a univariate polynomial.
-    fmecg: (%,NonNegativeInteger,R,%) -> %
-        ++ fmecg(p1,e,r,p2) finds X : p1 - r * X**e * p2
-    if R has univariate: (R, Symbol) -> SparseUnivariatePolynomial R
-    then coerce: R -> %
-    coerce: Polynomial R -> %
-   == SparseUnivariatePolynomial(R) add
-    Rep := SparseUnivariatePolynomial(R)
-    coerce(p: %):OutputForm  == outputForm(p, outputForm x)
-    coerce(x: Symbol): % == monomial(1, 1)
-    coerce(v: Variable(x)):% == monomial(1, 1)
-    retract(p: %): Symbol == 
-        retract(p)@SingletonAsOrderedSet
-        x
-    if R has univariate: (R, Symbol) -> SparseUnivariatePolynomial R
-    then coerce(p: R): % == univariate(p, x)$R
-
-    coerce(p: Polynomial R): % == 
-        poly: SparseUnivariatePolynomial(Polynomial R) 
-             := univariate(p, x)$(Polynomial R)
-        map(retract(#1), 
poly)$UnivariatePolynomialCategoryFunctions2(Polynomial R,
-                    SparseUnivariatePolynomial Polynomial R, 
-                    R, %)
-
-
-)abbrev domain MYEXPR MyExpression
-MyExpression(q: Symbol, R): Exports == Implementation where
-
-  R: Join(Ring, OrderedSet, IntegralDomain)
-  UP ==> MyUnivariatePolynomial(q, R)
-
-  Exports == Join(FunctionSpace R, IntegralDomain,
-                RetractableTo UP, RetractableTo Symbol, 
-                RetractableTo Integer, CombinatorialOpsCategory,
-                PartialDifferentialRing Symbol) with
-              _* : (%,%) -> %
-              _/ : (%,%) -> %
-              _*_* : (%,%) -> %
-              numerator : % -> %
-              denominator : % -> %
-              ground? : % -> Boolean 
-
-              coerce: Fraction UP -> %
-              retract: % -> Fraction UP
-
-  Implementation == Expression R add
-    Rep := Expression R
-
-    iunivariate(p: Polynomial R): UP ==
-        poly: SparseUnivariatePolynomial(Polynomial R) 
-             := univariate(p, q)$(Polynomial R)
-        map(retract(#1), 
poly)$UnivariatePolynomialCategoryFunctions2(Polynomial R,
-                    SparseUnivariatePolynomial Polynomial R, 
-                    R, UP)
-
-    retract(p: %): Fraction UP == 
-        poly: Fraction Polynomial R := retract p
-        upoly: UP := iunivariate numer poly
-        vpoly: UP := iunivariate denom poly
-
-        upoly / vpoly
-
-    retract(p: %): UP == iunivariate retract p
-
-    coerce(r: Fraction UP): % == 
-       num: SparseUnivariatePolynomial R := makeSUP numer r
-       den: SparseUnivariatePolynomial R := makeSUP denom r
-       u: Polynomial R := multivariate(num, q)
-       v: Polynomial R := multivariate(den, q)
-
-       quot: Fraction Polynomial R := u/v
-
-       quot::(Expression R)
-
-
-
 )abbrev package GUESSUP GuessUnivariatePolynomial
 ++ Description:
 ++ This package exports guessing of sequences of univariate rational functions
diff --git a/src/axiom-website/download.html b/src/axiom-website/download.html
index 6576df9..875d2d3 100644
--- a/src/axiom-website/download.html
+++ b/src/axiom-website/download.html
@@ -1001,6 +1001,11 @@ cd axiom
 export AXIOM=`pwd`/mnt/ubuntu
 export PATH=$AXIOM/bin:$PATH
 make
+
+Also note that Ubuntu ships a broken xterm setting for the emacs alt key
+where alt is supposed to be meta. Add the following line 
+  XTerm*metaSendsEscape: true
+in your .Xresources file
    </pre>
 
   <h3>OpenSuSE</h3>
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index c8f6886..16f1537 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -821,6 +821,8 @@ padic.spad removed<br/>
 add guess package<br/>
 <a href="patches/20081219.01.wxh.patch">20081219.01.wxh.patch</a>
 Float has exp: Float -> Float<br/>
+<a href="patches/20081221.01.wxh.patch">20081221.01.wxh.patch</a>
+bookvol10.3 add domains<br/>
 
  </body>
 </html>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]