Partial Fraction Decomposition for TI-85 by Ravi Prasad (4/17/92) You must first run the uudecode "UUD20" program which will create the "PRTLFRAC.85P" file and then you must run the "LINK85" program to load the file to your TI85. While writing the partial fraction program, I was forced to write an n'th order derivative program. A small routine in the "PRTLFRAC" program determines the derivative of a function F(x) = U(x) / V(x). The "DERIV" routine lets you get the n'th derivative of a polynomial. Since I needed to get a derivative of a function f(x) = u(x) / g(x), I used a combination of divide and multiply and deriv in a loop to get the required result. The multiply and divide routines are basically the same ones currently on the archive listed as "Pmul" and "Pdiv" with only slight modifications as needed. To properly add or subtract polynomials, I was also had to write a routine that would fix the list size of different degree polynomials. This routine can be used seperately as can the DERIV routine to do further handle polynomials. Running the program. Simply execute the "PRTLFRAC" program by selecting it from the PROG menu You will be prompted to enter N(x) and the roots to D(x). N(x) is the numerator of the function to be worked on. Accordingly, D(x) is the denominator of the same function. Due to accuracy problems, I was forced to write a routine where you must enter the roots of the denominator versus entering the denominator polynomial itselt. Anyway, I latter emply the multiply routine and build the needed denominator. It is a good idea to enter duplicated roots of D(x) at the same time, although not necessary. After a while, the partial fraction decomposition is done and the necessary information presented in matrix form. The matrix is also saved under the variable "x" for your future review. Again, due to accuracy problems on the TI, I have employed a routine which randomly selects a number and checks the value of this number in the original function, and then in the newly decomposed fraction form. If a difference between the two exist by more than the "tol" value setup in you TI-85, the matrix presented is displayed with question marks. I have found that in most cases, the difference is trivial and can be ignored. The difference between the two versions are held in the greek character "omega" for your further review. 2 example: give the x F(x) = ------------------- 2 (x+1) (x+2) 2 enter in LIST form N(x): {1,0,0} which represents 1x + 0x + 0 enter in LIST form Roots of D(x): {-1,-1,-2} which shows -1 as a double root the solution presented in matrix form says that the fuction F(x) can also be represented as: -3 1 4 -------- + ----------- + ---------- 1 2 1 (x+1) (x+1) (x+2) The numerator values (-3,1,4) are presented in row 1 of the matrix The values (x+n) where n is 1,1,2 are presented in row 2 of the matrix The powers on the denominator (1,2,1) appear in row 3. The matrix has been organixed such that each column corresponds to each term. Again, as previously mentioned, if the computational difference greater than the internal "tol" value exist between the original function and the decomposed form, the screen has question marks displed next to the sample matrix. In most cases this is not anything significant. One last note, as always, I have made common practice to start all program variables with the greek letter omega. This makes deletion of the variables much easier since they appear all together in the memory management screen.