|
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
| |