חוק רופיני

במתמטיקה, חוק רוּפִינִי הוא שיטה לחישוב החלוקה האוקלידית של פולינום בבינום שצורתו x – r . השיטה הומצאה על ידי פַּאוּלוֹ רוּפִינִי, שהשתתף בתחרות שארגנה החברה המדעית האיטלקית. האתגר היה לתכנן שיטה כדי למצוא את השורשים של כל פולינום. התקבלו חמש הגשות. בשנת 1804 זכה רופיני במקום הראשון ושיטתו פורסמה. מאוחר יותר הוא פרסם חידודים של עבודתו ב-1807 ושוב ב-1813. החוק הוא מקרה מיוחד של חלוקה סינתטית (אנ') שבו המחלק הוא גורם ליניארי. החוק קובע שיטה לחלוקת הפולינום: P ( x ) = a n x n + a n − 1 x n − 1 + ⋯ + a 1 x + a 0 {\displaystyle P(x)=a_{n}x^{n}+a_{n-1}x^{n-1}+\cdots +a_{1}x+a_{0}} בבינום: Q ( x ) = x − r {\displaystyle Q(x)=x-r} כדי לקבל את פולינום המנה: R ( x ) = b n − 1 x n − 1 + b n − 2 x n − 2 + ⋯ + b 1 x + b 0 . {\displaystyle R(x)=b_{n-1}x^{n-1}+b_{n-2}x^{n-2}+\cdots +b_{1}x+b_{0}.} האלגוריתם הוא למעשה החלוקה הארוכה של P ( x ) {\displaystyle P(x)} ב- Q ( x ) {\displaystyle Q(x)} . כדי לחלק את P ( x ) {\displaystyle P(x)} ב- Q ( x ) {\displaystyle Q(x)} : קח את המקדמים של P ( x ) {\displaystyle P(x)} ורשום אותם לפי הסדר. לאחר מכן, כתוב r בקצה השמאלי התחתון ממש מעל השורה: a n a n − 1 … a 1 a 0 r {\displaystyle {\begin{array}{c|c c c c|c}&a_{n}&a_{n-1}&\dots &a_{1}&a_{0}\\r&&&&&\\\hline &&&&&\\\end{array}}} העבר את המקדם השמאלי ביותר (an) לתחתית ממש מתחת לקו. a n a n − 1 … a 1 a 0 r a n = b n − 1 {\displaystyle {\begin{array}{c|c c c c|c}&a_{n}&a_{n-1}&\dots &a_{1}&a_{0}\\r&&&&&\\\hline &a_{n}&&&&\\&=b_{n-1}&&&&\end{array}}} הכפל את המספר הימני ביותר מתחת לשורה ב-r, וכתוב אותו מעל השורה ומיקום אחד מימין. a n a n − 1 … a 1 a 0 r b n − 1 ⋅ r a n = b n − 1 {\displaystyle {\begin{array}{c|c c c c|c}&a_{n}&a_{n-1}&\dots &a_{1}&a_{0}\\r&&b_{n-1}\cdot r&&&\\\hline &a_{n}&&&&\\&=b_{n-1}&&&&\end{array}}} הוסף את שני הערכים שהוצבו זה עתה באותה עמודה. a n a n − 1 … a 1 a 0 r b n − 1 ⋅ r a n b n − 1 ⋅ r + a n − 1 = b n − 1 = b n − 2 {\displaystyle {\begin{array}{c|c c c c|c}&a_{n}&a_{n-1}&\dots &a_{1}&a_{0}\\r&&b_{n-1}\cdot r&&&\\\hline &a_{n}&b_{n-1}\cdot r+a_{n-1}&&&\\&=b_{n-1}&=b_{n-2}&&&\end{array}}} חזור על שלבים 3 ו-4 עד שלא נשארו מספרים. a n a n − 1 … a 1 a 0 r b n − 1 ⋅ r … b 1 ⋅ r b 0 ⋅ r a n b n − 1 ⋅ r + a n − 1 … b 1 ⋅ r + a 1 a 0 + b 0 ⋅ r = b n − 1 = b n − 2 … = b 0 = s {\displaystyle {\begin{array}{c|c c c c|c}&a_{n}&a_{n-1}&\dots &a_{1}&a_{0}\\r&&b_{n-1}\cdot r&\dots &b_{1}\cdot r&b_{0}\cdot r\\\hline &a_{n}&b_{n-1}\cdot r+a_{n-1}&\dots &b_{1}\cdot r+a_{1}&a_{0}+b_{0}\cdot r\\&=b_{n-1}&=b_{n-2}&\dots &=b_{0}&=s\\\end{array}}} ערכי b הם המקדמים של פולינום התוצאה ( R ( x ) {\displaystyle R(x)} ), שמעלתו קטנה באחד מזו של P ( x ) {\displaystyle P(x)} . הערך הסופי שהתקבל, s, הוא השארית. משפט שארית הפולינום קובע שהשארית שווה ל- P ( r ) {\displaystyle P(r)} , ערכו של הפולינום ב-r . הנה דוגמה לחלוקה פולינומית כמתואר לעיל. נתון: P ( x ) = 2 x 3 + 3 x 2 − 4 {\displaystyle P(x)=2x^{3}+3x^{2}-4\,\!} Q ( x ) = x + 1. {\displaystyle Q(x)=x+1.\,\!} P ( x ) {\displaystyle P(x)} יחולק ב- Q ( x ) {\displaystyle Q(x)} באמצעות חוק רופיני. הבעיה העיקרית היא ש- Q ( x ) {\displaystyle Q(x)} אינו בינום בצורת x − r, אלא x + r . Q ( x ) {\displaystyle Q(x)} חייב להיכתב מחדש בצורה: Q ( x ) = x + 1 = x − ( − 1 ) . {\displaystyle Q(x)=x+1=x-(-1).\,\!} כעת האלגוריתם מיושם: רשום את המקדמים ו-r. שים לב שכיוון ש- P ( x ) {\displaystyle P(x)} לא הכיל מקדם עבור x, נכתָב 0: 2 3 0 − 4 − 1 {\displaystyle {\begin{array}{c|c c c c|c}&2&3&0&&-4\\\\-1\\\hline \\\\\end{array}}} 2. העבירו את המקדם הראשון למטה: 2 3 0 − 4 − 1 2 {\displaystyle {\begin{array}{c|c c c c|c}&2&3&0&&-4\\\\-1\\\hline &2\\\\\end{array}}} 3. הכפל את הערך האחרון שהתקבל ב-r: 2 3 0 − 4 − 1 − 2 2 {\displaystyle {\begin{array}{c|c c c c|c}&2&3&0&&-4\\\\-1&&-2\\\hline &2\\\\\end{array}}} 4. הוסף את הערכים: 2 3 0 − 4 − 1 − 2 2 1 {\displaystyle {\begin{array}{c|c c c c|c}&2&3&0&&-4\\\\-1&&-2\\\hline &2&1\\\\\end{array}}} 5. חזור על שלבים 3 ו-4 עד שתסיים: 2 3 0 − 4 − 1 − 2 − 1 1 2 1 − 1 − 3 [ r e s u l t c o e f f i c i e n t s ] [ r e m a i n d e r ] {\displaystyle {\begin{array}{c|c c c c|c}&2&3&0&&-4\\\\-1&&-2&-1&&1\\\hline &2&1&-1&&-3\\&[result&coefficients]&&&[remainder]\\\end{array}}} לכן, אם מספר מקורי = מחלק × מנה + שארית, אז: P ( x ) = Q ( x ) R ( x ) + s {\displaystyle P(x)=Q(x)R(x)+s\,\!} , איפה ש... R ( x ) = 2 x 2 + x − 1 {\displaystyle R(x)=2x^{2}+x-1\,\!} ו... s = − 3 ; ⇒ 2 x 3 + 3 x 2 − 4 = ( 2 x 2 + x − 1 ) ( x + 1 ) − 3 {\displaystyle s=-3;\quad \Rightarrow 2x^{3}+3x^{2}-4=(2x^{2}+x-1)(x+1)-3\!} ניתן להשתמש בחוק רופיני כאשר צריך את המנה של פולינום P על ידי בינום של הצורה . x − r {\displaystyle .x-r} (כאשר צריך רק את השארית, משפט השאריות הפולינומי מספק שיטה פשוטה יותר.) דוגמה טיפוסית, שבה צריך את המנה, היא הפירוק לגורמים של פולינום p ( x ) {\displaystyle p(x)} שעבורו יודעים שורש r : שארית החלוקה האוקלידית של p ( x ) {\displaystyle p(x)} לפי r הוא 0, וכן, אם המנה היא , q ( x ) {\displaystyle ,q(x)} החלוקה האוקלידית כתובה כ: p ( x ) = q ( x ) ( x − r ) . {\displaystyle p(x)=q(x)\,(x-r).} זה נותן פירוק (אולי חלקי) של , p ( x ) {\displaystyle ,p(x)} שניתן לחשב עם חוק רופיני. לאחר מכן, ניתן לפרק את p ( x ) {\displaystyle p(x)} עוד יותר על ידי פירוק של . q ( x ) {\displaystyle .q(x)} המשפט היסודי של האלגברה קובע שלכל פולינום בעל מעלה חיובית יש לפחות שורש מרוכב אחד. התהליך שלמעלה מראה שהמשפט היסודי של האלגברה מרמז שכל פולינום p(x) = anxn + an−1xn−1 + ⋯ + a1x + a0 ניתן לפרק לגורמים כ: p ( x ) = a n ( x − r 1 ) ⋯ ( x − r n ) , {\displaystyle p(x)=a_{n}(x-r_{1})\cdots (x-r_{n}),} כאשר r 1 , … , r n {\displaystyle r_{1},\ldots ,r_{n}} הם מספרים מרוכבים. השיטה של ליל (Lill's method) השיטה של הורנר (Horner's method) מדיה וקבצים בנושא חוק רופיני בוויקישיתוף Ruffini's rule, באתר MathWorld (באנגלית) Cajori, Florian (1911). "Horner's method of approximation anticipated by Ruffini" (PDF). Bulletin of the American Mathematical Society. 17 (8): 389–444. doi:10.1090/s0002-9904-1911-02072-9.