Computer algebra systems are we there yet l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 58

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


  • 168 Views
  • Uploaded on
  • Presentation posted in: General

Computer Algebra Systems: Are We There Yet?. Richard Fateman Computer Science Univ. of California Berkeley, CA. The Subject: “Symbolic Computation Systems” . What are they? How good are they now? Where are they going? When will they be “there”?. What are they? .

Download Presentation

Computer Algebra Systems: Are We There Yet?

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Computer algebra systems are we there yet l.jpg

Computer Algebra Systems: Are We There Yet?

Richard Fateman

Computer Science

Univ. of California

Berkeley, CA

Univ. of Arizona -- February, 2004


The subject symbolic computation systems l.jpg

The Subject: “Symbolic Computation Systems”

  • What are they?

  • How good are they now?

  • Where are they going?

  • When will they be “there”?

Univ. of Arizona -- February, 2004


What are they l.jpg

What are they?

  • An attempt to build a “mathematical intelligence” or at least a very skilled assistant.

Univ. of Arizona -- February, 2004


What is their current state l.jpg

What 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.

Univ. of Arizona -- February, 2004


What then l.jpg

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?

Univ. of Arizona -- February, 2004


What does it take to build a computer algebra system l.jpg

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

Univ. of Arizona -- February, 2004


An aside on your non constructive education l.jpg

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.

Univ. of Arizona -- February, 2004


Here s an integration problem l.jpg

Here’s an integration problem

Univ. of Arizona -- February, 2004


You need to factor the denominator l.jpg

You need to factor the denominator

You learned to do this by guesswork, and fortunately it works.

Univ. of Arizona -- February, 2004


And then do the partial fraction expansion l.jpg

And then do the partial fraction expansion

You probably remember one way to do this ,vaguely if at all..

Univ. of Arizona -- February, 2004


And then integrate each term l.jpg

And then integrate each term…

Univ. of Arizona -- February, 2004


Can we program this note we can t computerize guessing the answer generally l.jpg

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

Univ. of Arizona -- February, 2004


If the denominator doesn t factor l.jpg

If the denominator doesn’t 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

Univ. of Arizona -- February, 2004


Moral of this story l.jpg

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

Univ. of Arizona -- February, 2004


Some history ancient l.jpg

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.

Univ. of Arizona -- February, 2004


Ada augusta on symbolic computing 1844 l.jpg

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)

Univ. of Arizona -- February, 2004


Some history slightly less ancient l.jpg

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)

Univ. of Arizona -- February, 2004


The flip side proofs you can t do all math l.jpg

The Flip side: proofs you can’t do all math

  • Impossible.

  • K. Gödel, A.M. Turing

Univ. of Arizona -- February, 2004


New optimism if people can why not computers l.jpg

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?

Univ. of Arizona -- February, 2004


Computer algebra systems threads l.jpg

Computer Algebra Systems : threads

  • Three trends emerged in the 1960s:

    • AI / later…expert systems

    • Constructive Mathematics (Integration)

    • Algorithms on polynomials (GCD)

Univ. of Arizona -- February, 2004


Some early ambitious systems l.jpg

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.

Univ. of Arizona -- February, 2004


Some theory algorithm breakthroughs l.jpg

Some 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 zero-equivalence results.

Univ. of Arizona -- February, 2004


Some old systems survive new ones arrive l.jpg

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

Univ. of Arizona -- February, 2004


The marketing blitz aren t they all the same l.jpg

The Marketing Blitz: aren’t they all the same?

  • Mathematica + NeXT or Apple = graphics.

  • Maple does the same.

Plot exp(-(x2+y2)) in (-2,2) (-2,2)

Univ. of Arizona -- February, 2004


More of the same l.jpg

More of the same…

  • Mathematica + NeXT or Apple = graphics.

Macsyma too

Univ. of Arizona -- February, 2004


The blitz l.jpg

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.

Univ. of Arizona -- February, 2004


The shakeout l.jpg

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.

Univ. of Arizona -- February, 2004


Connections gain new prominence l.jpg

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

Univ. of Arizona -- February, 2004


Are there really differences in systems l.jpg

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.

Univ. of Arizona -- February, 2004


A broad brush of commonality today l.jpg

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

Univ. of Arizona -- February, 2004


Moving to the future l.jpg

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 )

Univ. of Arizona -- February, 2004


Digital library of mathematical functions at nist l.jpg

Digital Library of Mathematical Functions(at NIST)

  • Mostly aimed at traditional usage

  • Intimations of support for new modes of interaction with WWW, CAS

Univ. of Arizona -- February, 2004


Competition for dlmf l.jpg

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

Univ. of Arizona -- February, 2004


Contrast non digital tradition to find out something we might do this l.jpg

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

Univ. of Arizona -- February, 2004


Contrast digital tradition to find out something we might do this l.jpg

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

Univ. of Arizona -- February, 2004


Wolfram research s special functions site 3 versions l.jpg

Wolfram Research’s 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”.

Univ. of Arizona -- February, 2004


The posters l.jpg

The posters

Univ. of Arizona -- February, 2004


The web site here the arcsin page l.jpg

The web site (here, the Arcsin page)

Univ. of Arizona -- February, 2004


Wri s categories some subcategories l.jpg

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

WRI’s Categories/ Some Subcategories

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

Univ. of Arizona -- February, 2004


Click on series representations l.jpg

Click on “Series Representations”…

Computer Algebra and DLMF


The posters are not very useful l.jpg

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++?,)

Univ. of Arizona -- February, 2004


On line versions are more useful l.jpg

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.

Univ. of Arizona -- February, 2004


Notebook form i l.jpg

Notebook form (I)

Input form

ArcSin[z] == z^3/6 + z + (3*z^5)/40 + \[Ellipsis] ==

Sum[(Pochhammer[1/2, k]*z^(2*k + 1))/((2*k + 1)*k!),

{k, 0, Infinity}] ==

z*Hypergeometric2F1[1/2, 1/2, 3/2, z^2] /; Abs[z] < 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.

Univ. of Arizona -- February, 2004


Notebook form ii l.jpg

Notebook form (II)

Displayed form (one version)

In reality, Mathematica does not look quite as good as our typesetting here in the interactive mode.

Univ. of Arizona -- February, 2004


Notebook form iii l.jpg

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.

Univ. of Arizona -- February, 2004


Notebook form iv l.jpg

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.

Univ. of Arizona -- February, 2004


Computing inside the notebook l.jpg

Computing Inside the Notebook

How good is the 3-term approximation at z= ½ ?

ArcSin[z] == z + z^3/6 + (3*z^5)/40 + ... /. z -> 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 + ...

Univ. of Arizona -- February, 2004


Simplification inside the notebook l.jpg

Simplification 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.

Univ. of Arizona -- February, 2004


Many computer algebra systems cas have essentially the same notebook paradigm l.jpg

Many computer algebra systems (CAS) have essentially the same notebook paradigm

  • Macsyma

  • Maple

  • Mathematica

  • Axiom

  • MuPad

  • Scientific Word / Maple

  • Derive

Univ. of Arizona -- February, 2004


This old knowledge can we convert from scanned text l.jpg

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.

Univ. of Arizona -- February, 2004


What about using latex as source and then converting to openmath cas l.jpg

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.

Univ. of Arizona -- February, 2004


Using openmath as original human written source is pretty much out of the question l.jpg

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

  • <OMOBJ>

  • <OMA>

  • <OMS cd = "arith1" name="times"/>

  • <OMV name="x"/>

  • <OMA>

  • <OMS cd="transc1" name="cos"/>

  • <OMV name="x"/>

  • </OMA>

  • </OMA>

  • </OMOBJ>

Univ. of Arizona -- February, 2004


Using mathml as original source is pretty much out of the question too l.jpg

Using MathML as original source is pretty much out of the question, too.

  • <math>

  • <msqrt>

  • <mfrac>

  • <mrow><mn>2</mn><mi>&pi;</mi></mrow>

  • <mrow><mi>&kappa;</mi></mrow>

  • </mfrac>

  • <mfenced open="(" close=")">

  • <mn>1</mn>

  • <mi>&minus;</mi>

  • <mi>&beta;</mi>

  • <msup>

  • <mrow><mn>2</mn></mrow>

  • </msup> <mi>/</mi><mn>2</mn></mfenced></msqrt></math>

Univ. of Arizona -- February, 2004


What about wikis l.jpg

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.

Univ. of Arizona -- February, 2004


How will a cas fit into this vision of math of the future l.jpg

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.

Univ. of Arizona -- February, 2004


Context might be the role of some server side software l.jpg

Context might be the role of some Server Side software.

  • Pro:

    • arbitrarily powerful,

    • always up-to-date, (contains yesterday’s new math)

    • controlled by reputable authority…

  • Con:

    • Requires reliable communication.

    • Authoritarian.

Univ. of Arizona -- February, 2004


A challenge input and output of math l.jpg

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.

Univ. of Arizona -- February, 2004


Finally are we there yet l.jpg

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:…

Univ. of Arizona -- February, 2004


  • Login