Re: CirclePlus precedence and bigoplus
- To: mathgroup at smc.vnet.net
- Subject: [mg36298] Re: CirclePlus precedence and bigoplus
- From: lscharen at d.umn.edu (Lucas)
- Date: Fri, 30 Aug 2002 01:19:24 -0400 (EDT)
- References: <akkbvs$7u2$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
> Lucas, > > I'm certainly not competent to give you any answer, and me too, I'd be eager > to hear such -- hoped Wolfram's to react; anyway, here is my opinion. > > PrecedenceForm is only for parenthesizing at output. > > Although we have MakeExpressions to add semantic actions to the Mathematica > "compiler" (if we may call such the transformation from input string, i.e. > "language", to the internal representation as indicated by FullForm i.e. > "code"), we cannot influence the Mathematica syntax proper, i.e. parsing. > The operator precedence rules however are part of that (esp. needed for box > formation). So I can't see a way to reach your goal. > > Now, I don't know what your ordinary Plus shall designate. If it's only > abstract, i.e. you don't use it for numeric calculation, you possibly might > interchange the roles of Plus and CirclePlus > > In[6]:= a \[CirclePlus] b + c \[CirclePlus] d > Out[6]= a\[CirclePlus]b + c\[CirclePlus]d > > As for BigCirclePlus (if you still need it after the reassigned meanings) > I'd try to define a palette, but perhaps this is not possible to the extend > you desire. I never tried. > > Another approach would be to use Union and Intersection for "low precedence" > plus and low "precedence times" (or \[Subset]; \[Superset] or \[And]; \[Or] > or \[Therefore];\[Because] or ...). > > The ultima ratio is to write a new front end. > > But, if I were you, I'd ignore these kind of problems at first and set up > the package fully functioning (with 1D input), apply it to your problems and > investigations, and finally, when time comes to publishing, at output > formatting you have quite a lot of choices. > > I'm sorry, just wanted to keep the discussion alive, since anyway, this is > of much interest. Thank you for the insight. The "back-end" manipulation of my notation is actually quite simple -- just a list of expressions. If I had an appropriate OutputForm written then the effect would be: {expr1, expr2, ..., exprN} --> expr1 \[CirclePlus] expr2 \[CirclePlus] ... So certainly I cn get a functional package, but the final product should be notationally similar to the pure mathematical reference. I'm sure this is a goal shared by many. If anyone is curious about what exactly I'm up to, I'm attempting to implement a Clocked Objective Function package based (primarily) on these publications: A Lagrangian Formulation of Neural Networks I: Theory and Analog Dynamics A Lagrangian Formulation of Neural Networks II: Clocked Objective Functions and Applications Both are found in Neural, Parallel and Scientific Computations 6 (1998) 297-372, authors are Eric Mjolsness and Willard L. Miranker Thanks for all you help, -Lucas Scharenbroich -JPL / MLS Group