of Arizona -- February, 2004 1Computer Algebra Systems: Are We There Yet?. of Arizona -- February, 2004 7An Aside on your non-constructive education In freshman calculus you learned to
Trang 1Univ of Arizona February, 2004 1
Computer Algebra Systems:
Are We There Yet?
Richard Fateman Computer Science Univ of California Berkeley, CA
Trang 2The Subject: “Symbolic Computation Systems”
• What are they?
• How good are they now?
• Where are they going?
• When will they be
“there”?
Trang 3Univ of Arizona February, 2004 3
What are they?
Trang 4What is their current state?
• We don’t know how to
achieve the stated goals.
• We keep trying, anyway
• New systems are
produced every few
years, but rarely push
the state of the art,
much less advance it.
Trang 5Univ of Arizona February, 2004 5
What then?
• If we don’t have one
now, and progress seems
slow, what do we need to
do, when will we do it,
and what will it look
like?
Trang 6What does it take to build a Computer Algebra
System?
• A Software engineering.
• B Language choice (Aldor, C++, Java, Lisp,…).
• C Algorithms, data structures.
• D Mathematical framework (often the weak spot).
• E User interface design
• F Conformance to Standards, TeX, MathML,
COM, NET, Beans.
• G Community of users (IMPORTANT).
• H Leadership/ Marketing(?)
Trang 7Univ of Arizona February, 2004 7
An Aside on your non-constructive education
In freshman calculus you learned to integrate rational functions You could integrate 1/x and 1/(x-a) into
logarithms, and you used partial fractions
Unless you’ve recently taken (or taught) this course, you’ve forgotten the details
That’s OK Let’s review it fast.
Trang 8Here’s an integration problem
Trang 9Univ of Arizona February, 2004 9
You need to factor the denominator
You learned to do this by guesswork, and
fortunately it works.
Trang 10And then do the partial fraction expansion
You probably remember one way to do this ,vaguely if at all
Trang 11Univ of Arizona February, 2004 11
And then integrate each term…
Trang 12Can we program this? Note we can’t computerize
“guessing the answer” generally.
Do you really know an algorithm to factor the denominator into linear and quadratic factors?
• Can you do this one, say…
• And if the denominator does not factor (it
need not, you know… ) what do you do then?
Trang 13Univ of Arizona February, 2004 13
If the denominator doesn’t factor
And it gets worse … there is no guarantee that you can even express the roots of irreducible
and a 2/3
Trang 14Moral of this story
• Freshmen are not taught how to integrate
rational functions Only some easy rational
functions
• A freshman could not write a program
Polynomial factoring or rational integration
uses ideas you may never encounter
• Much of the math you learned is
non-constructive and must be re-invented to write
a general computer algebra program!
End of aside
Trang 15Univ of Arizona February, 2004 15
Some History: Ancient
• Ada Augusta, 1844 foresaw prospect of
non-numeric computation using Babbage’s machines Just encode symbols as numbers, and
operations as arithmetic
Trang 16Ada Augusta on Symbolic Computing, 1844
Many persons who are not conversant with mathematical studies imagine that because the business of [Babbage's Analytical Engine] is to give its results in numerical
notation, the nature of its processes must consequently be arithmetical and
numerical, rather than algebraical and analytical This is an error The engine can arrange and combine its numerical quantities exactly as if they were letters or any other general symbols; and in fact it might bring out its results in algebraic notation, were provisions made accordingly.
Ada Augusta, Countess of Lovelace, (1844)
Trang 17Univ of Arizona February, 2004 17
Some History: Slightly Less Ancient
• Arithmetization of Mathematics: Formalisms
• Philosophers/Mathematicians, e.g Gottlob Frege, then Bertrand Russell, Alfred North Whitehead (Principia Mathematica 1910-1913)
Trang 18The Flip side: proofs you can’t do all math
• Impossible
• K Gödel, A.M Turing
Trang 19Univ of Arizona February, 2004 19
New optimism If people can, why not Computers?
1958-60 first inklings automatic
differentiation, tree representations, Lisp,
• Minsky ->Slagle, (1961), Moses (1966); Is it AI? Pattern Matching?
Trang 20Computer Algebra Systems : threads
• Three trends emerged in the 1960s:
– AI / later…expert systems
– Constructive Mathematics (Integration)
– Algorithms on polynomials (GCD)
Trang 21Univ of Arizona February, 2004 21
Some Early Ambitious Systems
• Early to mid 1960's - big growth period,
considerable optimism in programming
languages, as well as in computer algebra…
• - Mathlab, Symbolic Mathematical Laboratory,
• Formac, Formula Algol, PM, ALPAK, Reduce,
CAMAL; Special purpose systems,
• Simple poorly-specified systems that did some useful computations coupled with uncritical
optimism about what could be done next
Trang 22Some theory/algorithm breakthroughs
• 1967-68 algorithms: Polynomial GCD,
• Berlekamp’s polynomial Factoring,
• Risch Integration "near algorithm",
• Knuth’s Art of Computer Programming
• 1967 - Daniel Richardson: interesting equivalence results
Trang 23zero-Univ of Arizona February, 2004 23
Some old systems survive, new ones arrive
• General:
– SAC-1, Altran, Macsyma, Scratchpad, Mathlab 68, MuSimp/MuMath, SMP, Automath, JACAL, others.
• Specialists:
– Singular, GAP, Cocoa, Fermat, NTL, Macaulay
• Further development; new entrants since
1980's
– Maple, Mathematica (1988), Derive, Axiom,
Theorist, Milo… MuPad, Ginac, Pari)
Trang 24The Marketing Blitz: aren’t they all the same?
• Mathematica + NeXT or
Apple = graphics.
-2 -1
0 1
2-2-1 0 1 2 0
0 1
2
• Maple does the same.
Trang 25Univ of Arizona February, 2004 26
More of the same…
Z
-2.00 -1.00
1.00 2.00
-2.00 -1.00
0.00 1.00
0.25 0.50 0.75
1.00
Macsyma
too
Trang 26The blitz…
• Mathematica Endorsed by Steve Jobs and the New York Times?
• Maple changes its image, belatedly.
• Macsyma follows suit.
• Axiom (Scratchpad) sold by IBM to NAG.
• Mupad starts up.
Trang 27Univ of Arizona February, 2004 28
The shakeout
• Axiom under NAG sponsorship, then is killed (2001)
• MuPad, once free, now sold.
• Macsyma goes into hiding, earlier version emerges free as Maxima.
Trang 28Connections gain new prominence
• MathML puts “Math on the Web”.
• Connections
– Links from Matlab or Excel to Maple; Macsyma to Matlab; – Scientific Workplace to Maple or Mathematica or Mupad.
• The arrival of network agents for problem solving.
– Calc101, Tilu, TheIntegrator, Ganith, …
– Java beans for symbolic computation
– MP, distributed computing
Trang 29Univ of Arizona February, 2004 30
Are there really differences in systems?
• What we see today in systems:
– Mathematica essentially takes the view that
mathematics is a collection of rules with a
procedure for pattern matching; and that math can
be reduced to what might be good for physicists, even if slightly wrong.
– Axiom takes the view that a computer algebra
system is an implementation of Modern Algebra,
and the physicists better know algebra.
– “Advanced” math is spotty.
Trang 30A broad brush of commonality today:
theorem of calculus” continuity requirements.)
– A shell around the whole thing Menus, notebooks, etc
Trang 31Univ of Arizona February, 2004 32
Moving to the future
• Computer math + WWW adds new prospects.
• Repository for everything that was previously
published (paper digital form).
• Could include everything NEW (born digital).
– What to do with repetitive garbage?
• Need methods to find appropriate information
– Index/search :: vastly dependent on CONTEXT
– Certify authenticity and correctness (referees?)
• Algorithms may not yet exist for some problems.
– How to pay for development
– Availability to (all?)
• Free “public library”, pay-per-view, subscription, … pop-up ads (This integral brought to you by XYZ bank )
Trang 32Digital Library of Mathematical Functions (at NIST)
• Mostly aimed at traditional usage
• Intimations of support for new modes of interaction with WWW, CAS
Trang 33Univ of Arizona February, 2004 34
Competition for DLMF
Mostly aimed at supporting CAS users
• ESF: generate automatic symbolic data for
Encyclopedia of Special Functions
• Wolfram’s special functions project: collect material from humans in special forms, display
in Mathematica oriented forms
Less CAS…
• CRC/Maple tables
• Dan Zwillinger, ODEs, Gradshteyn
Trang 34Contrast: Non-digital tradition: to find out
something we might do this
• Look in an individually owned reference work
• Visit a library
• Access to colleagues by letter, phone
• Paper and pencil exploration
• Numerical experimentation
Trang 35Univ of Arizona February, 2004 36
Contrast: Digital tradition: to find out something we might do this
• Try Google
• Visit an on-line library database e.g INSPEC
• Download papers to local printer or view online
• CAS exploration
• Numerical experimentation
• Major Problem: How can you type a
differential equation into Google???
Trang 36Wolfram Research’s Special Functions site: 3 versions
• Huge posters
• Printed form (or the equivalent PDF)
• Now (2004) some 87,000 “formulas” and many
“visualizations”
Trang 37Univ of Arizona February, 2004 38
The posters
Trang 38The web site (here, the Arcsin page)
Trang 39Univ of Arizona February, 2004 40
WRI’s Categories/ Some Subcategories
integral transforms identities
representations through more general functions relations with other functions
zeros inequalities theorems other information history and applications references
Trang 40Click on “Series Representations”…
Trang 41Univ of Arizona February, 2004 42
The posters are not very useful
• These are pictures of out-of-context math
formulas.
• The most plausible next step given the charts is to
copy them down on paper and check by hand.
• There is a possibility of making typos or fresh
• To run some numbers through, you need to write a
computer program (Fortran? Matlab? C++?,)
Trang 42On-line versions are more useful
• Less possibility of making new typos.
• The notation are unambiguous, presumably using
a CAS or formal syntax.
• Still, sparse (or no) info on singularities,
regions of validity.
• Automated visualizations and cut/paste
programming to run some numbers through.
Trang 43Univ of Arizona February, 2004 44
Notebook form (I)
Note however that agreement on the semantics of \ [Ellipsis] would be difficult.
Trang 44Notebook form (II)
Displayed form (one version)
In reality, Mathematica does not look quite as good as our typesetting here in the interactive mode.
Trang 45Univ of Arizona February, 2004 46
Notebook form (III)
TeX form {Condition}(\arcsin (z) =
{\frac{{{\Mfunction{z}}^3}}{6}} + z + {\frac{3\,{z^5}}{40}} + \ldots = \Mfunction{\sum}_{k = 0}^{\infty } {\frac{\Mfunction{Pochhammer}({\frac{1}{2}},k)\, {{\Mfunction{z}}^{2\,k + 1}}}{\left( 2\,k + 1 \right) \,k!}} =
\Mfunction{z}\,\Mfunction{Hypergeometric2F1}(
{\frac{1}{2}},{\frac{1}{2}},{\frac{3}{2}},{z^2}), \Mfunction{Abs}(z) < 1))
Useful in case you wanted to paste/edit this into a paper, (or powerpoint) but requires using
Mathematica TeX macros.
Trang 46Notebook form (IV)
OpenMath form
{ too ugly to believe }
Useful in case you wanted to send this to an OpenMath aware program If you can find one.
Trang 47Univ of Arizona February, 2004 48
Computing Inside the Notebook
How good is the 3-term approximation at z= ½ ?
Trang 48Simplification Inside the Notebook
In[30] := z* Hypergeometric2F1[1/2, 1/2, 3/2, z^2]
Note: this is how Mathematica interactive output looks.
This should be the same as ArcSin[z] for |z|<1 And yes, z/Sqrt[z^2] is not the same as 1.
Trang 49Univ of Arizona February, 2004 50
Many computer algebra systems (CAS) have essentially the same notebook paradigm
Trang 50This old “knowledge”? Can we convert from scanned text?
Example from integral table
In practice, we can do some parsing using OCR if we know about
the domains
But in general, we cannot read “with understanding” without
context.
Trang 51Univ of Arizona February, 2004 52
What about using LaTeX as source and then converting to OpenMath/ CAS?
Generally speaking: not automatically
TeX does not distinguish semantically between 1*2*3 and 123
Or between x cos x and xfoox.
It has no notion of precedence of operators
Gradshteyn and Rhyzik, Table of Integrals and
Series (Academic Press) was re-typeset
completely in TeX TWICE, because the first version did not reflect semantics MathML, XML, and
OpenMath are inadequate.
Trang 52Using OpenMath as original human-written source is pretty much out of the question.
If your intent is to code:
Trang 53Univ of Arizona February, 2004 54
Using MathML as original source is pretty much out of the question, too.
Trang 54What about “Wikis”
•Volunteers inserting “information” into an informal structure on the internet Anyone can edit anything.
•Unlikely to have the accuracy and scope of a funded activity
•Replaces single bias with many biases.
•Unlikely to have the proprietary interest of a commercial enterprise.
Trang 55Univ of Arizona February, 2004 56
How will a CAS fit into this vision of Math of the future?
•The semantics for most (not all ) CAS is immediate.
• Input requires immediate syntactic disambiguation.
• Easy translation into MathML for display.
• Easy translation into OpenMath, if anyone else cares
•Important Advantage: There is an immediate
computational ontology THE BEST CHANCE FOR A FOUNDATION TO GROW CONTEXT.
Trang 56Context might be the role of some Server Side
Trang 57Univ of Arizona February, 2004 60
A challenge: Input and Output of Math
• Handwriting on a tablet is an obvious choice on Tablet PCs, but on closer examination, a very weak method (30 years of experience!)
0Oo 1l| 5S vV Yy < l< K
• Speech, oddly enough, can help
• The importance of context emerges again…
enormous in math communication, digital
storage, etc
Trang 58Finally: Are we there yet?
• No, we are not
• Many efforts are re-working the easy parts
• Many efforts are mostly marketing: “improving the user interface.”
• The importance of context is enormous A
“search engine for math facts and algorithms” seems our best bet to build a mathematical
assistant
• What can we do:…