"A system cannot do everything: There will always be some extremely nasty polynomials
which will frustrate it and cause it to fail to find some of the roots. A system should handle
most of the polynomials it is apt to encounter, but we cannot insist on perfection, lest the
program become a monster that demands more than its share of library space and
requires large amounts of running time looking for subtle difficulties that are not usually
present. We must, however, insist that in the nasty situations the system should
announce its difficulty, lest the trusting user be misled into thinking that all the roots have
been found, and with the precision he desires."
Considering that the TI-89 and TI-92 Plus are intended for educational applications, it is perhaps
reasonable that it fail to solve our example polynomial, which is, however, taken from a problem in
mechanical engineering (strength of materials). However, as Mr. Acton says, it is not acceptable that it
returns a clearly incorrect root without a warning message.
This situation is somewhat puzzling considering that the TI-86 returns, very quickly, three correct
solutions. The TI-89 / TI-92 Plus probably use a more general algorithm, while the TI-86 uses an
algorithm specifically designed for polynomials.
Some references claim that it is better to normalize the polynomial coefficients by dividing them by the
leading coefficient, so that coefficient becomes one. Other references claim that normalization
introduces additional rounding errors, and so is best avoided.
Sometimes your polynomial may be in the form of an expression instead of a list of coefficients. There
are available TI Basic which extract the coefficients from an expression with repeated differentiation.
This is a clever technique which works great for symbolic coefficients, but it adds round-off error which
will affect the solutions. The ideal solution would be to extract the coefficients with part(), which avoids
any round-off error. I am working on such a program, but as it is not finished, the derivative method is
better than nothing. Here is one version, written by J.M. Ferrard:
polyc(p,x)
Func
©(f(x),x) polynomial coefficients
©J.M. Ferrard
Local c,k
0
→
k
While when(p=0,false,true,true)
p/k!|x=0
→
c[k+
1
]
(p,x)
→
p
k+
1→
k
EndWhile
seq(c[k],k,dim(c),
1
,
⁻1
)
EndFunc
I have added the final seq() line so that the coefficients are returned in descending order of the
independent variable powers. A call of
polyc(3*x^2+2*x-
1
,x)
returns {3,2,-1}
6 - 125
Summary of Contents for TI-92+
Page 52: ...Component side of PCB GraphLink I O connector detail 1 41...
Page 53: ...LCD connector detail PCB switch side 1 42...
Page 54: ...Key pad sheet contact side Key pad sheet key side 1 43...
Page 55: ...Key cap detail 1 44...
Page 57: ...Component side of PCB with shield removed A detail view of the intergrated circuits 1 46...
Page 410: ...void extensionroutine2 void Credit to Bhuvanesh Bhatt 10 4...