The conference was an invaluable source of developer information and an excellent
opportunity to meet Wolfram Research staff and other *Mathematica* experts from
around the world. The conference featured tutorials, forums, an open computer
lab, special events, and many informative, practical sessions.
Listed below are many of the presentations.
*(If you don't have your own copy of Mathematica,
you can download MathReader to view
the talk notebooks.)*
*Mathematica*
Tutorial: A New Resource for Developers
Lou D'Andria and David Withoff, Wolfram Research, Inc.
Preview a forthcoming self-guided, introductory
*Mathematica* tutorial. This session is intended both for anyone
interested in a general introduction to *Mathematica* and for
developers interested in including tutorial materials in books, packages,
and courseware. Suggestions and feedback about the beta tutorial are
encouraged. The tutorial will be covered in four parts: overview of the
tutorials and basic calculations, built-in functions for numerical and graphical calculations and graphics,
notebooks and typesetting, and *Mathematica * programming
and external files. HTML | *Mathematica* notebook
**Applications of ***Mathematica* |
*Artlandia:* Turning * Mathematica* into a Graphic Design Machine
Igor Bakshee, Artlandia, Inc.
Teaching *Mathematica* to make interesting patterns, ornaments,
wallpaper images, and other types of decorative compositions and algorithmic art is easy with
*Artlandia*, the first *Mathematica* application for creative graphic design. The
demonstration shows how *Artlandia*, now in Version 1.5, brings the design process within
the reach of a student or hobbyist.
*Artlandia* further suggests a stream of plausible solutions and makes you
magnificently productive in your design
work. HTML | *Mathematica* notebook
**Chemical Structures as ***Mathematica* Expressions
Robert Nachbar, Merck Research Lab A simple hierarchical data structure
(*Mathematica* expression) has been developed to represent the
constitution (topology) of organic chemical structures. This representation
supports the notion of chemical valence and stereochemistry. *
Mathematica* expression patterns and built-in functions can be used to
perform chemically meaningful transformations. The important aspects of the
implementation, as well as its strengths and weaknesses, will be presented.
Application of this methodology to chemical constitution optimization,
nonrigid molecular symmetry group (automorphism group) construction, isomer
counting, and chemical reactivity will be
described. HTML | *Mathematica*
notebook
**Courseware Development**
Paul Abbott, University of Western Australia
Paul Wellin, Wolfram Research, Inc.
This talk will present ways of integrating *Mathematica* into teaching
materials. By itself, *Mathematica* is an excellent teaching tool--but it is not
ideal for all applications. However, because it is extensible
(using *MathLink*) and customizable (custom front end and kernel), it can
form the basis for a wide range of teaching tools. As an example of such tools,
*Calculus Live* (an electronic mathematics text that uses a customized interface and kernel)
and its associated authoring tool will be
demonstrated. HTML | *Mathematica*
notebook
*Database Access Kit*
Lars Hohmuth, Wolfram Research, Inc.
*Database Access Kit* provides a flexible, powerful, and convenient interface to
ODBC-compatible relational databases like Oracle; Microsoft Access, FoxPro, and
SQLServer; Sybase; Informix Information
Server; and DB2. Using Microsoft Windows and the ODBC control panel, *Database
Access Kit* also provides full access to a
number of flat-file databases like Excel and dBase files. This demonstration of the
release version shows some short examples of how
*Database Access Kit* can be used to query, analyze, and manipulate information
stored in database tables. It will also show how *Database Access Kit* can be
integrated with other * Mathematica* application packages and will
discuss further development plans for *Database Access
Kit*.
*Mathematica* notebook
*Digital Image Processing*
Mariusz Jankowski, University of Southern Maine
*Digital Image Processing* is an add-on package for digital
image processing. Completely compatible with *Mathematica* 4, this package
is designed for speed and functionality and features a comprehensive collection of over one hundred
two-dimensional linear and nonlinear image operators for common measurement,
analysis, and image-enhancement tasks. Package performance, functionality,
and documentation will be discussed. HTML | *Mathematica*
notebook
*MathCode C++*
Mats Jirstrand, MathCore AB In this demonstration an overview of the application
package *MathCode C++* will be given. *MathCode C++* generates
optimized C++ code from *Mathematica* programs. Basic functionality as well as application examples, all
from a user-oriented point of view, will be covered. The objective is to demonstrate some
of what can be achieved by combining powerful algorithm development and
visualization in *Mathematica* with optimized code generation from
*MathCode C++*.
In this demonstration, an overview will be given of possible uses of the application
package *MathCode C++*, which generates optimized C++ code from *Mathematica*
programs. We will list the program's basic functionality and give examples of what
kind of users benefit from the possibilities that *MathCode C++*
can provide. The demo includes some application examples to illustrate the
usage of *MathCode C++*. The objective of this talk is to give a
flavor of what can be done with code generation with the powerful algorithm
development and visualization environment that *Mathematica* provides.
HTML | *Mathematica*
notebook
*Mathematica* Function Definition Visualization
Keehong Song, Pusan National University
The three golden rules for a successful project: education, education, and education.
Certainly they hold for many * Mathematica* projects. * Mathematica* proficiency is achieved
with an adequate command of* Mathematica* programming language. *Mathematica* function
definition animation is a visual representation of the functional language. This talk is designed for
anyone looking for an effective way of teaching *
Mathematica* functional programming language. Project website
**mathStatica and Assumptions Technology**
Colin Rose, Theoretical Research Institute
The package "mathStatica" provides a completely general
toolset for doing mathematical statistics with *Mathematica*. Common
statistical operators are defined for taking expectations, finding
probabilities, deriving transformations of random variables, and so on--all
from first principles. By taking full advantage of the latest Version
4 assumptions technology, these functions automatically yield
exceptionally clean and neat symbolic
output. HTML | *Mathematica* notebook
**Nonlinear
Constrained Optimization Using Penalty Functions**
Asghar Bhatti, University of Iowa
Constrained optimization problems arise naturally in many
different disciplines. A structural engineer designing a multistory
building must choose materials and proportions for different structural
components to create a safe structure that is as economical as possible. A
portfolio manager for a large mutual fund company must choose investments
that generate the largest possible rate of return for its investors while
keeping the risk of major losses to acceptably low levels. A plant manager
in a manufacturing facility must schedule the plant operations such that
the plant produces products that maximize the company's revenues while staying
within the available resource limitations. All of these situations can be
formulated in terms of a constrained optimization
problem. HTML | *Mathematica*
notebook
**Numerical
Calculations for Robotics in ***Mathematica*
Adam Bienkowski and Krzysztof Kozlowski, Poznan University of Technology
We will present how to use a list structure to solve fundamental problems in robotics,
namely inverse and forward kinematics and dynamics. Both symbolical and numerical
results will be presented for serial chains and topological trees robots. We will also
discuss how we handle problems arising from such large
calculations.
HTML | *Mathematica*
notebook
**Simulation of Forces:
Solution of the Inverse Dynamics in Classical Mechanics**
Robert Kragler, Fachhochschule Ravensburg-Weingarten
A.N. Prokopenya and N.I. Chopchits, Brest Polytechnic
Institute/Belarus
Given the path of a particle *r*=*r(t)*, then the
"inverse dynamical problem" is: what is the force *F(t)* acting on the
particle? The problem posed will be illustrated using the example of a particle moving frictionless
along a horizontal line and at the same time sliding on a rotating contour *C*.
Assigned a uniformly accelerated motion or harmonic oscillations, the
resulting equations are solved with *Mathematica*, and the shape of the contour
*C* is determined, which gives rise to the prescribed dynamical behavior of the
particle along a horizontal line. An animation is used to visualize the dynamics
of the system under investigation. HTML | *Mathematica* notebook | zip file (added
January 2000)
**Teaching and Learning via the Internet:
Math Everywhere Courseware**
Bill Davis, Ohio State University
J. Jerry Uhl, University of Illinois at Urbana-Champaign
Calculus&*Mathematica* lessons are the
foundation for internet-based remote instruction. The key to success is the
interactive lesson format and strong communication among participants:
students, teachers, and mentors. This talk will give an overview of the
courseware and a little bit of hands-on
action. Project website
**The Use of ***
Mathematica* in Control
System Engineering Neil Munro, UMIST
This talk will present several new facilities that have been
developed in the framework of *Mathematica*'s *Control System
Professional*. In particular, some alternative, attractive, and fully editable data
formats for systems described by state-space equations and transfer functions,
or transfer-function matrices, will be introduced, along with some new model data-formats such as
matrix-fraction forms and Rosenbrock's system matrix in polynomial form
and state-space form. The necessary new transformations to manipulate system descriptions between
these new formats have been implemented and will be demonstrated.
Additional system analysis tools to extend the existing controllability and
observability tests to the more general polynomial system matrix description
will be presented. An alternative, simple algorithm for generating minimal
state-space realizations will be introduced, and algorithms to reduce polynomial
matrix descriptions of a system to least-order (or minimal-order) form will be presented, along with
an algorithm to extract the greatest left- or right-matrix common divisor from two
polynomial matrices. The Smith standard form of a polynomial matrix has been
implemented, which enables the Smith-McMillan standard form of a rational
polynomial matrix to be determined. If time allows, a presentation will be made of some interesting results on
the accuracy and computing time of several pole assignment algorithms,
when used with system descriptions containing symbols, and a best choice will be suggested.
Also, an interesting extension of the optimal control LQR approach to the model
reference case will be discussed. PowerPoint presentation (added January 2000)
**Import and Export**
Paul Hinton, Wolfram Research, Inc.
*Mathematica* 4 provides a facility for importing and
exporting graphics, data, and text from the kernel. This talk will survey
some of the numerous options for fine-tuning interpretation and output,
provide an opportunity for developers to ask questions, and offer
suggestions for future supported formats. HTML | *Mathematica*
notebook
**Interactive Encyclopedias
Using the Web and ***Mathematica*
Eric Weisstein, Wolfram Research, Inc.
The internet revolution has ushered in a new information
age. However, much of the "information" currently available on
the web is incomplete and of uneven quality, or else available only
through subscription to specialized information services. Starting five
years ago, I began compiling and making available on the web
extensive encyclopedias of math and science intended for a general
audience, but containing detailed enough information to be useful to
a graduate student or research scientist. *Mathematica* has been used
extensively in the compilation and implementation of these encyclopedic
resources, and I am currently spearheading an initiative underway
at Wolfram Research to harness the power of *Mathematica* in the production of
"live," publicly available encyclopedias useful to practitioners
and students in many areas of mathematics, physics, and
engineering. HTML | *Mathematica*
notebook
**Interfacing ***Mathematica* with Your IT
Infrastructure
Roman Mäder, MathConsult
We will discuss available and forthcoming interfaces of *
Mathematica* to databases, front ends, online information services, and
web-based solutions. Examples from finance will show how * Mathematica* can become
a powerful environment for information
processing. HTML | *Mathematica* notebook
| project web site
**MathML**
Neil Soiffer and Robby Villegas, Wolfram Research, Inc.
MathML is the Mathematical Markup Language, an HTML-like language for putting mathematics
on the web. It is defined in terms of XML and is
an official recommendation of the World Wide Web Consortium (W3C).
This talk will give an overview of MathML and discuss *Mathematica*'s ability to
import and export web pages containing
MathML. HTML | *Mathematica*
notebook
**
Front End/Document Creation** |
**Authoring Notebooks**
Richard Mercer, Wright State University
I will discuss the entire process of creating and revising notebooks and
controlling their appearance, both on screen and in print. I will also
give advice about why and when you should use style sheets, tell what will happen
to you if you don't, and give a couple of examples illustrating what you can do with them. I
will also cover structured expressions, the Option Inspector (and its new documentation in Version 4),
style sheets, and the `BoxForm` (or "Show
Expression"form) of cells. HTML | *Mathematica* notebook
**How to Create Buttons**
Paul Hinton, Wolfram Research, Inc.
Buttons provide a means of creating highly interactive
notebooks; however, writing your own buttons to perform nonstandard tasks
can be frustrating. This talk will discuss buttons from a fundamental
viewpoint and demonstrate how to create and test
them. HTML |
*Mathematica* notebook
**Programming the Front End**
John Novak, Wolfram Research, Inc.
This is an introduction to front end programming for
experienced *Mathematica* programmers. The focus is on the structure and use
of kernel notebook operations and on connecting them to
buttons. HTML | *Mathematica* notebook
**Generally
Efficient Numerics Programming in ***Mathematica*
Rob Knapp, Wolfram Research, Inc.
*Mathematica* 4 allows you to use and write numerical
procedures that are not only efficient but also very
general; they can work both with machine-hardware numbers and with
arbitrary-precision software arithmetic. In this talk, I will explain some
of the details behind how efficient machine-number and arbitrary-precision
arithmetic and numerical functions work and will show, with a variety of
examples, how you can write your own efficient and general
programs.
*Mathematica* notebook
**Numerical Solving of ODEs
and PDEs in ***Mathematica*
Rob Knapp, Wolfram Research, Inc.
This talk will look into ` NDSolve` in some detail. Problems
arising from the numerical solution of ordinary differential equations
will be explored, including higher-order differential equations and systems of equations, initial-
and boundary-value problems, and stiffness. The current state of the
numerical solver for partial differential equations will be outlined. The various types of errors that
inevitably arise will be highlighted. A short preview of upcoming features for `NDSolve`
will also be included.
*Mathematica* notebook
**Enhance Your Code Performance:
Effective Data Structures Techniques in ***Mathematica*
Daniel Lichtblau, Wolfram Research, Inc.
Many people routinely make good use of *Mathematica*'s built-in
functions. It is less well known when and how to utilize more
exotic programming methodologies such as hash tables, tree
structures, and variable-length arrays. Moreover, *Mathematica*'s
evaluation semantics can lead to performance problems
for naive implementations of these methodologies. In a few detailed
examples we will show how to implement and manipulate appropriate
data structures for several common types of problems and how to analyze
the performance in order to assess algorithmic quality and complexity.
We will also suggest ways in which to overcome typical
performance problems. HTML | *Mathematica*
notebook updated July 2000
**Working with Unevaluated Expressions**
Robby Villegas, Wolfram Research, Inc.
Most experienced * Mathematica* programmers will eventually encounter tasks or
applications in which they need to manipulate expressions without letting
them evaluate. For instance, typesetting and interpretation rules, debugging
programs, code analysis tools, and constructing code on the fly at run time
are all areas of programming that require careful control of evaluation.
Since * Mathematica* automatically evaluates arguments and return values
of functions, building up a result without exposing intermediate stages
of work to the evaluator requires subtle techniques that even seasoned
*Mathematica* programmers sometimes find elusive. In this tutorial, I
will demonstrate situations in which evaluation control is important,
pointing out common pitfalls and providing useful tools and techniques
along the way.
HTML |
*Mathematica* notebook
**New Tools for
Package Developers and Authors**
André Kuzniarek, Wolfram Research, Inc.
This session will cover the documentation palette
and AuthorTools, two new tools, and show how they can be used to
quickly create package documentation and prepare materials for
publication.
*Mathematica*
notebook
**Publishing Using
*** Mathematica* 4
Al Hibbard, Central College
Have you considered using * Mathematica* 4 to publish an
article or a book? This session will focus on some of the issues and
concerns involved in using * Mathematica* to produce a book from the
beginning through the end, including style sheets and environments,
footers, headers, dimensioning, design, and page layout. We will
also look at the extra concerns involved in producing a book that includes
documentation similar to the definition boxes found in the Help Browser.
Comments will be based on recent experience coauthoring * Exploring
Abstract Algebra with Mathematica* and publishing it with
Springer-Verlag as well as on experience writing many of the initial files with
Version 2.2, converting them to Version 3.0, and then
preparing PostScript files with Alpha 4.0. Project
website
| |