(35S ALG) Ruffini Polynomial Division - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (/forum-10.html) +--- Forum: General Software Library (/forum-13.html) +--- Thread: (35S ALG) Ruffini Polynomial Division (/thread-1603.html) |
(35S ALG) Ruffini Polynomial Division - d.nicotra - 06-12-2014 05:52 PM Hi HPmuseum, I'm a new user and I'm going to share with you an HP 35s program that is able to calculate the coefficents of a polynomial divison using Ruffini Rule. This program, developed in ALG mode, can divide a n-grade polynomial g(x) by hx-c. It will ask you:
Then, if one of these values is zero it will prompt an error and exit, else it will start a cycle on INPUT I where you have to put the coefficents the dividend polynomial in decrescent order(the current value of I will help you showing the grade of the coefficent you have to write). After each INPUT it will show you the coefficent of x^n-1 of the result polynomial(so if you have just entered the third grade coefficent it will show you the second grade coefficent of the result), then you have to press R/S to input a new coefficent. The last value shown is the rest of the division (R). Here the code: R001 LBL R R002 CLVARS R003 CLSTK R004 SF 10 R005 DIVIDE BY Hx-C R006 PSE R007 CF 10 R008 0->D R009 INPUT G R010 x=0? R011 GTO R036 R012 INPUT H R013 x=0? R014 GTO R036 R015 INPUT C R016 x=0? R017 GTO R036 R018 C/H->C R019 G+2->G R020 DSE G R021 GTO R023 R022 RTN R023 G-1->I R024 INPUT I R025 I/H+D->I R026 I*C->D R027 I*H->R R028 G R029 1 R030 x=y? R031 GTO R034 R032 VIEW I R033 GTO R020 R034 VIEW R R035 RTN R036 SF 10 R037 INVALID DATA R038 PSE R039 CF 10 R040 RTN Let's do some example: (2x^4 -5x^2 -2x -1) / (x-2) so: h=1 ; c=2 To solve this division you have to press: XEQ R... ENTER (It will ask you the grade) 4 R/S (It will ask you h) 1 R/S (It will ask you c) 2 R/S (It will ask you the coefficent in decrescent order starting by 4) 2 R/S (The result coefficent of grade 3 is 2) R/S 0 R/S (It will ask you the third grade coefficent and show you the second grade coefficent of the result: 4) R/S -5 R/S (...first grade coefficent: 3) R/S -2 R/S (...known term: 4) R/S -1 R/S (rest: 7) so our result is 2x^3+4x^2+3x+4 R=7 Any question will be answered... RE: (35s ALG) Ruffini Polynomial Division - Massimo Gnerucci - 06-12-2014 07:50 PM (06-12-2014 05:52 PM)d.nicotra Wrote: Any question will be answered... What's the meaning of life? SCNR... Welcome aboard! RE: (35s ALG) Ruffini Polynomial Division - d.nicotra - 06-12-2014 08:03 PM I'm pleased to see another Italian... about the meaning of life, well, I'll ask to my 35s! RE: (35s ALG) Ruffini Polynomial Division - Massimo Gnerucci - 06-12-2014 08:38 PM (06-12-2014 08:03 PM)d.nicotra Wrote: I'm pleased to see another Italian... There's a handful of us hereabout. ;) RE: (35s ALG) Ruffini Polynomial Division - d.nicotra - 06-12-2014 08:40 PM Yeah I'm happy now I hope I can contribute to this community! Have you tried this program? RE: (35s ALG) Ruffini Polynomial Division - Massimo Gnerucci - 06-12-2014 09:03 PM (06-12-2014 08:40 PM)d.nicotra Wrote: I hope I can contribute to this community!You already did! (06-12-2014 08:40 PM)d.nicotra Wrote: Have you tried this program?No, sorry. The 35S is not among my favourites; I should dig it out, put some fresh batteries in and start hunting for keys on the keyboard... RE: (35s ALG) Ruffini Polynomial Division - d.nicotra - 06-12-2014 09:31 PM Should I spend time on making an RPN version of this program, in your opinion? It seems to work pretty well in ALG mode; I don't think that it needs more speed. RE: (35s ALG) Ruffini Polynomial Division - Massimo Gnerucci - 06-12-2014 10:22 PM (06-12-2014 09:31 PM)d.nicotra Wrote: Should I spend time on making an RPN version of this program, in your opinion? If you want to please us, calcaholics from another age, RPN is the way to go. RE: (35s ALG) Ruffini Polynomial Division - d.nicotra - 06-13-2014 12:28 PM (06-12-2014 10:22 PM)Massimo Gnerucci Wrote: If you want to please us, calcaholics from another age, RPN is the way to go. OK I hope I can do it after my high school exams. RE: (35s ALG) Ruffini Polynomial Division - Massimo Gnerucci - 06-13-2014 02:44 PM (06-13-2014 12:28 PM)d.nicotra Wrote:(06-12-2014 10:22 PM)Massimo Gnerucci Wrote: If you want to please us, calcaholics from another age, RPN is the way to go. Take your time. It's good to find (much!) younger adepts to the cult. My best wishes for the upcoming exams. RE: (35s ALG) Ruffini Polynomial Division - d.nicotra - 06-13-2014 09:08 PM Thank you very much, I really like HP Graphing calculators and I hope to buy one as soon I can. I've seen the Prime, do you think it worths the price? I'm fascinated by the 50g too so I can't make a choice. Should I make a separated topic on it or can you give me some advice? Thanks RE: (35s ALG) Ruffini Polynomial Division - Massimo Gnerucci - 06-13-2014 09:39 PM (06-13-2014 09:08 PM)d.nicotra Wrote: Thank you very much, I am a fan of an older school. The Prime didn't catch my attention (and I bless that now has its own subforum) but I think I will buy one once it matures. It will be placed alongside all its forefathers in my collection. The 50g is a really nice machine, well worth its price (well, maybe not here in Italy...). You will find both ALG and RPL on it, Prime is a different beast with its own, new, programming language HPPPL. RE: (35s ALG) Ruffini Polynomial Division - d.nicotra - 06-14-2014 07:54 AM Sic stantibus rebus, I think I'll wait for the Prime to mature. I would like to see how far it can go with its new hardware(performance, touch, connectivity) and software(programming language, system, application management). In the meantime I'll try to get a 50g for a special deal. My personal idea is that an HP Prime in 2013 could be muuuuuch more than just a competitor of ti nspire cas, especially seeing what Wolfram has done with its Alpha Project. We have, today, raw materials to make the Final Math Device that can only become better in performace of algorithm. RE: (35s ALG) Ruffini Polynomial Division - Massimo Gnerucci - 06-14-2014 09:23 AM (06-14-2014 07:54 AM)d.nicotra Wrote: Sic stantibus rebus, I think I'll wait for the Prime to mature. I would like to see how far it can go with its new hardware(performance, touch, connectivity) and software(programming language, system, application management). In the meantime I'll try to get a 50g for a special deal. My personal idea is that an HP Prime in 2013 could be muuuuuch more than just a competitor of ti nspire cas, especially seeing what Wolfram has done with its Alpha Project. We have, today, raw materials to make the Final Math Device that can only become better in performace of algorithm. Good, but that's just my own point of view; ask somebody else and you'll have different answers. There's a lot of Prime aficionados... just a section away. ;) I concur that it's an interesting machine and, probably, its main sins of youth were already solved. RE: (35s ALG) Ruffini Polynomial Division - d.nicotra - 06-14-2014 10:05 AM Thank you! Have a nice posting! RE: (35S ALG) Ruffini Polynomial Division - Thomas Klemm - 06-12-2022 08:31 PM We can use the following RPN program, here for the HP-42S but similar in case of other models: Code: 00 { 4-Byte Prgm } Example \( (2x^4 -5x^2 -2x -1) \div (x-2) \) First fill the stack with \(c = 2\): 2 ENTER ENTER Initialize the coefficient of the resulting polynomial with \(0\): 0 ENTER Then enter the coefficients of the polynomial to divide one by one: 2 R/S 2 0 R/S 4 -5 R/S 3 -2 R/S 4 -1 R/S 7 Thus we get \(2x^3+4x^2+3x+4\) and the remainder \(R=7\). This works only in the case \(h = 1\). But this is not really a problem since both polynomials can be reduced by \(h\) otherwise. RE: (35S ALG) Ruffini Polynomial Division - Albert Chan - 06-13-2022 01:05 PM (06-12-2022 08:31 PM)Thomas Klemm Wrote: \( We can use multiply key, instead of a program. Horner's rule to get f(x=2), intermediates are quotient coefs. Code: 2 [Enter] [Enter] [Enter] Comment: if we don't expect coefs to be huge, we can use other base, instead of x: Example, let base x = 1000 lua> (2e12 - 5002001) / (1000-2) 2004003004.007014 Remainder = .007014 * (1000-2) = 7 (round to integer) Quotient = 2*x^3 + 4*x^2 + 3*x + 4 |