Complex numbers and unit objects don't mix.
UFACT doesn't handle prefixed units properly. E.g., factoring
1_m into a unit expression will factor out all the occurences
of lengths, but factoring 1_mm will only factor one.
Also, there's a hack that may be useful with ^MATCH and vMATCH. The level-1
input is a list of the form { pattern replacement condition }. The condition
is apparently required to be an algebraic. This can be generalied by calling
a program:
Use a list of the form { pattern replacement 'name(arguments)' }.
In the variable 'name', store a program of the form:
<< -> arguments << program . . . >> >>.
For example, using the list:
{ '&A*&B' 'SQ(&A)' 'E(&A,&B)' }
with the following program in 'E':
<< -> X Y << X Y SAME >> >>
will provide a match that changes multiplication of any expression by itself
into the square of that expression. I don't believe there is any way to
accomplish the same match using a strictly algebraic object as the condition.
Quirks aside, HP did a fantastic job on the HP-48. I wish I'd kept a copy of
the suggestions I sent, because I'm having a hard time remembering any of
them that weren't implemented in the HP-48. (Conversion to base units, unit
factoring, units in algebraics, step into a program, and last menu are some
that I can remember.)
The HP-48 has really loaded the keys. It is a bit imposing at first, but
try using a 28 after a few days with the 48 -- the 48's functions feel rich
compared with the 28, which feels spartan by comparison.
-- edp (Eric Postpischil)
"Always mount a scratch monkey."
>UFACT doesn't handle prefixed units properly. E.g., factoring
>1_m into a unit expression will factor out all the occurences
>of lengths, but factoring 1_mm will only factor one.
*I don't understand. Can you give an example of what the 48 does and
what you expect it to do?
OBJ-> 3 ROLLD DROP OVER / UBASE *
It is provided so that you can write simple reduction rules, for example, to
convert 1_W to 1_J/s. Nothing more profound than that.