Re: Expression manipulation
- To: mathgroup at smc.vnet.net
- Subject: [mg88776] Re: Expression manipulation
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Fri, 16 May 2008 05:32:28 -0400 (EDT)
- References: <g0h4mp$lbo$1@smc.vnet.net>
John Fultz wrote: > I'm no expert at this, but I've seen other experts within Wolfram using the > AlgebraicManipulation palette to do simplifications on pieces of a large > expression similar to the ones you describe. Basically, they select a piece by > hand, apply the appropriate button from the palette, possibly re-evaluate to > combine like terms and/or save the current state of the expression, and iterate > again with the palette until they're satisfied. > > To aid in this, you may find structured selection in the user interface useful. > The user interface is aware of the structure of expressions and responds to > multi-clicking by selecting successively larger structurally complete elements > (important since the buttons in the palette would fail on structurally > incomplete elements). For example, double-clicking on an open or close > parenthesis will select the entire parenthesized contents. Double-click-drag > from there will then allow you to drag-select neighboring terms in their > entirety. Triple-click, quadruple-click, quintuple-click, and so on from any > given point will select successively larger structural elements. It's difficult > to explain in words, but easy to understand once you've observed it in action, > so feel free to experiment. > > The AlgebraicManipulation palette is available in both 5.2 and 6.0. > > Sincerely, > Back at version 4.0, I devised a package that did some algebraic manipulation using colour. The idea was that working on selections has two drawbacks - you can only select one piece of an expression at a time, and there is no audit trail of what happened in the notebook. Since, more often than not (at least with me) there is a need to backtrack, the lack of an audit trail can be very frustrating. Selected sub-expressions were coloured red with a palette item that wrapped Red[] (you could use a range of colours) around the expression and MakeBoxes/ MakeExpression rules converted this to a coloured expression (one of the problems that arose at 5.0 was that names like Red got used as names of colours - I should have read the cautions on using names reserved for WRI!). The package came with a lot of functions that picked out coloured expressions and did various things to them. It also came with a set of inert operations - such as an inert form of integration - that could be manipulated passively, but displayed normally. The idea was that perhaps you wanted to study making certain substitutions in integrals (say), and it really wasn't helpful if Mathematica just jumped in and returned a result regardless. Anyway, although I gave a talk about the package and it was downloaded by various people, there was not that much interest in the idea, and I never got round to updating the package. I also think in retrospect, there were probably better ways to do certain things. My main point is that I really feel that this is a big hole in Mathematica - that you can't easily use it to help out with developing derivations/proofs - except perhaps to check transformations that you have generated by hand. David Bailey http://www.dbaileyconsultancy.co.uk