[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] 20070826.01.tpd.patch applied to silver
From: |
daly |
Subject: |
[Axiom-developer] 20070826.01.tpd.patch applied to silver |
Date: |
Mon, 27 Aug 2007 02:49:23 -0500 |
diff --git a/changelog b/changelog
index eaa591a..fbb5d26 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,25 @@
+20070825 tpd doc/src/algebra/spadhelp add all abbreviation files
+20070825 tpd src/doc/spadhelp add all abbreviations
+20070825 tpd src/doc/spadhelp add DoubleFloat
+20070825 tpd src/algebra/Makefile add DoubleFloat.help
+20070825 tpd src/algebra/sf.spad add DoubleFloat.help
+20070825 tpd src/algebra/sf.spad add DoubleFloat.input
+20070825 tpd src/doc/spadhelp add EqTable
+20070825 tpd src/algebra/Makefile add EqTable.help
+20070825 tpd src/algebra/table.spad add EqTable.help
+20070825 tpd src/algebra/table.spad add EqTable.input
+20070825 tpd src/doc/spadhelp add DistributedMultivariatePolynomial
+20070825 tpd src/algebra/Makefile add DMP.help
+20070825 tpd src/algebra/gdpoly.spad add DMP.help
+20070825 tpd src/algebra/gdpoly.spad add DMP.input
+20070825 tpd src/doc/spadhelp add GeneralDistributedMultivariatePolynomial
+20070825 tpd src/algebra/Makefile add GDMP.help
+20070825 tpd src/algebra/gdpoly.spad add GDMP.help
+20070825 tpd src/algebra/gdpoly.spad add GDMP.input
+20070825 tpd src/algebra/carten.spad fix help typo
+20070825 tpd src/algebra/gaussian.spad fix help typo
+20070825 tpd src/algebra/derham.spad fix help typo
+20070825 tpd src/algebra/cycles.spad fix help typo
20070824 tpd src/doc/spadhelp add DecimalExpansion
20070824 tpd src/algebra/Makefile add DecimalExpansion.help
20070824 tpd src/algebra/radix.spad add DecimalExpansion.help
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 3fa3009..542e42d 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -2026,7 +2026,11 @@ SPADHELP=\
${HELP}/CharacterClass.help ${HELP}/CliffordAlgebra.help \
${HELP}/Complex.help ${HELP}/ContinuedFraction.help \
${HELP}/CycleIndicators.help ${HELP}/DeRhamComplex.help \
- ${HELP}/DecimalExpansion.help
+ ${HELP}/DecimalExpansion.help ${HELP}/DoubleFloat.help \
+ ${HELP}/EqTable.help \
+ ${HELP}/DistributedMultivariatePolynomial.help \
+ ${HELP}/GeneralDistributedMultivariatePolynomial.help \
+ ${HELP}/HomogeneousDistributedMultivariatePolynomial.help
@
The algebra files contain input chunks in regress format.
@@ -2044,7 +2048,11 @@ REGRESS=\
CharacterClass.regress CliffordAlgebra.regress \
Complex.regress ContinuedFraction.regress \
CycleIndicators.regress DeRhamComplex.regress \
- DecimalExpansion.regress
+ DecimalExpansion.regress DoubleFloat.regress \
+ EqTable.regress \
+ DistributedMultivariatePolynomial.regress \
+ GeneralDistributedMultivariatePolynomial.regress \
+ HomogeneousDistributedMultivariatePolynomial.regress
%.regress: %.input
@ echo algebra regression testing $*
@@ -2061,6 +2069,7 @@ ${HELP}/AssociationList.help: ${IN}/list.spad.pamphlet
@echo 7000 create AssociationList.help from ${IN}/list.spad.pamphlet
@${TANGLE} -R"AssociationList.help" ${IN}/list.spad.pamphlet \
>${HELP}/AssociationList.help
+ @cp ${HELP}/AssociationList.help ${HELP}/ALIST.help
@${TANGLE} -R"AssociationList.input" ${IN}/list.spad.pamphlet \
>${INPUT}/AssociationList.input
@@ -2068,6 +2077,7 @@ ${HELP}/BalancedBinaryTree.help: ${IN}/tree.spad.pamphlet
@echo 7001 create BalancedBinaryTree.help from ${IN}/tree.spad.pamphlet
@${TANGLE} -R"BalancedBinaryTree.help" ${IN}/tree.spad.pamphlet \
>${HELP}/BalancedBinaryTree.help
+ @cp ${HELP}/BalancedBinaryTree.help ${HELP}/BBTREE.help
@${TANGLE} -R"BalancedBinaryTree.input" ${IN}/tree.spad.pamphlet \
>${INPUT}/BalancedBinaryTree.input
@@ -2075,6 +2085,7 @@ ${HELP}/BasicOperator.help: ${IN}/op.spad.pamphlet
@echo 7002 create BasicOperator.help from ${IN}/op.spad.pamphlet
@${TANGLE} -R"BasicOperator.help" ${IN}/op.spad.pamphlet \
>${HELP}/BasicOperator.help
+ @cp ${HELP}/BasicOperator.help ${HELP}/BOP.help
@${TANGLE} -R"BasicOperator.input" ${IN}/op.spad.pamphlet \
>${INPUT}/BasicOperator.input
@@ -2082,6 +2093,7 @@ ${HELP}/BinaryExpansion.help: ${IN}/radix.spad.pamphlet
@echo 7003 create BinaryExpansion.help from ${IN}/radix.spad.pamphlet
@${TANGLE} -R"BinaryExpansion.help" ${IN}/radix.spad.pamphlet \
>${HELP}/BinaryExpansion.help
+ @cp ${HELP}/BinaryExpansion.help ${HELP}/BINARY.help
@${TANGLE} -R"BinaryExpansion.input" ${IN}/radix.spad.pamphlet \
>${INPUT}/BinaryExpansion.input
@@ -2089,6 +2101,7 @@ ${HELP}/BinarySearchTree.help: ${IN}/tree.spad.pamphlet
@echo 7004 create BinarySearchTree.help from ${IN}/tree.spad.pamphlet
@${TANGLE} -R"BinarySearchTree.help" ${IN}/tree.spad.pamphlet \
>${HELP}/BinarySearchTree.help
+ @cp ${HELP}/BinarySearchTree.help ${HELP}/BSTREE.help
@${TANGLE} -R"BinarySearchTree.input" ${IN}/tree.spad.pamphlet \
>${INPUT}/BinarySearchTree.input
@@ -2096,6 +2109,7 @@ ${HELP}/CardinalNumber.help: ${IN}/card.spad.pamphlet
@echo 7005 create CardinalNumber.help from ${IN}/card.spad.pamphlet
@${TANGLE} -R"CardinalNumber.help" ${IN}/card.spad.pamphlet \
>${HELP}/CardinalNumber.help
+ @cp ${HELP}/CardinalNumber.help ${HELP}/CARD.help
@${TANGLE} -R"CardinalNumber.input" ${IN}/card.spad.pamphlet \
>${INPUT}/CardinalNumber.input
@@ -2103,6 +2117,7 @@ ${HELP}/CartesianTensor.help: ${IN}/carten.spad.pamphlet
@echo 7006 create CartesianTensor.help from ${IN}/carten.spad.pamphlet
@${TANGLE} -R"CartesianTensor.help" ${IN}/carten.spad.pamphlet \
>${HELP}/CartesianTensor.help
+ @cp ${HELP}/CartesianTensor.help ${HELP}/CARTEN.help
@${TANGLE} -R"CartesianTensor.input" ${IN}/carten.spad.pamphlet \
>${INPUT}/CartesianTensor.input
@@ -2110,6 +2125,7 @@ ${HELP}/Character.help: ${IN}/string.spad.pamphlet
@echo 7007 create Character.help from ${IN}/string.spad.pamphlet
@${TANGLE} -R"Character.help" ${IN}/string.spad.pamphlet \
>${HELP}/Character.help
+ @cp ${HELP}/Character.help ${HELP}/CHAR.help
@${TANGLE} -R"Character.input" ${IN}/string.spad.pamphlet \
>${INPUT}/Character.input
@@ -2117,6 +2133,7 @@ ${HELP}/CharacterClass.help: ${IN}/string.spad.pamphlet
@echo 7008 create CharacterClass.help from ${IN}/string.spad.pamphlet
@${TANGLE} -R"CharacterClass.help" ${IN}/string.spad.pamphlet \
>${HELP}/CharacterClass.help
+ @cp ${HELP}/CharacterClass.help ${HELP}/CCLASS.help
@${TANGLE} -R"CharacterClass.input" ${IN}/string.spad.pamphlet \
>${INPUT}/CharacterClass.input
@@ -2125,6 +2142,7 @@ ${HELP}/CliffordAlgebra.help: ${IN}/clifford.spad.pamphlet
${IN}/clifford.spad.pamphlet
@${TANGLE} -R"CliffordAlgebra.help" ${IN}/clifford.spad.pamphlet \
>${HELP}/CliffordAlgebra.help
+ @cp ${HELP}/CliffordAlgebra.help ${HELP}/CLIF.help
@${TANGLE} -R"CliffordAlgebra.input" ${IN}/clifford.spad.pamphlet \
>${INPUT}/CliffordAlgebra.input
@@ -2132,6 +2150,7 @@ ${HELP}/Complex.help: ${IN}/gaussian.spad.pamphlet
@echo 7010 create Complex.help from ${IN}/gaussian.spad.pamphlet
@${TANGLE} -R"Complex.help" ${IN}/gaussian.spad.pamphlet \
>${HELP}/Complex.help
+ @cp ${HELP}/Complex.help ${HELP}/COMPLEX.help
@${TANGLE} -R"Complex.input" ${IN}/gaussian.spad.pamphlet \
>${INPUT}/Complex.input
@@ -2140,6 +2159,7 @@ ${HELP}/ContinuedFraction.help:
${IN}/contfrac.spad.pamphlet
${IN}/contfrac.spad.pamphlet
@${TANGLE} -R"ContinuedFraction.help" ${IN}/contfrac.spad.pamphlet \
>${HELP}/ContinuedFraction.help
+ @cp ${HELP}/ContinuedFraction.help ${HELP}/CONTFRAC.help
@${TANGLE} -R"ContinuedFraction.input" ${IN}/contfrac.spad.pamphlet \
>${INPUT}/ContinuedFraction.input
@@ -2148,6 +2168,7 @@ ${HELP}/CycleIndicators.help: ${IN}/cycles.spad.pamphlet
${IN}/cycles.spad.pamphlet
@${TANGLE} -R"CycleIndicators.help" ${IN}/cycles.spad.pamphlet \
>${HELP}/CycleIndicators.help
+ @cp ${HELP}/CycleIndicators.help ${HELP}/CYCLES.help
@${TANGLE} -R"CycleIndicators.input" ${IN}/cycles.spad.pamphlet \
>${INPUT}/CycleIndicators.input
@@ -2155,6 +2176,7 @@ ${HELP}/DeRhamComplex.help: ${IN}/derham.spad.pamphlet
@echo 7013 create DeRhamComplex.help from ${IN}/derham.spad.pamphlet
@${TANGLE} -R"DeRhamComplex.help" ${IN}/derham.spad.pamphlet \
>${HELP}/DeRhamComplex.help
+ @cp ${HELP}/DeRhamComplex.help ${HELP}/DERHAM.help
@${TANGLE} -R"DeRhamComplex.input" ${IN}/derham.spad.pamphlet \
>${INPUT}/DeRhamComplex.input
@@ -2162,9 +2184,64 @@ ${HELP}/DecimalExpansion.help: ${IN}/radix.spad.pamphlet
@echo 7014 create DecimalExpansion.help from ${IN}/radix.spad.pamphlet
@${TANGLE} -R"DecimalExpansion.help" ${IN}/radix.spad.pamphlet \
>${HELP}/DecimalExpansion.help
+ @cp ${HELP}/DecimalExpansion.help ${HELP}/DECIMAL.help
@${TANGLE} -R"DecimalExpansion.input" ${IN}/radix.spad.pamphlet \
>${INPUT}/DecimalExpansion.input
+${HELP}/DistributedMultivariatePolynomial.help: \
+ ${IN}/gdpoly.spad.pamphlet
+ @echo 7015 create DistributedMultivariatePolynomial.help \
+ from ${IN}/gdpoly.spad.pamphlet
+ @${TANGLE} -R"DistributedMultivariatePolynomial.help" \
+ ${IN}/gdpoly.spad.pamphlet \
+ >${HELP}/DistributedMultivariatePolynomial.help
+ @cp ${HELP}/DistributedMultivariatePolynomial.help ${HELP}/DMP.help
+ @${TANGLE} -R"DistributedMultivariatePolynomial.input" \
+ ${IN}/gdpoly.spad.pamphlet \
+ >${INPUT}/DistributedMultivariatePolynomial.input
+
+${HELP}/DoubleFloat.help: ${IN}/sf.spad.pamphlet
+ @echo 7016 create DoubleFloat.help from ${IN}/sf.spad.pamphlet
+ @${TANGLE} -R"DoubleFloat.help" ${IN}/sf.spad.pamphlet \
+ >${HELP}/DoubleFloat.help
+ @cp ${HELP}/DoubleFloat.help ${HELP}/DFLOAT.help
+ @${TANGLE} -R"DoubleFloat.input" ${IN}/sf.spad.pamphlet \
+ >${INPUT}/DoubleFloat.input
+
+${HELP}/EqTable.help: ${IN}/table.spad.pamphlet
+ @echo 7017 create EqTable.help from ${IN}/table.spad.pamphlet
+ @${TANGLE} -R"EqTable.help" ${IN}/table.spad.pamphlet \
+ >${HELP}/EqTable.help
+ @cp ${HELP}/EqTable.help ${HELP}/EQTBL.help
+ @${TANGLE} -R"EqTable.input" ${IN}/table.spad.pamphlet \
+ >${INPUT}/EqTable.input
+
+${HELP}/GeneralDistributedMultivariatePolynomial.help: \
+ ${IN}/gdpoly.spad.pamphlet
+ @echo 7018 create GeneralDistributedMultivariatePolynomial.help \
+ from ${IN}/gdpoly.spad.pamphlet
+ @${TANGLE} -R"GeneralDistributedMultivariatePolynomial.help" \
+ ${IN}/gdpoly.spad.pamphlet \
+ >${HELP}/GeneralDistributedMultivariatePolynomial.help
+ @cp ${HELP}/GeneralDistributedMultivariatePolynomial.help \
+ ${HELP}/GDMP.help
+ @${TANGLE} -R"GeneralDistributedMultivariatePolynomial.input" \
+ ${IN}/gdpoly.spad.pamphlet \
+ >${INPUT}/GeneralDistributedMultivariatePolynomial.input
+
+${HELP}/HomogeneousDistributedMultivariatePolynomial.help: \
+ ${IN}/gdpoly.spad.pamphlet
+ @echo 7019 create HomogeneousDistributedMultivariatePolynomial.help \
+ from ${IN}/gdpoly.spad.pamphlet
+ @${TANGLE} -R"HomogeneousDistributedMultivariatePolynomial.help" \
+ ${IN}/gdpoly.spad.pamphlet \
+ >${HELP}/HomogeneousDistributedMultivariatePolynomial.help
+ @cp ${HELP}/HomogeneousDistributedMultivariatePolynomial.help \
+ ${HELP}/HDMP.help
+ @${TANGLE} -R"HomogeneousDistributedMultivariatePolynomial.input" \
+ ${IN}/gdpoly.spad.pamphlet \
+ >${INPUT}/HomogeneousDistributedMultivariatePolynomial.input
+
@
\section{The Makefile}
diff --git a/src/algebra/carten.spad.pamphlet b/src/algebra/carten.spad.pamphlet
index 5bcaa75..85f7027 100644
--- a/src/algebra/carten.spad.pamphlet
+++ b/src/algebra/carten.spad.pamphlet
@@ -574,7 +574,7 @@ contract(epsilon*Tm*epsilon, 1,2) = 2 * determinant m
@
<<CartesianTensor.help>>=
====================================================================
-CartesianTensor
+CartesianTensor examples
====================================================================
CartesianTensor(i0,dim,R) provides Cartesian tensors with components
diff --git a/src/algebra/cycles.spad.pamphlet b/src/algebra/cycles.spad.pamphlet
index c831683..ccc8311 100644
--- a/src/algebra/cycles.spad.pamphlet
+++ b/src/algebra/cycles.spad.pamphlet
@@ -477,8 +477,8 @@ eval(Integers, sf3221)
@
<<CycleIndicators.help>>=
====================================================================
-\section{CycleIndicators}
-\label{CycleIndicatorsXmpPage}
+CycleIndicators examples
+====================================================================
This section is based upon the paper J. H. Redfield, ``The Theory of
Group-Reduced Distributions'', American J. Math.,49 (1927) 433-455,
diff --git a/src/algebra/derham.spad.pamphlet b/src/algebra/derham.spad.pamphlet
index 47d2db1..1055a99 100644
--- a/src/algebra/derham.spad.pamphlet
+++ b/src/algebra/derham.spad.pamphlet
@@ -637,7 +637,7 @@ gamma := alpha * beta
@
<<DeRhamComplex.help>>=
====================================================================
-DeRhamComplex
+DeRhamComplex examples
====================================================================
The domain constructor DeRhamComplex creates the class of differential
diff --git a/src/algebra/gaussian.spad.pamphlet
b/src/algebra/gaussian.spad.pamphlet
index 744488b..d74aecc 100644
--- a/src/algebra/gaussian.spad.pamphlet
+++ b/src/algebra/gaussian.spad.pamphlet
@@ -688,7 +688,7 @@ factor complex(2,0)
@
<<Complex.help>>=
====================================================================
-Complex
+Complex examples
====================================================================
The Complex constructor implements complex objects over a commutative
diff --git a/src/algebra/gdpoly.spad.pamphlet b/src/algebra/gdpoly.spad.pamphlet
index 6c3ae4f..dd3f68a 100644
--- a/src/algebra/gdpoly.spad.pamphlet
+++ b/src/algebra/gdpoly.spad.pamphlet
@@ -10,6 +10,216 @@
\tableofcontents
\eject
\section{domain GDMP GeneralDistributedMultivariatePolynomial}
+<<GeneralDistributedMultivariatePolynomial.input>>=
+-- gdpoly.spad.pamphlet GeneralDistributedMultivariatePolynomial.input
+)spool GeneralDistributedMultivariatePolynomial.output
+)set message test on
+)set message auto off
+)clear all
+--S 1 of 10
+(d1,d2,d3) : DMP([z,y,x],FRAC INT)
+--R
+--R Type:
Void
+--E 1
+
+--S 2 of 10
+d1 := -4*z + 4*y**2*x + 16*x**2 + 1
+--R
+--R
+--R 2 2
+--R (2) - 4z + 4y x + 16x + 1
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 2
+
+--S 3 of 10
+d2 := 2*z*y**2 + 4*x + 1
+--R
+--R
+--R 2
+--R (3) 2z y + 4x + 1
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 3
+
+--S 4 of 10
+d3 := 2*z*x**2 - 2*y**2 - x
+--R
+--R
+--R 2 2
+--R (4) 2z x - 2y - x
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 4
+
+--S 5 of 10
+groebner [d1,d2,d3]
+--R
+--R
+--R (5)
+--R 1568 6 1264 5 6 4 182 3 2047 2 103 2857
+--R [z - ---- x - ---- x + --- x + --- x - ---- x - ---- x - -----,
+--R 2745 305 305 549 610 2745 10980
+--R 2 112 6 84 5 1264 4 13 3 84 2 1772 2
+--R y + ---- x - --- x - ---- x - --- x + --- x + ---- x + ----,
+--R 2745 305 305 549 305 2745 2745
+--R 7 29 6 17 4 11 3 1 2 15 1
+--R x + -- x - -- x - -- x + -- x + -- x + -]
+--R 4 16 8 32 16 4
+--R Type: List DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 5
+
+--S 6 of 10
+(n1,n2,n3) : HDMP([z,y,x],FRAC INT)
+--R
+--R Type:
Void
+--E 6
+
+--S 7 of 10
+n1 := d1
+--R
+--R
+--R 2 2
+--R (7) 4y x + 16x - 4z + 1
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 7
+
+--S 8 of 10
+n2 := d2
+--R
+--R
+--R 2
+--R (8) 2z y + 4x + 1
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 8
+
+--S 9 of 10
+n3 := d3
+--R
+--R
+--R 2 2
+--R (9) 2z x - 2y - x
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 9
+
+--S 10 of 10
+groebner [n1,n2,n3]
+--R
+--R
+--R (10)
+--R 4 3 3 2 1 1 4 29 3 1 2 7 9 1
+--R [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -,
+--R 2 2 8 4 8 4 16 4
+--R 2 1 2 2 1 2 2 1
+--R z y + 2x + -, y x + 4x - z + -, z x - y - - x,
+--R 2 4 2
+--R 2 2 2 1 3
+--R z - 4y + 2x - - z - - x]
+--R 4 2
+--RType: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 10
+)spool
+)lisp (bye)
+@
+
+<<GeneralDistributedMultivariatePolynomial.help>>=
+====================================================================
+MultivariatePolynomial
+DistributedMultivariatePolynomial
+HomogeneousDistributedMultivariatePolynomial
+GeneralDistributedMultivariatePolynomial
+====================================================================
+
+DistributedMultivariatePolynomial which is abbreviated as DMP and
+HomogeneousDistributedMultivariatePolynomial, which is abbreviated
+as HDMP, are very similar to MultivariatePolynomial except that
+they are represented and displayed in a non-recursive manner.
+
+ (d1,d2,d3) : DMP([z,y,x],FRAC INT)
+ Type: Void
+
+The constructor DMP orders its monomials lexicographically while
+HDMP orders them by total order refined by reverse lexicographic
+order.
+
+ d1 := -4*z + 4*y**2*x + 16*x**2 + 1
+ 2 2
+ - 4z + 4y x + 16x + 1
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ d2 := 2*z*y**2 + 4*x + 1
+ 2
+ 2z y + 4x + 1
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ d3 := 2*z*x**2 - 2*y**2 - x
+ 2 2
+ 2z x - 2y - x
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+These constructors are mostly used in Groebner basis calculations.
+
+ groebner [d1,d2,d3]
+ 1568 6 1264 5 6 4 182 3 2047 2 103 2857
+ [z - ---- x - ---- x + --- x + --- x - ---- x - ---- x - -----,
+ 2745 305 305 549 610 2745 10980
+ 2 112 6 84 5 1264 4 13 3 84 2 1772 2
+ y + ---- x - --- x - ---- x - --- x + --- x + ---- x + ----,
+ 2745 305 305 549 305 2745 2745
+ 7 29 6 17 4 11 3 1 2 15 1
+ x + -- x - -- x - -- x + -- x + -- x + -]
+ 4 16 8 32 16 4
+ Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ (n1,n2,n3) : HDMP([z,y,x],FRAC INT)
+ Type: Void
+
+ n1 := d1
+ 2 2
+ 4y x + 16x - 4z + 1
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ n2 := d2
+ 2
+ 2z y + 4x + 1
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ n3 := d3
+ 2 2
+ 2z x - 2y - x
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+Note that we get a different Groebner basis when we use the HDMP
+polynomials, as expected.
+
+ groebner [n1,n2,n3]
+ 4 3 3 2 1 1 4 29 3 1 2 7 9 1
+ [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -,
+ 2 2 8 4 8 4 16 4
+ 2 1 2 2 1 2 2 1
+ z y + 2x + -, y x + 4x - z + -, z x - y - - x,
+ 2 4 2
+ 2 2 2 1 3
+ z - 4y + 2x - - z - - x]
+ 4 2
+ Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x],
+ Fraction Integer)
+
+GeneralDistributedMultivariatePolynomial is somewhat more flexible in
+the sense that as well as accepting a list of variables to specify the
+variable ordering, it also takes a predicate on exponent vectors to
+specify the term ordering. With this polynomial type the user can
+experiment with the effect of using completely arbitrary term orderings.
+This flexibility is mostly important for algorithms such as Groebner
+basis calculations which can be very sensitive to term ordering.
+
+See Also:
+o )help Polynomial
+o )help UnivariatePolynomial
+o )help MultivariatePolynomial
+o )help HomogeneousDistributedMultivariatePolynomial
+o )help DistributedMultivariatePolynomial
+o )show GeneralDistributedMultivariatePolynomial
+o $AXIOM/doc/src/algebra/gdpoly.spad.dvi
+
+@
<<domain GDMP GeneralDistributedMultivariatePolynomial>>=
)abbrev domain GDMP GeneralDistributedMultivariatePolynomial
++ Author: Barry Trager
@@ -262,6 +472,216 @@ GeneralDistributedMultivariatePolynomial(vl,R,E): public
== private where
@
\section{domain DMP DistributedMultivariatePolynomial}
+<<DistributedMultivariatePolynomial.input>>=
+-- gdpoly.spad.pamphlet DistributedMultivariatePolynomial.input
+)spool DistributedMultivariatePolynomial.output
+)set message test on
+)set message auto off
+)clear all
+--S 1 of 10
+(d1,d2,d3) : DMP([z,y,x],FRAC INT)
+--R
+--R Type:
Void
+--E 1
+
+--S 2 of 10
+d1 := -4*z + 4*y**2*x + 16*x**2 + 1
+--R
+--R
+--R 2 2
+--R (2) - 4z + 4y x + 16x + 1
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 2
+
+--S 3 of 10
+d2 := 2*z*y**2 + 4*x + 1
+--R
+--R
+--R 2
+--R (3) 2z y + 4x + 1
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 3
+
+--S 4 of 10
+d3 := 2*z*x**2 - 2*y**2 - x
+--R
+--R
+--R 2 2
+--R (4) 2z x - 2y - x
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 4
+
+--S 5 of 10
+groebner [d1,d2,d3]
+--R
+--R
+--R (5)
+--R 1568 6 1264 5 6 4 182 3 2047 2 103 2857
+--R [z - ---- x - ---- x + --- x + --- x - ---- x - ---- x - -----,
+--R 2745 305 305 549 610 2745 10980
+--R 2 112 6 84 5 1264 4 13 3 84 2 1772 2
+--R y + ---- x - --- x - ---- x - --- x + --- x + ---- x + ----,
+--R 2745 305 305 549 305 2745 2745
+--R 7 29 6 17 4 11 3 1 2 15 1
+--R x + -- x - -- x - -- x + -- x + -- x + -]
+--R 4 16 8 32 16 4
+--R Type: List DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 5
+
+--S 6 of 10
+(n1,n2,n3) : HDMP([z,y,x],FRAC INT)
+--R
+--R Type:
Void
+--E 6
+
+--S 7 of 10
+n1 := d1
+--R
+--R
+--R 2 2
+--R (7) 4y x + 16x - 4z + 1
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 7
+
+--S 8 of 10
+n2 := d2
+--R
+--R
+--R 2
+--R (8) 2z y + 4x + 1
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 8
+
+--S 9 of 10
+n3 := d3
+--R
+--R
+--R 2 2
+--R (9) 2z x - 2y - x
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 9
+
+--S 10 of 10
+groebner [n1,n2,n3]
+--R
+--R
+--R (10)
+--R 4 3 3 2 1 1 4 29 3 1 2 7 9 1
+--R [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -,
+--R 2 2 8 4 8 4 16 4
+--R 2 1 2 2 1 2 2 1
+--R z y + 2x + -, y x + 4x - z + -, z x - y - - x,
+--R 2 4 2
+--R 2 2 2 1 3
+--R z - 4y + 2x - - z - - x]
+--R 4 2
+--RType: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 10
+)spool
+)lisp (bye)
+@
+
+<<DistributedMultivariatePolynomial.help>>=
+====================================================================
+MultivariatePolynomial
+DistributedMultivariatePolynomial
+HomogeneousDistributedMultivariatePolynomial
+GeneralDistributedMultivariatePolynomial
+====================================================================
+
+DistributedMultivariatePolynomial which is abbreviated as DMP and
+HomogeneousDistributedMultivariatePolynomial, which is abbreviated
+as HDMP, are very similar to MultivariatePolynomial except that
+they are represented and displayed in a non-recursive manner.
+
+ (d1,d2,d3) : DMP([z,y,x],FRAC INT)
+ Type: Void
+
+The constructor DMP orders its monomials lexicographically while
+HDMP orders them by total order refined by reverse lexicographic
+order.
+
+ d1 := -4*z + 4*y**2*x + 16*x**2 + 1
+ 2 2
+ - 4z + 4y x + 16x + 1
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ d2 := 2*z*y**2 + 4*x + 1
+ 2
+ 2z y + 4x + 1
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ d3 := 2*z*x**2 - 2*y**2 - x
+ 2 2
+ 2z x - 2y - x
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+These constructors are mostly used in Groebner basis calculations.
+
+ groebner [d1,d2,d3]
+ 1568 6 1264 5 6 4 182 3 2047 2 103 2857
+ [z - ---- x - ---- x + --- x + --- x - ---- x - ---- x - -----,
+ 2745 305 305 549 610 2745 10980
+ 2 112 6 84 5 1264 4 13 3 84 2 1772 2
+ y + ---- x - --- x - ---- x - --- x + --- x + ---- x + ----,
+ 2745 305 305 549 305 2745 2745
+ 7 29 6 17 4 11 3 1 2 15 1
+ x + -- x - -- x - -- x + -- x + -- x + -]
+ 4 16 8 32 16 4
+ Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ (n1,n2,n3) : HDMP([z,y,x],FRAC INT)
+ Type: Void
+
+ n1 := d1
+ 2 2
+ 4y x + 16x - 4z + 1
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ n2 := d2
+ 2
+ 2z y + 4x + 1
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ n3 := d3
+ 2 2
+ 2z x - 2y - x
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+Note that we get a different Groebner basis when we use the HDMP
+polynomials, as expected.
+
+ groebner [n1,n2,n3]
+ 4 3 3 2 1 1 4 29 3 1 2 7 9 1
+ [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -,
+ 2 2 8 4 8 4 16 4
+ 2 1 2 2 1 2 2 1
+ z y + 2x + -, y x + 4x - z + -, z x - y - - x,
+ 2 4 2
+ 2 2 2 1 3
+ z - 4y + 2x - - z - - x]
+ 4 2
+ Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x],
+ Fraction Integer)
+
+GeneralDistributedMultivariatePolynomial is somewhat more flexible in
+the sense that as well as accepting a list of variables to specify the
+variable ordering, it also takes a predicate on exponent vectors to
+specify the term ordering. With this polynomial type the user can
+experiment with the effect of using completely arbitrary term orderings.
+This flexibility is mostly important for algorithms such as Groebner
+basis calculations which can be very sensitive to term ordering.
+
+See Also:
+o )help Polynomial
+o )help UnivariatePolynomial
+o )help MultivariatePolynomial
+o )help HomogeneousDistributedMultivariatePolynomial
+o )help GeneralDistributedMultivariatePolynomial
+o )show DistributedMultivariatePolynomial
+o $AXIOM/doc/src/algebra/gdpoly.spad.dvi
+
+@
<<domain DMP DistributedMultivariatePolynomial>>=
)abbrev domain DMP DistributedMultivariatePolynomial
++ Author: Barry Trager
@@ -297,6 +717,216 @@ DistributedMultivariatePolynomial(vl,R): public ==
private where
@
\section{domain HDMP HomogeneousDistributedMultivariatePolynomial}
+<<HomogeneousDistributedMultivariatePolynomial.input>>=
+-- gdpoly.spad.pamphlet HomogeneousDistributedMultivariatePolynomial.input
+)spool HomogeneousDistributedMultivariatePolynomial.output
+)set message test on
+)set message auto off
+)clear all
+--S 1 of 10
+(d1,d2,d3) : DMP([z,y,x],FRAC INT)
+--R
+--R Type:
Void
+--E 1
+
+--S 2 of 10
+d1 := -4*z + 4*y**2*x + 16*x**2 + 1
+--R
+--R
+--R 2 2
+--R (2) - 4z + 4y x + 16x + 1
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 2
+
+--S 3 of 10
+d2 := 2*z*y**2 + 4*x + 1
+--R
+--R
+--R 2
+--R (3) 2z y + 4x + 1
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 3
+
+--S 4 of 10
+d3 := 2*z*x**2 - 2*y**2 - x
+--R
+--R
+--R 2 2
+--R (4) 2z x - 2y - x
+--R Type: DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 4
+
+--S 5 of 10
+groebner [d1,d2,d3]
+--R
+--R
+--R (5)
+--R 1568 6 1264 5 6 4 182 3 2047 2 103 2857
+--R [z - ---- x - ---- x + --- x + --- x - ---- x - ---- x - -----,
+--R 2745 305 305 549 610 2745 10980
+--R 2 112 6 84 5 1264 4 13 3 84 2 1772 2
+--R y + ---- x - --- x - ---- x - --- x + --- x + ---- x + ----,
+--R 2745 305 305 549 305 2745 2745
+--R 7 29 6 17 4 11 3 1 2 15 1
+--R x + -- x - -- x - -- x + -- x + -- x + -]
+--R 4 16 8 32 16 4
+--R Type: List DistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 5
+
+--S 6 of 10
+(n1,n2,n3) : HDMP([z,y,x],FRAC INT)
+--R
+--R Type:
Void
+--E 6
+
+--S 7 of 10
+n1 := d1
+--R
+--R
+--R 2 2
+--R (7) 4y x + 16x - 4z + 1
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 7
+
+--S 8 of 10
+n2 := d2
+--R
+--R
+--R 2
+--R (8) 2z y + 4x + 1
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 8
+
+--S 9 of 10
+n3 := d3
+--R
+--R
+--R 2 2
+--R (9) 2z x - 2y - x
+--R Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 9
+
+--S 10 of 10
+groebner [n1,n2,n3]
+--R
+--R
+--R (10)
+--R 4 3 3 2 1 1 4 29 3 1 2 7 9 1
+--R [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -,
+--R 2 2 8 4 8 4 16 4
+--R 2 1 2 2 1 2 2 1
+--R z y + 2x + -, y x + 4x - z + -, z x - y - - x,
+--R 2 4 2
+--R 2 2 2 1 3
+--R z - 4y + 2x - - z - - x]
+--R 4 2
+--RType: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction
Integer)
+--E 10
+)spool
+)lisp (bye)
+@
+
+<<HomogeneousDistributedMultivariatePolynomial.help>>=
+====================================================================
+MultivariatePolynomial
+DistributedMultivariatePolynomial
+HomogeneousDistributedMultivariatePolynomial
+GeneralDistributedMultivariatePolynomial
+====================================================================
+
+DistributedMultivariatePolynomial which is abbreviated as DMP and
+HomogeneousDistributedMultivariatePolynomial, which is abbreviated
+as HDMP, are very similar to MultivariatePolynomial except that
+they are represented and displayed in a non-recursive manner.
+
+ (d1,d2,d3) : DMP([z,y,x],FRAC INT)
+ Type: Void
+
+The constructor DMP orders its monomials lexicographically while
+HDMP orders them by total order refined by reverse lexicographic
+order.
+
+ d1 := -4*z + 4*y**2*x + 16*x**2 + 1
+ 2 2
+ - 4z + 4y x + 16x + 1
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ d2 := 2*z*y**2 + 4*x + 1
+ 2
+ 2z y + 4x + 1
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ d3 := 2*z*x**2 - 2*y**2 - x
+ 2 2
+ 2z x - 2y - x
+ Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+These constructors are mostly used in Groebner basis calculations.
+
+ groebner [d1,d2,d3]
+ 1568 6 1264 5 6 4 182 3 2047 2 103 2857
+ [z - ---- x - ---- x + --- x + --- x - ---- x - ---- x - -----,
+ 2745 305 305 549 610 2745 10980
+ 2 112 6 84 5 1264 4 13 3 84 2 1772 2
+ y + ---- x - --- x - ---- x - --- x + --- x + ---- x + ----,
+ 2745 305 305 549 305 2745 2745
+ 7 29 6 17 4 11 3 1 2 15 1
+ x + -- x - -- x - -- x + -- x + -- x + -]
+ 4 16 8 32 16 4
+ Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ (n1,n2,n3) : HDMP([z,y,x],FRAC INT)
+ Type: Void
+
+ n1 := d1
+ 2 2
+ 4y x + 16x - 4z + 1
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ n2 := d2
+ 2
+ 2z y + 4x + 1
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+ n3 := d3
+ 2 2
+ 2z x - 2y - x
+ Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)
+
+Note that we get a different Groebner basis when we use the HDMP
+polynomials, as expected.
+
+ groebner [n1,n2,n3]
+ 4 3 3 2 1 1 4 29 3 1 2 7 9 1
+ [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -,
+ 2 2 8 4 8 4 16 4
+ 2 1 2 2 1 2 2 1
+ z y + 2x + -, y x + 4x - z + -, z x - y - - x,
+ 2 4 2
+ 2 2 2 1 3
+ z - 4y + 2x - - z - - x]
+ 4 2
+ Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x],
+ Fraction Integer)
+
+GeneralDistributedMultivariatePolynomial is somewhat more flexible in
+the sense that as well as accepting a list of variables to specify the
+variable ordering, it also takes a predicate on exponent vectors to
+specify the term ordering. With this polynomial type the user can
+experiment with the effect of using completely arbitrary term orderings.
+This flexibility is mostly important for algorithms such as Groebner
+basis calculations which can be very sensitive to term ordering.
+
+See Also:
+o )help Polynomial
+o )help UnivariatePolynomial
+o )help MultivariatePolynomial
+o )help DistributedMultivariatePolynomial
+o )help GeneralDistributedMultivariatePolynomial
+o )show HomogeneousDistributedMultivariatePolynomial
+o $AXIOM/doc/src/algebra/gdpoly.spad.dvi
+
+@
<<domain HDMP HomogeneousDistributedMultivariatePolynomial>>=
)abbrev domain HDMP HomogeneousDistributedMultivariatePolynomial
++ Author: Barry Trager
@@ -376,3 +1006,4 @@ HomogeneousDistributedMultivariatePolynomial(vl,R): public
== private where
\bibitem{1} nothing
\end{thebibliography}
\end{document}
+
diff --git a/src/algebra/sf.spad.pamphlet b/src/algebra/sf.spad.pamphlet
index f8a13b3..8ed563d 100644
--- a/src/algebra/sf.spad.pamphlet
+++ b/src/algebra/sf.spad.pamphlet
@@ -770,6 +770,183 @@ complex number.)
\end{quote}
+<<DoubleFloat.input>>=
+-- sf.spad.pamphlet DoubleFloat.input
+)spool DoubleFloat.output
+)set message test on
+)set message auto off
+)clear all
+--S 1 of 10
+2.71828
+--R
+--R
+--R (1) 2.71828
+--R Type:
Float
+--E 1
+
+--S 2 of 10
address@hidden
+--R
+--R
+--R (2) 2.71828
+--R Type:
DoubleFloat
+--E 2
+
+--S 3 of 10
+2.71828 :: DoubleFloat
+--R
+--R
+--R (3) 2.71828
+--R Type:
DoubleFloat
+--E 3
+
+--S 4 of 10
+eApprox : DoubleFloat := 2.71828
+--R
+--R
+--R (4) 2.71828
+--R Type:
DoubleFloat
+--E 4
+
+--S 5 of 10
+avg : List DoubleFloat -> DoubleFloat
+--R
+--R Type:
Void
+--E 5
+
+--S 6 of 10
+avg l ==
+ empty? l => 0 :: DoubleFloat
+ reduce(_+,l) / #l
+--R
+--R Type:
Void
+--E 6
+
+--S 7 of 10
+avg []
+--R
+--R Compiling function avg with type List DoubleFloat -> DoubleFloat
+--R
+--R (7) 0.
+--R Type:
DoubleFloat
+--E 7
+
+--S 8 of 10
+avg [3.4,9.7,-6.8]
+--R
+--R
+--R (8) 2.1000000000000001
+--R Type:
DoubleFloat
+--E 8
+
+--S 9 of 10
+cos(3.1415926)$DoubleFloat
+--R
+--R
+--R (9) -0.99999999999999856
+--R Type:
DoubleFloat
+--E 9
+
+--S 10 of 10
+cos(3.1415926 :: DoubleFloat)
+--R
+--R
+--R (10) -0.99999999999999856
+--R Type:
DoubleFloat
+--E 10
+)spool
+)lisp (bye)
+@
+
+<<DoubleFloat.help>>=
+====================================================================
+DoubleFloat examples
+====================================================================
+
+Axiom provides two kinds of floating point numbers. The domain Float
+(abbreviation FLOAT) implements a model of arbitrary precision
+floating point numbers. The domain DoubleFloat (abbreviation DFLOAT)
+is intended to make available hardware floating point arithmetic in
+Axiom. The actual model of floating point DoubleFloat that provides
+is system-dependent. For example, on the IBM system 370 Axiom uses
+IBM double precision which has fourteen hexadecimal digits of
+precision or roughly sixteen decimal digits. Arbitrary precision
+floats allow the user to specify the precision at which arithmetic
+operations are computed. Although this is an attractive facility, it
+comes at a cost. Arbitrary-precision floating-point arithmetic
+typically takes twenty to two hundred times more time than hardware
+floating point.
+
+The usual arithmetic and elementary functions are available for
+DoubleFloat. By default, floating point numbers that you enter into
+Axiom are of type Float.
+
+ 2.71828
+ 2.71828
+ Type: Float
+
+You must therefore tell Axiom that you want to use DoubleFloat values
+and operations. The following are some conservative guidelines for
+getting Axiom to use DoubleFloat.
+
+To get a value of type DoubleFloat, use a target with @, ...
+
+ address@hidden
+ 2.71828
+ Type: DoubleFloat
+
+a conversion, ...
+
+ 2.71828 :: DoubleFloat
+ 2.71828
+ Type: DoubleFloat
+
+or an assignment to a declared variable. It is more efficient if you
+use a target rather than an explicit or implicit conversion.
+
+ eApprox : DoubleFloat := 2.71828
+ 2.71828
+ Type: DoubleFloat
+
+You also need to declare functions that work with DoubleFloat.
+
+ avg : List DoubleFloat -> DoubleFloat
+ Type: Void
+
+ avg l ==
+ empty? l => 0 :: DoubleFloat
+ reduce(_+,l) / #l
+ Type: Void
+
+ avg []
+ 0.
+ Type: DoubleFloat
+
+ avg [3.4,9.7,-6.8]
+ 2.1000000000000001
+ Type: DoubleFloat
+
+Use package-calling for operations from DoubleFloat unless the
+arguments themselves are already of type DoubleFloat.
+
+ cos(3.1415926)$DoubleFloat
+ -0.99999999999999856
+ Type: DoubleFloat
+
+ cos(3.1415926 :: DoubleFloat)
+ -0.99999999999999856
+ Type: DoubleFloat
+
+By far, the most common usage of DoubleFloat is for functions to be
+graphed.
+
+
+See Also:
+0 )help Float
+o )show DoubleFloat
+o $AXIOM/doc/src/algebra/sf.spad.dvi
+
+@
<<domain DFLOAT DoubleFloat>>=
)abbrev domain DFLOAT DoubleFloat
++ Author: Michael Monagan
diff --git a/src/algebra/table.spad.pamphlet b/src/algebra/table.spad.pamphlet
index 4d07304..fc97720 100644
--- a/src/algebra/table.spad.pamphlet
+++ b/src/algebra/table.spad.pamphlet
@@ -115,6 +115,109 @@ Table(Key: SetCategory, Entry: SetCategory):Exports ==
Implementation where
@
\section{domain EQTBL EqTable}
+<<EqTable.input>>=
+-- table.spad.pamphlet EqTable.input
+)spool EqTable.output
+)set message test on
+)set message auto off
+)clear all
+--S 1 of 6
+e: EqTable(List Integer, Integer) := table()
+--R
+--R
+--R (1) table()
+--R Type: EqTable(List
Integer,Integer)
+--E 1
+
+--S 2 of 6
+l1 := [1,2,3]
+--R
+--R
+--R (2) [1,2,3]
+--R Type: List
PositiveInteger
+--E 2
+
+--S 3 of 6
+l2 := [1,2,3]
+--R
+--R
+--R (3) [1,2,3]
+--R Type: List
PositiveInteger
+--E 3
+
+--S 4 of 6
+e.l1 := 111
+--R
+--R
+--R (4) 111
+--R Type:
PositiveInteger
+--E 4
+
+--S 5 of 6
+e.l2 := 222
+--R
+--R
+--R (5) 222
+--R Type:
PositiveInteger
+--E 5
+
+--S 6 of 6
+e.l1
+--R
+--R
+--R (6) 111
+--R Type:
PositiveInteger
+--E 6
+)spool
+)lisp (bye)
+@
+<<EqTable.help>>=
+====================================================================
+EqTable examples
+====================================================================
+
+The EqTable domain provides tables where the keys are compared using
+eq?. Keys are considered equal only if they are the same instance of
+a structure. This is useful if the keys are themselves updatable
+structures. Otherwise, all operations are the same as for type Table.
+
+The operation table is here used to create a table where the keys are
+lists of integers.
+
+ e: EqTable(List Integer, Integer) := table()
+ table()
+ Type: EqTable(List Integer,Integer)
+
+These two lists are equal according to =, but not according to eq?.
+
+ l1 := [1,2,3]
+ [1,2,3]
+ Type: List PositiveInteger
+
+ l2 := [1,2,3]
+ [1,2,3]
+ Type: List PositiveInteger
+Because the two lists are not eq?, separate values can be stored under
+each.
+
+ e.l1 := 111
+ 111
+ Type: PositiveInteger
+
+ e.l2 := 222
+ 222
+ Type: PositiveInteger
+
+ e.l1
+ 111
+ Type: PositiveInteger
+
+See Also:
+o )help Table
+o )show EqTable
+o $AXIOM/doc/src/algebra/table.spad.dvi
+
+@
<<domain EQTBL EqTable>>=
)abbrev domain EQTBL EqTable
++ Author: Stephen M. Watt
diff --git a/src/doc/spadhelp.pamphlet b/src/doc/spadhelp.pamphlet
index f0e163d..6e03ff3 100644
--- a/src/doc/spadhelp.pamphlet
+++ b/src/doc/spadhelp.pamphlet
@@ -1482,12 +1482,17 @@ syntax trace undo what while
Available algebra help topics are:
-AssociationList BalancedBinaryTree BasicOperator
-BinaryExpansion BinarySearchTree CardinalNumber
-CartesianTensor Character CharacterClass
-CliffordAlgebra Complex ContinuedFraction
-CycleIndicators DeRhamComplex DecimalExpansion
-
+AssociationList (ALIST) BalancedBinaryTree (BBTREE)
+BasicOperator (BOP) BinaryExpansion (BINARY)
+BinarySearchTree (BSTREE) CardinalNumber (CARD)
+CartesianTensor (CARTEN) Character (CHAR)
+CharacterClass (CCLASS) CliffordAlgebra (CLIF)
+Complex (COMPLEX) ContinuedFraction (CONTFRAC)
+CycleIndicators (CYCLES) DeRhamComplex (DERHAM)
+DecimalExpansion (DECIMAL) DistributedMultivariatePolynomial (DMP)
+DoubleFloat (DFLOAT) EqTable (EQTBL)
+GeneralDistributedMultivariatePolynomial (GDMP)
+HomogeneousDistributedMultivariatePolynomial (HDMP)
@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] 20070826.01.tpd.patch applied to silver,
daly <=