axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] 20070826.02.tpd.patch applied to silver


From: daly
Subject: [Axiom-developer] 20070826.02.tpd.patch applied to silver
Date: Mon, 27 Aug 2007 02:50:55 -0500

diff --git a/changelog b/changelog
index fbb5d26..1aaaa04 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,15 @@
+20070826 tpd src/doc/spadhelp add Expression
+20070826 tpd src/algebra/Makefile add Expression.help 
+20070826 tpd src/algebra/expr.spad add Expression.help 
+20070826 tpd src/algebra/expr.spad add Expression.input
+20070826 tpd src/doc/spadhelp add Edit
+20070826 tpd src/algebra/Makefile add Exit.help 
+20070826 tpd src/algebra/void.spad add Exit.help 
+20070826 tpd src/algebra/void.spad add Exit.input
+20070826 tpd src/doc/spadhelp add Equation
+20070826 tpd src/algebra/Makefile add Equation.help 
+20070826 tpd src/algebra/equation2.spad add Equation.help 
+20070826 tpd src/algebra/equation2.spad add Equation.input
 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
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 542e42d..5cfb29e 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -2027,7 +2027,7 @@ SPADHELP=\
  ${HELP}/Complex.help          ${HELP}/ContinuedFraction.help \
  ${HELP}/CycleIndicators.help  ${HELP}/DeRhamComplex.help \
  ${HELP}/DecimalExpansion.help ${HELP}/DoubleFloat.help \
- ${HELP}/EqTable.help \
+ ${HELP}/EqTable.help          ${HELP}/Equation.help \
  ${HELP}/DistributedMultivariatePolynomial.help \
  ${HELP}/GeneralDistributedMultivariatePolynomial.help \
  ${HELP}/HomogeneousDistributedMultivariatePolynomial.help
@@ -2049,7 +2049,7 @@ REGRESS=\
  Complex.regress          ContinuedFraction.regress \
  CycleIndicators.regress  DeRhamComplex.regress \
  DecimalExpansion.regress DoubleFloat.regress \
- EqTable.regress \
+ EqTable.regress          Equation.regress \
  DistributedMultivariatePolynomial.regress \
  GeneralDistributedMultivariatePolynomial.regress \
  HomogeneousDistributedMultivariatePolynomial.regress 
@@ -2242,6 +2242,14 @@ 
${HELP}/HomogeneousDistributedMultivariatePolynomial.help: \
            ${IN}/gdpoly.spad.pamphlet \
             >${INPUT}/HomogeneousDistributedMultivariatePolynomial.input
 
+${HELP}/Equation.help: ${IN}/equation2.spad.pamphlet
+       @echo 7020 create Equation.help from ${IN}/equation2.spad.pamphlet
+       @${TANGLE} -R"Equation.help" ${IN}/equation2.spad.pamphlet \
+            >${HELP}/Equation.help
+       @cp ${HELP}/Equation.help ${HELP}/EQTBL.help
+       @${TANGLE} -R"Equation.input" ${IN}/equation2.spad.pamphlet \
+            >${INPUT}/Equation.input
+
 @
 
 \section{The Makefile}
diff --git a/src/algebra/equation2.spad.pamphlet 
b/src/algebra/equation2.spad.pamphlet
index 8ae385b..ecabdd9 100644
--- a/src/algebra/equation2.spad.pamphlet
+++ b/src/algebra/equation2.spad.pamphlet
@@ -10,6 +10,161 @@
 \tableofcontents
 \eject
 \section{domain EQ Equation}
+<<Equation.input>>=
+-- equation2.spad.pamphlet Equation.input
+)spool Equation.output
+)set message test on
+)set message auto off
+)clear all
+eq1 := 3*x + 4*y = 5 
+ 
+
+   (1)  4y + 3x= 5
+                                            Type: Equation Polynomial Integer
+eq2 := 2*x + 2*y = 3 
+ 
+
+   (2)  2y + 2x= 3
+                                            Type: Equation Polynomial Integer
+lhs eq1
+ 
+
+   (3)  4y + 3x
+                                                     Type: Polynomial Integer
+rhs eq1
+ 
+
+   (4)  5
+                                                     Type: Polynomial Integer
+eq1 + eq2 
+ 
+
+   (5)  6y + 5x= 8
+                                            Type: Equation Polynomial Integer
+eq1 * eq2 
+ 
+
+          2             2
+   (6)  8y  + 14x y + 6x = 15
+                                            Type: Equation Polynomial Integer
+2*eq2 - eq1
+ 
+
+   (7)  x= 1
+                                            Type: Equation Polynomial Integer
+eq1**2
+ 
+
+           2             2
+   (8)  16y  + 24x y + 9x = 25
+                                            Type: Equation Polynomial Integer
+if x+1 = y then "equal" else "unequal"
+ 
+
+   (9)  "unequal"
+                                                                 Type: String
+eqpol := x+1 = y 
+ 
+
+   (10)  x + 1= y
+                                            Type: Equation Polynomial Integer
+if eqpol then "equal" else "unequal"
+ 
+
+   (11)  "unequal"
+                                                                 Type: String
+eqpol::Boolean
+ 
+
+   (12)  false
+                                                                Type: Boolean
+)spool
+)lisp (bye)
+@
+<<Equation.help>>=
+====================================================================
+Equation examples
+====================================================================
+
+The Equation domain provides equations as mathematical objects.  These
+are used, for example, as the input to various solve operations.
+
+Equations are created using the equals symbol, =.
+
+  eq1 := 3*x + 4*y = 5 
+   4y + 3x= 5
+                         Type: Equation Polynomial Integer
+
+  eq2 := 2*x + 2*y = 3 
+   2y + 2x= 3
+                         Type: Equation Polynomial Integer
+
+The left- and right-hand sides of an equation are accessible using
+the operations lhs and rhs.
+
+  lhs eq1
+   4y + 3x
+                         Type: Polynomial Integer
+
+  rhs eq1
+   5
+                         Type: Polynomial Integer
+
+Arithmetic operations are supported and operate on both sides of the
+equation.
+
+  eq1 + eq2 
+   6y + 5x= 8
+                         Type: Equation Polynomial Integer
+
+  eq1 * eq2 
+     2             2
+   8y  + 14x y + 6x = 15
+                         Type: Equation Polynomial Integer
+
+  2*eq2 - eq1
+   x= 1
+                         Type: Equation Polynomial Integer
+
+Equations may be created for any type so the arithmetic operations
+will be defined only when they make sense.  For example, exponentiation 
+is not defined for equations involving non-square matrices.
+
+  eq1**2
+      2             2
+   16y  + 24x y + 9x = 25
+                          Type: Equation Polynomial Integer
+
+Note that an equals symbol is also used to test for equality of values
+in certain contexts.  For example, x+1 and y are unequal as polynomials.
+
+  if x+1 = y then "equal" else "unequal"
+   "unequal"
+                           Type: String
+
+  eqpol := x+1 = y 
+   x + 1= y
+                           Type: Equation Polynomial Integer
+
+If an equation is used where a Boolean value is required, then
+it is evaluated using the equality test from the operand type.
+
+  if eqpol then "equal" else "unequal"
+   "unequal"
+                           Type: String
+
+If one wants a Boolean value rather than an equation, all one has to
+do is ask!
+
+  eqpol::Boolean
+   false
+                           Type: Boolean
+
+See Also:
+o )show Equation
+o $AXIOM/doc/src/algebra/equation2.spad.dvi
+
+@
 <<domain EQ Equation>>=
 )abbrev domain EQ Equation
 --FOR THE BENEFIT  OF LIBAX0 GENERATION
diff --git a/src/doc/spadhelp.pamphlet b/src/doc/spadhelp.pamphlet
index 6e03ff3..ed3bde9 100644
--- a/src/doc/spadhelp.pamphlet
+++ b/src/doc/spadhelp.pamphlet
@@ -1491,6 +1491,7 @@ Complex (COMPLEX)          ContinuedFraction (CONTFRAC)
 CycleIndicators (CYCLES)   DeRhamComplex (DERHAM)
 DecimalExpansion (DECIMAL) DistributedMultivariatePolynomial (DMP)
 DoubleFloat (DFLOAT)       EqTable (EQTBL)
+Equation (EQ)
 GeneralDistributedMultivariatePolynomial (GDMP)
 HomogeneousDistributedMultivariatePolynomial (HDMP)
 




reply via email to

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