Mathematica Journal
Volume 9, Issue 4


In This Issue
Tricks of the Trade
In and Out
Trott's Corner
New Products
New Publications
News Bulletins
New Resources

Download This Issue 

About the Journal
Editorial Policy
Staff and Contributors
Back Issues
Contact Information

T R O T T ' S C O R N E R
Michael Trott

Hierarchical Menus versus Mathematica Patterns

How should a mathematical search be specified? On the one hand, we are all used to a Google-style search box that specifies words or phrases to occur or to not occur. But specifying a mathematical formula through text is not standardized. Too few people are fluent enough to specify MathML-based searches. In addition, many of the more complicated special functions are not immediately available in the MathML markup language. Similar remarks hold for -based searches. Mathematica patterns are a natural way to specify semantic mathematics programmatically. While the deployed search page allows specifying a Mathematica pattern, even this turns out not to be optimal. While in principle one could specify any formula present on the Wolfram Functions site in this way, in practice there are two main disadvantages.

1. Mathematica patterns are primarily used for representing structural content. While for many functions there is a canonical isomorphism between the structure (say Sin) and the mathematical meaning (the function sin), for more complicated expressions the two worlds are no longer isomorphic.

There are typically many structurally inequivalent ways to encode the same expression (Sqrt[x] versus Power[x, 1/2], Exp[x] versus E^x, or D versus Derivative). Putting the burden of specifying all mathematically equivalent expressions on the searcher is inconvenient.

2. Specifying that a certain expression should (or should not) appear on one side of an equation, asymptotic expansion, or inequality leads to relatively large patterns.

To make searching convenient (without assuming prior knowledge of any computer language), we decided to construct a pull-down menu-driven interface. It allows users to specify functions that occur (or do not), constants, numbers, and operations on equations, which can appear on the left-hand side, right-hand side, or both sides. Functions are grouped according to the scheme already in use on the site, such as Elementary Functions, Bessel and Airy Functions, and so on.

Presently the following operations can be specified. About half of these operations are currently not represented as built-in functions in Mathematica.

FilledSmallCircle Differentiation FilledSmallCircle Series expansion FilledSmallCircle Indefinite integration FilledSmallCircle Definite integration FilledSmallCircle Summation FilledSmallCircle Product FilledSmallCircle Limit FilledSmallCircle Continued fractions FilledSmallCircle Singularities FilledSmallCircle Branch cuts FilledSmallCircle Branch points FilledSmallCircle Analyticity boundary FilledSmallCircle Discontinuity sets FilledSmallCircle Ramification indices FilledSmallCircle Wronskian FilledSmallCircle Fourier transform FilledSmallCircle Inverse Fourier transform FilledSmallCircle Fourier cos transform FilledSmallCircle Fourier sin transform FilledSmallCircle Laplace transform FilledSmallCircle Inverse Laplace transform FilledSmallCircle Mellin transform FilledSmallCircle Inverse Mellin transform FilledSmallCircle Hilbert transform FilledSmallCircle Hankel transform

About Mathematica | Download Mathematica Player
© Wolfram Media, Inc. All rights reserved.