Quote:
Is there any way to make the 50G return the real cube root of a negative number?
Hi,
I have no HP-50G, only a HP-28S. As your 50g, my 28S returns one of the two conjugate solution when keying 8 CHS 3 INV ^ ---> (1.0000,1.7324)
A first way to get only the real root is to use the SOLVER menu or the ROOT function:
'y^3=-8' 'y' 0 ROOT ---> 2.000
A short program may spare same keystrokes:
\<< 'y' DUP 3 ^ ROT = SWAP 0 ROOT \>> 'RCRt' STO
Stack:
1: -8 [RCRt] ----> 1: -2.0000
1: -27 [RCRt] ----> 1: -3.0000
1: 125 [RCRt] ----> 1: 5.0000
1: -125 [RCRt] ----> 1: -5.0000
This little code determine the real cube root of any positive, null or negative real number at stack level 1:.
Any complex number may lead to an "Bad Guess(es)" error stop, as ROOT may only handle real number.
A second easy way to get the real cubic root may be using absolute value of the negative number to avoid switching to complex solutions domain :
8^(1/3) returns 2.000 which may be sign changed in -2.0000
\<< DUP SIGN SWAP ABS 3 INV ^ * \>> 'CRt' STO
Stacks:
1: -8 [CRt] ----> 1: -2.0000
1: -27 [CRt] ----> 1: -3.0000
1: 125 [CRt] ----> 1: 5.0000
1: -125 [CRt] ----> 1: -5.0000
This second version is faster than the first one. Giving a complex number as entry returns a complex number
Edited: 15 Oct 2008, 6:02 p.m.