RE: Prefix notation
- To: mathgroup at smc.vnet.net
- Subject: [mg40574] RE: [mg40530] Prefix notation
- From: "David Park" <djmp at earthlink.net>
- Date: Thu, 10 Apr 2003 03:41:12 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Bobby, Another nice use for the prefix notation, @, is in writing compositions. It even looks a little like the composition symbol. Here is an example. Suppose we define translations T[v] and rotations R[angle, center] in the complex plane. T[v_][z_] := z + v R[theta_, a_][z_] := E^(I*theta)*(z - a) + a Then to perform a rotation of Pi/4 about 1, followed by a translation of 1, followed by a rotation of Pi/4 about 0 we write the composition... R[Pi/4, 0]@T[1 + I]@R[Pi/4, 1]@z E^((I*Pi)/4)*(2 + I + E^((I*Pi)/4)*(-1 + z)) David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ From: Dr Bob [mailto:majort at cox-internet.com] To: mathgroup at smc.vnet.net >> You make judicious use of what I guess is "infix" notation. >> Maybe you're minimizing the number of keystrokes one uses. It's actually called prefix notation. I just discovered functions called Infix, Prefix, and Postfix whose help entries make this clear. I like "@" when there's only one argument because, when I see "[", it's often hard to tell where the matching "]" is, and vice-versa. If I avoid some brackets by using "@" or "//", that makes it easier to visually match the remaining brackets, and "@" does save a keystroke, after all. I generally don't like "//", but it's handy for applying a function of one argument to a long and complicated mess. Sometimes, if the argument needs parentheses, I use f[arg] instead of f@(arg). I tend to use [] if there may be other arguments added later, even though there's only one argument at the moment. Evaluate the following: parabola[zero_] := (# - zero)^2 & parabola@3 parabola[3][x] parabola[3]@x parabola@3@x (parabola@3)@x x // parabola@3 (3 // parabola)@x 3 // parabola // x -- and you'll see that evaluation order might not be what we want or expect sometimes. In this example, I think "parabola[3]@x" might be easiest to read and write. I often use my patented (not really) "multi-click" method to decide what the evaluation order will be. In x // parabola@3, for instance, click three or four times in "parabola" and you'll see the selection expand (under Windows, anyway) in a way that corresponds to evaluation order. The "multi-click" method works for finding matching brackets too, if you already have them where they belong. Prefix notation helps me get them right, by eliminating some. Bobby On Tue, 8 Apr 2003 15:58:29 -0400 (EDT), Stewart Mandell <stewart at rentec.com> wrote: > > thanks for pointing out ComplexExpand to me. > > You answer lots of queries on the Mathematica NewsGroup. > You make judicious use of what I guess is "infix" notation. > Maybe you're minimizing the number of keystrokes onw uses. > I have to get use to this. > > regards, Stewart > -- majort at cox-internet.com Bobby R. Treat
- Follow-Ups:
- Re: RE: Prefix notation
- From: Murray Eisenberg <murraye@attbi.com>
- Re: RE: Prefix notation