Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Function ISOL on HP 50 g

401 views
Skip to first unread message

andreito

unread,
Dec 21, 2009, 9:42:02 AM12/21/09
to
I am in the process of learning the feautures of this calculator
(Ihave been using the 41c for many years but eventually it died for
the last time and it was not worth to have it repaired-another time,
i.e.)
My problem is:

When trying to solve for t the equation of chapter 6 of the manual:

a*t^3-b*t=0

by using function ISOL, I get only one solution, i.e. t=0, while the
other two t= - sqrt(a-b)/a and t= sqrt(a-b)/a do not appear.
They do, however , if I use SOLVE.

Analog problem with SOLVEX , which gives me invariably no result { },
while with SOLVE (and adding 'x', of course) I get the correct result
(s).

I have tried with CAS->Complex on and off, but it looks like there is
no difference.
Is anybody out there who could hopefully and thankfully help ?
Sorry if, by being a newbie in this forum, I might have done something
incorrect.
andreito

John H Meyers

unread,
Dec 21, 2009, 9:47:32 PM12/21/09
to
On Mon, 21 Dec 2009 08:42:02 -0600, andreito wrote:

> When trying to solve for t the equation of chapter 6 of the manual:
>
> a*t^3-b*t=0
>
> by using function ISOL, I get only one solution, i.e. t=0, while the
> other two t= - sqrt(a-b)/a and t= sqrt(a-b)/a do not appear.
> They do, however , if I use SOLVE.

ISOL is not intended to find all possible solutions.

The original command, as it existed even in the original HP48 series,
is meant to do what its name implies, if possible -- manipulate
the expression or equation to ISOLate the selected variable
on one side of the equation.

The result in the original HP48 series is:

'a*t^3-b*t=0' 't' ISOL -> Error: Unable to Isolate

IMO, the HP49/50 series _should_ do the same for this equation,
and I would consider the result 't=0' to be a bug!

> Analog problem with SOLVEX , which gives me invariably no result { },
> while with SOLVE (and adding 'x', of course) I get the correct result (s)

There is no SOLVEX (which you imagine to mean 'X' SOLVE),
although you could create one for yourself:
\<< 'X' SOLVE \>> 'SOLVEX' STO

There is instead a more general SOLVEVX command, equivalent to RCLVX SOLVE
(do this manually, and you will see what's really happening)

Any variable name at all may be pre-stored into the 'VX' variable,
most easily via 'anyvar' STOVX

The CASCFG command (set up CAS in "standard" way)
also stores 'X' into 'VX'

Menu 120 shows SOLVE twice -- the original HP48 never allowed
any menu to be thus so ambiguous, but always made menu labels
which made clear what function was meant
(the first, above the letter "E," is actually SOLVEVX,
while SOLVE is associated with the "F" key)

[r->] [OFF]

andreito

unread,
Dec 22, 2009, 3:09:47 PM12/22/09
to
Thanks so much for the kind answer.

I apologize for having written SOLVEX instead of SOLVEVX,which is what
I meant (mere typing mistake). I am aware of the VX variable
(defaulting to X) and I have been using correctly SOLVEVX and not
SOLVEX as I erroneously wrote.

Now (and thanks to your explanations) I have re-checked everything and
found that the discrepancy was due to the letter x not being
capitalized. I have always been accustomed to use x and not X for
variable. By substituting X to x in the equation, SOLVEVX works now
OK. So this problem is over. (my fault!)

As far as ISOL is concerned, I am little puzzled, because instructions
on page 6-1 and 6-2 of the HP 50g User´s Manual , confirmed by same
pages of User's Guide, state :

"Function ISOL (Equation,variable) will produce the solution(s) to
Equation by isolating variable". (please note it mentions solution(s)
and not solution )

Statement is followed by an example , reporting the equation I quoted
and the three solutions (which are the same I get by using SOLVE) and
not only one of them.
However,even by writing different equations, I invariably get only the
first solution and never the other two( in case of a third degree
equation) or one (in case of a second degree equation). Hence my
request , as I thought that maybe I was doing something wrong or that
the other solution(s) could be found somewhere else in the calculator
by pressing the appropriate keys.

Again thanks

andreito

John H Meyers

unread,
Dec 22, 2009, 6:31:25 PM12/22/09
to
On Tue, 22 Dec 2009 14:09:47 -0600, andreito wrote:

> As far as ISOL is concerned, I am little puzzled, because instructions
> on page 6-1 and 6-2 of the HP 50g User�s Manual , confirmed by same
> pages of User's Guide, state :
>
> "Function ISOL (Equation,variable) will produce the solution(s) to
> Equation by isolating variable". (please note it mentions solution(s)
> and not solution )
>
> Statement is followed by an example , reporting the equation I quoted
> and the three solutions (which are the same I get by using SOLVE) and
> not only one of them.

The result of ISOL,
if it is to continue the function it performed on the 48 series,
must be a _single_ equation, with the variable to be isolated
on one side.

Here is the AUR's definition of ISOL (note, by the way,
that ISOL is not listed among CAS commands,
since it is an original HP48 series command):

Isolate Variable Command:

'symb1' 'global' -> 'symb2'

Returns an algebraic symb2 that rearranges symb1 to
isolate the first occurrence of variable global.

The result symb2 is an equation of the form 'global=expression.'

If global appears more than once,
then symb2 is effectively the right side of an equation
obtained by rearranging and solving symb1
to isolate the first occurrence of global on the left side of the equation.

If symb1 is an expression,
it is treated as the left side of an equation 'symb1=0'

If global appears in the argument of a function within symb1,
that function must be an analytic function, that is,
a function for which the hp49g+/hp48gII provides an inverse.
Thus ISOL cannot solve IP(x)=0 for x, since IP has no inverse.

[End quote]

The very next sentence in the AUR contradicts everything just said,
however, by saying: "ISOL is identical to SOLVE,"
because the description of SOLVE (which is a CAS command),
says: "Output: A zero or solution, or a list of zeros or solutions."

The definition of ISOL demands a single (usually analytic) function as output,
while SOLVE permits (and may deliver) a list of solution values as output,
sometimes even numeric solutions.

My conclusions:

The documentation contradicts itself,
the calculator contradicts the documentation,
and the ISOL command, once both fast and reliable on HP48 series,
is now left with bugs and non-usability on the 49/50 series,
its original mechanics having been stripped out and replaced
with something from the CAS which was apparently never worked out.

I once wrote a complete "triangle solver" for the HP48.
It worked with seven equations (three "sine law,"
three "cosine law," and one "sum of angles is a straight angle").
The solution for three unknown variables was obtained by using
ISOL three times to obtain a formula for one unknown variable
at a time, in terms of known variables, then evaluating
each right side to a numeric value.

The program can not work properly on HP49/50 series,
because the original ISOL command died with the HP48 series.

--

Virgil

unread,
Dec 22, 2009, 11:41:35 PM12/22/09
to
In article <op.u5c4y...@miu.edu>,

Perhaps in some future version of the CAS the ISOL command can be
restored to its original form.

andreito

unread,
Dec 23, 2009, 1:12:26 PM12/23/09
to

I believe, then, that , under the circumstances, the ISOL function is
to be forgotten altogether .It is the least of evils,as SOLVE or
SOLVEX can do the same job ( speaking of the last 49/50 versions, not
of the previous ones, where the form of ISOL was ,as you
say,different and much more useful).

I wonder what has happened to the traditional HP efficiency of the
past and I refer particularly to the HP 87 and 41c, where the
manuals were well printed, up to the point and...correct.I am lucky
that I do not have to use the calculator for professional reasons, but
only for fun and mainly for taking advantage of the RPN, which I
love (though I am afraid that some operations are more simple if
algebraic notation- I have hated since the times of the Texas
Instruments calculators- is being used).

Thanks again for help. I'll have most probably other questions to
ask,as I am proceeding in studying the manual and I will certainly
take advantage of this interesting forum and of your experience.

andreito

John H Meyers

unread,
Dec 23, 2009, 4:17:48 PM12/23/09
to
On Wed, 23 Dec 2009 12:12:26 -0600, andreito wrote:

> RPN, which I love (though I am afraid that some operations

> are more simple if algebraic notation - which I have hated


> since the times of the Texas Instruments calculators - is being used).

One can use 'algebraic expressions' anywhere in RPL programs or operations,
as desired, so I see no limitations to RPL, but RPL commands
are not as useful in Algebraic mode (e.g., stack operations are useless).

The Algebraic mode of the HP49/50 series,
as well as some physical keyboard re-shuffling,
was somewhat a cosmetic (marketing) makeover to disguise an RPL calculator
to pass as a look-similar thing to TI calculators,
while still having all the original power of its true bloodline.

The zaniest marketing claim of all was to declare
that there was something inside the HP49G called "HP Basic"
(sounding comparable to "TI Basic")
which a decade of archeological digging has yet to actually find :)

[r->] [OFF]

Gurveer

unread,
Dec 23, 2009, 6:27:35 PM12/23/09
to

I'm not sure if I understood it right about the possibility of answers
using ISOL, so please forgive me if I'm mistaken. What I tried on my
HP 50g was, I put the equation you mentioned, 'a*t^3-b*t' and the
variable 't' on the stack. It results into one solution i.e., 't=0' if
system flag 1 is set indicating it just shows the principal value. But
if that flag is turned off to general solution, it spits out the three
roots of this equation viz., { 't=0' 't=-SQRT(a*b)/a' ' t=SQRT(a*b)/
a } where SQRT represents the square root notation. Hope that
works.:-)

Regards,

Gurveer

John H Meyers

unread,
Dec 23, 2009, 8:39:10 PM12/23/09
to
On Wed, 23 Dec 2009 17:27:35 -0600, Gurveer discovered:

> What I tried on my HP 50g was,
> I put the equation you mentioned, 'a*t^3-b*t' and the
> variable 't' on the stack. It results into one solution i.e., 't=0' if
> system flag 1 is set indicating it just shows the principal value. But
> if that flag is turned off to general solution, it spits out the three
> roots of this equation viz., { 't=0' 't=-SQRT(a*b)/a' ' t=SQRT(a*b)/
> a } where SQRT represents the square root notation.

Seems like appropriate output for SOLVE,
although not for the original ISOL command,
which should output only one expression per input expression
(an output list on "G" series if, and only if,
the input is itself a list, and "unable to isolate"
when a single result is not possible).

Although the HP49/50 AUR states that ISOL is now equivalent to SOLVE,
which from this example sounds believable, inspection of ROM
(via "Nosy") reveals nothing in common that I can find.

If ISOL was actually meant to be replaced by SOLVE,
why wasn't space saved by just invoking SOLVE directly?

Thank you for discovering the dependency of ISOL upon
system flag 1. As Maxwell Smart might say,
"would you believe" that at the end of ISOL,
if the result would otherwise be a list and the flag is set,
then it returns just one element of the already developed list?

Aside from these differences in returning a list of alternatives
where the original ISOL command would have said "unable to isolate,"
the CAS version of ISOL also requires mode changes,
requires pre-deletion of any variables in the expression,
and I believe may return very different results for
integer vs. real numbers in the original expression.

It also takes 15 times as long to execute, by the way,
for formulas used in the triangle solver that I previously mentioned,
which was another "app killer" for that originally efficient program.

There may have been no alternative to handing the ISOL command
over to the CAS, if original supporting HP48 internal algebraic
functionality was gutted to make room for the CAS,
but ISOL did not come out unscathed.

[r->] [OFF]

Wes

unread,
Dec 24, 2009, 3:03:22 AM12/24/09
to
On Dec 24, 12:17 am, "John H Meyers" <jhmey...@nomail.invalid> wrote:
> The zaniest marketing claim of all was to declare
> that there was something inside the HP49G called "HP Basic"
> (sounding comparable to "TI Basic")
> which a decade of archeological digging has yet to actually find :)

I took "HP Basic" to mean programing in Algebraic Mode. The resulting
code looks something like TI Basic.

Below is an example HI-LO program taken from a past post
http://groups.google.com/group/comp.sys.hp48/browse_frm/thread/2a495bf45f31f7ab/abbcf32f3e63bc78

@ must be entered in ALGEBRAIC MODE
@ \|> is the STO key
\<< IP(RAND*100.) \-> N
\<< OBJ\->(INPUT("GUESS A NUMBER, 1-100","")) \-> G
\<<
DO
IF G>N THEN
OBJ\->(INPUT("TOO HIGH",""))\|>G
ELSE
IF G<N THEN
OBJ\->(INPUT("TOO LOW",""))\|>G
END
END
UNTIL G==N END ;
CLLCD() ;
MSGBOX(G+" IS CORRECT!")
\>>
\>>
\>>

Of course, I don't recommend doing this way, but I think that's what
was intended.

The only time I find Algebraic mode to be more convenient is when
doing recursive equations using Ans(1), Ans(2),...

-wes

John H Meyers

unread,
Dec 24, 2009, 5:15:33 AM12/24/09
to
On Thu, 24 Dec 2009 02:03:22 -0600, Wes wrote:

> I took "HP Basic" to mean programing in Algebraic Mode.

That's indeed what HP proffered as "Basic"

Your illustrative program, however, is "basically" RPL,
with a few special constructions needed to enter it in ALGebraic mode.

Not that actual "Basic" is at all a good programming language,
but just to point out how hard HP marketing tried
to make the HP49G appear like the TI calculator line.

> The only time I find Algebraic mode to be more convenient is when
> doing recursive equations using Ans(1), Ans(2),...

Plus the few expressions which can not be compiled at all in RPN mode,
due to a compiler bug, e.g. 'LIMIT(n^2,n=3)' or 'lim(n^2,n=3)'
(correct syntax, but compiler marks "=" as "Invalid Syntax")

The program posted by Wes can be entered directly in RPN mode,
by enclosing the entire source in back-quotes [`]

When viewed in RPN mode, the compiled program is found to be RPL,
but containing several individual back-quoted pieces.

By the way, can ALGebraic mode "source" be transferred directly as text,
using the transfer software, by first putting the calc into ALG mode?
(I've never tried this)

Basic? Bah! Humbug!

Merry Christmas anyway :)

.

0 new messages