The 2001 Mathematica Developer Conference was an
invaluable resource for users and developers
who are interested in creating Mathematica-related
tools, products, courseware, or literature--or who wish to
offer services as a Mathematica trainer, consultant, or
Listed below are many of the presentations.
(If you don't have your own copy of Mathematica,
you can download MathReader
the talk notebooks.)
Button and Notebook Programming
David Withoff, Wolfram Research, Inc.
Button programming is not difficult. It is almost always easy to add a
user-friendly button interface to existing programs, and many imaginative
programmers have developed applications that would be all but impossible
without buttons. This session will include a tutorial on the basic
mechanics of button programming and a tour of the impressive range of ways
in which button and notebook programming can be used to enhance your
Graphing: A Package to Enhance Plots with Auxiliary Graphics
Barry Cherkas, Hunter College (CUNY)
To enable students of calculus and precalculus to include auxiliary
graphics conveniently in their graphs--and thereby reduce the potential
confusion and misinterpretation that can result from relying solely on a
singular function's plot--it is important to have tools that generate
auxiliary graphics in accordance with standard mathematical conventions.
In this presentation, we describe three commands--RationalGraph,
Graph1D (synonym InequalityGraph)--that display the
enhancements that are traditionally used when graphing functions with
singularities and when graphing inequalities in one dimension. These
commands make up the 'Graphing package.
Group Bases and Rubik's Cube
Gerrard Liddell, University of Otago
Group bases are a key tool in computational finite group theory. The
ideas will be introduced in the case of Rubik's cube.
Mathematica Notebook (zipped)
Learning Activity Modules in Chemical Engineering using
Brian Higgins, University of California, Davis
Computing vapor-liquid equilibria is a common occurrence in many chemical
engineering operations. For ideal mixtures the calculations are fairly
routine. Unfortunately, many vapor liquid systems of industrial interest
form non-ideal mixtures and the calculations then require solving systems
of nonlinear equations. In this presentation we show how
can be used to develop an online site that students can use to validate
VLE models using their own experimental data.
Modelling, Analysis & Prototyping for Rapid
Christopher J. Purcell, Defence R&D Canada
A prototype Mathematica package for building finite element (FE)
was introduced in the 1997 Developer Conference. This package has
matured to the point where it has already been used in product
development. The package permits building parametric models, where the
FE database contains both numeric data and symbolic Mathematica
expressions which can be used to morph the model geometry. The package was
originally developed for sonar transducer modelling, but it is open and
extensible so that it can support a range of external solvers. Extensive
online documentation is now available from the Help Browser. An update on
the Model Maker package will be presented, with examples to illustrate
Wolfram Education Group
Paul Wellin, Wolfram Research, Inc.
In January of this year, Wolfram Research announced the creation and
launch of Wolfram Education Group, designed to provide Mathematica
training for individuals and corporations. Courses are offered by
certified instructors using materials developed at Wolfram Research,
sometimes in cooperation with outside developers. Two-day introductory
courses are now being offered throughout the United States, with plans to
expand the course offerings and locations in 2002. This talk will include
information on course development as well as certification of trainers.
|Applications of Mathematica
Jon McLoone, Wolfram Research, Inc.
Wolfram Research's new mid-market technical computing system,
CalculationCenter, offers an alternative platform for delivering
electronic books and technical calculations. With an emphasis on
ease-of-use and low price, CalculationCenter is aimed at a less
technically demanding market than Mathematica. This talk will
CalculationCenter and discuss ways in which Mathematica
developers might use this new channel.
Creating a Button-Driven Application
Al Hibbard, Central College
It is relatively easy to create a button to accomplish a routine task. It
is another matter to create buttons to perform more complicated tasks,
such as notebook modifications. This talk will focus on illustrating the
programming details of the buttons created by the Pivot package. This
package creates an interface for a non-technical user to perform the
Simplex Method while solving a linear programming problem. Except for
entering in the initial matrix, almost all the other steps are
accomplished by appropriately clicking on buttons. Explaining how these
buttons perform their complicated tasks will be the goal of this talk. In
particular, we will look at how to programmatically create and modify
notebooks, including creating a matrix of buttons on the fly.
Implementation of Java Photo Editor
Junzo Sato, University of Kumamoto
J/Link is not just a wrapper for MathLink, but also a
development environment because of Java's variety of GUI components and
built-in event handling mechanism. Digital Image Processing is an
application package for Mathematica. It covers a vast area of
and engineering knowledge and works as a powerful engine for image
processing. The combination of a customizable front end application and
the Digital Image Processing package is therefore the ideal
for research and education. The advantages of Java Photo Editor are
discussed in the talk.
Java and the Digital Image Processing Application
Mariusz Jankowski, University of Southern Maine
The Digital Image Processing application package, a relatively
addition to the Mathematica application library, enhances
over 160 functions in the area of digital processing of images. The
introduction of the package supported by significant performance
improvements in Versions 4.0 and 4.1 have made Mathematica an
platform for image processing and analysis. Now, thanks to the
introduction of J/Link, the Mathematica user gains direct
access to an
extensive native Java imaging functionality found in the Java 2D and Java
Advanced Imaging (JAI) application programming interfaces (APIs) and
excellent graphical user interface (GUI) design features thanks to Java
Mathematica Inside: Software Development Made
Roman Maeder, MathConsult
The Mathematica kernel is uniquely suited as a computation server
control program inside batch-oriented, interactive, or web-based
applications. Its rich, interactive programming language allows for rapid
prototyping and its flexibility makes it easy to adapt to the environment
in which it will be deployed. With the recent expansion of
I/O capabilities and MathLink-based interfaces to backend databases
front ends, it is now possible to use Mathematica in many
place of more traditional, expensive solutions. Examples from the author’s
work in finance give an idea of the possibilities. The first application
is a batch-oriented program for term structure modeling. The second
example shows the integration of the UnRisk PRICING ENGINE with the
Database Access Kit and the Mathematica Link for Excel.
The Mathematical Explorer
Stan Wagon, Macalester College
Paul Wellin, Wolfram Research, Inc.
The Mathematical Explorer is a new Wolfram Research stand-alone
that uses Mathematica to introduce the general public to some
ideas of modern mathematics. Creating the product combined work across
several areas: the use of a custom kernel, the creation of packages for
advanced functions, and the integration of historical documents and images
relevant to the mathematics. For example, the chapter on the Four-Color
theorem includes a copy of the original 1852 document in which the theorem
was first presented, a discussion of the ideas of Kempe's false proof of
1879 and the correct proof of 1976, access to functions that create and
color maps, as well as images and biographies of many of the
mathematicians involved in this problem.
This presentation is an overview of the Neural Networks
application package. Topics discussed include people in the neural
networks field, typical problems, tools, and examples.
Andreas Binder, MathConsult GmbH
The UnRisk PRICING ENGINE is an application package for the
valuation of financial derivatives. For most of the actively traded
financial instruments, closed-form solutions are not available and
numerical schemes have to be applied. In the UnRisk PRICING ENGINE,
Adaptive Integration is implemented, a method developed by MathConsult,
which combines analytic (local Green functions) and numeric components.
Adaptive Integration typically needs drastically fewer time steps than,
say, binomial trees. The computational engine of UnRisk is realized
and is linked to Mathematica via MathLink.
Dbg - An Easy-to-use Debugger
David Bailey, Salford Software
This talk will outline just some of the features of Dbg. It is hoped that
this talk will not only illustrate some of the features of the Dbg
debugger, but will also stimulate a discussion about what sort of debug
facilities would be useful inside Mathematica. It is felt that the
facilities of Mathematica have not kept pace with the rest of the
and could offer the programmer much more help.
Getting the Most out of (or into) Import/Export
Dale Horton, Wolfram Research, Inc.
The Import and Export functions are simple enough for
basic purposes, but
more sophisticated applications require a higher degree of control. We
will discuss tricks-of-the-trade, common problems, in addition to how to
modify the export of notebooks to HTML and TEX, and what do all those
ConversionOptions do, anyway? In addition, we will cover recent
additions to Import and Export and how developers can
add their own
John Novak, Wolfram Research, Inc.
All Mathematica symbols exist in name-spaces called contexts. There
number of subtleties in understanding and managing contexts that any
Mathematica programmer needs to be aware of. This talk describes
notion of contexts, the tools to manage them, and some of the “gotcha’s”
involved in their use.
Turning an Application into an Interface
Dale Horton, Wolfram Research, Inc.
The front end has many features that can make packages more accessible to
users. Most packages are driven by kernel commands and their front end
interface (if one exists) consists solely of buttons that paste, and
sometimes evaluate, kernel commands in a notebook. A largely unused
strategy is to use the palettes as a Graphical User Interface (GUI) to the
functionality of the package. Beginning users can start to use the package
with little knowledge of the underlying processes while the more advanced
users can quickly access commonly used functionality. If properly
implemented, the palette makes using the package easier, and the package
makes using the palette more powerful.
Extending Mathematica's XML Capabilites with
Todd Gayley, Wolfram Research, Inc.
Java and XML are a natural match, and there is a considerable body of XML
functionality available to Java programmers. Because of J/Link, all
capabilities are also available to Mathematica programmers. This
examine some ways to link the extensive Java XML APIs into
own XML-handling capabilities. We will see how to convert
expressions into Java DOM objects and vice-versa, how to perform SAX
parsing of XML data with event logic coded entirely in Mathematica,
perform XSLT transformations and XPath queries on XML data directly from
the Mathematica environment, and how to query and process XML data
available on the internet, such as finanical data.
Importing, Exporting, and Manipulating XML in
Chris Hill, Wolfram Research, Inc.
XML is a structured data representation language with strong support from
every corner of the computing world. Mathematica will soon support
expression format for representing XML data. This talk will include an
overview of the XML representation and the XML import and export
processes. Examples utilizing Mathematica's symbolic manipulation
facilities to extract and transform XML data will be presented.
Imran Rashid, Wolfram Research, Inc.
NotebookML is a format for saving a Mathematica notebook as an XML
This talk will explain the motivation behind NotebookML and how it can be
used in XML-based systems, specifically, the relationship between
NotebookML and XML; the relationship between NotebookML and other XML
specifications; generating NotebookML within Mathematica; using NotebookML
with “standard” XML applications, e.g., XSLT & SAX; and displaying
NotebookML on the web with CSS.
Imran Rashid, Wolfram Research, Inc.
XML has quickly become one of the hottest buzz words in the IT industry.
This talk will bring the user up to speed on what XML is and what it can
be used for. In addition, the talk will address some XML related
specifications, such as DTDs, Namespaces, XSLT, and Schemas. The talk will
touch on used XML APIs, like SAX and DOM. Finally, the talk will briefly
touch on XML functionality in Mathematica, with more detail being
in related talks.
Discrete Optimization in Mathematica 4.2
Daniel Lichtblau, Wolfram Research, Inc.
Often in optimization problems arise that are discrete in nature. For
example, there are the standard problems of integer programming; these are
similar to continuous optimization except that one needs to restrict some
or all variables to be integer or 0-1 valued. Other examples include
assignment problems, set coverings by families of subsets, set splittings,
routing problems, and more. We discuss application of Mathematica's
numeric optimization technology to such problems in discrete optimization.
We will illustrate nutsandbolts details of how to cast problems in a
framework that NMinimize can handle and will illustrate with a
examples. We will say a bit about tuning considerations.
(updated May 17, 2002)
High-Precision Approximate Solutions for Nonlinear 2x2 Systems
of First-Order IVPs with Periodic Solutions
Stephan V. Joubert, Technikon Pretoria and the University of Southern
We provide an interactive routine for producing high-precision approximate
solutions (truncated Fourier Series) for low degree nonlinear 2x2 systems
of first-order ODEs (IVPs) with periodic solutions. The routine is
primarily meant for use in the classroom by undergraduate and graduate
students, but might also be usefull to technologists and scientists
working with such systems for which no obvious closed-form solution
Brett Champion, Wolfram Research, Inc.
NumericalMath`NMinimize is a new standard add-on package for
solutions to constrained and unconstrained global optimization problems.
The package provides several derivative-free methods for finding global
minima. This allows us to solve problems where the objective function is
not differentiable (or even continuous.) The methods are robust enough to
allow us to find global minima and are not easily trapped by local minima.
(full version 28MB)
Mathematica Notebook (short
Stability Investigation of the Exact Symmetrical Solutions of
the Plane Newton's Many-Body Problem
Alexander Prokopenya, Brest Technical University
It is well known that the many-body problem is very important for a wide
variety of applications, ranging from theoretical physics to celestial
mechanics and astrodynamics. But the differential equations of this
problem are in general not integrable. So, according to Poincare’s ideas,
the further progress in this field will be connected with finding new
classes of the exact particular solutions of the many-body problem and
investigating their stability. But the stability investigation turned out
to be the most complicated problem of qualitative theory of differential
equations. For example, solving of the stability problem of the Lagrange
triangular solutions has taken about 200 years, whereas stability of the
homographic and homothetic solutions in the three-body problem still
remains unsolved. However, now we have new computation systems, for
example Mathematica that essentially increase our ability to do
numerical and symbolic calculations. So there is a hope that we can push
considerably both the many-body problem and the theory of dynamical
systems generally using modern computer algebra systems.
Advanced J/Link Programming
Todd Gayley, Wolfram Research, Inc.
This session will go beyond the basics to examine some techniques that are
often overlooked by J/Link programmers, including the Expr class,
Java object references to Mathematica, using the front end for
rendering services, fun tricks with Periodicals ("How to Make the Kernel
into a Web Server in 20 Lines of Mathematica Code"), and tips for
debugging your Java programs. We will also look at the major new features
of J/Link 1.2 and discuss plans for J/Link in the future.
Todd Gayley, Wolfram Research, Inc.
This talk will provide an introduction to J/Link, a toolkit that
integrates Java and Mathematica via MathLink. You will learn
is and how to use it both to call Mathematica from Java, and Java
Mathematica. Demonstrations will be presented to give you an idea
sorts of things that users and developers can do with it. If you have ever
wanted to call Mathematica from an external program, or access
functionality from within the Mathematica environment, but shied
MathLink programming, then come take a look at J/Link.
Value-Added Services with webMathematica
Hohmuth, Wolfram Research, Inc.
webMathematica opens up exciting new possibilities for
developers. For example, it is now possible to sell or rent
services, or to build specialized web sites that allow subscribers to do
highly advanced calculations through a standard web interface. This talk
will give an overview of Wolfram Research licensing and support programs
for developers interested in building webMathematica-enhanced web
It will also provide a forum to discuss your ideas.
Creating Notations, Templated Structures, and Tensors
Jason Harris, Wolfram Research, Inc.
This talk will cover creating notations in Mathematica. It will
from creating basic notations to details on creating templated structures
via TagBoxes and the corresponding notations to use for these
With these techniques a "proper" implementation of Dirac's Bra Ket
Notation will be presented. Several other advanced features of the
notation package, such as adding input aliases and the Action
be mentioned. These techniques will culminate in a presentation of a
notation for Tensors, which fully works in both input and output.
a highly efficient algorithm to canonicalize tensorial expressions will be
demonstrated. Functioning with the created tensorial notation, by an
innovative technique this algorithm circumvents the dummy index relabeling
problem of tensor calculus. The complete algorithm handles linear
symmetries such as the Bianchi identities as well as fullAy accommodating
partial derivatives and mixed index classes.
Oleg Marichev and Michael Trott, Wolfram Research Inc.
Currently the web site functions.wolfram.com
includes more than 33,000
formulas for the about 250 elementary and special functions that are
available in Mathematica. The structure and organization of the web
is discussed in detail. An overview of how to manage and update this large
mathematical knowledge base and how to deliver various format types (e.g.,
Mathematica notebooks, HTML, and PDF) is given. Various
ways to find new formulas using Mathematica will be demonstrated.
development directions will be outlined.