Computer algebra systems, mathematical representation, and the DLMF Richard Fateman, Bruce Char, Jeremy

Download Report

Transcript Computer algebra systems, mathematical representation, and the DLMF Richard Fateman, Bruce Char, Jeremy

Computer algebra systems,
mathematical representation, and the
DLMF
Richard Fateman, Bruce Char, Jeremy
Johnson
University of California, Berkeley
Drexel University, Philadelphia
National Institute of Standards and Technology
DLMF Seminar Series, November 6, 2000
Desiderata for the Digital Library of
Mathematical Functions

Traditional usage
 New modes of interaction
– Examples

New ambitions
Computer Algebra and DLMF
2
Non-digital tradition: Finding Out Stuff





Individually owned reference works
Access to libraries’ references works
Access to colleagues by letter, phone,
email
Paper and pencil exploration
Numerical experimentation
Computer Algebra and DLMF
3
Wolfram Research’s Special Functions
site: 3 versions

Huge posters
 Interactive web site/ Mathematica
notebooks
 Printed form (or the equivalent PDF)
Computer Algebra and DLMF
4
The posters
Computer Algebra and DLMF
5
The web site (here, the Arcsin page)
Computer Algebra and DLMF
6
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
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
Computer Algebra and DLMF
7
Click on “Series Representations”…
Computer Algebra and DLMF
8
This is not very useful






These are blurry pictures of math formulas.
The most plausible next step seems to be 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++?)
Computer Algebra and DLMF
9
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
One could imagine 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.
Computer Algebra and DLMF
10
Notebook form (II)
Displayed form (one version)
In reality, Mathematica does not look quite as good as
this in the interactive mode.
Computer Algebra and DLMF
11
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 another
paper, using Mathematica TeX
macros.
Computer Algebra and DLMF
12
Computing Inside the Notebook
How good is the 3-term approximation at z= ½ ?
ArcSin[z] == z + z^3/6 + (3*z^5)/40 + ...

Pi/6 == 2009/3840 + ...
/.
z -> 1/2
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 + ...
Computer Algebra and DLMF
13
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.
Computer Algebra and DLMF
14
All commercial computer algebra
systems (CAS) have essentially the same
notebook paradigm







Macsyma
Maple
Mathematica
Axiom
MuPad
Scientific Word / Maple
Derive
Computer Algebra and DLMF
15
Advice on coding a reference chapter
Computer Algebra and DLMF
16
What about legacy “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”.
Computer Algebra and DLMF
17
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.
Computer Algebra and DLMF
18
Using OpenMath as original source is
pretty much out of the question.
Intent is to code:
x cos x
<OMOBJ>
<OMA>
<OMS cd = "arith1" name="times"/>
<OMV name="x"/>
<OMA>
<OMS cd="transc1" name="cos"/>
<OMV name="x"/>
</OMA>
</OMA>
</OMOBJ>
Computer Algebra and DLMF
19
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>
Computer Algebra and DLMF
20
What can a CAS do better?
•Semantics for what makes sense to the CAS is
immediate.
•Presentation for what doesn’t make sense to the CAS
•Advantage: There is an immediate computational
ontology
•Immediate syntactic disambiguation
•Easy translation into MathML for display
•Easy translation into OpenMath, if anyone else cares.
Computer Algebra and DLMF
21
What about using Java Applets?

Pro:
– an applet provides more intimate interaction with a user.
• Examples from Math Forum …

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.
Computer Algebra and DLMF
22
What about Server Side software?

Pro:
– arbitrarily powerful – could be huge database
and super-fast computer
– always up-to-date
– controlled by validation team?
– Can collect / re-distribute new data
Computer Algebra and DLMF
23
What about Server Side software?

Con:
– Risk/cost of computation at server
– Communication requirement
• Cost
• Connection reliability
Computer Algebra and DLMF
24
What about no software?

Pro:
– You can “run” DLMF without a computer
– You can work on a desert island

Con:
– Anyone with a computer or electricity will be
disappointed
Computer Algebra and DLMF
25
What about only browser software?

Pro:
– You can “run” DLMF on an appliance ($300)

Con:
– Loss in the marketplace of ideas
• In some respects it will suffer from
comparison with software, some of which is
free today
• Students who are used to (say) Mathematica
will use other resources, even if less
authoritative
Computer Algebra and DLMF
26
What about numeric-only software?

Pro:
– You print numeric tables as needed

Con:
– Symbolic data is endlessly tabulated instead.
etc
Computer Algebra and DLMF
27
What about symbolic software

Now we can consider including algorithms for
–
–
–
–
–
trig(n/m )
Indefinite integrals (replacing 10-20,000)
Summation, Limits
Definite integrals (a challenge still)
Implicit application of identities, reduction of argument
or order by recursion, etc.
– Generation of any number of terms in series
– Expansion in Chebyshev or other polynomials
– Exact arithmetic or “bigfloat” arithmetic
Computer Algebra and DLMF
28
A challenge: Include a CAS in DLMF

Free Macsyma (c. 1982)
 (buy) Commercial system
– Macsyma, Maple, Mathematica, Axiom …
alternatively

Require the user to have a CAS separately
(like requiring a Fortran compiler to use
GAMS)
Computer Algebra and DLMF
29
What do we want? What can we
attempt?











Exhaustive hierarchical hyperlinks to everything
known
Human readable form
Computer usable form + ALGORITHMS
Searchable form /Unique identifiers for formulas
Provenance of information
Annotations from other users
Corrections current or past
Cross-reference hyperlinks to all of mathematics
Applications
A bridge across paper/pencil computer gap
A tireless, accurate
and efficient robot to help us 30
Computer Algebra and DLMF
Computers do more than arithmetic
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)
Computer Algebra and DLMF
31