axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] computation


From: root
Subject: [Axiom-developer] computation
Date: Wed, 14 Jul 2004 21:59:00 -0400

I ran both the NAG version and the free version of Axiom on 
reclos.input. These are the two consoles. The first one is
from the NAG version, the second from the free version.

The times compare reasonably.

Please send me the test case you have.

Tim

=================================================================
=== NAG version
=================================================================


bash-2.05b# axiom -nox
Axiom Computer Algebra System (Release 2.3)
Linux 2.2 for Intel i386 (AXLUX23NA)
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
-----------------------------------------------------------------------------
 
Value = 1
initial (1) -> 
G82322 (1) -> )co reclos.spad
   Compiling AXIOM source code from file /tmp/new/reclos.spad using old
      system compiler.
   POLUTIL abbreviates package RealPolynomialUtilitiesPackage 
   processing macro definition Z ==> Integer 
   processing macro definition N ==> NonNegativeInteger 
   processing macro definition P ==> ThePols 
------------------------------------------------------------------------
   initializing NRLIB POLUTIL for RealPolynomialUtilitiesPackage 
   compiling into NRLIB POLUTIL 
   compiling exported sturmSequence : ThePols -> List ThePols
Time: 0.46 SEC.

   compiling exported sylvesterSequence : (ThePols,ThePols) -> List ThePols
Time: 0.22 SEC.

****** Domain: TheField already in scope
augmenting TheField: (OrderedRing)
augmenting $: (SIGNATURE $ boundOfCauchy (TheField ThePols))
augmenting $: (SIGNATURE $ sturmVariationsOf ((NonNegativeInteger) (List 
TheField)))
augmenting $: (SIGNATURE $ lazyVariations ((NonNegativeInteger) (List TheField) 
(Integer) (Integer)))
   compiling exported boundOfCauchy : ThePols -> TheField
Time: 0.04 SEC.

   compiling exported sturmVariationsOf : List TheField -> NonNegativeInteger
Time: 0.06 SEC.

   compiling exported lazyVariations : (List TheField,Integer,Integer) -> 
NonNegativeInteger
Time: 0.12 SEC.

****** Domain: TheField already in scope
augmenting TheField: (OrderedRing)
augmenting $: (SIGNATURE $ boundOfCauchy (TheField ThePols))
augmenting $: (SIGNATURE $ sturmVariationsOf ((NonNegativeInteger) (List 
TheField)))
augmenting $: (SIGNATURE $ lazyVariations ((NonNegativeInteger) (List TheField) 
(Integer) (Integer)))
(time taken in buildFunctor:  10)

;;;     ***       |RealPolynomialUtilitiesPackage| REDEFINED

;;;     ***       |RealPolynomialUtilitiesPackage| REDEFINED
Time: 0.01 SEC.

 
   Warnings: 
      [1] sylvesterSequence:  res has no value
      [2] sturmVariationsOf:  ll has no value
 

   Cumulative Statistics for Constructor RealPolynomialUtilitiesPackage
      Time: 0.91 seconds
 
   finalizing NRLIB POLUTIL 
   Processing RealPolynomialUtilitiesPackage for Browser database:
--------(sylvesterSequence ((List ThePols) ThePols ThePols))---------
--------(sturmSequence ((List ThePols) ThePols))---------
--------(boundOfCauchy (TheField ThePols))---------
--------(sturmVariationsOf (N (List TheField)))---------
--------(lazyVariations (N (List TheField) Z Z))---------
--------constructor---------
;; Compiling file "POLUTIL.NRLIB/code.lsp"
+++ |POLUTIL;sturmSequence;ThePolsL;1| compiled, 21 + 12 bytes
+++ |POLUTIL;sylvesterSequence;2ThePolsL;2| compiled, 139 + 48 bytes
+++ |POLUTIL;boundOfCauchy;ThePolsTheField;3| compiled, 178 + 52 bytes
+++ |POLUTIL;sturmVariationsOf;LNni;4| compiled, 165 + 40 bytes
+++ |POLUTIL;lazyVariations;L2INni;5| compiled, 159 + 52 bytes
+++ |RealPolynomialUtilitiesPackage| compiled, 46 + 44 bytes
+++ |RealPolynomialUtilitiesPackage;| compiled, 117 + 92 bytes
;; Compilation complete
------------------------------------------------------------------------
   RealPolynomialUtilitiesPackage is now explicitly exposed in frame 
      G82322 
   RealPolynomialUtilitiesPackage will be automatically loaded when 
      needed from POLUTIL.NRLIB/code

   RRCC abbreviates category RealRootCharacterizationCategory 
   processing macro definition Z ==> Integer 
   processing macro definition N ==> PositiveInteger 
   processing macro definition PUB ==> -- the constructor capsule 
------------------------------------------------------------------------
   initializing NRLIB RRCC for RealRootCharacterizationCategory 
   compiling into NRLIB RRCC 

;;;     ***       |RealRootCharacterizationCategory| REDEFINED

+++ |RealRootCharacterizationCategory| redefined
Time: 0.02 SEC.

   RRCC- abbreviates domain RealRootCharacterizationCategory& 
------------------------------------------------------------------------
   initializing NRLIB RRCC- for RealRootCharacterizationCategory& 
   compiling into NRLIB RRCC- 
****** Domain: TheField already in scope
   compiling exported zero? : (ThePols,S) -> Boolean
Time: 0.07 SEC.

   compiling exported negative? : (ThePols,S) -> Boolean
Time: 0.03 SEC.

   compiling exported positive? : (ThePols,S) -> Boolean
Time: 0.03 SEC.

   compiling exported rootOf : (ThePols,PositiveInteger) -> Union(S,failed)
Time: 0.08 SEC.

   compiling exported recip : (ThePols,S) -> Union(ThePols,failed)
Time: 0.15 SEC.

(time taken in buildFunctor:  0)

;;;     ***       |RealRootCharacterizationCategory&| REDEFINED
Time: 0.01 SEC.


   Cumulative Statistics for Constructor RealRootCharacterizationCategory&
      Time: 0.37 seconds
 
   finalizing NRLIB RRCC- 
   Processing RealRootCharacterizationCategory& for Browser database:
--------(sign (Z ThePols $))---------
--------(zero? ((Boolean) ThePols $))---------
--------(negative? ((Boolean) ThePols $))---------
--------(positive? ((Boolean) ThePols $))---------
--------(recip ((Union ThePols failed) ThePols $))---------
--------(definingPolynomial (ThePols $))---------
--------(allRootsOf ((List $) ThePols))---------
--------(rootOf ((Union $ failed) ThePols N))---------
--------(approximate (TheField ThePols $ TheField))---------
--------(relativeApprox (TheField ThePols $ TheField))---------
--------constructor---------
;; Compiling file "RRCC-.NRLIB/code.lsp"
+++ |RRCC-;zero?;ThePolsSB;1| compiled, 16 + 12 bytes
+++ |RRCC-;negative?;ThePolsSB;2| compiled, 15 + 8 bytes
+++ |RRCC-;positive?;ThePolsSB;3| compiled, 16 + 12 bytes
+++ |RRCC-;rootOf;ThePolsPiU;4| compiled, 41 + 24 bytes
+++ |RRCC-;recip;ThePolsSU;5| compiled, 200 + 72 bytes
+++ |RealRootCharacterizationCategory&| compiled, 68 + 44 bytes
;; Compilation complete
------------------------------------------------------------------------
   RealRootCharacterizationCategory& is now explicitly exposed in frame
      G82322 
   RealRootCharacterizationCategory& will be automatically loaded when 
      needed from RRCC-.NRLIB/code
   finalizing NRLIB RRCC 
   Processing RealRootCharacterizationCategory for Browser database:
--------(sign (Z ThePols $))---------
--------(zero? ((Boolean) ThePols $))---------
--------(negative? ((Boolean) ThePols $))---------
--------(positive? ((Boolean) ThePols $))---------
--------(recip ((Union ThePols failed) ThePols $))---------
--------(definingPolynomial (ThePols $))---------
--------(allRootsOf ((List $) ThePols))---------
--------(rootOf ((Union $ failed) ThePols N))---------
--------(approximate (TheField ThePols $ TheField))---------
--------(relativeApprox (TheField ThePols $ TheField))---------
--------constructor---------
;; Compiling file "RRCC.NRLIB/code.lsp"
+++ |RealRootCharacterizationCategory;AL| treated as if locally SPECIAL
+++ |RealRootCharacterizationCategory;AL| treated as if locally SPECIAL
+++ |RealRootCharacterizationCategory;AL| treated as if locally SPECIAL
+++ |RealRootCharacterizationCategory| compiled, 29 + 24 bytes
+++ |RealRootCharacterizationCategory;CAT| treated as if locally SPECIAL
+++ |RealRootCharacterizationCategory;CAT| treated as if locally SPECIAL
+++ |RealRootCharacterizationCategory;| compiled, 56 + 60 bytes
;; Compilation complete
------------------------------------------------------------------------
   RealRootCharacterizationCategory is now explicitly exposed in frame 
      G82322 
   RealRootCharacterizationCategory will be automatically loaded when 
      needed from RRCC.NRLIB/code

   RCFIELD abbreviates category RealClosedField 
   processing macro definition E ==> OutputForm 
   processing macro definition SUP ==> SparseUnivariatePolynomial 
   processing macro definition OFIELD ==> -- the constructor category 
   processing macro definition PME ==> SparseUnivariatePolynomial $ 
   processing macro definition N ==> NonNegativeInteger 
   processing macro definition PI ==> PositiveInteger 
   processing macro definition RN ==> Fraction Integer 
   processing macro definition Z ==> Integer 
   processing macro definition POLY ==> Polynomial 
   processing macro definition PACK ==> SparseUnivariatePolynomialFunctions2 
------------------------------------------------------------------------
   initializing NRLIB RCFIELD for RealClosedField 
   compiling into NRLIB RCFIELD 

;;;     ***       |RealClosedField| REDEFINED

+++ |RealClosedField| redefined
Time: 0.20 SEC.

   RCFIELD- abbreviates domain RealClosedField& 
------------------------------------------------------------------------
   initializing NRLIB RCFIELD- for RealClosedField& 
   compiling into NRLIB RCFIELD- 
   compiling exported sqrt : S -> S
Time: 0.11 SEC.

   compiling exported sqrt : Fraction Integer -> S
Time: 0.04 SEC.

   compiling exported sqrt : Integer -> S
Time: 0.02 SEC.

   compiling exported characteristic : () -> NonNegativeInteger
      RCFIELD-;characteristic;Nni;4 is replaced by 0 
Time: 0.01 SEC.

   compiling exported rootOf : (SparseUnivariatePolynomial 
S,PositiveInteger,OutputForm) -> Union(S,failed)
Time: 0.05 SEC.

   compiling exported rootOf : (SparseUnivariatePolynomial S,PositiveInteger) 
-> Union(S,failed)
Time: 0.11 SEC.

   compiling exported sqrt : (S,NonNegativeInteger) -> S
Time: 0.07 SEC.

   compiling exported ** : (S,Fraction Integer) -> S
Time: 0.04 SEC.

   compiling exported nthRoot : (S,Integer) -> S
Time: 0.02 SEC.

   compiling exported allRootsOf : SparseUnivariatePolynomial Fraction Integer 
-> List S
Time: 0.10 SEC.

   compiling exported allRootsOf : SparseUnivariatePolynomial Integer -> List S
Time: 0.07 SEC.

   compiling exported allRootsOf : Polynomial S -> List S
Time: 0.05 SEC.

   compiling exported allRootsOf : Polynomial Fraction Integer -> List S
Time: 0.10 SEC.

   compiling exported allRootsOf : Polynomial Integer -> List S
Time: 0.17 SEC.

(time taken in buildFunctor:  10)

;;;     ***       |RealClosedField&| REDEFINED
Time: 0.01 SEC.

 
   Warnings: 
      [1] rootOf: not known that (Ring) is of mode (CATEGORY domain (SIGNATURE 
sqrt (S (Integer))) (SIGNATURE sqrt (S (Fraction (Integer)))) (SIGNATURE sqrt 
(S S (NonNegativeInteger))) (SIGNATURE allRootsOf ((List S) (Polynomial 
(Integer)))) (SIGNATURE allRootsOf ((List S) (Polynomial (Fraction 
(Integer))))) (SIGNATURE allRootsOf ((List S) (Polynomial S))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Integer)))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Fraction (Integer))))) 
(SIGNATURE allRootsOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE 
rootOf ((Union S failed) (SparseUnivariatePolynomial S) (PositiveInteger))) 
(SIGNATURE rootOf ((Union S failed) (SparseUnivariatePolynomial S) 
(PositiveInteger) (OutputForm))) (SIGNATURE ** (S S (Fraction (Integer)))) 
(SIGNATURE nthRoot (S S (Integer))) (SIGNATURE sqrt (S S)) (SIGNATURE ** (S S 
(Integer))) (SIGNATURE characteristic ((NonNegativeInteger))) (SIGNATURE ** (S 
S (NonNegativeInteger)!
 )) (SIGNATURE ** (S S (PositiveInteger))))
      [2] allRootsOf: not known that (Ring) is of mode (CATEGORY domain 
(SIGNATURE sqrt (S (Integer))) (SIGNATURE sqrt (S (Fraction (Integer)))) 
(SIGNATURE sqrt (S S (NonNegativeInteger))) (SIGNATURE allRootsOf ((List S) 
(Polynomial (Integer)))) (SIGNATURE allRootsOf ((List S) (Polynomial (Fraction 
(Integer))))) (SIGNATURE allRootsOf ((List S) (Polynomial S))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Integer)))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Fraction (Integer))))) 
(SIGNATURE allRootsOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE 
rootOf ((Union S failed) (SparseUnivariatePolynomial S) (PositiveInteger))) 
(SIGNATURE rootOf ((Union S failed) (SparseUnivariatePolynomial S) 
(PositiveInteger) (OutputForm))) (SIGNATURE ** (S S (Fraction (Integer)))) 
(SIGNATURE nthRoot (S S (Integer))) (SIGNATURE sqrt (S S)) (SIGNATURE ** (S S 
(Integer))) (SIGNATURE characteristic ((NonNegativeInteger))) (SIGNATURE ** (S 
S (NonNegativeInte!
 ger))) (SIGNATURE ** (S S (PositiveInteger))))
 

   Cumulative Statistics for Constructor RealClosedField&
      Time: 0.97 seconds
 
   finalizing NRLIB RCFIELD- 
   Processing RealClosedField& for Browser database:
--------(mainForm ((Union E failed) $))---------
--------(mainDefiningPolynomial ((Union PME failed) $))---------
--------(mainValue ((Union PME failed) $))---------
--------(rootOf ((Union $ failed) PME PI E))---------
--------(rootOf ((Union $ failed) PME PI))---------
--------(allRootsOf ((List $) PME))---------
--------(allRootsOf ((List $) (SUP RN)))---------
--------(allRootsOf ((List $) (SUP Z)))---------
--------(allRootsOf ((List $) (POLY $)))---------
--------(allRootsOf ((List $) (POLY RN)))---------
--------(allRootsOf ((List $) (POLY Z)))---------
--------(sqrt ($ $ N))---------
--------(sqrt ($ $))---------
--------(sqrt ($ RN))---------
--------(sqrt ($ Z))---------
--------(rename! ($ $ E))---------
--------(rename ($ $ E))---------
--------(approximate (RN $ $))---------
--------constructor---------
;; Compiling file "RCFIELD-.NRLIB/code.lsp"
+++ |RCFIELD-;sqrt;2S;1| compiled, 12 + 12 bytes
+++ |RCFIELD-;sqrt;FS;2| compiled, 21 + 16 bytes
+++ |RCFIELD-;sqrt;IS;3| compiled, 21 + 16 bytes
+++ |RCFIELD-;characteristic;Nni;4| compiled, 2 + 8 bytes
+++ |RCFIELD-;rootOf;SupPiOfU;5| compiled, 46 + 24 bytes
+++ |RCFIELD-;rootOf;SupPiU;6| compiled, 41 + 24 bytes
+++ |RCFIELD-;sqrt;SNniS;7| compiled, 268 + 76 bytes
+++ |RCFIELD-;**;SFS;8| compiled, 55 + 40 bytes
+++ |RCFIELD-;nthRoot;SIS;9| compiled, 71 + 36 bytes
+++ |RCFIELD-;allRootsOf;SupL;10| compiled, 23 + 16 bytes
+++ |RCFIELD-;allRootsOf;SupL;10!0| compiled, 10 + 8 bytes
+++ |RCFIELD-;allRootsOf;SupL;11| compiled, 23 + 16 bytes
+++ |RCFIELD-;allRootsOf;SupL;11!0| compiled, 10 + 8 bytes
+++ |RCFIELD-;allRootsOf;PL;12| compiled, 19 + 12 bytes
+++ |RCFIELD-;allRootsOf;PL;13| compiled, 19 + 12 bytes
+++ |RCFIELD-;allRootsOf;PL;14| compiled, 19 + 12 bytes
+++ |RealClosedField&| compiled, 40 + 36 bytes
;; Compilation complete
------------------------------------------------------------------------
   RealClosedField& is now explicitly exposed in frame G82322 
   RealClosedField& will be automatically loaded when needed from 
      RCFIELD-.NRLIB/code
   finalizing NRLIB RCFIELD 
   Processing RealClosedField for Browser database:
--------(mainForm ((Union E failed) $))---------
--------(mainDefiningPolynomial ((Union PME failed) $))---------
--------(mainValue ((Union PME failed) $))---------
--------(rootOf ((Union $ failed) PME PI E))---------
--------(rootOf ((Union $ failed) PME PI))---------
--------(allRootsOf ((List $) PME))---------
--------(allRootsOf ((List $) (SUP RN)))---------
--------(allRootsOf ((List $) (SUP Z)))---------
--------(allRootsOf ((List $) (POLY $)))---------
--------(allRootsOf ((List $) (POLY RN)))---------
--------(allRootsOf ((List $) (POLY Z)))---------
--------(sqrt ($ $ N))---------
--------(sqrt ($ $))---------
--------(sqrt ($ RN))---------
--------(sqrt ($ Z))---------
--------(rename! ($ $ E))---------
--------(rename ($ $ E))---------
--------(approximate (RN $ $))---------
--------constructor---------
;; Compiling file "RCFIELD.NRLIB/code.lsp"
+++ |RealClosedField;AL| treated as if locally SPECIAL
+++ |RealClosedField;AL| treated as if locally SPECIAL
+++ |RealClosedField| compiled, 8 + 12 bytes
+++ |RealClosedField;| compiled, 71 + 100 bytes
;; Compilation complete
------------------------------------------------------------------------
   RealClosedField is now explicitly exposed in frame G82322 
   RealClosedField will be automatically loaded when needed from 
      RCFIELD.NRLIB/code

   ROIRC abbreviates domain RightOpenIntervalRootCharacterization 
   processing macro definition Z ==> Integer 
   processing macro definition P ==> ThePolDom 
   processing macro definition N ==> NonNegativeInteger 
   processing macro definition B ==> Boolean 
   processing macro definition UTIL ==> 
RealPolynomialUtilitiesPackage(TheField,ThePolDom) 
   processing macro definition RRCC ==> RealRootCharacterizationCategory 
   processing macro definition O ==> OutputForm 
   processing macro definition TwoPoints ==> Record(low: TheField,high: 
TheField) 
------------------------------------------------------------------------
   initializing NRLIB ROIRC for RightOpenIntervalRootCharacterization 
   compiling into NRLIB ROIRC 
****** Domain: TheField already in scope
   compiling exported size : $ -> TheField
Time: 0.13 SEC.

   compiling exported relativeApprox : (ThePolDom,$,TheField) -> TheField
Time: 0.15 SEC.

   compiling exported approximate : (ThePolDom,$,TheField) -> TheField
Time: 0.14 SEC.

   compiling local addOne : ThePolDom -> ThePolDom
Time: 0.02 SEC.

   compiling local minus : ThePolDom -> ThePolDom
Time: 0.02 SEC.

   compiling local translate : (ThePolDom,TheField) -> ThePolDom
Time: 0.02 SEC.

   compiling local dilate : (ThePolDom,TheField) -> ThePolDom
Time: 0.02 SEC.

   compiling local evalOne : ThePolDom -> TheField
Time: 0.02 SEC.

   compiling local invert : ThePolDom -> ThePolDom
Time: 0.03 SEC.

   compiling local rootBound : ThePolDom -> TheField
Time: 0.03 SEC.

   compiling local sturmNthRoot : (List 
ThePolDom,TheField,TheField,NonNegativeInteger,NonNegativeInteger,NonNegativeInteger)
 -> Union(Record(low: TheField,high: TheField),failed)
Time: 0.15 SEC.

   compiling local sturmIsolate : (List 
ThePolDom,TheField,TheField,NonNegativeInteger,NonNegativeInteger) -> List 
Record(low: TheField,high: TheField)
Time: 0.13 SEC.

   compiling local isolate : List ThePolDom -> List Record(low: TheField,high: 
TheField)
Time: 0.17 SEC.

   compiling exported rootOf : (ThePolDom,PositiveInteger) -> Union($,failed)
Time: 0.18 SEC.

   compiling exported allRootsOf : ThePolDom -> List $
Time: 0.19 SEC.

   compiling local hasVarsl : List TheField -> Boolean
Time: 0.05 SEC.

   compiling local hasVars : ThePolDom -> Boolean
Time: 0.06 SEC.

   compiling exported mightHaveRoots : (ThePolDom,$) -> Boolean
Time: 1.24 SEC.

   compiling exported coerce : $ -> OutputForm
Time: 0.04 SEC.

   compiling exported = : ($,$) -> Boolean
Time: 0.55 SEC.

   compiling local makeChar : (TheField,TheField,ThePolDom) -> $
Time: 0.17 SEC.

   compiling exported definingPolynomial : $ -> ThePolDom
      ROIRC;definingPolynomial;$ThePolDom;22 is replaced by QVELTrootChar2 
Time: 0 SEC.

   compiling local linearRecip : (ThePolDom,$) -> Union(ThePolDom,failed)
Time: 0.60 SEC.

   compiling exported recip : (ThePolDom,$) -> Union(ThePolDom,failed)
Time: 0.84 SEC.

   compiling local linearSign : (ThePolDom,$) -> Integer
Time: 0.37 SEC.

   compiling exported sign : (ThePolDom,$) -> Integer
Time: 0.69 SEC.

   compiling local linearZero? : (TheField,$) -> Boolean
Time: 0.09 SEC.

   compiling exported zero? : (ThePolDom,$) -> Boolean
Time: 0.56 SEC.

   compiling local refine! : $ -> $
Time: 0.17 SEC.

   compiling exported refine : $ -> $
Time: 0.14 SEC.

   compiling exported left : $ -> TheField
      ROIRC;left;$TheField;31 is replaced by QVELTrootChar0 
Time: 0 SEC.

   compiling exported right : $ -> TheField
      ROIRC;right;$TheField;32 is replaced by QVELTrootChar1 
Time: 0 SEC.

   compiling exported middle : $ -> TheField
Time: 0.04 SEC.

(time taken in buildFunctor:  20)

;;;     ***       |RightOpenIntervalRootCharacterization| REDEFINED

;;;     ***       |RightOpenIntervalRootCharacterization| REDEFINED
Time: 0.03 SEC.


   Cumulative Statistics for Constructor RightOpenIntervalRootCharacterization
      Time: 7.04 seconds
 
   finalizing NRLIB ROIRC 
   Processing RightOpenIntervalRootCharacterization for Browser database:
--------(left (TheField $))---------
--------(right (TheField $))---------
--------(size (TheField $))---------
--->/usr/local/axiom/mnt/linuxglibc2.1/../../src/algebra/reclos.spad-->RightOpenIntervalRootCharacterization((size
 (TheField $))): Improper first word in comments: The
"The size of the isolating interval"
--------(middle (TheField $))---------
--------(refine ($ $))---------
--------(mightHaveRoots (B P $))---------
--------(relativeApprox (TheField P $ TheField))---------
--------constructor---------
;; Compiling file "ROIRC.NRLIB/code.lsp"
+++ |ROIRC;size;$TheField;1| compiled, 16 + 16 bytes
+++ |ROIRC;relativeApprox;ThePolDom$2TheField;2| compiled, 793 + 112 bytes
+++ |ROIRC;approximate;ThePolDom$2TheField;3| compiled, 600 + 104 bytes
+++ |ROIRC;addOne| compiled, 48 + 28 bytes
+++ |ROIRC;minus| compiled, 39 + 24 bytes
+++ |ROIRC;translate| compiled, 50 + 28 bytes
+++ |ROIRC;dilate| compiled, 23 + 16 bytes
+++ |ROIRC;evalOne| compiled, 63 + 20 bytes
+++ |ROIRC;invert| compiled, 45 + 28 bytes
+++ |ROIRC;invert!0| compiled, 31 + 32 bytes
+++ |ROIRC;rootBound| compiled, 70 + 28 bytes
+++ |ROIRC;sturmNthRoot| compiled, 197 + 64 bytes
+++ |ROIRC;sturmIsolate| compiled, 176 + 60 bytes
+++ |ROIRC;isolate| compiled, 178 + 36 bytes
+++ |ROIRC;rootOf;ThePolDomPiU;14| compiled, 359 + 88 bytes
+++ |ROIRC;allRootsOf;ThePolDomL;15| compiled, 167 + 64 bytes
+++ |ROIRC;hasVarsl| compiled, 79 + 28 bytes
+++ |ROIRC;hasVars| compiled, 54 + 40 bytes
+++ |ROIRC;mightHaveRoots;ThePolDom$B;18| compiled, 104 + 56 bytes
+++ |ROIRC;coerce;$Of;19| compiled, 59 + 32 bytes
+++ |ROIRC;=;2$B;20| compiled, 136 + 48 bytes
+++ |ROIRC;makeChar| compiled, 312 + 84 bytes
+++ |ROIRC;definingPolynomial;$ThePolDom;22| compiled, 4 + 8 bytes
+++ |ROIRC;linearRecip| compiled, 378 + 88 bytes
+++ |ROIRC;recip;ThePolDom$U;24| compiled, 535 + 112 bytes
+++ |ROIRC;linearSign| compiled, 250 + 56 bytes
+++ |ROIRC;sign;ThePolDom$I;26| compiled, 498 + 108 bytes
+++ |ROIRC;linearZero?| compiled, 90 + 44 bytes
+++ |ROIRC;zero?;ThePolDom$B;28| compiled, 307 + 92 bytes
+++ |ROIRC;refine!| compiled, 202 + 44 bytes
+++ |ROIRC;refine;2$;30| compiled, 205 + 60 bytes
+++ |ROIRC;left;$TheField;31| compiled, 4 + 8 bytes
+++ |ROIRC;right;$TheField;32| compiled, 4 + 8 bytes
+++ |ROIRC;middle;$TheField;33| compiled, 36 + 28 bytes
+++ |RightOpenIntervalRootCharacterization| compiled, 46 + 44 bytes
+++ |RightOpenIntervalRootCharacterization;| compiled, 97 + 76 bytes
;; Compilation complete
------------------------------------------------------------------------
   RightOpenIntervalRootCharacterization is now explicitly exposed in 
      frame G82322 
   RightOpenIntervalRootCharacterization will be automatically loaded 
      when needed from ROIRC.NRLIB/code

   RECLOS abbreviates domain RealClosure 
   processing macro definition E ==> OutputForm 
   processing macro definition Z ==> Integer 
   processing macro definition SE ==> Symbol 
   processing macro definition B ==> Boolean 
   processing macro definition SUP ==> SparseUnivariatePolynomial $ 
   processing macro definition N ==> PositiveInteger 
   processing macro definition RN ==> Fraction Integer 
   processing macro definition LF ==> ListFunctions2($,PositiveInteger) 
   processing macro definition PME ==> SparseUnivariatePolynomial $ 
   processing macro definition SEG ==> 
RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial $) 
------------------------------------------------------------------------
   initializing NRLIB RECLOS for RealClosure 
   compiling into NRLIB RECLOS 
****** Domain: TheField already in scope
****** Domain: TheField already in scope
   compiling exported relativeApprox : ($,$) -> Fraction Integer
Time: 0.31 SEC.

   compiling exported approximate : ($,$) -> Fraction Integer
Time: 0.10 SEC.

   compiling local newElementIfneeded : 
(RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial 
$),OutputForm) -> $
Time: 0.09 SEC.

   compiling exported algebraicOf : 
(RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial 
$),OutputForm) -> $
Time: 0.11 SEC.

   compiling exported rename! : ($,OutputForm) -> $
Time: 0.02 SEC.

   compiling exported rename : ($,OutputForm) -> $
Time: 0.05 SEC.

   compiling exported rootOf : (SparseUnivariatePolynomial $,PositiveInteger) 
-> Union($,failed)
Time: 0.12 SEC.

   compiling exported allRootsOf : SparseUnivariatePolynomial $ -> List $
Time: 0.22 SEC.

   compiling exported coerce : $ -> $
Time: 0.08 SEC.

   compiling exported positive? : $ -> Boolean
Time: 0.05 SEC.

   compiling exported negative? : $ -> Boolean
Time: 0.03 SEC.

   compiling exported abs : $ -> $
Time: 0.01 SEC.

   compiling exported sign : $ -> Integer
Time: 0.04 SEC.

   compiling exported < : ($,$) -> Boolean
Time: 0 SEC.

   compiling exported = : ($,$) -> Boolean
Time: 0.01 SEC.

   compiling exported mainCharacterization : $ -> 
Union(RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial 
$),failed)
Time: 0.02 SEC.

   compiling exported mainDefiningPolynomial : $ -> 
Union(SparseUnivariatePolynomial $,failed)
Time: 0.05 SEC.

   compiling exported mainForm : $ -> Union(OutputForm,failed)
Time: 0.01 SEC.

   compiling exported mainValue : $ -> Union(SparseUnivariatePolynomial 
$,failed)
Time: 0.04 SEC.

   compiling exported coerce : $ -> OutputForm
Time: 0.05 SEC.

   compiling exported inv : $ -> $
Time: 0.02 SEC.

   compiling exported recip : $ -> Union($,failed)
Time: 0.09 SEC.

   compiling exported * : (Integer,$) -> $
Time: 0.13 SEC.

   compiling exported * : (TheField,$) -> $
Time: 0.13 SEC.

   compiling exported * : ($,$) -> $
Time: 0.24 SEC.

   compiling local nonNull : Rec -> $
Time: 0.09 SEC.

   compiling exported zero? : $ -> Boolean
Time: 0.01 SEC.

   compiling exported + : ($,$) -> $
Time: 0.17 SEC.

   compiling exported - : $ -> $
Time: 0.06 SEC.

   compiling exported retractIfCan : $ -> Union(TheField,failed)
Time: 0.02 SEC.

   compiling exported retract : $ -> TheField
Time: 0.03 SEC.

   compiling local lessAlgebraic : $ -> $
Time: 0.16 SEC.

   compiling exported Zero : () -> $
Time: 0 SEC.

   compiling exported One : () -> $
Time: 0 SEC.

   compiling exported coerce : TheField -> $
      RECLOS;coerce;TheField$;35 is replaced by CONS0rn 
Time: 0 SEC.

(time taken in buildFunctor:  170)

;;;     ***       |RealClosure| REDEFINED

;;;     ***       |RealClosure| REDEFINED
Time: 0.38 SEC.


   Cumulative Statistics for Constructor RealClosure
      Time: 2.94 seconds
 
   finalizing NRLIB RECLOS 
   Processing RealClosure for Browser database:
--------(algebraicOf ($ SEG E))---------
--------(mainCharacterization ((Union SEG failed) $))---------
--------(relativeApprox (RN $ $))---------
--------constructor---------
;; Compiling file "RECLOS.NRLIB/code.lsp"
+++ |RECLOS;relativeApprox;2$F;1| compiled, 58 + 28 bytes
+++ |RECLOS;approximate;2$F;2| compiled, 90 + 40 bytes
+++ |RECLOS;newElementIfneeded| compiled, 129 + 60 bytes
+++ |RECLOS;algebraicOf;RoircOf$;4| compiled, 129 + 60 bytes
+++ |RECLOS;rename!;$Of$;5| compiled, 9 + 8 bytes
+++ |RECLOS;rename;$Of$;6| compiled, 40 + 20 bytes
+++ |RECLOS;rootOf;SupPiU;7| compiled, 170 + 72 bytes
+++ |RECLOS;allRootsOf;SupL;8| compiled, 178 + 68 bytes
+++ |RECLOS;coerce;2$;9| compiled, 79 + 32 bytes
+++ |RECLOS;positive?;$B;10| compiled, 42 + 20 bytes
+++ |RECLOS;negative?;$B;11| compiled, 42 + 20 bytes
+++ |RECLOS;abs;2$;12| compiled, 21 + 12 bytes
+++ |RECLOS;sign;$I;13| compiled, 42 + 20 bytes
+++ |RECLOS;<;2$B;14| compiled, 21 + 12 bytes
+++ |RECLOS;=;2$B;15| compiled, 21 + 12 bytes
+++ |RECLOS;mainCharacterization;$U;16| compiled, 23 + 16 bytes
+++ |RECLOS;mainDefiningPolynomial;$U;17| compiled, 32 + 20 bytes
+++ |RECLOS;mainForm;$U;18| compiled, 23 + 20 bytes
+++ |RECLOS;mainValue;$U;19| compiled, 23 + 16 bytes
+++ |RECLOS;coerce;$Of;20| compiled, 63 + 32 bytes
+++ |RECLOS;inv;2$;21| compiled, 28 + 20 bytes
+++ |RECLOS;recip;$U;22| compiled, 129 + 44 bytes
+++ |RECLOS;*;I2$;23| compiled, 125 + 40 bytes
+++ |RECLOS;*;I2$;23!0| compiled, 16 + 16 bytes
+++ |RECLOS;*;TheField2$;24| compiled, 143 + 48 bytes
+++ |RECLOS;*;TheField2$;24!0| compiled, 16 + 16 bytes
+++ |RECLOS;*;3$;25| compiled, 368 + 60 bytes
+++ |RECLOS;*;3$;25!1| compiled, 16 + 16 bytes
+++ |RECLOS;*;3$;25!0| compiled, 16 + 16 bytes
+++ |RECLOS;nonNull| compiled, 70 + 32 bytes
+++ |RECLOS;zero?;$B;27| compiled, 23 + 12 bytes
+++ |RECLOS;+;3$;28| compiled, 435 + 44 bytes
+++ |RECLOS;-;2$;29| compiled, 79 + 32 bytes
+++ |RECLOS;retractIfCan;$U;30| compiled, 70 + 28 bytes
+++ |RECLOS;retract;$TheField;31| compiled, 63 + 28 bytes
+++ |RECLOS;lessAlgebraic| compiled, 128 + 40 bytes
+++ |RECLOS;Zero;$;33| compiled, 12 + 12 bytes
+++ |RECLOS;One;$;34| compiled, 12 + 12 bytes
+++ |RECLOS;coerce;TheField$;35| compiled, 4 + 8 bytes
+++ |RealClosure| compiled, 41 + 40 bytes
+++ |RealClosure;| compiled, 186 + 144 bytes
;; Compilation complete
------------------------------------------------------------------------
   RealClosure is now explicitly exposed in frame G82322 
   RealClosure will be automatically loaded when needed from 
      RECLOS.NRLIB/code

G82322 (1) -> )set message time on
G82322 (1) -> )set message autoload off
G82322 (1) -> )read reclos.input

-- Input generated from RealClosureXmpPage
)clear all
 
   All user variables and function definitions have been cleared.
Ran := RECLOS(FRAC INT)
 

   (1)  RealClosure Fraction Integer
                                                                 Type: Domain
                                                                  Time: 0 sec
--
-- Some simple signs for square roots, these correspond to an extension
-- of degree 16 of the rational numbers.
-- these examples were given to me by J. Abbot
--
fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran == sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)
 
   Function declaration fourSquares : (RealClosure Fraction Integer,
      RealClosure Fraction Integer,RealClosure Fraction Integer,
      RealClosure Fraction Integer) -> RealClosure Fraction Integer has
      been added to workspace.
                                                                   Type: Void
                                                                  Time: 0 sec
squareDiff1 := fourSquares(73,548,60,586)
 
   Compiling function fourSquares with type (RealClosure Fraction 
      Integer,RealClosure Fraction Integer,RealClosure Fraction Integer
      ,RealClosure Fraction Integer) -> RealClosure Fraction Integer 

           +---+    +--+    +---+    +--+
   (3)  - \|586  - \|60  + \|548  + \|73
                                           Type: RealClosure Fraction Integer
               Time: 0.01 (IN) + 0.01 (EV) + 0.01 (OT) + 0.03 (GC) = 0.06 sec
recip(squareDiff1)
 

   (4)
             +---+          +--+  +--+         +--+ +---+            +---+
     ((54602\|548  + 149602\|73 )\|60  + 49502\|73 \|548  + 9900895)\|586
   + 
             +--+ +---+             +--+            +---+            +--+
     (154702\|73 \|548  + 30941947)\|60  + 10238421\|548  + 28051871\|73
                                Type: Union(RealClosure Fraction Integer,...)
                                                   Time: 0.01 (EV) = 0.01 sec
sign(squareDiff1)
 

   (5)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff2 := fourSquares(165,778,86,990)
 

           +---+    +--+    +---+    +---+
   (6)  - \|990  - \|86  + \|778  + \|165
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (EV) = 0.01 sec
recip(squareDiff2)
 

   (7)
                +---+           +---+  +--+          +---+ +---+
       ((556778\|778  + 1209010\|165 )\|86  + 401966\|165 \|778  + 144019431)
    *
        +---+
       \|990
   + 
              +---+ +---+              +--+             +---+             +---+
     (1363822\|165 \|778  + 488640503)\|86  + 162460913\|778  + 352774119\|165
                                Type: Union(RealClosure Fraction Integer,...)
                                                   Time: 0.01 (EV) = 0.01 sec
sign(squareDiff2)
 

   (8)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff3 := fourSquares(217,708,226,692)
 

           +---+    +---+    +---+    +---+
   (9)  - \|692  - \|226  + \|708  + \|217
                                           Type: RealClosure Fraction Integer
                                       Time: 0.01 (IN) + 0.01 (EV) = 0.02 sec
recip(squareDiff3)
 

   (10)
               +---+         +---+  +---+         +---+ +---+             +---+
     ((- 34102\|708  - 61598\|217 )\|226  - 34802\|217 \|708  - 13641141)\|692
   + 
              +---+ +---+             +---+            +---+            +---+
     (- 60898\|217 \|708  - 23869841)\|226  - 13486123\|708  - 24359809\|217
                                Type: Union(RealClosure Fraction Integer,...)
                                       Time: 0.01 (EV) + 0.01 (OT) = 0.02 sec
sign(squareDiff3)
 

   (11)  - 1
                                                                Type: Integer
                                                   Time: 0.01 (EV) = 0.01 sec
squareDiff4 := fourSquares(155,836,162,820)
 

            +---+    +---+    +---+    +---+
   (12)  - \|820  - \|162  + \|836  + \|155
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (EV) = 0.01 sec
recip(squareDiff4)
 

   (13)
               +---+         +---+  +---+         +---+ +---+             +---+
     ((- 37078\|836  - 86110\|155 )\|162  - 37906\|155 \|836  - 13645107)\|820
   + 
              +---+ +---+             +---+            +---+            +---+
     (- 85282\|155 \|836  - 30699151)\|162  - 13513901\|836  - 31384703\|155
                                Type: Union(RealClosure Fraction Integer,...)
                                       Time: 0.01 (EV) + 0.01 (OT) = 0.02 sec
sign(squareDiff4)
 

   (14)  - 1
                                                                Type: Integer
                                                                  Time: 0 sec
squareDiff5 := fourSquares(591,772,552,818)
 

            +---+    +---+    +---+    +---+
   (15)  - \|818  - \|552  + \|772  + \|591
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
recip(squareDiff5)
 

   (16)
             +---+         +---+  +---+         +---+ +---+             +---+
     ((70922\|772  + 81058\|591 )\|552  + 68542\|591 \|772  + 46297673)\|818
   + 
            +---+ +---+             +---+            +---+            +---+
     (83438\|591 \|772  + 56359389)\|552  + 47657051\|772  + 54468081\|591
                                Type: Union(RealClosure Fraction Integer,...)
                                       Time: 0.01 (EV) + 0.01 (OT) = 0.02 sec
sign(squareDiff5)
 

   (17)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff6 := fourSquares(434,1053,412,1088)
 

            +----+    +---+    +----+    +---+
   (18)  - \|1088  - \|412  + \|1053  + \|434
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
recip(squareDiff6)
 

   (19)
                +----+          +---+  +---+          +---+ +----+
       ((115442\|1053  + 179818\|434 )\|412  + 112478\|434 \|1053  + 76037291)
    *
        +----+
       \|1088
   + 
           +---+ +----+              +---+            +----+             +---+
   (182782\|434 \|1053  + 123564147)\|412  + 77290639\|1053  + 120391609\|434
                                Type: Union(RealClosure Fraction Integer,...)
                                                   Time: 0.01 (OT) = 0.01 sec
sign(squareDiff6)
 

   (20)  1
                                                        Type: PositiveInteger
                                                   Time: 0.01 (EV) = 0.01 sec
squareDiff7 := fourSquares(514,1049,446,1152)
 

            +----+    +---+    +----+    +---+
   (21)  - \|1152  - \|446  + \|1049  + \|514
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (EV) = 0.01 sec
recip(squareDiff7)
 

   (22)
                +----+          +---+  +---+          +---+ +----+
       ((349522\|1049  + 499322\|514 )\|446  + 325582\|514 \|1049  + 239072537)
    *
        +----+
       \|1152
   + 
           +---+ +----+              +---+             +----+             +---+
   (523262\|514 \|1049  + 384227549)\|446  + 250534873\|1049  + 357910443\|514
                                Type: Union(RealClosure Fraction Integer,...)
                                                   Time: 0.01 (EV) = 0.01 sec
sign(squareDiff7)
 

   (23)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff8 := fourSquares(190,1751,208,1698)
 

            +----+    +---+    +----+    +---+
   (24)  - \|1698  - \|208  + \|1751  + \|190
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
recip(squareDiff8)
 

   (25)
                     +----+          +---+  +---+          +---+ +----+
           (- 214702\|1751  - 651782\|190 )\|208  - 224642\|190 \|1751
         + 
           - 129571901
    *
        +----+
       \|1698
   + 
               +---+ +----+              +---+             +----+
     (- 641842\|190 \|1751  - 370209881)\|208  - 127595865\|1751
   + 
                 +---+
     - 387349387\|190
                                Type: Union(RealClosure Fraction Integer,...)
                                       Time: 0.01 (EV) + 0.01 (OT) = 0.02 sec
sign(squareDiff8)
 

   (26)  - 1
                                                                Type: Integer
                                                   Time: 0.01 (EV) = 0.01 sec
relativeApprox(squareDiff8,10**(-3))::Float
 

   (27)  - 0.2340527771 5937700123 E -10
                                                                  Type: Float
                           Time: 1.38 (EV) + 0.01 (OT) + 0.23 (GC) = 1.62 sec
--
-- test the Renaud Rioboo fix (Jan 2004)
--
allRootsOf((x-2)*(x-3)*(x-4))$RECLOS(FRAC INT)
 

   (28)  [2,3,4]
                                      Type: List RealClosure Fraction Integer
                           Time: 0.01 (EV) + 0.01 (OT) + 0.01 (GC) = 0.03 sec
--
-- check out if the sum of all roots is null
-- example from P.V. Koseleff
--
l := allRootsOf((x**2-2)**2-2)$Ran
 

   (29)  [%A33,%A34,%A35,%A36]
                                      Type: List RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
l.1+l.2+l.3+l.4
 

   (30)  0
                                           Type: RealClosure Fraction Integer
                                       Time: 1.10 (EV) + 0.12 (GC) = 1.22 sec
removeDuplicates map(mainDefiningPolynomial,l)
 

           4     2
   (31)  [?  - 4?  + 2]
Type: List Union(SparseUnivariatePolynomial RealClosure Fraction 
Integer,"failed")
                                       Time: 0.01 (EV) + 0.01 (OT) = 0.02 sec
map(mainCharacterization,l)
 

   (32)  [[- 2,- 1[,[- 1,0[,[0,1[,[1,2[]
Type: List Union(RightOpenIntervalRootCharacterization(RealClosure Fraction 
Integer,SparseUnivariatePolynomial RealClosure Fraction Integer),"failed")
                                                   Time: 0.01 (OT) = 0.01 sec
[reduce(+,l),reduce(*,l)-2]
 

   (33)  [0,0]
                                      Type: List RealClosure Fraction Integer
                           Time: 1.61 (EV) + 0.02 (OT) + 0.23 (GC) = 1.86 sec
--
-- a more complicated test that involve an extension of degree 256
-- example by prof Kahan at ISSAC'92
--
)cl prop s2 s5 10
 
(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran)
 

          +--+
   (34)  \|10
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)
 

            +---------+ +--------+    +---------+ +--------+   +-----------+
            | +--+      | +-+         | +--+      | +-+        |   +-+
   (35)  - \|\|10  - 3 \|\|5  - 2  + \|\|10  + 3 \|\|5  + 2 = \|10\|2  + 10
                                  Type: Equation RealClosure Fraction Integer
                                       Time: 0.06 (IN) + 0.12 (GC) = 0.18 sec
eq1::Boolean
 

   (36)  true
                                                                Type: Boolean
                                                   Time: 0.16 (IN) = 0.16 sec
--
-- analogous one by [rr]
--
eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2)
 

            +--------+ +--------+    +--------+ +--------+   +----------+
            | +-+      | +-+         | +-+      | +-+        |  +--+
   (37)  - \|\|5  - 2 \|\|2  - 1  + \|\|5  + 2 \|\|2  + 1 = \|2\|10  + 2
                                  Type: Equation RealClosure Fraction Integer
                                       Time: 0.02 (IN) + 0.01 (OT) = 0.03 sec
eq2::Boolean
 

   (38)  true
                                                                Type: Boolean
                                                   Time: 0.15 (IN) = 0.15 sec
--
-- these came from J.M. Arnaudies
--
)cl prop s4 s7 e1 e2
 
s3 := sqrt(3)$Ran
 

          +-+
   (39)  \|3
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
s7:= sqrt(7)$Ran
 

          +-+
   (40)  \|7
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
e1 := sqrt(2*s7-3*s3,3)
 

          +-------------+
         3|  +-+     +-+
   (41)  \|2\|7  - 3\|3
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (EV) = 0.01 sec
e2 := sqrt(2*s7+3*s3,3)
 

          +-------------+
         3|  +-+     +-+
   (42)  \|2\|7  + 3\|3
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (OT) = 0.01 sec
-- this should be null
ee1:=e2-e1=s3
 

          +-------------+    +-------------+
         3|  +-+     +-+    3|  +-+     +-+    +-+
   (43)  \|2\|7  + 3\|3   - \|2\|7  - 3\|3  = \|3
                                  Type: Equation RealClosure Fraction Integer
                                                                  Time: 0 sec
ee1::Boolean
 

   (44)  true
                                                                Type: Boolean
                                                                  Time: 0 sec
)cl prop pol r1 alpha beta
 
pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3)
 

          4   7  2         100
   (45)  x  + - x  + 30x - ---
              3             3
                   Type: UnivariatePolynomial(x,RealClosure Fraction Integer)
                                       Time: 0.23 (IN) + 0.03 (OT) = 0.26 sec
r1 := sqrt(7633)$Ran
 

          +----+
   (46)  \|7633
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
-- cubic roots
alpha := sqrt(5*r1-436,3)/3
 

            +--------------+
         1 3|  +----+
   (47)  - \|5\|7633  - 436
         3
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
beta := -sqrt(5*r1+436,3)/3
 

              +--------------+
           1 3|  +----+
   (48)  - - \|5\|7633  + 436
           3
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
-- this should be null
pol.(alpha+beta-1/3)
 

   (49)  0
                                           Type: RealClosure Fraction Integer
                                       Time: 0.02 (IN) + 0.10 (EV) = 0.12 sec
)cl prop qol r2 alpha beta
 
r2 := sqrt(153)$Ran
 

          +---+
   (50)  \|153
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
-- roots of order 5
alpha2 := sqrt(r2-11,5)
 

          +-----------+
         5| +---+
   (51)  \|\|153  - 11
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
beta2 := -sqrt(r2+11,5)
 

            +-----------+
           5| +---+
   (52)  - \|\|153  + 11
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
qol : UP(x,Ran) := x**5+10*x**3+20*x+22
 

          5      3
   (53)  x  + 10x  + 20x + 22
                   Type: UnivariatePolynomial(x,RealClosure Fraction Integer)
                                       Time: 0.01 (OT) + 0.12 (GC) = 0.13 sec
qol(alpha2+beta2)
 

   (54)  0
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.54 (EV) = 0.54 sec
dst1:=sqrt(9+4*s2)=1+2*s2
 

          +---------+
          |  +-+         +-+
   (55)  \|4\|2  + 9 = 2\|2  + 1
                                  Type: Equation RealClosure Fraction Integer
                                                                  Time: 0 sec
dst1::Boolean
 

   (56)  true
                                                                Type: Boolean
                                                                  Time: 0 sec
s6:Ran:=sqrt 6
 

          +-+
   (57)  \|6
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3
 

          +-----------+    +---------+
          |    +-+         |  +-+         +-+
   (58)  \|- 2\|6  + 5  + \|2\|6  + 5 = 2\|3
                                  Type: Equation RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
dst2::Boolean
 

   (59)  true
                                                                Type: Boolean
                                                                  Time: 0 sec
s29:Ran:=sqrt 29
 

          +--+
   (60)  \|29
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5
 

   (61)
    +--------------------------------+
    |  +--------------+                    +-----------+    +----------+
    |  |     +--+           +--+           |  +--+          |  +-+          +-+
   \|2\|- 10\|29  + 55  - 2\|29  + 16 = - \|2\|29  + 11  + \|2\|5  + 22  + \|5
                                  Type: Equation RealClosure Fraction Integer
                           Time: 0.01 (IN) + 0.01 (EV) + 0.01 (OT) = 0.03 sec
dst4::Boolean
 

   (62)  true
                                                                Type: Boolean
                                       Time: 0.52 (IN) + 0.12 (GC) = 0.64 sec
dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5
 

          +--------------------------------+
          |    +-+       +-+      +-+           +-+      +-+     +-+
   (63)  \|(34\|2  + 46)\|5  + 70\|2  + 112 = (\|2  + 3)\|5  + 4\|2  + 5
                                  Type: Equation RealClosure Fraction Integer
                                       Time: 0.02 (IN) + 0.01 (EV) = 0.03 sec
dst6::Boolean
 

   (64)  true
                                                                Type: Boolean
                                                                  Time: 0 sec
f3:Ran:=sqrt(3,5)
 

         5+-+
   (65)  \|3
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
f25:Ran:=sqrt(1/25,5)
 

          +--+
          | 1
   (66)  5|--
         \|25
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
f32:Ran:=sqrt(32/5,5)
 

          +--+
          |32
   (67)  5|--
         \| 5
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
f27:Ran:=sqrt(27/5,5)
 

          +--+
          |27
   (68)  5|--
         \| 5
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2)
 

          +---------------+
          |   +--+    +--+                         +--+
          |   |27     |32       5+-+2   5+-+       | 1
   (69)  3|- 5|--  + 5|--  = (- \|3   + \|3  + 1) 5|--
         \|  \| 5    \| 5                         \|25
                                  Type: Equation RealClosure Fraction Integer
                                       Time: 0.01 (IN) + 0.03 (EV) = 0.04 sec
dst5::Boolean
 

   (70)  true
                                                                Type: Boolean
                           Time: 2.65 (IN) + 0.01 (OT) + 0.65 (GC) = 3.31 sec
G82322 (71) -> )quit
   Please enter y or yes if you really want to leave the interactive 
      environment and return to the operating system:
y


bash-2.05b# 

=================================================================
=== free version
=================================================================


bash-2.05b# axiom
                        AXIOM Computer Algebra System 
                Version of Tuesday July 13, 2004 at 11:21:33 
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
-----------------------------------------------------------------------------
 
   Re-reading compress.daase   Re-reading interp.daase
   Re-reading operation.daase
   Re-reading category.daase
   Re-reading browse.daase

"running /root/.axiom.input"
Value = NIL
Value = NIL
(1) -> )set message time on
(1) -> )set message autoload off
(1) -> )co reclos.spad
   Compiling AXIOM source code from file /tmp/old/reclos.spad using old
      system compiler.
   POLUTIL abbreviates package RealPolynomialUtilitiesPackage 
   processing macro definition Z ==> Integer 
   processing macro definition N ==> NonNegativeInteger 
   processing macro definition P ==> ThePols 
------------------------------------------------------------------------
   initializing NRLIB POLUTIL for RealPolynomialUtilitiesPackage 
   compiling into NRLIB POLUTIL 
   compiling exported sturmSequence : ThePols -> List ThePols
Time: 0.12 SEC.

   compiling exported sylvesterSequence : (ThePols,ThePols) -> List ThePols
Time: 0.06 SEC.

****** Domain: TheField already in scope
augmenting TheField: (OrderedRing)
augmenting $: (SIGNATURE $ boundOfCauchy (TheField ThePols))
augmenting $: (SIGNATURE $ sturmVariationsOf ((NonNegativeInteger) (List 
TheField)))
augmenting $: (SIGNATURE $ lazyVariations ((NonNegativeInteger) (List TheField) 
(Integer) (Integer)))
   compiling exported boundOfCauchy : ThePols -> TheField
Time: 0.02 SEC.

   compiling exported sturmVariationsOf : List TheField -> NonNegativeInteger
Time: 0.03 SEC.

   compiling exported lazyVariations : (List TheField,Integer,Integer) -> 
NonNegativeInteger
Time: 0.09 SEC.

****** Domain: TheField already in scope
augmenting TheField: (OrderedRing)
augmenting $: (SIGNATURE $ boundOfCauchy (TheField ThePols))
augmenting $: (SIGNATURE $ sturmVariationsOf ((NonNegativeInteger) (List 
TheField)))
augmenting $: (SIGNATURE $ lazyVariations ((NonNegativeInteger) (List TheField) 
(Integer) (Integer)))
(time taken in buildFunctor:  0)

;;;     ***       |RealPolynomialUtilitiesPackage| REDEFINED

;;;     ***       |RealPolynomialUtilitiesPackage| REDEFINED
Time: 0 SEC.

 
   Warnings: 
      [1] sylvesterSequence:  res has no value
      [2] sturmVariationsOf:  ll has no value
 

   Cumulative Statistics for Constructor RealPolynomialUtilitiesPackage
      Time: 0.32 seconds
 
   finalizing NRLIB POLUTIL 
   Processing RealPolynomialUtilitiesPackage for Browser database:
--------(sylvesterSequence ((List ThePols) ThePols ThePols))---------
--------(sturmSequence ((List ThePols) ThePols))---------
--------(boundOfCauchy (TheField ThePols))---------
--------(sturmVariationsOf (N (List TheField)))---------
--------(lazyVariations (N (List TheField) Z Z))---------
--------constructor---------
Compiling /tmp/old/POLUTIL.NRLIB/code.lsp.
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /tmp/old/POLUTIL.NRLIB/code.lsp.
------------------------------------------------------------------------
   RealPolynomialUtilitiesPackage is now explicitly exposed in frame 
      initial 
   RealPolynomialUtilitiesPackage will be automatically loaded when 
      needed from /tmp/old/POLUTIL.NRLIB/code

   RRCC abbreviates category RealRootCharacterizationCategory 
   processing macro definition Z ==> Integer 
   processing macro definition N ==> PositiveInteger 
   processing macro definition PUB ==> -- the constructor capsule 
------------------------------------------------------------------------
   initializing NRLIB RRCC for RealRootCharacterizationCategory 
   compiling into NRLIB RRCC 

;;;     ***       |RealRootCharacterizationCategory| REDEFINED
Time: 0.01 SEC.

   RRCC- abbreviates domain RealRootCharacterizationCategory& 
------------------------------------------------------------------------
   initializing NRLIB RRCC- for RealRootCharacterizationCategory& 
   compiling into NRLIB RRCC- 
****** Domain: TheField already in scope
   compiling exported zero? : (ThePols,S) -> Boolean
Time: 0.02 SEC.

   compiling exported negative? : (ThePols,S) -> Boolean
Time: 0.01 SEC.

   compiling exported positive? : (ThePols,S) -> Boolean
Time: 0.02 SEC.

   compiling exported rootOf : (ThePols,PositiveInteger) -> Union(S,failed)
Time: 0.03 SEC.

   compiling exported recip : (ThePols,S) -> Union(ThePols,failed)
Time: 0.06 SEC.

(time taken in buildFunctor:  1)

;;;     ***       |RealRootCharacterizationCategory&| REDEFINED
Time: 0.01 SEC.


   Cumulative Statistics for Constructor RealRootCharacterizationCategory&
      Time: 0.15 seconds
 
   finalizing NRLIB RRCC- 
   Processing RealRootCharacterizationCategory& for Browser database:
--------(sign (Z ThePols $))---------
--------(zero? ((Boolean) ThePols $))---------
--------(negative? ((Boolean) ThePols $))---------
--------(positive? ((Boolean) ThePols $))---------
--------(recip ((Union ThePols failed) ThePols $))---------
--------(definingPolynomial (ThePols $))---------
--------(allRootsOf ((List $) ThePols))---------
--------(rootOf ((Union $ failed) ThePols N))---------
--------(approximate (TheField ThePols $ TheField))---------
--------(relativeApprox (TheField ThePols $ TheField))---------
--------constructor---------
Compiling /tmp/old/RRCC-.NRLIB/code.lsp.
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /tmp/old/RRCC-.NRLIB/code.lsp.
------------------------------------------------------------------------
   RealRootCharacterizationCategory& is now explicitly exposed in frame
      initial 
   RealRootCharacterizationCategory& will be automatically loaded when 
      needed from /tmp/old/RRCC-.NRLIB/code
   finalizing NRLIB RRCC 
   Processing RealRootCharacterizationCategory for Browser database:
--------(sign (Z ThePols $))---------
--------(zero? ((Boolean) ThePols $))---------
--------(negative? ((Boolean) ThePols $))---------
--------(positive? ((Boolean) ThePols $))---------
--------(recip ((Union ThePols failed) ThePols $))---------
--------(definingPolynomial (ThePols $))---------
--------(allRootsOf ((List $) ThePols))---------
--------(rootOf ((Union $ failed) ThePols N))---------
--------(approximate (TheField ThePols $ TheField))---------
--------(relativeApprox (TheField ThePols $ TheField))---------
--------constructor---------
Compiling /tmp/old/RRCC.NRLIB/code.lsp.
; (DEFUN |RealRootCharacterizationCategory| ...) is being compiled.
;; The variable |RealRootCharacterizationCategory;AL| is undefined.
;; The compiler will assume this variable is a global.
; (DEFUN |RealRootCharacterizationCategory;| ...) is being compiled.
;; The variable |RealRootCharacterizationCategory;CAT| is undefined.
;; The compiler will assume this variable is a global.
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /tmp/old/RRCC.NRLIB/code.lsp.
------------------------------------------------------------------------
   RealRootCharacterizationCategory is now explicitly exposed in frame 
      initial 
   RealRootCharacterizationCategory will be automatically loaded when 
      needed from /tmp/old/RRCC.NRLIB/code

   RCFIELD abbreviates category RealClosedField 
   processing macro definition E ==> OutputForm 
   processing macro definition SUP ==> SparseUnivariatePolynomial 
   processing macro definition OFIELD ==> -- the constructor category 
   processing macro definition PME ==> SparseUnivariatePolynomial $ 
   processing macro definition N ==> NonNegativeInteger 
   processing macro definition PI ==> PositiveInteger 
   processing macro definition RN ==> Fraction Integer 
   processing macro definition Z ==> Integer 
   processing macro definition POLY ==> Polynomial 
   processing macro definition PACK ==> SparseUnivariatePolynomialFunctions2 
------------------------------------------------------------------------
   initializing NRLIB RCFIELD for RealClosedField 
   compiling into NRLIB RCFIELD 

;;;     ***       |RealClosedField| REDEFINED
Time: 0.03 SEC.

   RCFIELD- abbreviates domain RealClosedField& 
------------------------------------------------------------------------
   initializing NRLIB RCFIELD- for RealClosedField& 
   compiling into NRLIB RCFIELD- 
   compiling exported sqrt : S -> S
Time: 0.03 SEC.

   compiling exported sqrt : Fraction Integer -> S
Time: 0.02 SEC.

   compiling exported sqrt : Integer -> S
Time: 0.01 SEC.

   compiling exported characteristic : () -> NonNegativeInteger
      RCFIELD-;characteristic;Nni;4 is replaced by 0 
Time: 0.01 SEC.

   compiling exported rootOf : (SparseUnivariatePolynomial 
S,PositiveInteger,OutputForm) -> Union(S,failed)
Time: 0.02 SEC.

   compiling exported rootOf : (SparseUnivariatePolynomial S,PositiveInteger) 
-> Union(S,failed)
Time: 0.05 SEC.

   compiling exported sqrt : (S,NonNegativeInteger) -> S
Time: 0.02 SEC.

   compiling exported ** : (S,Fraction Integer) -> S
Time: 0.01 SEC.

   compiling exported nthRoot : (S,Integer) -> S
Time: 0.01 SEC.

   compiling exported allRootsOf : SparseUnivariatePolynomial Fraction Integer 
-> List S
Time: 0.05 SEC.

   compiling exported allRootsOf : SparseUnivariatePolynomial Integer -> List S
Time: 0.04 SEC.

   compiling exported allRootsOf : Polynomial S -> List S
Time: 0.08 SEC.

   compiling exported allRootsOf : Polynomial Fraction Integer -> List S
Time: 0.03 SEC.

   compiling exported allRootsOf : Polynomial Integer -> List S
Time: 0.08 SEC.

(time taken in buildFunctor:  0)

;;;     ***       |RealClosedField&| REDEFINED
Time: 0 SEC.

 
   Warnings: 
      [1] rootOf: not known that (Ring) is of mode (CATEGORY domain (SIGNATURE 
sqrt (S (Integer))) (SIGNATURE sqrt (S (Fraction (Integer)))) (SIGNATURE sqrt 
(S S (NonNegativeInteger))) (SIGNATURE allRootsOf ((List S) (Polynomial 
(Integer)))) (SIGNATURE allRootsOf ((List S) (Polynomial (Fraction 
(Integer))))) (SIGNATURE allRootsOf ((List S) (Polynomial S))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Integer)))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Fraction (Integer))))) 
(SIGNATURE allRootsOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE 
rootOf ((Union S failed) (SparseUnivariatePolynomial S) (PositiveInteger))) 
(SIGNATURE rootOf ((Union S failed) (SparseUnivariatePolynomial S) 
(PositiveInteger) (OutputForm))) (SIGNATURE ** (S S (Fraction (Integer)))) 
(SIGNATURE nthRoot (S S (Integer))) (SIGNATURE sqrt (S S)) (SIGNATURE ** (S S 
(Integer))) (SIGNATURE characteristic ((NonNegativeInteger))) (SIGNATURE ** (S 
S (NonNegativeInteger)!
 )) (SIGNATURE ** (S S (PositiveInteger))))
      [2] allRootsOf: not known that (Ring) is of mode (CATEGORY domain 
(SIGNATURE sqrt (S (Integer))) (SIGNATURE sqrt (S (Fraction (Integer)))) 
(SIGNATURE sqrt (S S (NonNegativeInteger))) (SIGNATURE allRootsOf ((List S) 
(Polynomial (Integer)))) (SIGNATURE allRootsOf ((List S) (Polynomial (Fraction 
(Integer))))) (SIGNATURE allRootsOf ((List S) (Polynomial S))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Integer)))) (SIGNATURE 
allRootsOf ((List S) (SparseUnivariatePolynomial (Fraction (Integer))))) 
(SIGNATURE allRootsOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE 
rootOf ((Union S failed) (SparseUnivariatePolynomial S) (PositiveInteger))) 
(SIGNATURE rootOf ((Union S failed) (SparseUnivariatePolynomial S) 
(PositiveInteger) (OutputForm))) (SIGNATURE ** (S S (Fraction (Integer)))) 
(SIGNATURE nthRoot (S S (Integer))) (SIGNATURE sqrt (S S)) (SIGNATURE ** (S S 
(Integer))) (SIGNATURE characteristic ((NonNegativeInteger))) (SIGNATURE ** (S 
S (NonNegativeInte!
 ger))) (SIGNATURE ** (S S (PositiveInteger))))
 

   Cumulative Statistics for Constructor RealClosedField&
      Time: 0.46 seconds
 
   finalizing NRLIB RCFIELD- 
   Processing RealClosedField& for Browser database:
--------(mainForm ((Union E failed) $))---------
--------(mainDefiningPolynomial ((Union PME failed) $))---------
--------(mainValue ((Union PME failed) $))---------
--------(rootOf ((Union $ failed) PME PI E))---------
--------(rootOf ((Union $ failed) PME PI))---------
--------(allRootsOf ((List $) PME))---------
--------(allRootsOf ((List $) (SUP RN)))---------
--------(allRootsOf ((List $) (SUP Z)))---------
--------(allRootsOf ((List $) (POLY $)))---------
--------(allRootsOf ((List $) (POLY RN)))---------
--------(allRootsOf ((List $) (POLY Z)))---------
--------(sqrt ($ $ N))---------
--------(sqrt ($ $))---------
--------(sqrt ($ RN))---------
--------(sqrt ($ Z))---------
--------(rename! ($ $ E))---------
--------(rename ($ $ E))---------
--------(approximate (RN $ $))---------
--------constructor---------
Compiling /tmp/old/RCFIELD-.NRLIB/code.lsp.
; (DEFUN |RCFIELD-;characteristic;Nni;4| ...) is being compiled.
;; Warning: The variable $ is not used.
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /tmp/old/RCFIELD-.NRLIB/code.lsp.
------------------------------------------------------------------------
   RealClosedField& is now explicitly exposed in frame initial 
   RealClosedField& will be automatically loaded when needed from 
      /tmp/old/RCFIELD-.NRLIB/code
   finalizing NRLIB RCFIELD 
   Processing RealClosedField for Browser database:
--------(mainForm ((Union E failed) $))---------
--------(mainDefiningPolynomial ((Union PME failed) $))---------
--------(mainValue ((Union PME failed) $))---------
--------(rootOf ((Union $ failed) PME PI E))---------
--------(rootOf ((Union $ failed) PME PI))---------
--------(allRootsOf ((List $) PME))---------
--------(allRootsOf ((List $) (SUP RN)))---------
--------(allRootsOf ((List $) (SUP Z)))---------
--------(allRootsOf ((List $) (POLY $)))---------
--------(allRootsOf ((List $) (POLY RN)))---------
--------(allRootsOf ((List $) (POLY Z)))---------
--------(sqrt ($ $ N))---------
--------(sqrt ($ $))---------
--------(sqrt ($ RN))---------
--------(sqrt ($ Z))---------
--------(rename! ($ $ E))---------
--------(rename ($ $ E))---------
--------(approximate (RN $ $))---------
--------constructor---------
Compiling /tmp/old/RCFIELD.NRLIB/code.lsp.
; (DEFUN |RealClosedField| ...) is being compiled.
;; The variable |RealClosedField;AL| is undefined.
;; The compiler will assume this variable is a global.
;; Warning: The variable #:G6884 is not used.
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /tmp/old/RCFIELD.NRLIB/code.lsp.
------------------------------------------------------------------------
   RealClosedField is now explicitly exposed in frame initial 
   RealClosedField will be automatically loaded when needed from 
      /tmp/old/RCFIELD.NRLIB/code

   ROIRC abbreviates domain RightOpenIntervalRootCharacterization 
   processing macro definition Z ==> Integer 
   processing macro definition P ==> ThePolDom 
   processing macro definition N ==> NonNegativeInteger 
   processing macro definition B ==> Boolean 
   processing macro definition UTIL ==> 
RealPolynomialUtilitiesPackage(TheField,ThePolDom) 
   processing macro definition RRCC ==> RealRootCharacterizationCategory 
   processing macro definition O ==> OutputForm 
   processing macro definition TwoPoints ==> Record(low: TheField,high: 
TheField) 
------------------------------------------------------------------------
   initializing NRLIB ROIRC for RightOpenIntervalRootCharacterization 
   compiling into NRLIB ROIRC 
****** Domain: TheField already in scope
   compiling exported size : $ -> TheField
Time: 0.04 SEC.

   compiling exported relativeApprox : (ThePolDom,$,TheField) -> TheField
Time: 0.05 SEC.

   compiling exported approximate : (ThePolDom,$,TheField) -> TheField
Time: 0.05 SEC.

   compiling local addOne : ThePolDom -> ThePolDom
Time: 0.01 SEC.

   compiling local minus : ThePolDom -> ThePolDom
Time: 0 SEC.

   compiling local translate : (ThePolDom,TheField) -> ThePolDom
Time: 0.01 SEC.

   compiling local dilate : (ThePolDom,TheField) -> ThePolDom
Time: 0.01 SEC.

   compiling local evalOne : ThePolDom -> TheField
Time: 0 SEC.

   compiling local invert : ThePolDom -> ThePolDom
Time: 0.01 SEC.

   compiling local rootBound : ThePolDom -> TheField
Time: 0.02 SEC.

   compiling local sturmNthRoot : (List 
ThePolDom,TheField,TheField,NonNegativeInteger,NonNegativeInteger,NonNegativeInteger)
 -> Union(Record(low: TheField,high: TheField),failed)
Time: 0.06 SEC.

   compiling local sturmIsolate : (List 
ThePolDom,TheField,TheField,NonNegativeInteger,NonNegativeInteger) -> List 
Record(low: TheField,high: TheField)
Time: 0.08 SEC.

   compiling local isolate : List ThePolDom -> List Record(low: TheField,high: 
TheField)
Time: 0.08 SEC.

   compiling exported rootOf : (ThePolDom,PositiveInteger) -> Union($,failed)
Time: 0.12 SEC.

   compiling exported allRootsOf : ThePolDom -> List $
Time: 0.09 SEC.

   compiling local hasVarsl : List TheField -> Boolean
Time: 0.02 SEC.

   compiling local hasVars : ThePolDom -> Boolean
Time: 0.02 SEC.

   compiling exported mightHaveRoots : (ThePolDom,$) -> Boolean
Time: 0.42 SEC.

   compiling exported coerce : $ -> OutputForm
Time: 0.01 SEC.

   compiling exported = : ($,$) -> Boolean
Time: 0.18 SEC.

   compiling local makeChar : (TheField,TheField,ThePolDom) -> $
Time: 0.06 SEC.

   compiling exported definingPolynomial : $ -> ThePolDom
      ROIRC;definingPolynomial;$ThePolDom;22 is replaced by QVELTrootChar2 
Time: 0 SEC.

   compiling local linearRecip : (ThePolDom,$) -> Union(ThePolDom,failed)
Time: 0.20 SEC.

   compiling exported recip : (ThePolDom,$) -> Union(ThePolDom,failed)
Time: 0.38 SEC.

   compiling local linearSign : (ThePolDom,$) -> Integer
Time: 0.13 SEC.

   compiling exported sign : (ThePolDom,$) -> Integer
Time: 0.28 SEC.

   compiling local linearZero? : (TheField,$) -> Boolean
Time: 0.09 SEC.

   compiling exported zero? : (ThePolDom,$) -> Boolean
Time: 0.26 SEC.

   compiling local refine! : $ -> $
Time: 0.07 SEC.

   compiling exported refine : $ -> $
Time: 0.06 SEC.

   compiling exported left : $ -> TheField
      ROIRC;left;$TheField;31 is replaced by QVELTrootChar0 
Time: 0.01 SEC.

   compiling exported right : $ -> TheField
      ROIRC;right;$TheField;32 is replaced by QVELTrootChar1 
Time: 0 SEC.

   compiling exported middle : $ -> TheField
Time: 0.01 SEC.

(time taken in buildFunctor:  0)

;;;     ***       |RightOpenIntervalRootCharacterization| REDEFINED

;;;     ***       |RightOpenIntervalRootCharacterization| REDEFINED
Time: 0.01 SEC.


   Cumulative Statistics for Constructor RightOpenIntervalRootCharacterization
      Time: 2.84 seconds
 
   finalizing NRLIB ROIRC 
   Processing RightOpenIntervalRootCharacterization for Browser database:
--------(left (TheField $))---------
--------(right (TheField $))---------
--------(size (TheField $))---------
--->/tmp/axiom/mnt/linux/../../src/algebra/ROIRC.spad-->RightOpenIntervalRootCharacterization((size
 (TheField $))): Improper first word in comments: The
"The size of the isolating interval"
--------(middle (TheField $))---------
--------(refine ($ $))---------
--------(mightHaveRoots (B P $))---------
--------(relativeApprox (TheField P $ TheField))---------
--------constructor---------
Compiling /tmp/old/ROIRC.NRLIB/code.lsp.
; (DEFUN |ROIRC;definingPolynomial;$ThePolDom;22| ...) is being compiled.
;; Warning: The variable $ is not used.
; (DEFUN |ROIRC;left;$TheField;31| ...) is being compiled.
;; Warning: The variable $ is not used.
; (DEFUN |ROIRC;right;$TheField;32| ...) is being compiled.
;; Warning: The variable $ is not used.
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /tmp/old/ROIRC.NRLIB/code.lsp.
------------------------------------------------------------------------
   RightOpenIntervalRootCharacterization is now explicitly exposed in 
      frame initial 
   RightOpenIntervalRootCharacterization will be automatically loaded 
      when needed from /tmp/old/ROIRC.NRLIB/code

   RECLOS abbreviates domain RealClosure 
   processing macro definition E ==> OutputForm 
   processing macro definition Z ==> Integer 
   processing macro definition SE ==> Symbol 
   processing macro definition B ==> Boolean 
   processing macro definition SUP ==> SparseUnivariatePolynomial $ 
   processing macro definition N ==> PositiveInteger 
   processing macro definition RN ==> Fraction Integer 
   processing macro definition LF ==> ListFunctions2($,PositiveInteger) 
   processing macro definition PME ==> SparseUnivariatePolynomial $ 
   processing macro definition SEG ==> 
RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial $) 
------------------------------------------------------------------------
   initializing NRLIB RECLOS for RealClosure 
   compiling into NRLIB RECLOS 
****** Domain: TheField already in scope
****** Domain: TheField already in scope
   compiling exported relativeApprox : ($,$) -> Fraction Integer
Time: 0.13 SEC.

   compiling exported approximate : ($,$) -> Fraction Integer
Time: 0.05 SEC.

   compiling local newElementIfneeded : 
(RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial 
$),OutputForm) -> $
Time: 0.04 SEC.

   compiling exported algebraicOf : 
(RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial 
$),OutputForm) -> $
Time: 0.05 SEC.

   compiling exported rename! : ($,OutputForm) -> $
Time: 0 SEC.

   compiling exported rename : ($,OutputForm) -> $
Time: 0.03 SEC.

   compiling exported rootOf : (SparseUnivariatePolynomial $,PositiveInteger) 
-> Union($,failed)
Time: 0.13 SEC.

   compiling exported allRootsOf : SparseUnivariatePolynomial $ -> List $
Time: 0.12 SEC.

   compiling exported coerce : $ -> $
Time: 0.03 SEC.

   compiling exported positive? : $ -> Boolean
Time: 0.03 SEC.

   compiling exported negative? : $ -> Boolean
Time: 0.03 SEC.

   compiling exported abs : $ -> $
Time: 0.01 SEC.

   compiling exported sign : $ -> Integer
Time: 0.02 SEC.

   compiling exported < : ($,$) -> Boolean
Time: 0 SEC.

   compiling exported = : ($,$) -> Boolean
Time: 0 SEC.

   compiling exported mainCharacterization : $ -> 
Union(RightOpenIntervalRootCharacterization($,SparseUnivariatePolynomial 
$),failed)
Time: 0 SEC.

   compiling exported mainDefiningPolynomial : $ -> 
Union(SparseUnivariatePolynomial $,failed)
Time: 0.03 SEC.

   compiling exported mainForm : $ -> Union(OutputForm,failed)
Time: 0 SEC.

   compiling exported mainValue : $ -> Union(SparseUnivariatePolynomial 
$,failed)
Time: 0.03 SEC.

   compiling exported coerce : $ -> OutputForm
Time: 0.03 SEC.

   compiling exported inv : $ -> $
Time: 0.01 SEC.

   compiling exported recip : $ -> Union($,failed)
Time: 0.05 SEC.

   compiling exported * : (Integer,$) -> $
Time: 0.06 SEC.

   compiling exported * : (TheField,$) -> $
Time: 0.08 SEC.

   compiling exported * : ($,$) -> $
Time: 0.16 SEC.

   compiling local nonNull : Rec -> $
Time: 0.05 SEC.

   compiling exported zero? : $ -> Boolean
Time: 0 SEC.

   compiling exported + : ($,$) -> $
Time: 0.07 SEC.

   compiling exported - : $ -> $
Time: 0.03 SEC.

   compiling exported retractIfCan : $ -> Union(TheField,failed)
Time: 0.01 SEC.

   compiling exported retract : $ -> TheField
Time: 0.02 SEC.

   compiling local lessAlgebraic : $ -> $
Time: 0.08 SEC.

   compiling exported Zero : () -> $
Time: 0 SEC.

   compiling exported One : () -> $
Time: 0 SEC.

   compiling exported coerce : TheField -> $
      RECLOS;coerce;TheField$;35 is replaced by CONS0rn 
Time: 0 SEC.

(time taken in buildFunctor:  2)

;;;     ***       |RealClosure| REDEFINED

;;;     ***       |RealClosure| REDEFINED
Time: 0.05 SEC.


   Cumulative Statistics for Constructor RealClosure
      Time: 1.43 seconds
 
   finalizing NRLIB RECLOS 
   Processing RealClosure for Browser database:
--------(algebraicOf ($ SEG E))---------
--------(mainCharacterization ((Union SEG failed) $))---------
--------(relativeApprox (RN $ $))---------
--------constructor---------
Compiling /tmp/old/RECLOS.NRLIB/code.lsp.
; (DEFUN |RECLOS;rename!;$Of$;5| ...) is being compiled.
;; Warning: The variable $ is not used.
; (DEFUN |RECLOS;rename;$Of$;6| ...) is being compiled.
;; Warning: The variable $ is not used.
; (DEFUN |RECLOS;mainCharacterization;$U;16| ...) is being compiled.
;; Warning: The variable $ is not used.
; (DEFUN |RECLOS;mainForm;$U;18| ...) is being compiled.
;; Warning: The variable $ is not used.
; (DEFUN |RECLOS;mainValue;$U;19| ...) is being compiled.
;; Warning: The variable $ is not used.
; (DEFUN |RECLOS;coerce;TheField$;35| ...) is being compiled.
;; Warning: The variable $ is not used.
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /tmp/old/RECLOS.NRLIB/code.lsp.
------------------------------------------------------------------------
   RealClosure is now explicitly exposed in frame initial 
   RealClosure will be automatically loaded when needed from 
      /tmp/old/RECLOS.NRLIB/code

(1) -> )read reclos.input

-- Input generated from RealClosureXmpPage
)clear all
 
   All user variables and function definitions have been cleared.
Ran := RECLOS(FRAC INT)
 

   (1)  RealClosure Fraction Integer
                                                                 Type: Domain
                                                                  Time: 0 sec
--
-- Some simple signs for square roots, these correspond to an extension
-- of degree 16 of the rational numbers.
-- these examples were given to me by J. Abbot
--
fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran == sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)
 
   Function declaration fourSquares : (RealClosure Fraction Integer,
      RealClosure Fraction Integer,RealClosure Fraction Integer,
      RealClosure Fraction Integer) -> RealClosure Fraction Integer has
      been added to workspace.
                                                                   Type: Void
                                                                  Time: 0 sec
squareDiff1 := fourSquares(73,548,60,586)
 
   Compiling function fourSquares with type (RealClosure Fraction 
      Integer,RealClosure Fraction Integer,RealClosure Fraction Integer
      ,RealClosure Fraction Integer) -> RealClosure Fraction Integer 

           +---+    +--+    +---+    +--+
   (3)  - \|586  - \|60  + \|548  + \|73
                                           Type: RealClosure Fraction Integer
                                       Time: 0.02 (EV) + 0.06 (OT) = 0.08 sec
recip(squareDiff1)
 

   (4)
             +---+          +--+  +--+         +--+ +---+            +---+
     ((54602\|548  + 149602\|73 )\|60  + 49502\|73 \|548  + 9900895)\|586
   + 
             +--+ +---+             +--+            +---+            +--+
     (154702\|73 \|548  + 30941947)\|60  + 10238421\|548  + 28051871\|73
                                Type: Union(RealClosure Fraction Integer,...)
                                                                  Time: 0 sec
sign(squareDiff1)
 

   (5)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff2 := fourSquares(165,778,86,990)
 

           +---+    +--+    +---+    +---+
   (6)  - \|990  - \|86  + \|778  + \|165
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (EV) = 0.01 sec
recip(squareDiff2)
 

   (7)
                +---+           +---+  +--+          +---+ +---+
       ((556778\|778  + 1209010\|165 )\|86  + 401966\|165 \|778  + 144019431)
    *
        +---+
       \|990
   + 
              +---+ +---+              +--+             +---+             +---+
     (1363822\|165 \|778  + 488640503)\|86  + 162460913\|778  + 352774119\|165
                                Type: Union(RealClosure Fraction Integer,...)
                                                                  Time: 0 sec
sign(squareDiff2)
 

   (8)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff3 := fourSquares(217,708,226,692)
 

           +---+    +---+    +---+    +---+
   (9)  - \|692  - \|226  + \|708  + \|217
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
recip(squareDiff3)
 

   (10)
               +---+         +---+  +---+         +---+ +---+             +---+
     ((- 34102\|708  - 61598\|217 )\|226  - 34802\|217 \|708  - 13641141)\|692
   + 
              +---+ +---+             +---+            +---+            +---+
     (- 60898\|217 \|708  - 23869841)\|226  - 13486123\|708  - 24359809\|217
                                Type: Union(RealClosure Fraction Integer,...)
                                       Time: 0.01 (EV) + 0.06 (GC) = 0.07 sec
sign(squareDiff3)
 

   (11)  - 1
                                                                Type: Integer
                                                   Time: 0.01 (OT) = 0.01 sec
squareDiff4 := fourSquares(155,836,162,820)
 

            +---+    +---+    +---+    +---+
   (12)  - \|820  - \|162  + \|836  + \|155
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
recip(squareDiff4)
 

   (13)
               +---+         +---+  +---+         +---+ +---+             +---+
     ((- 37078\|836  - 86110\|155 )\|162  - 37906\|155 \|836  - 13645107)\|820
   + 
              +---+ +---+             +---+            +---+            +---+
     (- 85282\|155 \|836  - 30699151)\|162  - 13513901\|836  - 31384703\|155
                                Type: Union(RealClosure Fraction Integer,...)
                                                   Time: 0.01 (OT) = 0.01 sec
sign(squareDiff4)
 

   (14)  - 1
                                                                Type: Integer
                                                                  Time: 0 sec
squareDiff5 := fourSquares(591,772,552,818)
 

            +---+    +---+    +---+    +---+
   (15)  - \|818  - \|552  + \|772  + \|591
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
recip(squareDiff5)
 

   (16)
             +---+         +---+  +---+         +---+ +---+             +---+
     ((70922\|772  + 81058\|591 )\|552  + 68542\|591 \|772  + 46297673)\|818
   + 
            +---+ +---+             +---+            +---+            +---+
     (83438\|591 \|772  + 56359389)\|552  + 47657051\|772  + 54468081\|591
                                Type: Union(RealClosure Fraction Integer,...)
                                                                  Time: 0 sec
sign(squareDiff5)
 

   (17)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff6 := fourSquares(434,1053,412,1088)
 

            +----+    +---+    +----+    +---+
   (18)  - \|1088  - \|412  + \|1053  + \|434
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
recip(squareDiff6)
 

   (19)
                +----+          +---+  +---+          +---+ +----+
       ((115442\|1053  + 179818\|434 )\|412  + 112478\|434 \|1053  + 76037291)
    *
        +----+
       \|1088
   + 
           +---+ +----+              +---+            +----+             +---+
   (182782\|434 \|1053  + 123564147)\|412  + 77290639\|1053  + 120391609\|434
                                Type: Union(RealClosure Fraction Integer,...)
                                                   Time: 0.06 (GC) = 0.06 sec
sign(squareDiff6)
 

   (20)  1
                                                        Type: PositiveInteger
                                                                  Time: 0 sec
squareDiff7 := fourSquares(514,1049,446,1152)
 

            +----+    +---+    +----+    +---+
   (21)  - \|1152  - \|446  + \|1049  + \|514
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
recip(squareDiff7)
 

   (22)
                +----+          +---+  +---+          +---+ +----+
       ((349522\|1049  + 499322\|514 )\|446  + 325582\|514 \|1049  + 239072537)
    *
        +----+
       \|1152
   + 
           +---+ +----+              +---+             +----+             +---+
   (523262\|514 \|1049  + 384227549)\|446  + 250534873\|1049  + 357910443\|514
                                Type: Union(RealClosure Fraction Integer,...)
                                                                  Time: 0 sec
sign(squareDiff7)
 

   (23)  1
                                                        Type: PositiveInteger
                                                   Time: 0.01 (EV) = 0.01 sec
squareDiff8 := fourSquares(190,1751,208,1698)
 

            +----+    +---+    +----+    +---+
   (24)  - \|1698  - \|208  + \|1751  + \|190
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
recip(squareDiff8)
 

   (25)
                     +----+          +---+  +---+          +---+ +----+
           (- 214702\|1751  - 651782\|190 )\|208  - 224642\|190 \|1751
         + 
           - 129571901
    *
        +----+
       \|1698
   + 
               +---+ +----+              +---+             +----+
     (- 641842\|190 \|1751  - 370209881)\|208  - 127595865\|1751
   + 
                 +---+
     - 387349387\|190
                                Type: Union(RealClosure Fraction Integer,...)
                                                                  Time: 0 sec
sign(squareDiff8)
 

   (26)  - 1
                                                                Type: Integer
                                                                  Time: 0 sec
relativeApprox(squareDiff8,10**(-3))::Float
 

   (27)  - 0.2340527771 5937700123 E -10
                                                                  Type: Float
               Time: 0.01 (IN) + 1.48 (EV) + 0.01 (OT) + 1.26 (GC) = 2.76 sec
--
-- test the Renaud Rioboo fix (Jan 2004)
--
allRootsOf((x-2)*(x-3)*(x-4))$RECLOS(FRAC INT)
 

   (28)  [2,3,4]
                                      Type: List RealClosure Fraction Integer
                                       Time: 0.01 (EV) + 0.02 (OT) = 0.03 sec
--
-- check out if the sum of all roots is null
-- example from P.V. Koseleff
--
l := allRootsOf((x**2-2)**2-2)$Ran
 

   (29)  [%A33,%A34,%A35,%A36]
                                      Type: List RealClosure Fraction Integer
                                                   Time: 0.01 (EV) = 0.01 sec
l.1+l.2+l.3+l.4
 

   (30)  0
                                           Type: RealClosure Fraction Integer
                           Time: 0.47 (EV) + 0.01 (OT) + 0.20 (GC) = 0.68 sec
removeDuplicates map(mainDefiningPolynomial,l)
 

           4     2
   (31)  [?  - 4?  + 2]
Type: List Union(SparseUnivariatePolynomial RealClosure Fraction 
Integer,"failed")
                                                   Time: 0.01 (OT) = 0.01 sec
map(mainCharacterization,l)
 

   (32)  [[- 2,- 1[,[- 1,0[,[0,1[,[1,2[]
Type: List Union(RightOpenIntervalRootCharacterization(RealClosure Fraction 
Integer,SparseUnivariatePolynomial RealClosure Fraction Integer),"failed")
                                                   Time: 0.01 (OT) = 0.01 sec
[reduce(+,l),reduce(*,l)-2]
 

   (33)  [0,0]
                                      Type: List RealClosure Fraction Integer
                           Time: 0.66 (EV) + 0.01 (OT) + 0.29 (GC) = 0.96 sec
--
-- a more complicated test that involve an extension of degree 256
-- example by prof Kahan at ISSAC'92
--
)cl prop s2 s5 10
 
(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran)
 

          +--+
   (34)  \|10
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (OT) = 0.01 sec
eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)
 

            +---------+ +--------+    +---------+ +--------+   +-----------+
            | +--+      | +-+         | +--+      | +-+        |   +-+
   (35)  - \|\|10  - 3 \|\|5  - 2  + \|\|10  + 3 \|\|5  + 2 = \|10\|2  + 10
                                  Type: Equation RealClosure Fraction Integer
                                       Time: 0.01 (IN) + 0.02 (OT) = 0.03 sec
eq1::Boolean
 

   (36)  true
                                                                Type: Boolean
                                       Time: 0.09 (IN) + 0.01 (OT) = 0.10 sec
--
-- analogous one by [rr]
--
eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2)
 

            +--------+ +--------+    +--------+ +--------+   +----------+
            | +-+      | +-+         | +-+      | +-+        |  +--+
   (37)  - \|\|5  - 2 \|\|2  - 1  + \|\|5  + 2 \|\|2  + 1 = \|2\|10  + 2
                                  Type: Equation RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
eq2::Boolean
 

   (38)  true
                                                                Type: Boolean
                                       Time: 0.06 (IN) + 0.08 (GC) = 0.14 sec
--
-- these came from J.M. Arnaudies
--
)cl prop s4 s7 e1 e2
 
s3 := sqrt(3)$Ran
 

          +-+
   (39)  \|3
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
s7:= sqrt(7)$Ran
 

          +-+
   (40)  \|7
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
e1 := sqrt(2*s7-3*s3,3)
 

          +-------------+
         3|  +-+     +-+
   (41)  \|2\|7  - 3\|3
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
e2 := sqrt(2*s7+3*s3,3)
 

          +-------------+
         3|  +-+     +-+
   (42)  \|2\|7  + 3\|3
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
-- this should be null
ee1:=e2-e1=s3
 

          +-------------+    +-------------+
         3|  +-+     +-+    3|  +-+     +-+    +-+
   (43)  \|2\|7  + 3\|3   - \|2\|7  - 3\|3  = \|3
                                  Type: Equation RealClosure Fraction Integer
                                                                  Time: 0 sec
ee1::Boolean
 

   (44)  true
                                                                Type: Boolean
                                                   Time: 0.01 (IN) = 0.01 sec
)cl prop pol r1 alpha beta
 
pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3)
 

          4   7  2         100
   (45)  x  + - x  + 30x - ---
              3             3
                   Type: UnivariatePolynomial(x,RealClosure Fraction Integer)
                                       Time: 0.08 (IN) + 0.04 (OT) = 0.12 sec
r1 := sqrt(7633)$Ran
 

          +----+
   (46)  \|7633
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
-- cubic roots
alpha := sqrt(5*r1-436,3)/3
 

            +--------------+
         1 3|  +----+
   (47)  - \|5\|7633  - 436
         3
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (OT) = 0.01 sec
beta := -sqrt(5*r1+436,3)/3
 

              +--------------+
           1 3|  +----+
   (48)  - - \|5\|7633  + 436
           3
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
-- this should be null
pol.(alpha+beta-1/3)
 

   (49)  0
                                           Type: RealClosure Fraction Integer
                                       Time: 0.01 (IN) + 0.08 (EV) = 0.09 sec
)cl prop qol r2 alpha beta
 
r2 := sqrt(153)$Ran
 

          +---+
   (50)  \|153
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
-- roots of order 5
alpha2 := sqrt(r2-11,5)
 

          +-----------+
         5| +---+
   (51)  \|\|153  - 11
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
beta2 := -sqrt(r2+11,5)
 

            +-----------+
           5| +---+
   (52)  - \|\|153  + 11
                                           Type: RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
qol : UP(x,Ran) := x**5+10*x**3+20*x+22
 

          5      3
   (53)  x  + 10x  + 20x + 22
                   Type: UnivariatePolynomial(x,RealClosure Fraction Integer)
                                                   Time: 0.01 (IN) = 0.01 sec
qol(alpha2+beta2)
 

   (54)  0
                                           Type: RealClosure Fraction Integer
                                       Time: 0.33 (EV) + 0.22 (GC) = 0.55 sec
dst1:=sqrt(9+4*s2)=1+2*s2
 

          +---------+
          |  +-+         +-+
   (55)  \|4\|2  + 9 = 2\|2  + 1
                                  Type: Equation RealClosure Fraction Integer
                                                   Time: 0.01 (IN) = 0.01 sec
dst1::Boolean
 

   (56)  true
                                                                Type: Boolean
                                                                  Time: 0 sec
s6:Ran:=sqrt 6
 

          +-+
   (57)  \|6
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3
 

          +-----------+    +---------+
          |    +-+         |  +-+         +-+
   (58)  \|- 2\|6  + 5  + \|2\|6  + 5 = 2\|3
                                  Type: Equation RealClosure Fraction Integer
                                                                  Time: 0 sec
dst2::Boolean
 

   (59)  true
                                                                Type: Boolean
                                                                  Time: 0 sec
s29:Ran:=sqrt 29
 

          +--+
   (60)  \|29
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5
 

   (61)
    +--------------------------------+
    |  +--------------+                    +-----------+    +----------+
    |  |     +--+           +--+           |  +--+          |  +-+          +-+
   \|2\|- 10\|29  + 55  - 2\|29  + 16 = - \|2\|29  + 11  + \|2\|5  + 22  + \|5
                                  Type: Equation RealClosure Fraction Integer
                                                   Time: 0.01 (OT) = 0.01 sec
dst4::Boolean
 

   (62)  true
                                                                Type: Boolean
                                       Time: 0.57 (IN) + 0.29 (GC) = 0.86 sec
dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5
 

          +--------------------------------+
          |    +-+       +-+      +-+           +-+      +-+     +-+
   (63)  \|(34\|2  + 46)\|5  + 70\|2  + 112 = (\|2  + 3)\|5  + 4\|2  + 5
                                  Type: Equation RealClosure Fraction Integer
                                                   Time: 0.01 (EV) = 0.01 sec
dst6::Boolean
 

   (64)  true
                                                                Type: Boolean
                                                   Time: 0.01 (IN) = 0.01 sec
f3:Ran:=sqrt(3,5)
 

         5+-+
   (65)  \|3
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
f25:Ran:=sqrt(1/25,5)
 

          +--+
          | 1
   (66)  5|--
         \|25
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
f32:Ran:=sqrt(32/5,5)
 

          +--+
          |32
   (67)  5|--
         \| 5
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
f27:Ran:=sqrt(27/5,5)
 

          +--+
          |27
   (68)  5|--
         \| 5
                                           Type: RealClosure Fraction Integer
                                                                  Time: 0 sec
dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2)
 

          +---------------+
          |   +--+    +--+                         +--+
          |   |27     |32       5+-+2   5+-+       | 1
   (69)  3|- 5|--  + 5|--  = (- \|3   + \|3  + 1) 5|--
         \|  \| 5    \| 5                         \|25
                                  Type: Equation RealClosure Fraction Integer
                                       Time: 0.01 (EV) + 0.01 (OT) = 0.02 sec
dst5::Boolean
 

   (70)  true
                                                                Type: Boolean
                                       Time: 1.94 (IN) + 0.84 (GC) = 2.78 sec
(71) -> )quit

bash-2.05b# 




reply via email to

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