Fall 1994
0207-278
Now you can get MathUser by email automatically when the current
issue is
available; simply send the text "subscribe mathuser" (without quotes) in a
message to mathlist@wri.com.
Your comments and suggestions are important to us. Send letters to the
editor
at the address below. We are always interested in hearing ideas for topics
to
be covered in MathUser.
How to Contact Us
Wolfram Research, Inc.
100 Trade Center Drive, Champaign, IL 61820-7237, USA
phone: +1-217-398-0700; fax: +1-217-398-0747
customer service and orders: +1-217-398-5151
technical support: +1-217-398-6500
Wolfram Research Europe Ltd.
10 Blenheim Office Park, Lower Road, Long Hanborough
Oxfordshire OX8 8LN, UNITED KINGDOM
phone: +44-(0)1993-883400
fax: +44-(0)1993-883800
Wolfram Research Asia Ltd.
Izumi Building 8F
3-2-15 Misaki-cho
Chiyoda-ku, Tokyo 101, JAPAN
phone: +81-(0)3-5276-0506
fax: +81-(0)3-5276-0509
World Wide Web
Wolfram Research: http://www.wri.com/
Internet email addresses
general and sales information: info@wri.com
European information: info-europe@wri.com
Asian information: info-asia@wri.com
customer service and orders: orders@wri.com
user registration: register@wri.com
technical questions and support: support@wri.com
European technical questions and support: support-europe@wri.com
bug reports: support@wri.com
suggestions: suggestions@wri.com
training: training@wri.com
grant programs: grants@wri.com
Web suggestions: webmaster@wri.com
this newsletter: mathuser@wri.com
MathSource
World Wide Web: http://www.wri.com/MathSource.html
FTP: mathsource.wri.com
Gopher: mathsource.wri.com
mail server: mathsource@wri.com
dialup: +1-217-398-1898
system administrator: ms-admin@wri.com
1995 Wolfram Research, Inc. MathUser (ISSN 1062-7030) is published
several
times a year by Wolfram Research, Inc., 100 Trade Center Drive, Champaign,
IL
61820-7237, USA; email: mathuser@wri.com.
Mathematica, MathLink, and MathSource are registered
trademarks, and
MathUser
is a trademark of Wolfram Research, Inc. Mathematica is not
associated
with
Mathematica Policy Research, Inc. or MathTech, Inc. All other product
names
mentioned are trademarks of their producers.
Expand Your Capabilities with MathLink
The Mathematica kernel is a powerful computational engine and
programming
environment. It can also communicate easily with other programs due to its
open, extensible architecture. The facility that makes this possible is
called
MathLink, and it is included as part of Mathematica on
virtually every
platform.
There are two main uses of MathLink. One is to allow external
functions or
programs (written in C or Fortran, for example) to be called from within
Mathematica just as if they were built-in functions. The second use
is to
have
Mathematica serve as a background computational engine for other
commercial
software or your own programs.
You don't have to be a C programming expert to take advantage of
MathLink.
If
you want to call an external C or Fortran function from
Mathematica, you
may
only need to write a short "template" file and a couple of lines of C.
Calling
Mathematica from other programs can be done in as little as a few
lines of
code (see box). Many off-the-shelf applications have programming (or
macro)
languages capable of directly calling MathLink functions. For
example,
Access
and Excel have Visual Basic for Applications, and Word has WordBasic.
Links to
Mathematica are already available for Excel, LabVIEW, Spyglass
Transform,
MATLAB, Xmath, IRIS Explorer, and AVS, with many more on the way. The next
time you find yourself asking, "Wouldn't it be nice if Mathematica
worked
with
program X?", consider writing the connection yourself. It's easier than
you
think!
The example on the right is a sample template file for a C function called
myfunc that takes two real numbers and returns a real number. Here is
everything you need to write to call this function directly from within
Mathematica. You don't need to make any changes to the source code
for the
function--you don't even need to have the source code (for example, if the
function is in a compiled library).
:Begin:
:Function: myfunc
:Pattern: MyFunc[x_Real, y_Real]
:Arguments: {x, y}
:ArgumentTypes: {Real, Real}
:ReturnType: Real
:End:
int main(int argc, chat *argv[]) {
return MLMain(argc, argv);
}
Here is a complete WordBasic macro for Microsoft Word for Windows. The
macro
launches the Mathematica kernel, puts up a dialog box that prompts
the
user
for a string, evaluates the string as an expression, and then inserts the
result at the current insertion point.
' Import the necessary MathLink library functions.
Declare Function MLOpenS Lib "c:\wnmath22\mlink16.dll" \
(s$) As Long
Declare Function MLClose Lib "c:\wnmath22\mlink16.dll" \
(link As Long) As Integer
Declare Function MLPutFunction Lib "c:\wnmath22\mlink16.dll" \
(link As Long, func$, argcount As Long) As Integer
Declare Function MLPutString Lib "c:\wnmath22\mlink16.dll" \
(link As Long, s$) As Integer
Declare Function MLNextPacket Lib "c:\wnmath22\mlink16.dll" \
(link As Long) As Integer
Declare Function MLNewPacket Lib "c:\wnmath22\mlink16.dll" \
(link As Long) As Integer
Declare Function MLGetNext Lib "c:\wnmath22\mlink16.dll" \
(link As Long) As Integer
Declare Function MLGetData Lib "c:\wnmath22\mlink16.dll" \
(link As Long, result$, n As Long, numGotten$) As Long
Declare Function MLBytesToGet Lib "c:\wnmath22\mlink16.dll" \
(link As Long, num$) As Integer
Sub MAIN
' Open the link. The last part of the string is the path to the kernel.
link = MLOpenS("-linkmode launch -linkname c:\wnmath22\math")
' Get a string from the user.
instr$ = InputBox$("String to evaluate:")
' Send it to the kernel and prepare to read the result.
err = MLPutFunction(link, "EnterTextPacket", 1)
err = MLPutString(link, instr$)
While MLNextPacket(link) 4
err = MLNewPacket(link)
Wend
' Determine the number of bytes in the result string.
err = MLGetNext(link)
err = MLBytesToGet(link, numBytes$)
numBytesToGet = 0
exp = 1
For i = 1 To Len(numBytes$)
numBytesToGet = Asc(Mid$(numBytes$, i, 1)) * exp + numBytesToGet
exp = exp * 256
Next i
' Allocate enough storage for the result.
result$ = String$(numBytesToGet, 1)
' Read the result string.
err = MLGetData(link, result$, numBytesToGet, numGotten$)
' Insert the result in the document.
Insert result$
err = MLClose(link)
End Sub
This macro is available on MathSource, with additional
information, as
item
0207-627.
MathLink Tutorial on MathSource
Budding MathLink programmers should look at MathSource item
0206-693, A
MathLink Tutorial. Extending the MathLink Reference Guide,
it provides
in-depth discussion, useful code fragments, and tips and tricks. Much of
the
information is not available anywhere else.
Moving? Stay in Touch!
Whether you're moving down the street or to another city, make sure you
continue to receive MathUser and the latest news about
Mathematica by
keeping
us informed. Contact Customer Service (at our corporate headquarters in
the
U.S.) by phone, fax, or email, and tell us your new address.
Mathematica Conferences and Workshops around the World
Meet and learn with other Mathematica users
Mathematica in Mathematics Research and Education Conference
July 8-10, 1995
University of Tasmania, Australia
Scheduled immediately following the Annual Conference of the Australian
Mathematical Society, the Mathematica in Mathematics Research and
Education
conference is designed for university faculty who are interested in
incorporating Mathematica into the curriculum or using it to
enhance their
research.
Main presentations will feature guest speakers who teach with
Mathematica,
have written Mathematica-related books, edit Mathematica
publications, and
have created application packages.
Conference Highlights:
Day 1: Saturday, July 8 - $60 registration fee*
Mathematica in Mathematics Research
main presentations by Terry Robb, Monash University, and Tim Stokes,
Murdoch
University; user presentations from various universities (25 minutes
each);
conference dinner banquet
Day 2: Sunday, July 9 - $60 registration fee*
Mathematica in Mathematics Education
main presentations by Ed Packel, Lake Forest College, Stephen Hunt,
Victoria
University of Technology, and David Leigh-Lancaster, Kingswood College;
user
presentations from various universities (25 minutes each)
Day 3: Monday, July 10 - $200 registration fee*
Mathematica Programming
(limited to 20 participants) an intensive intermediate-level
Mathematica
programming course by Paul Abbott
*Take 20% off if you register before May 31, 1995.
Papers submitted in Mathematica notebook format by May 15, 1995
will be
considered by the program committee for inclusion in the conference
program.
To register: Access the on-line registration form and complete conference
information on the World Wide Web at
http://euler.maths.utas.edu.au/Maths/MathematicaConference.html. Or for
more
information send email to mathematica_conference@hilbert.maths.utas.edu.au
or
contact Desmond Fearnley-Sander in the Department of Mathematics at the
University of Tasmania, GPO Box 252C, Hobart, Tasmania 7001, Australia,
telephone +61-(0)02-202445, fax +61-(0)02-202867.
International Mathematica Symposium (IMS '95)
July 16-20, 1995
La Salle University College of Higher Education (Southampton, England)
Experienced and new Mathematica users alike are invited to the
south coast
of
England this summer to attend the first International Mathematica
Symposium,
one of several upcoming conferences organized by Mathematica users
around
the
world. Tutorials, lectures, discussion forums, and poster presentations
led by
experienced Mathematica users will give you new ideas and practical
tips
to
enhance the way you apply Mathematica to your work. And, a computer
lab
will
be available for you to use Mathematica and present your own
Mathematica
packages and notebooks as well as review on-line materials submitted by
others.
For registration details or an on-line registration form contact Peter
Mitic,
LSU College of Higher Education, The Avenue, Southampton, SO9 5HB, United
Kingdom, telephone: +44-(0)703-228761, fax: +44-(0)703-230944, email:
p.mitic@soton.ac.uk.
Registration fee
(includes all meals, refreshments, and a copy of the proceedings):
Professionals £250
(£300 after
May 8, 1995)
Students
£160 (£220 after May 8, 1995)
(student fee does not include a copy of the proceedings)
Accommodation (4 nights-July 16, 17, 18, and 19, 1995):
student rooms (with private bath) at LSU, £100 per person
Organized by LSU College of Higher Education, Southampton
Conference organizing committee: Carlos Brebbia (Wessex Institute of
Technology, UK); Gautam Dasgupta (Department of Civil Engineering and
Engineering Mechanics, Columbia University); Veikko Kernen (Rovaniemi
Institute of Technology, Finland); Peter Mitic (LSU, UK); and Conrad
Wolfram
(Wolfram Research Europe Ltd.)
Sponsored by the Wessex Institute of Technology, Southampton, UK
How to Become a Mathematica Master!
A training course for beginners and intermediates. Berlin,
April 4;
Munchen,
April 6; Hamburg, June 9; Dusseldorf, June 12; Berlin, June 21; Munchen,
June
23; Stuttgart, June 26; Darmstadt, June 27. For information contact Marcus
van
Almsick, at +49-(0)201-41944, or QT Software, at+49-(0)89-33297-0, or fax
+49-(0)89-33297-4.
Mathematica Seminars in Krakow, Poland
Financial Analysis with Mathematica Seminar, April 11; Use of
Mathematica
in
Industry Seminar, May 15; Mathematica-Utility of Symbolic
Calculator
Seminar,
November 20. For more information contact Gambit, at +48-(0)12-21-59-11,
or
fax +48-(0)12-22-73-21.
Integrating Mathematica into the Undergraduate Curriculum
University of Wisconsin-Parkside, Kenosha, Wisconsin, April
22. For more
information contact Don Piele at 414-595-2231.
Mathematica Workshops by Principia Consulting
Basic through advanced Mathematica (one, two, or three days
can be
chosen).
Denver, CO, April 25-27; Chicago, IL, May 17-19. For information contact
David
Wagner, at 303-786-8371, or email wagner@cs.colorado.edu.
Mathematica Course in Amsterdam
Introduction to Mathematica and Advanced Topics on
Mathematica. Sara,
Amsterdam, The Netherlands. April 27Š28. For information contact CAN
Expertisecentrum, at +31-(0)20-5608410, or fax +31-(0)20-6685486.
Mathematica Training in Central London
Conducted by Allan Hayes, Associate Editor, Mathematica in
Education.
Introduction to Mathematica, May 2, 18, 31, and June 12;
Intermediate
Graphics
and Visualization, June 1, 13;
Intermediate Programming, June 2, 14. For information contact Hafiz
Rahman,
at +44(0)71-4901609 or 1601, fax +44(0)71-4904470, or email
hafiz@cognito.demon.co.uk.
Hands-on Introductory Mathematica Courses
Graphics, May 10-12; Programming, September 28-30; MathLink,
November
29-30,
December 1. Unisoftware Plus GmbH, Mathematica Training Centre,
Electronic
Classroom, Software Park, A-4232 Hagenberg, Austria. For information
contact
Herbert Exner, Unisoftware Plus, at +43-(0)7236-3338, or fax
+43-(0)7236-3338-30, or email usp@unisoft.co.at.
Mathematica Workshops and Training Days
Introduction to Mathematica, Data Analysis with Mathematica,
Graphics and
Visualization, Programming. University of Zagreb, Croatia, July 4-5. For
information contact Croatian Open Mathematica Users Club, Systemcom, at
+385-(0)1-514487, or fax +385-(0)1-539800.
Mathematica in the Mountains Workshop
Introductory and intermediate Mathematica by Ed Packel and
Stan Wagon.
Hampton Inn, Silverthorne, CO, July 17-23. For information contact Stan
Wagon
at 612-696-6057.
Talks are given in the language of the country.
No Time to Learn Mathematica on Your Own?
Take a Mathematica Training Course at Our Place or Yours!
Whether you are new to Mathematica, or simply want to get more
serious
about
using it, a day of training with the experts from Wolfram Research is the
best
way to get started.
The Wolfram Research Mathematica Basic Training Course provides new
users
with a thorough introduction to using the system's numerical, symbolic,
graphical, and programming features. The hands-on class includes
problem-solving exercises, so you practice what you learn with guidance
from
experienced Mathematica instructors. You'll see immediate benefits
when
you
return to work and apply your new skills on the job, quickly solving
technical
problems you encounter on a daily basis.
Monthly Mathematica Courses Held in Champaign, Illinois:
Mathematica Basic Training Course-$300
8:00am to 5:00pm on Saturdays:
April 22, May 20, June 24
Mathematica Programming Course-$400
8:00am to 5:00pm on Mondays:
April 3, May 8, June 12
On-site training can also be arranged at your organization for groups of
five
or more. For more information, call 1-800-441-MATH (6284), ext. 245 or
email
training@wri.com. Check for updated training course dates on Wolfram
Research's World Wide Web site at http://www.wri.com/.
Mathematica Programming Course Takes You Even Further
You can go beyond the basics and learn how to create customized programs
and
program efficiently in Mathematica when you attend our new
Mathematica
Programming Course. By the end of this one-day course, taught by
University of
Illinois professor and Mathematica book author Richard J. Gaylord,
you
will
understand how pattern matching works, how expressions are evaluated, and
how
to apply Mathematica to real-world problems using the system's
high-level
programming language.
1995-1996 Visiting Scholar Grants Awarded
Recipients to collaborate on projects at Wolfram Research
Response to last fall's announcement of a new Mathematica Visiting
Scholar
Grant Program has been overwhelming. So overwhelming, in fact, that we
have
expanded the program to extend a helping hand to many more visiting
scholars
than had been originally intended. "So many good candidates applied to the
program that it made the selection process quite a difficult job,"
reported
one of the grant selection committee members.
"In the past few years we have seen an explosion of activity
surrounding
the
development of Mathematica-related materials, including books,
courseware,
and
application packages," says Prem Chawla, chief operating officer. " The
best
materials for a specific field of expertise come directly from
Mathematica
users. This program encourages those experts to complete high-quality
Mathematica-based projects that will benefit colleagues and
students in
many
different fields."
This year's grant recipients, listed below, have been invited to work on
their projects and consult with Wolfram Research's technical experts at
company headquarters in Champaign, Illinois. Visits will vary from a few
days
to several weeks, depending on the project.
North America
Asghar Bhatti,
University of Iowa, USA
Peter Bodo,
Southern Connecticut State
University, USA
Barry Brunson,
Western Kentucky University, USA
Alfred Gray,
University of Maryland, USA
George Hart,
Columbia University, USA
Al Hibbard and
Ken Levasseur,
Central College and University of Massachusetts-Lowell, USA
Karl Kauffman,
Carnegie Mellon University, USA
William MacDonald,
University of Maryland, USA
John Mathews,
California State University-Fullerton, USA
Richard Mercer,
Wright State University, USA
Mike Mezzino,
University of Houston, USA
Tom Morley,
Georgia Institute of Technology, USA
Peter Musgrave,
Queen's University, Canada
Edo Nyland,
University of Alberta, Canada
Stephen Sheppard,
Oberlin College, USA
John Wicks,
North Park College, USA
Qi Zheng,
National Center for Toxicology Research, USA
International
Paul Abbott,
University of Western Australia
Gerd Baumann,
University of Ulm, Germany
Stephane Collart,
ETH Zurich, Switzerland
Jason Harris,
University of Canterbury, New Zealand
Steve and Brenda Hunt,
University of Melbourne, Australia
Grant Keady,
University of Western Australia
Phillip Kent,
Imperial College, UK
Jean Peccoud,
Grenoble School of Medicine, France
Dieter Suter,
ETH Zurich, Switzerland
Eugenii Vorobev,
Moscow Institute of Electronics, Russia
Applications for 1996-1997 Visiting Scholar grants will be accepted next
spring. For more information, contact Wolfram Research.
In April, Wolfram Research staff will visit universities and organizations
in
Argentina, Chile, Brazil, and Venezuela to introduce Mathematica
and to
discuss developments in forthcoming versions of the system.
For more information contact the International Business Development Group
at
Wolfram Research at +1-217-398-0700 or email Lynn Eicken,
eicken@wri.com.
Books
Check our Web site or the Mathematica Products Catalog for a
complete
listing
and description of all Mathematica books. These and other
Mathematica-related
books are available at your local technical bookstore.
*New Releases
The Mathematica Graphics Guidebook
Cameron Smith and Nancy Blachman
(Addison-Wesley) ISBN 0-201-53280-8
Both a thorough tutorial introduction to Mathematica graphics and a
comprehensive reference manual for using the system's built-in graphics
functions. Includes numerous examples and practical advice for printing
displayed graphics. Also includes notebooks on diskette that reproduce
most of
the examples.
Computer Simulations with Mathematica: Explorations in Complex Physical
and
Biological Systems
Richard J. Gaylord and Paul R. Wellin
(TELOS/Springer-Verlag) ISBN 0-387-94274-2
Demonstrates the use of computer simulation as a research tool in the
sciences. Equal emphasis is placed on the development of efficient
Mathematica
programs and on the visualization and numerical analysis of computer
simulation results. Includes cross-platform CD-ROM that contains actual
multimedia simulations.
Linear Algebra with Mathematica
Eugene Johnson
(Brooks/Cole) ISBN 0-534-130682
Designed as a supplement to a standard text in linear algebra or as a
linear
algebra/matrix methods supplement in engineering, mathematics, and
computer
science courses. Begins with a short introduction to Mathematica,
then
shows
how to use it as a tool in working with vectors, matrices, and linear
transformations.
Mathematica for Physics
Robert L. Zimmerman and Fredrick I. Olness
(Addison-Wesley) ISBN 0-201-53796-6
Designed as a supplement for any of the core advanced undergraduate and
graduate physics courses. Covers essential problems in mechanics,
electrodynamics, quantum mechanics, special and general relativity,
cosmology,
elementary circuits, and oscillating systems. Emphasizes the graphical
capability of Mathematica to develop the reader's intuition and
visualization
in problem solving.
Mathematica for Scientists and Engineers
Thomas B. Bahder
(Addison-Wesley) ISBN 0-201-54090-8
A comprehensive guide to Mathematica focusing on the specific needs
of
scientists and engineers. Provides numerous real-world examples in
differential equations, boundary value problems, vector field theory, and
tensors. Gives a thorough treatment of evaluation issues that affect long
running times and memory management.
Mathematica as a Tool
Stephan Kaufmann
(Birkhuser) ISBN 0-8176-5031-8
Translation of Mathematica als Werkzeug: Eine Einfhrung mit
Anwendungsbeispielen. Gives a general introduction to
Mathematica and
includes
practical examples from mechanical and civil engineering. Places emphasis
on
Mathematica's capabilities as a programming language.
Differential Equations: An Introduction with Mathematica
Clay C. Ross
(Springer-Verlag) ISBN 0-387-94301-3
An introductory sophomore/junior level text in differential equations
suitable for students in mathematics, physics, and engineering. Gives a
uniformly coordinated collection of examples and problems where the use of
Mathematica amplifies the content of the material.
The Power of Visualization: Notes from a Mathematica Course
Stan Wagon
(Front Range Press) ISBN 0-9631678-3-9
Notes from a course aimed at college teachers to show how
Mathematica can
be
used to visualize abstract constructions and concepts in mathematics.
Emphasizes calculus, but also contains examples from number theory,
differential equations, and numerical analysis.
Differential Equations with Mathematica
Kevin R. Coombs, Brian R. Hunt, Ronald L. Lipsman, John E. Osborn, and
Garrett J. Stuck
(John Wiley & Sons) ISBN 0-471-10874-X
Changes the emphasis in the traditional ODE course by using
Mathematica to
introduce symbolic, numerical, graphical, and qualitative techniques into
the
course in a basic way. Designed to accompany Elementary Differential
Equations, Fifth Edition, by Boyce and DiPrima.
Exploring Calculus with Mathematica
Edward Green, Benny Evans, and Jerry Johnson
(John Wiley & Sons) ISBN 0-471-09718-7
Software and problems manual that engages the power of Mathematica
to help
students learn calculus concepts. Each chapter includes worked examples
which
include Mathematica instructions and exploration problems with structured
responses suitable for lab assignments. Designed to accompany Calculus
by
Hughes-Hallett, Gleason, et al.
Mathematica Computer Manual
E. Kreyszig and E.J. Normington
(John Wiley & Sons) ISBN 0-471-11719-6
Designed to accompany and complement Advanced Engineering
Mathematics,
Seventh Edition, but appropriate for use in any advanced course in this
subject. Presents a careful selection of approximately 250 worked examples
and
nearly 800 problems.
*Miscellaneous
Lorentzian Wormholes: From Einstein to Hawking
Matt Visser
(AIP Press) ISBN 1-56396-394-9
Matt Visser draws on pivotal work by Einstein, Wheeler, Thorne, Hawking,
and
others, to chart the development of Lorentzian wormhole physics. Includes
stunning Mathematica illustrations.
*CD-ROM
Illustrated Mathematics: Visualization of Mathematical Objects with
Mathematica
Oliver Gloor, Beatrice Amrhein, and Roman Maeder
(TELOS/Springer-Verlag) ISBN 0-387-14222-3 (CD-ROM with booklet)
A comprehensive collection of graphics and animations for various topics
in
high-school and undergraduate mathematics on a CD-ROM. Mathematica
programs
used for generating the collection are included and can be used to
generate
new visualizations. Also available in German.
*Non-English Books
Mathematica: fundamentos y aplicaciones de la informatica en
matematicas
(in
Spanish)
J.A. Dominguez, A. Fernandez, F.J. Plaza, M.A. Asensio
(Plaza Universitaria Ediciones) ISBN 84-89109-04-4
Wstep do Mathematica (in Polish)
Wlodzimerz Janiak
(Wydawnictwo PLJ) ISBN 83-7101-192-X
Introduo ao Mathematica for Windows (in Portuguese)
Daniel J.R. Nordemann
(Transtec Editorial) ISBN 85-85417-06-4
An Introduction to Mathematical Physics with Mathematica (in
Japanese)
Yutaka Abe
(Kodansha) ISBN 4-06-153215-4
Learning Math Again (in Japanese)
(Sanseido) ISBN 4-385-35629-7
Differential and Integral Calculus with Mathematica (in Japanese)
Ryoji Moriya
(Kaibundo) ISBN 4-303-72790-3
Mathematica Guidebook (in Japanese)
Etsuo Miyaoka
(Brain) ISBN 4-89242-144-8
Geometria differencial de curvas y superfices (in Spanish)
Translation of Modern Differential Geometry of Curves and
Surfaces.
Luis A. Cordero, Marisa Fernandez, and Alfred Gray
(Addison-Wesley IberoAmericana) ISBN 0-201-65364-8
*Periodicals
Mathematica in Education and Research
Mathematica in Education and Research (formerly Mathematica in
Education)
is
a quarterly publication devoted to educators who use Mathematica to
enhance
teaching and learning in science, engineering, and mathematics courses.
Each
issue of Mathematica in Education and Research includes: feature
articles
discussing the use of Mathematica in the classroom; tips on how to
approach
particular lessons; special columns on programming, student work, and
MathSource; a calendar of events; commentaries; and book and software
reviews.
Published by TELOS/Springer-Verlag; hardcopy and electronic subscriptions
are
available; for ordering information phone 1-800-SPRINGER or 201-348-4033,
fax
201-348-4505, or email MathInEd@telospub.com.
The Mathematica Journal
The Mathematica Journal is a quarterly forum providing hands-on
technical
information about Mathematica. Each issue contains scholarly
pieces,
practical
applications, product news and reviews, and Mathematica-generated
graphics.
Electronic supplements are available containing packages, notebooks,
graphics,
and utilities.
Published by Miller Freeman; for ordering information phone 1-800-829-5446
or
904-445-462, fax 904-445-2728, or email 71572.341@compuserve.com.
Mathematica World
Mathematica World is a monthly electronic magazine distributed on
diskette.
It provides illustrative notebooks and interactive tutorials on the front
end,
kernel, and packages. A news section is devoted to the announcement of new
packages and solutions to problems posed in news groups.
For ordering information contact Mathematica World, Ormond College,
University of Melbourne, Parkville, Victoria 3052, Australia, at
+61-(0)3-349-2001 (phone or fax), or email mathematica@matilda.vut.edu.au.
Wolfram Research and John Wiley & Sons, Inc. Team Up: New Bundle Offers
Significant Savings for Calculus Students
Mathematica for Calculus Students combines the student version of
Mathematica
with your choice of any of these popular calculus texts from publisher
John
Wiley & Sons, Inc. This combination is ideal for learning calculus in the
classroom or at home, and convenient for completing class assignments in
science, engineering, economics, and other technical courses. Students can
find this specially priced, bundled set at local campus bookstores in the
U.S.
and Canada, or call John Wiley & Sons at 1-800-248-5334 for more
information.
Calculus with Analytic Geometry, Fifth Edition
Howard Anton ISBN 0-471-59495-4 (hardcover)
Salas and Hille's Calculus, Seventh Edition
Revised by Garret J. Etgen ISBN 0-471-58719-2 (hardcover)
Calculus
Deborah Hughes-Hallett, Andrew Gleason, et al. ISBN 0-471-31055-7
(paperback)
Jerry B. Keiper (1953-1995)
An Obituary
Jerry Keiper, leader of the numerics research and development group at
Wolfram
Research, was killed in a bicycle accident on January 18, 1995 at the age
of
41.
Keiper's life was a rare and wonderful mixture of brilliance and
achievement
with modesty and humanity. He was driven by a profound desire to do good
in
the world, while not burdening it with any of his own personal needs.
Keiper was born in Medina, Ohio on October 20, 1953, the second of eight
children. He spent his early years on the family farm. Then, after
graduating
from high school, he enrolled in a technical school, planning to become an
electronic technician. But he excelled in mathematics, and even though
none of
his family had ever gone to college before, he decided to enroll at Ohio
State
University. He received a bachelor's degree in mathematics from there in
1974,
and a master's degree a year later. His master's thesis showed that the
Riemann zeta function could be expressed as a fractional derivative of the
gamma function--the first of many results he was to obtain about special
functions.
Throughout his life, Keiper was deeply influenced by religion. He was
raised
as an Apostolic Christian, but in his college years joined the Mennonite
church--a branch of protestantism with a prohibition against military
service
and a tradition of humanitarian activity. Keiper's religious views
initially
made him decide not to pursue a career in mathematics, and instead to
become a
high-school teacher. He spent a brief time in 1977 as a teacher in the
Michigan public school system, but found that, in his own words, "there
was
very little teaching involved in the work."
Having been disappointed by teaching, Keiper spent a year constructing a
pipe
organ--indulging his lifelong enthusiasm for things mechanical. But in
1979
he
returned to mathematics, and in 1981 he earned a master's degree in
applied
mathematics at the University of Toledo, Ohio. That same year he left the
U.S.
to work with the Mennonite church in Nigeria, and after various delays and
adventures spent three years teaching at a university in central Nigeria.
Keiper returned to the U.S. in 1984, and enrolled as a graduate student in
computer science at the University of Illinois. He specialized in
numerical
analysis, working particularly with the well-known numerical analyst Bill
Gear
on the solution of differential algebraic equations.
In the spring of 1987, Keiper heard about the early development of
Mathematica, and approached me about working on the project.
Knowing his
interests in both special functions and numerical analysis, I suggested
that
Keiper might work on finding general methods for the numerical evaluation
of
special functions. Existing academic and other work had been concerned
mostly
with evaluating specific functions to a specific precision for specific
ranges
of parameters. But I wanted Keiper to make Mathematica be able to
evaluate
any
of the functions found in standard books of tables, to any precision,
anywhere
in the complex plane. Many numerical analysts thought this was an absurdly
ambitious project, but undaunted, Keiper set about doing it.
His crucial idea was to use the symbolic capabilities of
Mathematica to
automate the process of finding optimal approximation algorithms. In the
past,
such algorithms had mostly been worked out by hand, on a case-by-case
basis.
But Keiper wrote systematic Mathematica programs to find algorithms
for
any
function. Sometimes it took a month of CPU time to generate a particular
optimal algorithm. But once generated, the algorithm could be executed
very
rapidly. And the result was that for the first time it became possible to
assemble reliable algorithms for evaluating hundreds of special functions
to
any degree of precision for any values of their parameters.
In addition to special function evaluation, Keiper also worked on other
numerical features of Mathematica, particularly numerical
quadrature and
root
finding. Initially he used mainly refinements on algorithms already in the
literature, but increasingly he developed entirely new algorithms,
typically
based on integrating the numerical and symbolic capabilities of
Mathematica.
After Mathematica was released in 1988, Keiper briefly returned to
his
Ph.D.
thesis project concerning differential algebraic equations, and with the
help
of the capabilities he had put into Mathematica, he was rapidly
able to
complete his thesis, officially receiving his Ph.D. in 1989.
Following his deeply-held personal and religious beliefs, Keiper lived in
a
very simple manner. He wore simple clothes, ate simple food, and used a
bicycle as his primary means of transportation. He also felt that to be
consistent in not supporting the military, he should avoid paying taxes to
the
government. For a while, this meant that he would accept almost no salary.
But
in the end he worked out a scheme for donating all but a small percentage
of
his salary to charity. In addition, Keiper set up a foundation, which he
named
the Michael and Margarethe Sattler Foundation, after two early Mennonite
martyrs. As part of Keiper's compensation, Wolfram Research then made
donations to this foundation. The foundation solicited proposals, and in
turn
supported various colleges, giving them both funds and copies of
Mathematica.
As the popularity of Mathematica grew, Keiper was very happy to see
his
work
used so widely. But in 1990 he felt a need to contribute more directly to
education, and so he decided to apply for teaching positions at a number
of
colleges. Assured of financial support from Wolfram Research, he sent out
a
resume with the line "salary goal: not an issue," and planned to ask for
no
salary for his teaching. The reaction he got from the academic
establishment
was less than appreciative, and as a result he decided to pursue his
educational interests in other ways.
For about a year he moved to Kansas and helped set up an educational lab
based on Mathematica, while continuing his work on the development
of
numerical algorithms for Mathematica. During this time, he also
began
writing
a textbook of numerical analysis based on Mathematica, in
collaboration
with
Bob Skeel, a numerical analyst at the University of Illinois. The book was
published by McGraw-Hill in 1993 under the title Elementary Numerical
Computing with Mathematica, and is now a standard text in numerical
analysis
courses.
Since the mid-1970's, Keiper had maintained a keen interest in analytic
number theory and its investigation by computer. In early 1988, Keiper
used a
prototype of Mathematica to explore various relations between zeros
of the
Riemann zeta function. He hesitantly wrote to D. H. Lehmer, a pioneer of
computational number theory, describing his results, and Lehmer replied
warmly, encouraging him to publish what he had discovered.
In the course of the next several years, Keiper began to overcome his
shyness, and to publish some of his mathematical work. He was particularly
interested in finding formulations of the Riemann Hypothesis that would
make
it more amenable to investigation by numerical methods. He did many large
computer experiments both on the ordinary Riemann zeta function and on
generalizations and related functions such as the Ramanujan tau functions.
A
few months before he died, Keiper told me he felt he had made considerable
progress. And when he died there were several of his programs found on
computers at Wolfram Research that had been running for more than 2000 CPU
hours--generating results intended for Keiper to interpret.
Although Keiper did his work on the zeta function mainly to investigate
basic
questions in number theory, he always made sure that relevant pieces were
integrated into Mathematica. And in 1990 it was his work that made
possible
the six-foot-long poster of the Riemann zeta function that Wolfram
Research
produced for the International Congress of Mathematicians in Kyoto. This
poster is now to be found displayed in most mathematics departments around
the
world. (A special new memorial edition of the poster is being produced.)
In the past few years, Keiper became interested in the fundamentals of
computer arithmetic, and forthcoming versions of Mathematica will
include
some
major innovations that he made in the basic handling of numbers on a
computer.
Keiper attended Mathematica conferences around the world, speaking
about
the
numerical capabilities of Mathematica. He was also a frequent
participant
in
discussions on computer network newsgroups. He was always extremely
patient,
although in private he would often express his frustration at those who
chose
to attack Mathematica without understanding it or giving it the
thought
that
it deserved.
Keiper was outstandingly modest about his own abilities. But in his quiet
and
unassuming way, he over and over again managed to far surpass what others
had
done. His published papers provide hints of his ability, but his greatest
professional achievements are embodied in the internal operation of the
numerical functions of Mathematica. And although only specialists
may be
concerned with exactly how these functions work, a million people around
the
world make use of them, executing over and over again the code and
algorithms
that Jerry Keiper created.
Keiper is survived by his former wife of fifteen years, Susan Diehl, as
well
as by his parents, five brothers, and two sisters. Wolfram Research is
planning to establish a Keiper Memorial Fund which will be used to support
educational programs of the type in which Jerry Keiper was interested.
--Stephen Wolfram
New Versions
NEXTSTEP for HP PA-RISC
Mathematica 2.2 is now available under NEXTSTEP for Hewlett
Packard
PA-RISC
computers. This new version is functionally identical to
Mathematica for
NEXTSTEP Motorola and Intel computers, and is compatible with all other
notebook front end versions.
Linux
A version of Mathematica for Linux is now in testing. It will
be available
soon, and will include a text-based interface and support for remote
computing
and interprocess communication via MathLink.
OS/2
Mathematica 2.2.4 for OS/2 is now available. New features in
this version
include support for remote computing and interprocess communication via
MathLink and TCP/IP. A Microsoft Windows-based notebook front end
is
included
to provide an alternative user interface for users who have Windows and
TCP-support installed on their systems.
Microsoft Windows and Windows NT
Mathematica 2.2.3 for Windows is available for Intel-based
systems. This
new
version supports Japanese input into Mathematica notebooks and is
compatible
with both Windows NT and Windows 3.1. The release of Mathematica
for the
DEC
Alpha NT and MIPS NT has been postponed and is not in our current
development
plan. Customers interested in Mathematica for these platforms
should send
email to new-versions@wri.com.
Microsoft Windows for Students
A new Microsoft Windows version of Mathematica for Students
(Version
2.2.4)
is now available. This new version is functionally identical to the
professional version of Mathematica, and includes numeric
coprocessor
utilization. Available for students only.
DEC OSF/1 AXP
The X notebook front end is now available for Digital Equipment
CorporationÕs
64-bit Alpha AXP systems running OSF/1 2.0 or above. This front end is
compatible with other notebook versions and runs under Motif.
More Application Products Make Work Easier for You
A Guide to What's Newly Available and How to Get It
The collection of Mathematica-based application products continues
to
expand,
giving you more ready-to-use tools to choose from than ever before. Here
are
some of the latest products released.
Time Series Pack
from Wolfram Research
This new collection of ready-to-use algorithms is ideally suited to help
you
efficiently and conveniently analyze your time-dependent data. The Time
Series
Pack tools are designed specifically for analyzing both univariate and
multivariate time series. You can use the functions provided to study
stationary and nonstationary models, estimate model parameters, forecast,
and
do spectral analysis.
Available through Wolfram Research
Optica
from Optica Software
Scientists and researchers turn to Optica to develop specialized
optics
system and component designs, while educators tap Optica's power as
an
interactive learning tool for students. Its comprehensive set of
components
and surfaces and advanced 3D ray-tracing capabilities provide everything
you
need to model and analyze designs for all kinds of optical systems, from
x-ray
lasers to optical interconnects.
Available through Wolfram Research
- Mechanical Systems Pack
from Dynamic Modeling
Mechanical engineers explore more design options and minimize design time
with the commands and set of 2D and 3D geometric constraints provided in
this
pack. Instantly model complex mechanical relationships, define custom
algebraic constraints, solve for static reaction and dynamic forces, and
perform load analyses.
Available through Wolfram Research
- CARTAN
from Harald Soleng
CARTAN puts customizable functions and predefined tensors at your
fingertips,
making this easy-to-use tensor component package a hit among engineers.
For more information call +33-5028-2302 or email
soleng@surya11.cern.ch.
For a complete listing of all Mathematica-related products,
including
application-specific packages, courseware, books, journals, gift items,
and
more, check our Web site or contact Wolfram Research today for your own
Mathematica Products Catalog--free!
Get Instant Answers from MathSource
Mathematica users share solutions in this on-line resource to solve
problems
faster
Say you're working on a project using Mathematica, and the problems
involved
require a customized approach -- an answer you can't get right out of the
box.
Our advice: Don't start from scratch. Turn to MathSource first!
You'll
find
all kinds of useful items--including over 2000 Mathematica
packages,
notebooks,
and documentation--in this extensive, on-line collection. One or more of
those
might contain just the solution you need. Or, you might find courseware
examples that you could use in class. Convenient search tools make it easy
to
find items according to topic, author, title, date, and more. Accessible
via
World Wide Web, anonymous FTP, Gopher, email, direct dialup, and CD-ROM,
MathSource can return materials to you in text, Mathematica
notebook, or
PostScript formats, according to your request.
Here are some of the items recently added to the MathSource
collection.
0207-368: AlgebraicRulesExtended
0207-492: Banzhaf Voting Power Index
0205-412: Beam Statics Package
0207-290: bilo (bracketed identifier-localized operator) 4.2.1
0205-782: ChannelKinetics: Packages for Modeling Ion Channel Kinetics
0207-335: A Discussion of and Fix for the Pentium FDIV Bug
0207-223: ErrorPropagation
0205-041: ExtendGraphics Packages by Tom Wickham-Jones
0207-302: Extended Lattice Reduce Algorithm
0206-783: FastBinaryFiles: A MathLink Program for Fast Reading
and
Writing
of
Binary Files
0206-660: Furniture Design with Mathematica
0207-267: General Purpose Front End Processor
0207-346: Genetic Programming with Mathematica
0206-705: HYP-A Package for Handling Hypergeometric Series
0206-716: HYPQ-A Package for Handling Basic Hypergeometric Series
0204-499: Harmonic Function Theory and Mathematica
0207-313: Heat-Flow and Energy Calculations with Mathematica
0207-469: IgorBinary: A Package for Fast Reading and Writing of Igor
Binary
Files
0207-256: Link Tutor: A Macintosh Program for Learning about
MathLink
0206-558: Manipulating Polynomials with Multiple Variables
0206-693: A MathLink Tutorial
0207-166: MathLink VIs for LabVIEW for Macintosh Version 3.0.1
0204-972: MathReader V2.2-A Mathematica Notebook Reader
for Windows
0207-177: MathReader V2.2-A Mathematica Notebook Reader
for the X
Window
System
0207-278: MathUser #7, Fall 1994
0207-188: Mathematica Demonstration Notebooks
0207-324: Mathematica Graphics: Techniques and Applications by
Tom
Wickham-Jones, Electronic Supplement
0207-155: Mathematica Version 2.0 Graphics Gallery
0204-118: Mathematica as a Tool
0206-862: Mathematica for Physicists
0207-357: Mathematica for Scientists and Engineers
0207-391: The Mathematica Journal Vol. 4, No. 1-Electronic
Supplement
0207-403: The Mathematica Journal Vol. 4, No. 2-Electronic
Supplement
0207-481: The Mathematica Journal Vol. 4, No. 3-Electronic
Supplement
0206-727: Mohr's Circle and Principal Stresses in Two-Dimensional
Stress
Analysis
0206-604: MovieDigitizer: A MathLink Program for Automatic
Digitizing
of
QuickTime Movies
0207-289: MultiplierMethod-A General Purpose Algorithm for Nonlinear
Programming
0207-515: NONACODE
0207-605: A Notebook about Optica
0205-298: Nixpub: Public Access Unix Site Listings
0206-569: Numerical Linear Algebra (Direct Methods)
0204-501: Open Look Mathematica PostScript Interpreter
0206-592: A Package for Code Optimization Using Mathematica
0206-772: Penrose Tiles
0206-132: A Planetarium Package
0207-379: Power Series and Generating Functions
0206-020: Pseudo-Random Pulse Sequencing
0203-825: Publications about Mathematica
0204-376: Riemann Sums Package
0206-581: SelfTutorCalculus
0207-414: SentinelPro Security Key Driver Software for Microsoft
Windows
NT
0207-470: Smith Normal Forms
0207-122: Solving the Quintic with Mathematica
0207-199: Solving the Quintic with Mathematica (NeXT and
Macintosh)
0207-212: Some Nice Pictures of a Hyperbolic Tiling of the Poincare
Disk
0206-873: Spline Wavelet Analysis
0206-637: Stochastic Fibre Networks
0205-591: Strang Linear Algebra
0207-380: Super TSP: A Trip around the World
0207-201: Theoretical Evolutionary Ecology: Model Solutions
0207-234: TrochoidPlot
0207-526: Tutorial on the Graphical Effects of the Coefficients of a
Second
Degree Polynomial
0206-761: Tutorial: Package Design
0206-682: Tutorial: Mathematica's Programming Language
0206-671: Tutorial: Notebooks for Integrated Applications
How to Find Items on MathSource
Simply send the text Help Intro in an email message to mathsource@wri.com
and
your return message will contain complete instructions.
WWW: http://www.wri.com/MathSource.html
FTP: mathsource.wri.com
Gopher: mathsource.wri.com
email: mathsource@wri.com
dialup: 217-398-1898 (8N1)
CD-ROM: Order from Wolfram Research
Updated in April, the new MathSource CD--containing the entire
MathSource
collection--is now available. To order, see "How to
Contact Us".
Extraordinary Code
In the last issue of MathUser we announced a contest, "Win $100
Gift
Certificate for extraordinary Mathematica code".
The winners are Stan Wagon and Arnd Roth.
Stan Wagon solved the following problem with a one-liner.
The problem was to find all representations of a positive integer as a sum
of
two squares, ignoring order and negative values. Thus Sum2Squares[50]
should
return {{1, 7}, {5, 5}}.
SumTwoSquares[n_] :=
Union[Sort[{Re[#], Im[#]}] & /@
Select[Divisors[n,
GaussianIntegers->True], Abs[#]^2 == n &]]
Arnd Roth drew a sketch of an ion channel embedded in a lipid bilayer.
Their solutions are on MathSource, item 0207-616.
Mathematica Miscellanea
The Costa sculptures of Helaman Ferguson are a good model of applied
mathematics: start with physical observations about soap films in nature
(Plateau), write down differential equations describing area-minimizing
surfaces (Euler-Lagrange), define a minimal surface geometrically in terms
of
curvature (Gauss), discover a minimal surface with nontrivial topology
(Costa), draw computer images of the new surface (Hoffman-Hoffman),
recognize
symmetry and prove the surface has no self-intersections (Hoffman-Meeks),
discover fast parametric equations in Mathematica for the surface
(Alfred
Gray), and finally, return to nature with a sculpture in bronze and
aluminum
(Helaman Ferguson), a solid form of a soap film big enough to touch and
climb
on.
Not a Mathematica Plus Subscriber? Sign Up Today!
Mathematica Plus subscribers are at the top of the list to receive
the
next
version of Mathematica automatically. In fact, subscribing ensures
that
you
will receive the next two major releases as soon as each becomes
available.
Without giving it another thought, the upgrades will be delivered to your
door. Also, as a subscriber, your system transfer fee is waived when you
change computer platforms and need a new version of Mathematica for
that
platform.
Subscribing to Mathematica Plus is the most convenient and
cost-effective
way
for you to put the latest Mathematica developments to work for you.
To
guarantee that you are on the list to receive the forthcoming version as
soon
as it is released, we invite you to sign up for Mathematica Plus
now.
It's easy to sign up for Mathematica Plus--from the U.S. or
Canada, simply
contact Customer Service by phone, fax, or email (see page 2 for contact
information). If you have additional questions, call Sales Information at
1-800-441-MATH (6284). Outside the U.S. and Canada, contact your local
Mathematica reseller, or a Wolfram Research international office.
Mathematica Plus is available for the following platforms.
(Available for
professional and academic versions of Mathematica only. Not
available for
student or high school versions.)
Subscription prices for Mathematica Plus vary according to what
computer
platform you use. For details, contact Wolfram Research. (See "How to
Contact
Us" on page 2.)
The current version of Mathematica is Version 2.2. If you are using
an
older
version, contact us today about how to upgrade to Version 2.2.
Wanted
If you're a student and looking for a challenge this summer, we have
exciting
summer employment opportunities available at Wolfram Research. Send a copy
of
your resume, and a statement of your interests telling us how you think
you
can contribute to Mathematica, to resumes@wri.com.
Wolfram Research, Inc. has openings for software engineers for the
Macintosh,
MS Windows, and the X Window System. The positions will involve creating
new
versions of Mathematica and user interfaces on these platforms.
Interested individuals should send a cover letter and resume to
resumes@wri.com.
RealOnly
In high school algebra, exponents and radicals are taught early, but
complex
numbers are usually left to more advanced courses. Some algebra teachers
have
asked for a package that would allow them to avoid complex numbers.
Mathematica is flexible enough to block out imaginary and complex
numbers
in a
way that is mathematically correct.
Two ideas are implemented in the package RealOnly.m. Odd roots of negative
numbers are defined to be negative, and calculations with unavoidable
complex
numbers are condensed to the symbol Nonreal. This is done by redefining
the
built-in functions Power and $Post.
Without loading the package, Mathematica calculates a cube root
of a
negative
number to be complex. So no points are plotted for negative values of x
and
warning messages are generated.
Plot[x ^ (1/3), {x, -8, 8}];
Plot::plnr:
CompiledFunction[{x}, <<1>>, -Co<<8>>de-][x]
is not a machine-size real number at x = -8..
Plot::plnr:
CompiledFunction[{x}, <<1>>, -Co<<8>>de-][x]
is not a machine-size real number at x = -7.33333.
Plot::plnr:
CompiledFunction[{x}, <<1>>, -Co<<8>>de-][x]
is not a machine-size real number at x = -6.66667.
General::stop:
Further output of Plot::plnr
will be suppressed during this calculation.
Every cubic equation has three roots, counting multiplicity.
Solve[x^3 == -8.0]
{{x -> -2.}, {x -> 1. - 1.73205 I}, {x -> 1. + 1.73205 I}}
Any one of these three roots could be taken as the cube root of -8.0.
Ordinarily, Mathematica chooses the one with the least positive
argument
(the
third solution in this case).
(-8.0) ^ (1/3)
1. + 1.73205 I
This loads the package.
Needs["RealOnly`"]
Power has been redefined so that an odd root of a negative number is
negative.
(-8.0) ^ (1/3)
-2.
Now the plot works for negative values of x.
Plot[x ^ (1/3), {x, -8, 8}];
The second idea implemented in the package is that complex numbers are
suppressed. This is now the solution of the cubic equation.
Solve[x^3 == -8.0]
Nonreal::warning: Nonreal number encountered.
{{x -> -2.}, {x -> Nonreal}, {x -> Nonreal}}
{23 + 0. I, Sin[ArcSin[23.]]}
{23., 23.}
A number with an imaginary part that is not small is transformed to
Nonreal.
{ArcSin[23.], Sin[23. + I]}
Nonreal::warning: Nonreal number encountered.
{Nonreal, Nonreal}
Finally, elementary calculations involving unavoidable complex numbers are
transformed to Nonreal.
Tan[a + 23 / (a + b I)]
Nonreal::warning: Nonreal number encountered.
Nonreal
The package RealOnly.m is available on MathSource, item 0207-537.
Q&A
Q: How can I select data in a list based on a particular criterion?
A: The function Select will extract data from a list based
on any
function
that evaluates to True or False.
v = {2, 4, 6, a, b, "c", "d"};
Select[v, StringQ]
{c, d}
If present, the third argument to Select restricts the number of
selections
made.
Select[v, EvenQ, 2]
{2, 4}
You can define your own Boolean function to use for selection.
concreteQ[x_]:=
AtomQ[x] && Head[x] =!= Symbol;
Select[v, concreteQ]
{2, 4, 6, c, d}
Q: I would like to tell Mathematica to convert all
expressions to their
numerical (floating-point) value whenever possible. Can I do this in a
global
way during a single session?
A: Yes. The value of the global variable $Pre, if set, is applied
to each
input expression. To convert all numbers to floating point, you can set
$Pre
to N.
3/5
3
-
5
$Pre = N;
Now Mathematica will always return floating-point numbers
regardless of
the
input type.
{3/5, Sqrt[2] Pi}
{0.6, 4.44288}
To make this happen automatically whenever you start the kernel, put the
expression $Pre = N in your init.m file. To return to normal conditions,
get
rid of the definition with Clear[$Pre].
Q: How do I fit data to a function like bCos[a x]?
A: The Fit[] function fits with linear combinations of
functions. For
nonlinear fitting, use the NonlinearFit command from the package
Statistics`NonlinearFit`.
First, load the package.
Needs["Statistics`NonlinearFit`"]
Here are some test data.
data = {{0.00755184, 3.00914},
{0.0559709, 2.98502}, {0.101674, 2.94889}, {0.15152,
2.8734}, {0.207708, 2.76563}, {0.250559, 2.63725},
{0.305907, 2.48437}, {0.359207, 1.00233}, {0.407698,
2.0918}, {0.453682, 1.87457}, {0.507271, 1.63074},
{0.554075, 1.3683}, {0.609719, 1.08777}, {0.658105,
0.809997}, {0.708045, 0.511902}, {0.756585,
0.212325}, {0.800336, 0.078046}, {0.856026,
-0.380921}, {0.904429, -0.680421}, {0.956819,
-0.967385}, {1.00673, -1.23893}, {1.05314,
-1.5118}, {1.10946, -1.75583}, {1.15906,
-1.9936}, {1.20974, -2.2032}, {1.25096, -2.3957},
{1.3017, -2.56369}, {1.35437, -2.7046},
{1.40136, -2.81924}, {1.45835, -2.91087},
{1.50693, -2.96373}};
ListPlot[data];
In the model m, x is the independent variable.
m = b Cos[a x];
NonlinearFit solves for a and b.
s = NonlinearFit[data, m, x, {a, b}]
{a -> 1.99658, b -> 2.93879}
Now you can define a function that approximates the data.
ReplaceAll (/.)
substitutes the values of a and b from the solution s into the model m.
f[x_] = m /. s
2.93879 Cos[1.99658 x]
Plot[f[x], {x, 0, 2}, Epilog -> Map[Point, data]];
The many options to control the computation of NonlinearFit are
discussed
in
the Guide to Standard Mathematica Packages.
Q: I tried to use the function PolarPlot described in the
Guide to
Standard
Mathematica Packages. When nothing happened I realized I hadn't loaded
the
appropriate package. I was puzzled by the message produced when I did load
it.
What did it mean?
A: PolarPlot is defined in the package Graphics`Graphics`.
Since
Mathematica
does not "know" about PolarPlot until you load the package or
define it
yourself, it simply returns your input the first time you enter this
command.
PolarPlot[Log[t], {t, .01, 24}];
Also, since no symbol called PolarPlot exists yet in the session, it is
created as a new symbol in the Global` context.
?PolarPlot
Global`PolarPlot
When you load the package, Mathematica creates another symbol,
Graphics`PolarPlot, and at the same time it generates a warning message.
<<Graphics`Graphics`
PolarPlot::shdw:
Warning: Symbol PolarPlot appears in multiple contexts
{Graphics`Graphics`, Global`}; definitions in context
Graphics`Graphics` may shadow or be shadowed by other
definitions.
The warning message explains that there are two symbols in
Mathematica
called
PolarPlot and that the user should be aware that one definition of
PolarPlot
might be used instead of the other.
To correct this, remove the symbol Global`PolarPlot.
Remove[Global`PolarPlot]
This leaves the PolarPlot symbol as defined in the Graphics package.
PolarPlot[Log[t], {t, .01, 24}];
Q: If I know a formula for calculating each entry in a matrix, how
do I
construct the matrix?
A: In Mathematica, a collection of data is kept as a list. A
two-dimensional
matrix is a list of sublists that are all of the same length. Vectors and
matrices can be formed with the Table function.
m = Table[i ^ j, {i, 3}, {j, 3}]
{{1, 1, 1}, {2, 4, 8}, {3, 9, 27}}
Each sublist corresponds to a row of the matrix m. To print m in a more
familiar form, use MatrixForm.
MatrixForm[m]
1 1 1
2 4 8
3 9 27
The formula can be more complicated; in this case it contains a
conditional
expression.
Table[If[i > j, i ^ j, 0],
{i, 3}, {j, 3}] // MatrixForm
0 0 0
2 0 0
3 9 0
Q: Why does the latest Mathematica for Windows use Win32s?
A: Win32s is a set of 32-bit libraries created by Microsoft that
allows
programmers to write Windows applications in 32-bit mode instead of 16-bit
mode. A program running in 32-bit mode has much more flexible access to
memory
and runs more efficiently. Such a program will run in native mode under
Windows NT and the upcoming Windows 95; running in emulation mode for
16-bit
applications is much slower. The Mathematica kernel is programmed
under
the
Win32s libraries; we plan to port the front end to the 32-bit libraries.
Any
application that requires the Win32s libraries must install them, since
they
are not included with Windows.
If you try to run Mathematica and get a dialog box that indicates
some
error
in Win32s, you must reinstall the libraries. The error might occur because
Win32s was installed incorrectly, or because another software package
installed a version of Win32s incompatible with Mathematica. To
force a
reinstall of Win32s, delete the file called WIN32S.INI from the SYSTEM
subdirectory of the Windows directory. Then insert the first
Mathematica
disk
to run the Mathematica installation; choose the Custom installation
instead of
the Default installation. In the resulting dialog box, uncheck every
option
except the one for Win32s Executables, and continue with the installation.
The
installer will then replace Win32s while leaving your current
Mathematica
environment untouched.
Now suppose that Mathematica is installed on a file server on a
network,
and
the client machines run local copies of Windows. In that case, use the
same
procedure to install Win32s locally onto every client machine that will
run
Mathematica. However, if there is no WIN32S.INI file to delete, you
only
need
to run the Custom Install.
If the installation of Mathematica breaks another Win32s
application, then
that application probably used an earlier version of Win32s. In this case,
call Wolfram Research technical support to find out if you need to get a
more
recent version of Win32s from Microsoft compatible with both applications.
The
most recent version of Win32s is 1.20 and is available from Microsoft via
anonymous FTP at ftp.microsoft.com in /SoftLib/MSLFILES/PW1118.EXE.
Technical Support for Students
Technical support by email is now available to students who have purchased
the
Student Version of Mathematica. The new email address for this
service is
student-support@wri.com. For installation questions only, telephone and
fax
support is also available. Be sure to include your license number in any
correspondence. Note that additional support is available for the
Professional
Version of Mathematica.
Easy Access to Technical Support Tips
Find Answers to FAQs on the Wolfram Research Home Page
The Wolfram Research World Wide Web site (http://www.wri.com/) is packed
with
the latest news and information about Mathematica. The site not
only
introduces Web surfers to Mathematica, but also provides many
useful
services
for Mathematica users. From the first page, you can quickly see
what new
application products are available, check what's new on MathSource,
find
out
about upcoming conferences and training courses, read the electronic
version
of this newsletter, and much more.
Sure to be a popular reference for both new and experienced
Mathematica
users
is the new technical support section. The Mathematica specialists
in our
Technical Support department have compiled answers to many frequently
asked
questions from Mathematica users and have now made them available
on the
Web.
Check it out to get installation help, access release notes, find answers
to
commonly encountered problems, and try some of their suggested
Mathematica
programming tricks and techniques.
Mathematica users at all levels, from beginning to advanced, can
save time
by
checking the Web first when a Mathematica-related question arises.
If the
answer you need already exists in MathSource, the link to the
appropriate
MathSource document will be there.
As with every section of our Web site, the technical support section
continues to evolve and improve. It is expanding to answer more of your
questions and is updated regularly to incorporate new information
regarding
changing operating systems and new versions of Mathematica. As
always, if
you
have suggestions regarding our Web site after you visit it, please email
comments to webmaster@wri.com.