Computer Algebra Systems: Are We There Yet? - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

Computer Algebra Systems: Are We There Yet?

Description:

Computer Algebra Systems: Are We There Yet? Richard Fateman Computer Science Univ. of California Berkeley, CA – PowerPoint PPT presentation

Number of Views:169
Avg rating:3.0/5.0
Slides: 59
Provided by: Richard1754
Category:

less

Transcript and Presenter's Notes

Title: Computer Algebra Systems: Are We There Yet?


1
Computer Algebra Systems Are We There Yet?
  • Richard Fateman
  • Computer Science
  • Univ. of California
  • Berkeley, CA

2
The Subject Symbolic Computation Systems
  • What are they?
  • How good are they now?
  • Where are they going?
  • When will they be there?

3
What are they?
  • An attempt to build a mathematical intelligence
    or at least a very skilled assistant.

4
What is their current state?
  • We dont 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.

5
What then?
  • If we dont have one now, and progress seems
    slow, what do we need to do, when will we do it,
    and what will it look like?

6
What 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(?)

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 youve recently taken (or
taught) this course, youve forgotten the
details. Thats OK. Lets review it fast.
8
Heres an integration problem
9
You need to factor the denominator

You learned to do this by guesswork, and
fortunately it works.
10
And then do the partial fraction expansion

You probably remember one way to do this ,vaguely
if at all..
11
And then integrate each term

12
Can we program this? Note we cant 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?

13
If the denominator doesnt factor
And it gets worse there is no guarantee that
you can even express the roots of irreducible
higher degree polynomials in radicals like 31/2
and a2/3
14
Moral 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
15
Some History Ancient
  • Ada Augusta, 1844 foresaw prospect of non-numeric
    computation using Babbages machines. Just
    encode symbols as numbers, and operations as
    arithmetic.

16
Ada 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)

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)

18
The Flip side proofs you cant do all math
  • Impossible.
  • K. Gödel, A.M. Turing

19
New optimism. If people can, why not Computers?
  • 1958-60 first inklings .. automatic
    differentiation, tree representations, Lisp,
  • Minsky -gtSlagle, (1961), Moses (1966) Is it
    AI? Pattern Matching?

20
Computer Algebra Systems threads
  • Three trends emerged in the 1960s
  • AI / laterexpert systems
  • Constructive Mathematics (Integration)
  • Algorithms on polynomials (GCD)

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.

22
Some theory/algorithm breakthroughs
  • 1967-68 algorithms Polynomial GCD,
  • Berlekamps polynomial Factoring,
  • Risch Integration "near algorithm",
  • Knuths Art of Computer Programming
  • 1967 - Daniel Richardson interesting
    zero-equivalence results.

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)
  • For a list, see www.symbolicnet.org

24
Some Support Systems
  • Common Lisp gets standardized.
  • Scheme gets standardized too.
  • C popularized as the answer (PATA)
  • Portability (UNIX? Linux, Windows, Apple)
  • Java (PATA)
  • HTML, XML and Browsers (PATA)
  • Interconnections, mathbus, .. .Component
    Architectures, MathML (PATA)

25
The Marketing Blitz arent they all the same?
  • Mathematica NeXT or Apple graphics.
  • Maple does the same.

Plot exp(-(x2y2)) in (-2,2) (-2,2)
26
More of the same
  • Mathematica NeXT or Apple graphics.

Macsyma too
27
The 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.

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.

29
Connections 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

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.

31
A broad brush of commonality today
  • Objects
  • Operations
  • Properties? Axioms?
  • Extensions to a base system (programming?
    Declarations?)
  • Underlying all of this efficient representations
  • Common bugs (e.g. by violating fundamental
    theorem of calculus continuity requirements.)
  • A shell around the whole thing. Menus, notebooks,
    etc

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 )

33
Digital Library of Mathematical Functions(at
NIST)
  • Mostly aimed at traditional usage
  • Intimations of support for new modes of
    interaction with WWW, CAS

34
Competition for DLMF
  • Mostly aimed at supporting CAS users.
  • ESF generate automatic symbolic data for
    Encyclopedia of Special Functions.
  • Wolframs special functions project collect
    material from humans in special forms, display in
    Mathematica oriented forms.
  • Less CAS
  • CRC/Maple tables
  • Dan Zwillinger, ODEs, Gradshteyn

35
Contrast 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

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???

37
Wolfram Researchs Special Functions site 3
versions
  • Huge posters
  • Interactive web site/ Mathematica notebooks
  • Printed form (or the equivalent PDF)
  • Now (2004) some 87,000 formulas and many
    visualizations.

38
The posters
39
The web site (here, the Arcsin page)
40
WRIs Categories/ Some Subcategories
  • continued fractions
  • generating functions
  • group representations
  • differential equations
  • difference equations
  • transformations
  • addition formulas etc
  • operations
  • integral transforms
  • identities
  • representations through more general functions
  • relations with other functions
  • zeros
  • inequalities
  • theorems
  • other information
  • history and applications
  • references

primary definition specific values general
characteristics series representations
generalized power series at various points
q-series exponential fourier series
dirichlet series asymptotic series other
series integral reprsentations on the real axis
contour integrals multiple integral
representation analytic continuations product
representations limit representations
41
Click on Series Representations
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
    algebra mistakes.
  • The notation might be different from what you are
    using.
  • Sparse (or no) info on singularities, regions of
    validity.
  • To run some numbers through, you need to write a
    computer program (Fortran? Matlab? C?,)

43
On-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.

44
Notebook form (I)
Input form
ArcSinz z3/6 z (3z5)/40 \Ellipsis
Sum(Pochhammer1/2, kz(2k 1))/((2k
1)k!), k, 0, Infinity
zHypergeometric2F11/2, 1/2, 3/2, z2 / Absz
lt 1
Wolfram (and others) will claim that a system
independent language such as proposed by the
OpenMath consortium would replace this language.
Note however that agreement on the semantics of
\Ellipsis would be difficult.
45
Notebook form (II)
Displayed form (one version)
In reality, Mathematica does not look quite as
good as our typesetting here in the interactive
mode.
46
Notebook form (III)
TeX form
Condition(\arcsin (z) \frac\Mfunction
z36 z \frac3\,z540
\ldots \Mfunction\sum_k 0\infty
\frac\MfunctionPochhammer(\frac12
,k)\, \Mfunctionz2\,k
1\left( 2\,k 1 \right) \,k!
\Mfunctionz\,\MfunctionHypergeometric2F1
( \frac12,\frac12,\frac32
,z2), \MfunctionAbs(z) lt 1))
Useful in case you wanted to paste/edit this into
a paper, (or powerpoint) but requires using
Mathematica TeX macros.
47
Notebook 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.
48
Computing Inside the Notebook
How good is the 3-term approximation at z ½ ?
ArcSinz z z3/6 (3z5)/40 ... /. z
-gt 1/2 ?
Pi/6 2009/3840 ... Surprised?
N Pi/6 2009/3840 ... ? 0.523599
0.523177 ...
N Pi/6 2009/3840 ..., 30 ? 0.523599
0.523177 ...
N Pi/6 2009/3840 ..., 30 ?
0.52359877559829887307710723055
0.52317708333333333333333333333 ...
49
Simplification Inside the Notebook
In30 z Hypergeometric2F11/2, 1/2, 3/2, z2
Note this is how Mathematica interactive output
looks. This should be the same as ArcSinz for
zlt1. And yes, z/Sqrtz2 is not the same as 1.
50
Many computer algebra systems (CAS) have
essentially the same notebook paradigm
  • Macsyma
  • Maple
  • Mathematica
  • Axiom
  • MuPad
  • Scientific Word / Maple
  • Derive

51
This 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.

52
What about using LaTeX as source and then
converting to OpenMath/ CAS?
  • Generally speaking not automatically
  • TeX does not distinguish semantically between
    123 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.

53
Using OpenMath as original human-written source
is pretty much out of the question.
If your intent is to code x cos x You are
supposed to write something like ltOMOBJgt ltOMAgt
ltOMS cd "arith1" name"times"/gt ltOMV
name"x"/gt ltOMAgt ltOMS cd"transc1"
name"cos"/gt ltOMV name"x"/gt lt/OMAgt
lt/OMAgt lt/OMOBJgt
54
Using MathML as original source is pretty much
out of the question, too.
ltmathgt ltmsqrtgt ltmfracgt ltmrowgtltmngt2lt/mngtltmi
gtpilt/migtlt/mrowgt ltmrowgtltmigtkappalt/migtlt/mrow
gt lt/mfracgt ltmfenced open"(" close")"gt
ltmngt1lt/mngt ltmigtminuslt/migt
ltmigtbetalt/migt ltmsupgt ltmrowgtltmngt2lt/mngtlt/m
rowgt lt/msupgt ltmigt/lt/migtltmngt2lt/mngtlt/mfencedgtlt/ms
qrtgtlt/mathgt
55
What 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.

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.

57
Math using Java Applets
  • Pro
  • an applet provides more intimate interaction with
    a user.
  • Examples from Math Forum / Dr. Math /
  • Con
  • Only Java-enabled clients can use such applets.
  • Java standardization is problematical.
  • High quality numerical software in Java?
  • Symbolic computation in Java?
  • Poor access to underlying computer.

58
Context might be the role of some Server Side
software.
  • Pro
  • arbitrarily powerful,
  • always up-to-date, (contains yesterdays new
    math)
  • controlled by reputable authority
  • Con
  • Requires reliable communication.
  • Authoritarian.

59
What about no software?
  • Pro
  • You can read a book without a computer
  • Con
  • Anyone with a computer will be disappointed and
    at a disadvantage.

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 lt ?? llt K
  • Speech, oddly enough, can help.
  • The importance of context emerges again enormous
    in math communication, digital storage, etc.

61
Finally 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
Write a Comment
User Comments (0)
About PowerShow.com