diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index 6778e65..7e46fd7 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet @@ -50575,6 +50575,224 @@ IntegrationResult(F:Field): Exports == Implementation where @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{domain INTRVL Interval} +<>= +)set break resume +)sys rm -f Interval.output +)spool Interval.output +)set message test on +)set message auto off +)clear all + +--S 1 of 13 +t1:=0::Interval(Float) +--R +--R +--R (1) [0.0,0.0] +--R Type: Interval Float +--E 1 + +--S 2 of 13 +t2:=1::Interval(Float) +--R +--R +--R (2) [1.0,1.0] +--R Type: Interval Float +--E 2 + +--S 3 of 13 +t3:=3*t1 +--R +--R +--R (3) [- 0.3 E -20,0.3 E -20] +--R Type: Interval Float +--E 3 + +--S 4 of 13 +t4:=1/4*t2 +--R +--R +--R [1.0,1.0] +--R (4) --------- +--R [4.0,4.0] +--R Type: Fraction Interval Float +--E 4 + +--S 5 of 13 +acos(t3) +--R +--R +--R (5) [1.5707963267 948966192,1.5707963267 948966192] +--R Type: Interval Float +--E 5 + +--S 6 of 13 +t6:=t4*t4 +--R +--R +--R [1.0,1.0] +--R (6) ----------- +--R [16.0,16.0] +--R Type: Fraction Interval Float +--E 6 + +--S 7 of 13 +sup(t6) +--R +--R +--R (7) 0.0625000000 0000000000 1 +--R Type: Float +--E 7 + +--S 8 of 13 +inf(t6) +--R +--R +--R (8) 0.0624999999 9999999999 9 +--R Type: Float +--E 8 + +--S 9 of 13 +width(t6) +--R +--R +--R (9) 0.1 E -20 +--R Type: Float +--E 9 + +--S 10 of 13 +positive? t3 +--R +--R +--R (10) false +--R Type: Boolean +--E 10 + +--S 11 of 13 +negative? t3 +--R +--R +--R (11) false +--R Type: Boolean +--E 11 + +--S 12 of 13 +contains?(t3,0.3) +--R +--R +--R (12) false +--R Type: Boolean +--E 12 + +--S 13 of 13 +)show Interval +--R +--R Interval R: Join(FloatingPointSystem,TranscendentalFunctionCategory) is a domain constructor +--R Abbreviation for Interval is INTRVL +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.3.pamphlet to see algebra source code for INTRVL +--R +--R------------------------------- Operations -------------------------------- +--R ?*? : (%,%) -> % ?*? : (Integer,%) -> % +--R ?*? : (PositiveInteger,%) -> % ?**? : (%,Fraction Integer) -> % +--R ?**? : (%,%) -> % ?**? : (%,PositiveInteger) -> % +--R ?+? : (%,%) -> % ?-? : (%,%) -> % +--R -? : % -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,PositiveInteger) -> % acos : % -> % +--R acosh : % -> % acot : % -> % +--R acoth : % -> % acsc : % -> % +--R acsch : % -> % asec : % -> % +--R asech : % -> % asin : % -> % +--R asinh : % -> % associates? : (%,%) -> Boolean +--R atan : % -> % atanh : % -> % +--R coerce : Integer -> % coerce : % -> % +--R coerce : Integer -> % coerce : % -> OutputForm +--R contains? : (%,R) -> Boolean cos : % -> % +--R cosh : % -> % cot : % -> % +--R coth : % -> % csc : % -> % +--R csch : % -> % exp : % -> % +--R gcd : List % -> % gcd : (%,%) -> % +--R hash : % -> SingleInteger inf : % -> R +--R interval : Fraction Integer -> % interval : R -> % +--R interval : (R,R) -> % latex : % -> String +--R lcm : List % -> % lcm : (%,%) -> % +--R log : % -> % max : (%,%) -> % +--R min : (%,%) -> % negative? : % -> Boolean +--R nthRoot : (%,Integer) -> % one? : % -> Boolean +--R pi : () -> % positive? : % -> Boolean +--R qinterval : (R,R) -> % recip : % -> Union(%,"failed") +--R retract : % -> Integer sample : () -> % +--R sec : % -> % sech : % -> % +--R sin : % -> % sinh : % -> % +--R sqrt : % -> % sup : % -> R +--R tan : % -> % tanh : % -> % +--R unit? : % -> Boolean unitCanonical : % -> % +--R width : % -> R zero? : % -> Boolean +--R ?~=? : (%,%) -> Boolean +--R ?*? : (NonNegativeInteger,%) -> % +--R ?**? : (%,NonNegativeInteger) -> % +--R ?^? : (%,NonNegativeInteger) -> % +--R characteristic : () -> NonNegativeInteger +--R exquo : (%,%) -> Union(%,"failed") +--R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R retractIfCan : % -> Union(Integer,"failed") +--R subtractIfCan : (%,%) -> Union(%,"failed") +--R unitNormal : % -> Record(unit: %,canonical: %,associate: %) +--R +--E 13 + +)spool +)lisp (bye) + +@ +<>= +==================================================================== +Interval examples +==================================================================== + +t1:=0::Interval(Float) + [0.0,0.0] + +t2:=1::Interval(Float) + [1.0,1.0] + +t3:=3*t1 + [- 0.3 E -20,0.3 E -20] + +t4:=1/4*t2 + [1.0,1.0] + --------- + [4.0,4.0] + +acos(t3) + [1.5707963267 948966192,1.5707963267 948966192] + +t6:=t4*t4 + [1.0,1.0] + ----------- + [16.0,16.0] + +sup(t6) + 0.0625000000 0000000000 1 + +inf(t6) + 0.0624999999 9999999999 9 + +width(t6) + 0.1 E -20 + +positive? t3 + false + +negative? t3 + false + +contains?(t3,0.3) + false + +@ \pagehead{Interval}{INTRVL} \pagepic{ps/v103interval.ps}{INTRVL}{1.00} diff --git a/changelog b/changelog index e118258..2e69382 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +20100507 tpd src/axiom-website/patches.html 20100507.01.tpd.patch +20100507 tpd src/algebra/Makefile document and test Interval +20100507 tpd books/bookvol10.3 document and test Interval 20100503 bxh src/axiom-website/patches.html 20100503.03.bxh.patch 20100503 bxh src/axiom-website/documentation.html quote Bill Hart on LP 20100503 tpd books/bookvol5 add Bill Hart to credits diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 060ae4a..27138dd 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -16648,6 +16648,7 @@ SPADHELP=\ ${HELP}/IntegerLinearDependence.help \ ${HELP}/IntegerNumberTheoryFunctions.help \ ${HELP}/InterfaceGroebnerPackage.help \ + ${HELP}/Interval.help \ ${HELP}/Kernel.help \ ${HELP}/KeyedAccessFile.help \ ${HELP}/LazardSetSolvingPackage.help \ @@ -16810,6 +16811,7 @@ REGRESS= \ IntegerLinearDependence.regress \ IntegerNumberTheoryFunctions.regress \ InterfaceGroebnerPackage.regress \ + Interval.regress \ Kernel.regress \ KeyedAccessFile.regress \ LazardSetSolvingPackage.regress \ @@ -17468,6 +17470,15 @@ ${HELP}/InterfaceGroebnerPackage.help: ${BOOKS}/bookvol10.4.pamphlet >${INPUT}/InterfaceGroebnerPackage.input @echo "InterfaceGroebnerPackage (INTERGB)" >>${HELPFILE} +${HELP}/Interval.help: ${BOOKS}/bookvol10.3.pamphlet + @echo 7457 create Interval.help from ${BOOKS}/bookvol10.3.pamphlet + @${TANGLE} -R"Interval.help" ${BOOKS}/bookvol10.3.pamphlet \ + >${HELP}/Interval.help + @cp ${HELP}/Interval.help ${HELP}/INTRVL.help + @${TANGLE} -R"Interval.input" ${BOOKS}/bookvol10.3.pamphlet \ + >${INPUT}/Interval.input + @echo "Interval (INTRVL)" >>${HELPFILE} + ${HELP}/Kernel.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7460 create Kernel.help from ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"Kernel.help" ${BOOKS}/bookvol10.3.pamphlet \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 4c8f1d7..ead9def 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2671,5 +2671,7 @@ books/bookvol10.2 PseudoAlgebraicClosureOfFiniteFieldCategory added books/bookvol10.2 PseudoAlgebraicClosureOfRationalNumberCategory added
20100503.03.bxh.patch src/axiom-website/documentation.html quote Bill Hart on LP
+20100507.01.tpd.patch +books/bookvol10.3 document and test Interval