Tải bản đầy đủ (.ppt) (58 trang)

Computer Algebra Systems: Are We There Yet?

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (583.46 KB, 58 trang )

Computer Algebra Systems:
Are We There Yet?

Richard Fateman
Computer Science
Univ. of California
Berkeley, CA

Univ. of Arizona -- February, 2004

1


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

2



What are they?

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

Univ. of Arizona -- Februa

3


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

4


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

5


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

6


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

7


Here’s an integration problem

Univ. of Arizona -- Februa

8


You need to factor the denominator
You learned to do this by guesswork,
and fortunately it works.

Univ. of Arizona -- Februa

9



And then do the partial fraction
expansion

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

Univ. of Arizona -- Februa

10


And then integrate each term…

Univ. of Arizona -- Februa

11


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


12


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
2/3
radicals likeUniv.
31/2 of
and
a
Arizona -- Februa
13


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


14


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

15


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

16



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

17


The Flip side: proofs you can’t do all
math
• Impossible.
• K. Gödel, A.M. Turing

Univ. of Arizona -- Februa

18


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


19


Computer Algebra Systems : threads

• Three trends emerged in the 1960s:
– AI / later…expert systems
– Constructive Mathematics (Integration)
– Algorithms on polynomials (GCD)

Univ. of Arizona -- Februa

20


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


21


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

22


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

23


The Marketing Blitz: aren’t they all the
same?
• Mathematica + NeXT or
Apple = graphics.

1
0.75
0.5
0.25
0
-2

• Maple does the same.

2
1
0
-1
-1


0
1
2

-2

Plot exp(-(x2+y2)) in (-2,2) (-2,2)
Univ. of Arizona -- Februa

25


More of the same…
Z
• Mathematica
+ NeXT or Apple
= graphics.
Y
X
1.00
0.75

Macsym
a too

Z 0.50
0.25
-2.00


-2.0 < X < 2.0
-2.0 < Y < 2.0
3.35e-4 < Z < 0.99

-2.00
-1.00
-1.00

0.00
Y

1.00

1.00
2.00

X

Univ. of Arizona -- Februa

26


×