ezunits and solve



On 2012-10-31, Stavros Macrakis <macrakis at alum.mit.edu> wrote:

>  I'd suggest you use multiplication (*) instead of the "`" operator
>  throughout your calculation (e.g. 2*m instead of 2`m).

Multiplication makes it more difficult, both programmatically and
visually, to separate the unit from the quantity. E.g. when b, d, f, and
h are units, how shall we distinguish units from quantity in
a*b*c*d*e*f*g*h ? How about a/c*b/d*e/g*f/h ? ('ordergreat' helps a
little, but not nearly enough, and brings its own strangeness.)

Indicating unit and quantity with a function or operator makes it
trivial to separate the two, both programmatically & visually.
Indicating a dimensional quantity with a function is workable (e.g.
units(a, b)) but needlessly clumsy. When one writes dimensional
quantities on paper, they are just separated by a space, so I tried to
pick an operator which doesn't take much ink, so to speak.

> I don't think the ezunits convention works very well with the rest of
> Maxima in general; the handling of units should probably be rethought.

I certainly put a lot of thought into ezunits, so I suppose it must show
the limitations of my thinking. As ever, anyone & everyone are free to
suggest something else, or better still, write the code.

best

Robert Dodier