Is there any configuration setting or parameter I am missing? Should I
use another function? SOLVE works fine with a trivial equation; when I
enter SOLVE(' X^2-4*X+8=0', 'X'), it returns {X=2-2*I, X=2+2*i}, which
is correct.
The TI-89 finds half the answer to the initial problem using the
complex solver command "cSolve(LN(X)+SIN(X)-X^2=0, X)" The TI-89
returns 0.490672, which is the real root. TI's real solver "solve"
finds the real root too. But the TI-89 fails to return the complex
root 0.8775 + 0.2558i
The tests were done with PC emulators for HP 50g and TI-89. Could
someone help, please? I would expect the HP 50g to actually find the
complex root, or at the very least the real root, since there is
consensus in the scientific community that HP 50g is superior to the
TI-89 for advanced math. Or is the TI-89 superior? I am trying to
decide which one is better for advanced math in order to purchase it.
Before someone answers that I should use Maple or Mathematica (how do
you think I obtained the complex root?), here goes the explanation:
I'm a professional mathematician who wants to use a CAS in a handheld
device for a research project. I have to do massive symbolic
computations while I move across large library's shelves, so carrying
a laptop is simply annoying.
> Hello everyone. I have a very simple problem in which the HP 50g fails
> miserably, and the TI-89 solves only by half. I cannot get the
> solution to a simple equation in the HP50g:
> SOLVE('LN(X)+SIN(X)+X^2=0', 'X') I receive the error: "SOLVE Error:
> Not reducible to a rational expression" I have changed the
> configuration parameters in MODE > CAS without success.
The SOLVE command on the HP can really only find rational roots unless
the solution variable is easily isolated. The same is the case on the
TI if you want exact answers. When the TI fails to find an exact root,
it tries a numeric approach. On the HP you get an error box instead,
and you'll manually have to try the numeric approach (the ROOT command
on the HP).
Finding the real root 0.490672... takes 14.9 seconds on the TI, while
ROOT does it in 1.1 seconds on the HP. Both only return one root
without an estimate on how many other potential roots exist. I think
the HP is better in this case (same features but faster performance).
> The TI-89 finds half the answer to the initial problem using the
> complex solver command "cSolve(LN(X)+SIN(X)-X^2=0, X)" The TI-89
> returns 0.490672, which is the real root. TI's real solver "solve"
> finds the real root too. But the TI-89 fails to return the complex
> root 0.8775 + 0.2558i
Warning: you are operating with different signs on your 'X^2' term - I
assume you in the latter case mean negative 'X^2', or else your complex
root is wrong. What you need on the HP is the great program SolveSys -
you can find it on hpcalc.org.
Now do X=A+B*i SUBST, copy the expression and do RE on one copy and IM
on the other, plug the two expressions into SolveSys and solve. Presto,
it spits out A=0.877484... and B=0.255824...
It seems complicated but it took me less than 30 seconds. I do not know
how to accomplish the same on my TI89. As with all numerical root
finding the real challenge is to know when you have found all roots and
then finally remove any false roots (the latter is usually easily done
by trial insertion of course).
Cheers,
Steen
In the HP48/48/50 series, the ROOT command finds the approximate real
root, as does the numerical solver (accessed by left shift 7 on the 49
and 50) and find the correct real root to 12 significant digits.
If you use the SOLVESYS library, available at http://www.hpcalc.org/,
different versions for the 48 versus the 49/50 series, you can
approximate several complex solutions as well as the real solution by
starting with complex guesses.
One such complex solution is about -1.39010-i*0.98289
Are you sure that X = 0.8775 + 0.2558i is a root?
On my HP49, 'LN(X)+SIN(X)+X^2' evaluates to 1.40912+0.89784*i for that
value of X.
"JBGM" <Litera...@gmail.com> wrote in message
news:1171225989.9...@l53g2000cwa.googlegroups.com...
Hp49g+ (50G) can solve this equation numerically. it is obviusly that
it can. :-)
you must use the command 'root' in this way:
in user rpl mode
3: 'ln(x)+sin(x)+x^2=0' the equation
2: 'x' the indipendent variable
1: 2. the initial value of the
variable
---> root
and you have the solution.
if you want complex solutions you must put a complex initial value for
x. With this command (root) you find only one solution....
About calculator cas : I haven't a TI89, but I think that both ti89
and hp49(50) are the most powerful calc with cas in the world. I like
a lot the hp cas because every day I discover new features like
particular systems flags for solve exact and simbolic big linear
sistems 70*70 :) :) :), ecc....and hp has a so powerful programming
language that the only thing that you can do i to have dreams...
I tried with checking that REALASSUME list had X and Y defined
and that the last flag in the Flag Browser said the Complex Vars are allowed
Then I tried:
3: ['LN(Z)+SIN(Z)+Z^2']
2: ['Z']
1: [(-1.,-1)]
MSLV
and I got (using FIX 2 setting to ease up the writing here)
1: [(-1.39,-0.98)]
What do you say to that folks?
Or you can use the solve equation screen. Use NUM.SLV (right shift 7),
menu 1, enter into equation 'ln(x)+sin(x)+x^2=0', move cursor to x and
hit solve.
What do you mean by "massive symbolic computations"?
You cannot do massive symbolic computations on a dinky little
calculator.
Besides, the example you give is hardly an example for a "massive
symbolic computation"...
> while I move across large library's shelves, so carrying
> a laptop is simply annoying.
I am sorry, but I have to ask: Do you have to do these calculations
while hanging upside down from those shelves? If so, then I can
understand your request, but I find your line of work, interesting, to
say the least. If not, then I have trouble understanding your
requirements. If you really are a mathematician, and if you really
need to do "massive symbolic calculations", then a calcultaor is not
the right tool. As a mathematician, you should also be more concerned
about using a tool that can do the job you need, than with the
"annoyance" of having to carry a 3-pound laptop, in my humble
opinion...
I wasn't even aware of MSLV. Thanks.
> What do you mean by "massive symbolic computations"?
> You cannot do massive symbolic computations on a dinky little
> calculator.
'Massive' is manipulation of large polynomials (multiplication,
integration, division) to find irreducible representations. Yes, it
can be done in a handheld. Yes, it is quicker in a full-size computer.
> Besides, the example you give is hardly an example for a "massive
> symbolic computation"...
But just an example of the device's mathematical capability.
> I am sorry, but I have to ask: Do you have to do these calculations
> while hanging upside down from those shelves? If so, then I can
> understand your request, but I find your line of work, interesting, to
> say the least. If not, then I have trouble understanding your
> requirements. If you really are a mathematician, and if you really
> need to do "massive symbolic calculations", then a calcultaor is not
> the right tool. As a mathematician, you should also be more concerned
> about using a tool that can do the job you need, than with the
> "annoyance" of having to carry a 3-pound laptop, in my humble
> opinion...
I'm comparing a new method to do something (sorry... confidential
information) with existing literature. I have about 300 books in my
list for which there is no digital version. I could: (i) checkout
books by the dozen and carry them in a cart to my office, or (ii) I
could find the two pages am interested of each book without leaving
the shelves and do the test I'm interested in. I will save many hours
by doing the test on the spot. That's all the info I'm giving. The
world is fairly rich and complex, so be less surprised when you do not
understand causes and reasons; you might be missing the rest of the
iceberg ;-)
The algorithm is simple: if (estimated hours saved * personal labor
hour cost per hour) - (cost of calculator + time invested in training
* personal labor hour cost per hour) > 0 then go calculator. So far, I
go calculator. BTW TI-89 seems to have superior symbolic manipulation
capabilities FOR MY PURPOSE. Look at http://technicalc.org/tifaq/?tivshp.htm.
HP 50g seems fairly superior in numerics.
> I have a very simple problem in which the HP 50g fails miserably
User error :)
> Should I use another function?
Getting warmer :)
> SOLVE('LN(X)+SIN(X)+X^2=0', 'X')
> Solve(LN(X)+SIN(X)-X^2=0, X) [different EQ on TI]
['LN(X)+SIN(X)+X^2=0']
['X']
[(0,0)]
MSLV ==> [ (.490672430034,0.) ]
['LN(X)+SIN(X)-X^2=0']
['X']
[(0,0)]
MSLV ==> [ (.877484133454,-.255824885891) ]
Better or different initial guesses
will yield faster or additional roots.
[r->] [OFF]
What guess value for ROOT are you using on HP?
Wit
> What guess value for ROOT are you using on HP?
Zero.
Regards
Steen
With guess value of 0 my TI-89 Titanium computes this in about 9 seconds,
but with guess value of 1 it does it in just 2 seconds.
Wit
On my HP49+, the ROOT command finds the real root of the equation in
under 1 second from either guess.
But MSLV won't work with a guess of 0 because LN(X) is not defined there.
> MSLV won't work with a guess of 0 because LN(X) is not defined there.
Didn't my examples work with one starting guess of [(0,0)] ?
In the real-valued numeric solver,
a single guess of 0 is actually equivalent
to the pair of guesses { 0 1 }
and single non-zero guesses are adjusted
by a very small amount to create a second starting guess.
I don't know anything more about how MSLV works,
but it did produce both real and complex answers
for the original examples, starting from [(0,0)],
although that may not have been the best place to start :)
[r->] [OFF]
The example you gave has next to nothing at all to do with symbolics.
Somewhat unexpected if what you are interested in is symbolics.
> The world is fairly rich and complex, so be less surprised when you do not
> understand causes and reasons; you might be missing the rest of the
> iceberg ;-)
I won't comment. How you want to do your work is really none of my
business.
You may disregard my idle comment on this.
> The algorithm is simple: if (estimated hours saved * personal labor
> hour cost per hour) - (cost of calculator + time invested in training
> * personal labor hour cost per hour) > 0 then go calculator. So far, I
> go calculator.
Maybe your algorithm is a bit too simple...
> BTW TI-89 seems to have superior symbolic manipulation
> capabilities FOR MY PURPOSE. Look athttp://technicalc.org/tifaq/?tivshp.htm.
> HP 50g seems fairly superior in numerics.
I am familiar with the differences. I agree that everything depends on
your specific purpose. There are cases where the TI may be the better
choice, for others the HP is better. Since you can try the caluclators
via their emulators, you can find out yourself, and answer your own
question much more reliable than any comparison on some website could.
Good luck with your work!
Are you married, Helen? I bet you're not and never will be. :)
reth
Unless, Reth, you are talking to a male troll,
who has plagued this newsgroup many years...
What a nice bunch of folks!
-[ ]-
Then you're using nSolve() and not Solve().
Regards
Steen
Hmm... With nsolve my results are about 6 seconds for guess value 0 and
about 1~2 seconds for guess value of 1...
Wit
Solve() do not provide a way to supply a starting guess, so you're
using nSolve() for your timings. Since you didn't know that, I guess
you were using the Numeric Solver app, which internally uses nSolve().
It's important to state how you solve a problem if we are to be able to
compare execution times.
Regards
Steen
> Are you married, Helen? I bet you're not and never will be. :)
> reth
What in Helens post warranted such a remark? Who is the troll here...
Cheers,
Steen
cZeros(ln(x)+sin(x)+x^2,x=-1-i)
-wes
You are not right. It's as easy as:
solve(ln(x)+sin(x)+x^2=0, x=0)
or
solve(ln(x)+sin(x)+x^2=0, x=1)
You may try it on your own.
> Since you didn't know that
I really know what am i doing.
Wit
Sorry, it's me who isn't clear enough; when you supply a guess to
Solve(), you jump straight ahead and use the numeric solver. So when
supplying a guess you might as well just use nSolve() from the start.
Cheers,
Steen
OK, it seems possible. But why there is difference in execution time
between solve and nsolve? I have checked this couple of times, and always
get the same results: about 9 seconds for solve and 6 seconds for
nsolve...
I am doing something like this:
Input: startTmr()->t:solve(ln(x)+sin(x)+x^2=0, x=0): checkTmr(t)
Output: 9
Input: startTmr()->t:nsolve(ln(x)+sin(x)+x^2=0, x=0): checkTmr(t)
Output: 6
3 seconds spent in parsing? ;)
Wit