6.0 Math Tips
[6.1] Simulate poly function of TI-85/86
The poly function of the TI-85 and TI-86 can be simulated with this function:
czeros(polyeval(list,x),x)→poly(list)
This defines a function poly() which returns the real or complex roots of a polynomial in x defined by
the coefficients in the argument list. The coefficients are in order of descending degree. For example,
poly({1,-11,30})
solves for x in the polynomial x
2
- 11x + 30 = 0, and returns {5, 6}. Remember to include the zeros for
powers with zero coefficients. For example, the list would be {4,0,-1,-2} for the polynomial 4x
3
- x - 2.
(credit to Ray Kremer)
[6.2] Use rectangular complex mode for faster results
Seemingly simple vector calculations can execute very slowly on the 89/92+ in Polar and Exact or Auto
modes. This example
(
250
ø
85
)
&
(
121
ø
3
)
(
250
ø
85
)
+
(
121
ø
3
)
returns the correct result in less than 1 second in Approx, Degree and Polar modes. However, in Exact
or Auto modes, the calculator might seem to 'hang up', but really the answer just takes a long time to
calculate. A Texas Instruments TIcares representative offers this explanation.
Thank you for your recent correspondence with Texas Instruments. Yes this
behavior is possible: We internally calculate with expressions in the
rectangular forms that are then converted to a polar form. Converting from
a very complicated rectangular form to polar form in the exact or auto
mode, can be extraneous on our TI-89 operating systems. Internal complex
calculations are done in rectangular form. So, the polar complex numbers
are converted to rectangular form. Then, the computation (a * b) / (a + b)
is performed. Finally, the resulting rectangular complex number is
converted to polar form. It's a difficult process. The result takes about
45 minutes on my TI-89 and looks like this.
(30250*sqrt(62500*(cos(3))^2*(cos(5))^4+(125000*(sin(5))^2*(cos(3))
^2+60500*sin(5)*cos(3)+14641)*(cos(5))^2+60500*sin(3)*cos(5)+62500*(sin(5))
^4*(cos(3))^2+60500*(sin(5))^3*cos(3)+14641*(sin(5))^2+62500*(sin(3))
^2)/(60500*sin(3)*cos(5)+60500*sin(5)*cos(3)+77141) < atan((121*cos(5)
+250*sin(3))/(250*cos(3)*(cos(5))^2+sin(5)*(250*sin(5)*cos(3)+121))))
One of the important lessons in computer algebra is that simple looking
input may generate very large exact output and may take a great deal of
time to compute. If fast times or small output is desired, it is sometimes
best to interrupt a computation and approximate it. The approximate answer
6 - 1