Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.



[mg6136] Re: [mg6104] Using subscripts in variable _names_!!!
Posted:
Feb 23, 1997 12:20 AM


Hi Guy and MMa Group!
Your (Guy Delamarter's) complaint about MMa notation is exactly on target. (See below.) I don't have a solution but you might want to check out Scientific Word/Workplace at for commercial software which allows accessing MMa within a word processing/TeX enviornment. It has its own drawbacks as it provides for only a limited access to MMa. In particular, you can't access your own functions, but it does provide for subscripts in the standard way. It's designed for doing publishing, not mathematics.
In fact, your problem is an instance of a very much larger problem, and one which is the harbinger (hoefully) of a future system designed around the concept that the notation/language used by mathematics/mathematicians is of first and central importance, and must take precedence over program(ming) artifact.
In short, you (Guy), are expecting an (interactive) programming language designed by (primarily) programmers (not the mathematical content, though, presumably) to be similar to standard mathematical notation. However, the fact is, neither computational mathematics nor "very standard, accepted sort of notation" are up to it.
I have also used Macsyma since about 1974 at MIT and believe that, while MMa, Macsyma, Maple, ISETL, Prolog, etc., are major advances in computational power/convienence (I use/have used all together with TeX and Sci Workplace), for the most part, the "user languages" they provide are very poorly designed. All are kludges making no distinction between programming artifact, logically sound mathematical semantics, issues of representation etc., with far too many redundant and overlapping functions to learn, as opposed to a well thought out core of operations and data structures. This becomes very evident when one attempts to move into nonnumeric mathematics, e. g., combinatorics, computational geometry etc., etc.
However, mathematicians must also realize that algorithmic/representational oriented mathematics requires the introduction of a number of new concepts, as what you describe below as "very standard, accepted sort of notation" does not in fact exist, or at best is insufficient for the modern job required.
In particular, the concepts of Church's lambda calculus, (and Curry's combinatorial logic), and Lisp, e. g., the idea, among others, that a function can control the evaluation of its arguments/domain (special functions in Common Lisp, another kludge, in which the simplicity of the original Lisp got lost) is central to the semantics of the new computational mathematics and must be understood and incorporated into any implementation of it. (BTW, Slagle's Symbolic Automatic INTegrator (SAINT, 1961) and Joel Moses's Macsyma (1967) were both written in Lisp and precisely because they provided both a theoretical basis as well as a convenient one.)
A very simple example of the two approaches (computational versus "standard math") is the "quote" function of Lisp/MMa and the concept of the "identity" function in mathematics, and must somehow be combined so as to be viewed as the same sematic operation.
The "notational schema" of functional composition within "standard mathematical notation" must be enlarged to include primitive recursion and general recursion in some standard "notational schema". Delarative and "value" only type specifications must be differentiated from "programming state transition" type semantics, e.g., mathematical function definitions versus algorithmic transformation of representations of instantiated abstract mathematical structures, i. e., "declarative" versus "instatiation" semantics.
My personal belief is that something on the order of 2550 "notational schemas" of a very general, complimentary and nonredundant nature, complimented with the appropriate "data structures", will suffice for providing a common base for further extensions into specialized areas of mathematics incorporating add on packages etc.
The point of this "diatribe" is that the community is in a state of transition. The current sate of affairs in which the mathematics community is forced to put up with two parallel notations within which to express itself cannot long endure. The concepts/notation schemas are there, but it will take (a) new beginning(s) to build a "computer algebra" system which simultaneously provides the mathematical community an acceptable notation for communication with other humans as well as provideing a notation for representation/algorithmic specification.
I do not have all the answers, or for that matter, any of them, but I would like to see some organized attempt at understanding these long term (twenty five years) very important issues, Guy having brought a very good instance to our attention. The "efficiency" at which the community does future mathematics is at stake.
Sorry to get so long winded and hope this is not too much out of place for this forum.
Don J. Orser djorser@intrepid.net
>My department has finally purchased and installed Mathematica 3.0 and >I was looking forward to using variable names that LOOKED like the >variables I use in and read from technical documents. However, it >appears that Mathematica assumes that subscripts are array indicies. >I would gladly give up the ability to use subscripts as array >addressing and use square brackets instead, if I could then use >subscripts to denote unique names. For example, I would like it so >that (using TeX notation, where _ denotes subscript) R_{sub} is a >totally independent variable from R_{x}. As it stands now, the former >accesses the sub'th element of R and the latter accesses the x'th >element of R  and assumes R is some sort of array. In some cases >this is okay, in others it isn't. One case where it isn't is when I >want to define R_{sub} in terms of R_{x}. I obtain recusrsion in that >case. Another case is where I want to apply Clear to R_{x}, but not >R_{sub}. > >Since what I am asking for is the ability to write in a very standard, >accepted sort of notation, I would hope that 3.0 has a way of obtaining it. > >Thanks, >Guy Delamarter > > >============================================================================== >Guy Delamarter <delamart@callisto.pas.rochester.edu> >******************************************************************************



