MathUser
Spring/Summer 1993
Contents:
- Version 2.2 Rollout
- How a Mathematica Is Made
- Integrals in Mathematica
- Developer Conference
- Technical Support Improvements
Wolfram Research Unveils Mathematica Version 2.2
At Wolfram Research, we have an aggressive program of research and
development for Mathematica, and we are happy to report that the
latest fruits of our labors are now being made available to users in
the form of Mathematica Version 2.2.
Updates to Version 2.2 will be shipped automatically to Mathematica
Plus subscribers as the updates become available for each type of
computer system. Information on joining the Mathematica Plus
program
or on placing orders for individual updates can be obtained by
contacting the Wolfram Research Sales department (email:
info@wri.com).
As of the date of this newsletter, Version 2.2 is shipping for
Macintosh, Microsoft Windows, and Sun SPARC. Version 2.2 is expected
to be available for MS-DOS, Silicon Graphics, Hewlett-Packard, MIPS,
NeXT, Digital, and other computer systems by the middle of June.
Over 60 built-in Mathematica functions have been enhanced for
Version
2.2. Also, 11 new application packages have been added. Although
Mathematica Version 2.2 is a substantial update, programs and
Notebooks from Versions 2.0 and 2.1 should run without change in
Version 2.2.
Mathematica for the Macintosh has enhanced interprocess
communication
capabilities via MathLink. Now, for instance, a front end on one
Macintosh can connect with one or more kernels on other Macintosh
computers.
Mathematica front ends for the Macintosh and NeXT computers now
include a Function Browser, which lists and explains Mathematica
functions and allows users to paste selected functions into their
Notebooks.
Under Microsoft Windows, new front end features include search and
replace, editable style sheets, and commands to divide and merge
cells. Version 2.2 for Windows is also much improved in its memory
management and general stability. (For more information on Macintosh,
Windows, and NeXT versions, see page 5.)
The MathLink communication standard for connecting
Mathematica to
external programs has been enhanced and extended in Macintosh and Unix
versions. Several C functions have been added to the MathLink
library;
and MathLink now supports the AppleTalk Data Stream Protocol
(available for Systems 6 and 7).
All Unix versions now include a hypertext interface to online
documentation such as the Mathematica Reference Guide and
Mathematica
Warning Messages. Versions are available for Motif, OPEN LOOK, and
Athena GUIs. (See the article on page 4.)
Some New Features of Version 2.2
Numerical solution of sparse linear systems of equations has been
made much faster.
Symbolic definite integration now includes tests for nonintegrable
singularities, and also handles branch cuts in the range of
integration.
A package for symbolic solution of first-order partial differential
equations has been added.
There are 10 other new packages in such areas as three-dimensional
contour plotting, variational calculus, and music.
New help features include online manuals on X Windows, and a
Function
Browser on Macintosh and NeXT.
The Microsoft Windows version features improved system interaction
and many new Notebook commands.
You can get the latest shipping information for Version 2.2 by sending
email to info@wri.com, or by calling Order Fulfillment at
217-398-0700.
How a New Mathematica Is Made
Have you ever wondered how Mathematica is made? Here is a very
simplified description of the process.
*Nine Months until Release: Feature List
We start by mapping out the features we want to build into the next
release of Mathematica. In this part of the development cycle,
suggestions and requests from Mathematica users are critical.
Stephen
Wolfram and the Wolfram Research development staff set out their own
goals and ideas, and design specifications are then developed for each
proposed feature. Every kernel design feature is finalized personally
by Stephen Wolfram.
As we draft the feature list, we set four important milestones: the
feature freeze, code freeze, beta testing, and release date.
While the developers are busy creating enhancements for the next
release, they also work to exterminate bugs in the current version of
Mathematica. The Software Quality Assurance department (SQA)
receives
problem reports both from the technical support group and from
internal sources at Wolfram Research. The department filters these
problem reports and prioritizes those that are determined to be bugs.
In the creation of Version 2.2, a total of over 2,000 problem reports
were resolved.
*Five Months until Release: Feature Freeze
The feature freeze is the last date a new feature can be added to the
development plan for the next release. Until then, good ideas for
Mathematica can make their way into the developers' agenda, and get
added to the list. After the feature freeze, new ideas are saved for
a later version of Mathematica.
The developers each have their own copy of the Mathematica source
code, which they use to implement new features and test out ideas.
For the developers, this stage is sometimes a solitary one --a time
to experiment and solve problems on a few proposed features. But
before a new piece of code is merged into the main source code, the
entire development team gets involved. Each new piece of code is
reviewed by other developers at Wolfram Research for coding style and
correctness. Many changes, such as point bug fixes, are added during
the creation of a new version. Some changes, such as whole new
algorithms, involve a significant period of review.
The Mathematica kernel is rebuilt automatically each night to
incorporate new changes added by the developers. We build new versions
of the kernel periodically on every type of computer we support, so
that machine-specific problems can be corrected right away. Our test
suite of over one million test examples is then run on each new
kernel. Any bugs discovered between test runs are matched with code
put in during the day to isolate their cause.
*Four Months until Release: Code Freeze
The code freeze happens about one month after the feature freeze.
This gives the developers time to finish and fine tune code for the
features they are adding to the release. After the code freeze, a
change committee must give the go-ahead before any modifications can
be made to the Mathematica source code.
Once the code is frozen, final porting begins. Each release of
Mathematica is ported to run on more than 20 types of computer.
Mathematica is built on each computer from exactly the same source
code to guarantee compatibility among platforms. Once built, alpha
versions of Mathematica are tested within Wolfram Research, and
bugs
are eliminated. As soon as the alpha versions pass internal testing
(usually within one to two weeks), we send beta versions to testers
in the field.
*Three Months until Release: Beta Test
Up to 50 beta testers exercise each version of Mathematica for
three
months, testing installation, documentation, front end features,
kernel functions, and configurations on various machines. As the beta
testers' reports flow back to Wolfram Research, the developers correct
any bugs that are discovered.
*Release and Shipment
After the latest release makes its way through beta testing, we make
master disks or tapes and send them to a duplicator. User manuals and
packaging are printed, and the Mathematica package is assembled at
Wolfram Research. The new versions are sent immediately to all
Mathematica Plus subscribers, and we let all other customers know
that
a new version of Mathematica is ready to order.
International Activities
Our new academic purchase programs have proven very popular around
the world. Among many examples, an arrangement in Germany with the
state of Hessen will install Mathematica widely in its five
universities and campuses, and five technical high schools. This makes
Mathematica available to all of its 130,000 students. A site-wide
installation at the Science University of Tokyo is tied to a course
teaching first-year students to use Mathematica. This course is
required of all 4,500 entering students each year, so that
Mathematica
will become one of the primary tools throughout their university
careers.
The popularity of Mathematica is growing rapidly in Europe and
Southeast Asia. In 1992 the number of international users increased
more than 50%, with an impressive 120% increase in Japan.
Wolfram Research now channels European update orders through
authorized resellers who keep many updates in stock. When a registered
user places an update order with a reseller, Wolfram Research Europe
Ltd. (based in the UK) confirms the registration and authorizes the
reseller to deliver the update. This increases the speed of processing
orders, and also saves on shipping charges. Registered European users
will soon get a letter indicating which resellers are participating
in the program, and what procedures to follow. (Non-European orders
are also now processed more quickly, thanks to improvements in our
database communications system.)
Integrals in Mathematica
When you type Integrate[f, x] or Integrate[f, {x, a,
b}], you access
a wealth of Mathematica routines and packages implementing
state-of-the-art symbolic integration algorithms. These algorithms
are embodied in tens of thousands of lines of Mathematica code, and
include traditional integration schemes as well as innovative
contributions by Wolfram Research developers.
While algorithms for computing integrals involving elementary
functions in terms of elementary functions are well-established,
finding integrals in terms of special functions is a new and rapidly
developing area, amply represented in Mathematica. Other important
breakthroughs implemented in Mathematica are in the field of
definite
integration, where thousands of seemingly intractable integrals are
now done using integral transforms and the theory of hypergeometric
functions.
As a result, Mathematica integrates better than any person (at
least,
anyone we know), and can reproduce virtually every result found in
published tables of integrals. Indeed, with Version 2.2, we have found
more than 40 errors and misprints in Gradshteyn and p classic book of
integral tables.
Mathematica can find the indefinite integral of essentially any
integrand that involves only elementary functions, if that integral
can be expressed in terms of elementary functions. (Mathematica's
set
of 'elementary functions' includes rational functions, exponentials,
logarithms, and trigonometric functions and their inverses.)
In[1]:= f=x^2 (2 - 2 Cos[x^3/5])*
(1 + (4 Sin[x^3/5]^2)/(2 - 2 Cos[x^3/5])^2)^(1/2)
3
x 2
3 4 Sin[--]
2 x 5
Out[1]= x (2 - 2 Cos[--]) Sqrt[1 + ----------------]
5 3
x 2
(2 - 2 Cos[--])
5
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In[2]:= Integrate[f, x]
3 3
x 2 x
-20 Sqrt[Csc[--] ] Sin[--]
10 5
Out[2]= --------------------------
3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Some integrals can be expressed in terms of standard mathematical
special functions. This integral involves the special function known
as the cosine integral function, defined by Ci(x) = -\int_x^\infty dt
cos(t)/t.
In[3]:= Integrate[x Sin[x]^2 Log[x], x]
2
-x - Cos[2 x] + CosIntegral[2 x]
Out[3]= --------------------------------- +
8
2
Log[x] (2 x - Cos[2 x] - 2 x Sin[2 x])
> ---------------------------------------
8
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Using advanced definite integration techniques, Mathematica
evaluates the following integral, which is done incorrectly in Gradshteyn
and Ryzhik.
Integrate[Sin[x]^(m + 1)/(Cos[x]^m
(1-k^2 Sin[x]^2)^((m + 1)/2)), {x, 0, Pi/2}]
In[4]:= Integrate[Sin[x]^(m + 1)/(Cos[x]^m
(1-k^2 Sin[x]^2)^((m + 1)/2)), {x, 0, Pi/2}]
2 1 m m 2
Sqrt[k ] Gamma[- - -] Gamma[1 + -] Sinh[m ArcTanh[Sqrt[k ]]]
2 2 2
Out[4]= ------------------------------------------------------------
2 2 m/2
k (1 - k ) m Sqrt[Pi]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Here is another integral done incorrectly in Gradshteyn and Ryzhik.
Note that the form of the answer depends on whether or not |a^2/b^2|
is less than one.
In[5]:= Integrate[Sin[b x] (1-Cos[a x])/x^2,{x,0,Infinity}]
2
a 2
Out[5]= If[Abs[--] >= 1, (Sqrt[b ]
2
b
2 2 2 2
2 b b 2 b 2 b
> (2 a Sqrt[--] ArcTanh[Sqrt[--]] - b Log[--] + b Log[1 - --])) /
2 2 2 2
a a a a
2 2 2
2 2 a a a
> (2 b ), (Sqrt[b ] (2 Sqrt[--] ArcTanh[Sqrt[--]] + Log[1 - --])) / 2]
2 2 2
b b b
Mathematica Reference Guide Online
Unix versions of Mathematica 2.2 now come with a hypertext document
reader specially developed by Wolfram Research to run under the X
Window System. The new system displays the complete text of
Mathematica documentation on-screen in fully typeset form. Users
can
search documents by keyword and index listing, page forward and back,
and also look up previous items by a history mechanism. Copying and
pasting text from the reader to other X applications is supported.
Mathematica Version 2.2 includes online versions of the
Mathematica
Reference Guide and Mathematica Warning Messages.
Mathematica 2.2 for the Macintosh
In Mathematica on the Macintosh, the front end and kernel are now
separate applications communicating via MathLink. You can still run
Mathematica as easily as ever--double-click the Mathematica
icon to
start Mathematica, type in a calculation, and press Enter to have
it
done. The MathLink connection between the front end and kernel is
established automatically.
The front end and kernel are now separate programs.
Having a separate front end and kernel allows you to kill and restart
a kernel without needing to restart the front end. You can also
connect to multiple kernels on your local computer or remote Macintosh
computers, or run the kernel in 'stand-alone' mode. But because this
feature depends on the interprocess communication capabilities in
Macintosh System 7, Macintosh computers running System 6.07 will not
be able to use this version of Mathematica. A System 6-compatible
copy
of Mathematica Version 2.2, in which the front end and kernel are
combined, is available by special order.
Other features and enhancements A new Function Browser lets you look
up and learn about Mathematica functions. It lists built-in
Mathematica functions according to category, as well as functions
in
packages and user-defined programs. After selecting a function in the
Function Browser, you can edit it and paste it into your Notebook or
evaluate it from inside the Function Browser.
Additionally, memory management has been improved, allowing
Mathematica to allocate temporary memory to finish calculations
that
might otherwise simply run out of memory. Under System 7, you can also
use virtual memory--assigning hard disk space to behave like
additional RAM.
Mathematica 2.2 for Windows
Mathematica 2.2 for Windows has a number of new front end features.
New commands allow you to find and replace Notebook text, merge and
divide cells, call up dialog boxes for editing Notebook and default
cell styles, and toggle the Notebook window's ruler and margin
markers, toolbar buttons, and status bar. There are new options for
placing print output as generated, placing print output in a separate
cell, and specifying the default graphics size in pixels. Also,
memory management in the Windows version is now more sophisticated
and versatile, providing safeguards against out-of-memory errors.
Extensive testing has enhanced the efficiency and stability of
Mathematica for Windows. Beta testing at nearly 100 beta sites has
brought rave reviews. "I find the version to be very clean," said
beta tester Sidney Steely.
Mathematica on NeXT Computers
In the wake of NeXT, Inc.'s exit from the hardware business, many
Mathematica users have inquired about the status of
Mathematica on
NeXT computers.
We would like to assure NeXT users that Wolfram Research will continue
to support Mathematica for NeXT computers. The NeXT version of
Mathematica has been tremendously successful in both the academic
and
business communities, and we are firmly committed to continuing
support for this significant base of Mathematica users.
Mathematica Version 2.2 is being rolled out on the NeXT computer
along
with all other systems we support. Among other enhancements, the new
NeXT front end features a Function Browser like the Macintosh version.
We are now working with NeXT, Inc. to develop a plan for
Mathematica
running under NEXTSTEP for Intel, and would be interested to hear from
customers who have suggestions. Send comments or questions on this
issue via email to info@wri.com.
Mathematica Conferences
Developer Conference
Over 150 developers of Mathematica-related products attended the
first
Mathematica Developer Conference, held May 6-8, 1993 at Wolfram
Research headquarters in Champaign, Illinois. The conference provided
training and tools to help developers write Mathematica packages,
MathLink applications, Mathematica books, and interactive
texts.
The conference included sessions on programming, package design,
MathLink, and marketing and distributing Mathematica-related
products.
There were also hands-on problem-solving clinics led by Wolfram
Research technical and development staff. Attending developers
presented applications in areas including simulation of material flows
and processes, custom front ends with MathLink, object-oriented
graph
theory, and Euclidean geometry.
A public version of the Developer Conference Guide can be ordered from
Wolfram Research for $25 (email: orders@wri.com). Sales tax must be
added if you are a resident of CA (local rate), IL (7.25%), or MA
(5%). MasterCard/VISA, Check, or Money Order in U.S. dollars is
accepted. Please provide your name, street address, and telephone
number.
1993 Mathematica Developer Conference Guide ISBN 1-880083-06-X
(item
#X0561) $25--MathLink * Guidelines for Mathematica
Documentation,
Packages, and Notebooks * Courseware Samples * Programming Case
Studies * How to Get a Technical Book Published * Selected Topics in
Programming * Notebook to TeX Conversion * Mathematica Graphics *
Designing and Producing Your Product
Mathematica Days
This year Wolfram Research is starting a new program of one-day
conferences called "Mathematica Days". Several Mathematica
Days will
be held this fall in the United States and Europe. The conferences
will provide Mathematica training for users at all levels, and also
give people a look at how others in science, technology, engineering,
and education apply Mathematica in their daily work.
Mathematica Days
feature keynote speakers, Mathematica tutorials at the elementary,
intermediate, and advanced levels, and a wide range of presentations
by Mathematica users.
Mathematica Days are a great way for new people to find out about
Mathematica. If you want to receive information for yourself or a
colleague about upcoming Mathematica Days, please let us know.
To contact us about Mathematica Days, send email to conf@wri.com,
or
send a card to "Mathematica Days", Wolfram Research, Inc.
Workshops
Here are a few newly announced workshops. See previous issues of
MathUser, or look on MathSource, for other workshop
announcements.
Mathematica in Australia Workshops and Conferences
The July Conference will be held this year at Ormond College, The
University of Melbourne, July 8-9. The conference will explore new
approaches to mathematical education and research being pioneered
within Mathematica, and will include training sessions. Papers are
invited from students, educators, researchers, and professionals.
July 8-9: Mathematica in Australia July Conference-Ormond; July
5-9: Student Residential Workshop-Ormond; October 6: Finance
Professionals Workshop-Sydney; October 7-8: Teachers Workshop-Sydney;
December 13-17: Student Residential Conference-Sydney;
December 16-17: Mathematica in Australia December Conference-Sydney
|