Matematikte, **Ruffini'nin kuralı**, bir polinomun Öklid bölünmesinin *x – r* biçimindeki bir denklem ile kağıt kalemle hesaplanması için geliştirilmiş bir yöntemdir. 1804 yılında Paolo Ruffini tarafından tanımlanmıştır. Kural, bölenin doğrusal bir bölen olduğu özel bir sentetik bölme durumudur.

Algoritma
---------

Kural, polinomu bölmek için bir yöntem belirler.

{\displaystyle P(x)=a\_{n}x^{n}+a\_{n-1}x^{n-1}+\cdots +a\_{1}x+a\_{0}}
denkleme göre

{\displaystyle Q(x)=x-r}
bölüm polinomunu elde etmek için

{\displaystyle R(x)=b\_{n-1}x^{n-1}+b\_{n-2}x^{n-2}+\cdots +b\_{1}x+b\_{0}.}
Algoritma aslında *P* (*x*)'in *Q* (*x*)'ye uzun bölümüdür .

*P* (*x*) 'i *Q* (*x*) ile bölmek için:

1. *P* (*x*) katsayılarını alın ve sırayla yazın. Ardından, sol alt köşeye satırın hemen üzerine *r* yazın:
{\displaystyle {\begin{array}{c|c c c c|c}&a\_{n}&a\_{n-1}&\dots &a\_{1}&a\_{0}\\r&&&&&\\\hline &&&&&\\\end{array}}}
2. En soldaki katsayısı (*a* *n*) satırın hemen altına geçirin.
{\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}}}
3. Satırın altındaki en sağdaki sayıyı *r* ile çarpın ve satırın üzerine ve sağa bir konum yazın.
{\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}}}
4. Aynı sütuna yeni yerleştirilmiş iki değeri ekleyin.
{\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}}}
5. Hiçbir sayı kalmayana kadar 3. ve 4. adımları tekrarlayın.
{\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}&=R\\\end{array}}}

*b* değerleri, derecesi *P* (*x*) değerinden bir eksik olan sonuç (*R* (*x*)) polinomunun katsayılarıdır. Elde edilen son değer, *s*, kalandır. Polinom kalan teoremi, kalanın, *r'deki* polinomun değeri olan *P* (*r*)'ye eşit olduğunu ileri sürer.

Örnek
-----

Ruffini kuralı kullanılarak yapılan bir polinom bölünmesi örneği.

Polinomu tamamen çarpanlara ayırmak mümkün olduğu için, son kökün -2 olduğu kesindir (önceki prosedür, son bölümü 1 ile aynı sonucu verirdi).

{\displaystyle P(x)=2x^{3}+3x^{2}-4\,\!}
{\displaystyle Q(x)=x+1.\,\!}
*P* (*x*), Ruffini kuralı kullanılarak *Q* (*x*)'e bölünecektir. Asıl sorun, *Q* (*x*)'in *x* - *r* biçiminde bir denklem değil, daha çok *x* + *r* olmasıdır. *Q* (*x*) şu şekilde yeniden yazılmalıdır:

{\displaystyle Q(x)=x+1=x-(-1).\,\!}
Şimdi algoritma uygulanır:

1. Katsayıları ve *r* ‘yi yazın. *P* (*x*) *x* için bir katsayı içermediğinden 0 yazılır:
```
   |   2   3   0 | -4
   |          |        
 -1 |          |        
 ----|--------------------|-------
   |          |        
   |          |        

```
2. İlk katsayıyı aşağı yazın:
```
   |   2   3   0 | -4
   |          |        
 -1 |          |        
 ----|--------------------|-------
   |   2       |        
   |          |        

```
3. Son elde edilen değeri *r* ile çarpın:
```
   |   2   3   0 | -4
   |          |        
 -1 |     -2    |        
 ----|--------------------|-------
   |   2       |        
   |          |        

```
4. Değerleri ekleyin:
```
   |   2   3   0 | -4
   |          |
 -1 |     -2    |
 ----|--------------------|-------
   |   2   1    |
   |          |        

```
5. Tamamlanana kadar 3. ve 4. adımları tekrarlayın:
```
   |   2   3   0  | -4
   |           |
 -1 |     -2  -1  | 1
 ----|----------------------------
   |   2   1  -1  | -3
   |{result coefficients}|{remainder}

```

Yani, *orijinal sayı* = *bölen* × *bölüm* + *kalan* ise, o zaman

{\displaystyle P(x)=Q(x)R(x)+s\,\!}, nerede
{\displaystyle R(x)=2x^{2}+x-1\,\!} ve {\displaystyle s=-3;\quad \Rightarrow 2x^{3}+3x^{2}-4=(2x^{2}+x-1)(x+1)-3\!}

Kullanıldığı yerler
-------------------

Ruffini kuralının birçok pratik uygulaması vardır ve bunların çoğu basit bölmeye (aşağıda gösterildiği gibi) veya aşağıda daha da verilen ortak uzantılara dayanır.

### Polinom kök bulma

Ayrıca bakınız: Factorization of polynomials
Rasyonel kök teoremi, bir polinom için *f*(*x*) = *a**n**x**n* + *a**n*−1*x**n*−1 + ⋯ + *a*1*x* + *a*0 tüm katsayıları (*a* *n* ila *a* 0) tamsayı olan, gerçek rasyonel kökler her zaman *p* / *q* biçimindedir; burada *p*, 0'ın tam sayı bölenidir ve *q* *, a* *n'nin* *tamsayı* bölenidir. Böylece polinomumuz ise

{\displaystyle P(x)=x^{3}+2x^{2}-x-2=0\,\!,}
olası rasyonel kökler *,* 0'ın (−2) tüm tam sayı bölenleridir:

{\displaystyle {\text{Possible roots:}}\left\{+1,-1,+2,-2\right\}.}
(Örnek basittir çünkü polinom moniktir (*a n* = 1). Monik olmayan polinomlar için, olası kökler kümesi bazı kesirler içerecek, ancak bunların yalnızca sonlu bir sayısı olacaktır, çünkü *a n* ve *a* 0'ın her birinde yalnızca sonlu sayıda tam sayı bölen bulunur.) Her durumda, monik polinomlar için, her rasyonel kök bir tam sayıdır ve bu nedenle her tam sayı kökü, sabit terimin (*a* 0) yalnızca bir bölenidir. Monik olmayan polinomlar için doğru kalmanın: *tamsayı katsayıları olan herhangi bir polinomun tamsayı köklerini bulmak için sabit terimin bölenlerini kontrol etmenin yeterli olduğu gösterilebilir* .

Bu nedenle, *r* olası köklerin her birine eşit olarak ayarlandığında, polinom (*x* - *r*) ile bölünür. Elde edilen bölümün kalanı 0 ise, r polinomun köküdür.

Aşağıdaki üç yöntemden herhangi biri seçilebilir, çünkü yalnızca ikinci yöntem ve üçüncü yöntem (bir çarpanlara ayırma elde etmek için Ruffini kuralını uygularken) belirli bir kökün tekrarlanıp tekrarlanmadığını keşfedebilir, istisna dışında hepsi aynı sonuçları verir. (Her iki yöntem de irrasyonel veya karmaşık kökleri keşfedemez.)

#### Yöntem 1

Bölme *P* (*x*) binom (*x* - her olası kök). Kalan 0 ise, seçilen sayı bir köktür (ve tersi):

```
bu | +1 +2 -1 -2 | +1 +2 -1 -2
  | |
 +1 | +1 +3 +2 -1 | -1 -1 +2
----|--------------------------- ----|------------ ---------------
  | +1 +3 +2 0 | +1 +1 -2 0

  | +1 +2 -1 -2 | +1 +2 -1 -2
  | |
 +2 | +2 +8 +14 -2 | -2 0 +2
----|--------------------------- ----|------------ ---------------
  | +1 +4 +7 +12 | +1 0 -1 0
```

{\displaystyle {\begin{cases}x\_{1}=+1\\x\_{2}=-1\\x\_{3}=-2\end{cases}}}
Örnekte, *P* (*x*) üçüncü dereceden bir polinomdur. Cebirin temel teoremine göre, üçten fazla karmaşık çözümü olamaz. Bu nedenle, polinom aşağıdaki gibi çarpanlarına ayrılır:

{\displaystyle P(x)=(x-x\_{1})(x-x\_{2})(x-x\_{3})=(x-1)(x+1)(x+2)=x^{3}+2x^{2}-x-2.}
#### Yöntem 2

Geçerli bir kök bulunana kadar Yöntem 1'deki gibi başlayın. Ardından, işlemi diğer olası köklerle yeniden başlatmak yerine, yalnızca bir katsayı kalana kadar şu anda bulunan geçerli kök üzerindeki Ruffini'nin sonucuna karşı olası kökleri test etmeye devam edin (köklerin tekrarlanabileceğini unutmayın: takılırsanız, her birini deneyin). iki kez geçerli kök):

```
| +1 +2 -1 -2 | +1 +2 -1 -2
  | |
 -1 | -1 -1 +2 -1 | -1 -1 +2
----|-------------------------- ----|------------- --------------
  | +1 +1 -2 | 0 | +1 +1 -2 | 0
  | |
 +2 | +2 +6 +1 | +1 +2
------------------------- -------------------------
  | +1 +3 |+4 | +1 +2 | 0
                          |
                        -2 | -2
                        -------------------
                          | +1 | 0
```

{\displaystyle {\begin{cases}x\_{1}=-1\\x\_{2}=+1\\x\_{3}=-2\end{cases}}} **Yöntem 3**
* Rasyonel kök teoremine göre polinomun olası tamsayı veya rasyonel köklerinin kümesini belirleyin.
* Her olası kök *r* için, *P* (*x*)/(*x* – *r*) bölümünü gerçekleştirmek yerine, bölümün geri kalanının *P* (*r*) olduğunu belirten polinom kalan teoremini uygulayın, polinom *x* = *r* için değerlendirilir. Böylece, kümemizdeki her *r* için, *r* bir polinomun kökü ise ancak ve ancak *P* (*r*)=0 ise bu, bir polinomun tamsayı ve rasyonel köklerini bulmanın herhangi bir bölme veya Ruffini kuralının uygulanmadığını gösterir. Ancak, geçerli bir kök bulunduğunda, onu *r* 1 olarak adlandırın: *Q* (*x*) = *P* (*x*) / (*x* – *r* 1 ) belirlemek için Ruffini kuralı uygulanabilir. Bu, *polinomun* *P* (*x*) = (*x* – *r* 1 ) · *Q* *(* *x*) şeklinde kısmi çarpanlarına ayrılmasına izin verir. Daha önce belirlenmiş, henüz kontrol edilmemiş olası kökler arasında bulunabilir (*P* (*x*) 'in kökü *olmadığı* önceden belirlenmiş herhangi bir değer de *Q* (*x*) kökü değildir; daha resmi olarak, *P* (*r*)≠ 0 → *Q* (*r*)≠0). Böylece *P* (*r*) yerine *Q* (*r*) değerlendirmeye ve (başka bir kök bulabildiğiniz sürece *r* 2 ) *Q* (*r*) 'yi (*x* – *r* 2 ) ile bölerek devam edebilirsiniz. Yalnızca kökleri arasanız bile, bu, çarpanlara ayırma ilerledikçe art arda daha küçük dereceli polinomları değerlendirmenize olanak tanır. Çoğu zaman olduğu gibi, *n* dereceli bir polinomu da çarpanlara ayırıyorsanız:
* *p* = *n* rasyonel çözümler bulduysanız, sonunda tam bir çarpanlara ayırma (aşağıya bakınız) ile *p* = *n* lineer faktörlere ulaşırsınız;
* *p* < *n* rasyonel çözümler bulduysanız, sonunda *p* lineer faktörlere kısmi çarpanlara ayırma (aşağıya bakın) ve *n* – *p* derecesinin lineer olmayan başka bir faktörüne ulaşırsınız, bu da sırasıyla irrasyonel veya karmaşık köklere sahip olabilir.

##### Örnekler

###### Ruffini Kuralını uygulamadan kök bulma

*P*(*x*) = *x*3 + 2*x*2 – *x* – 2
Olası kökler = {1, –1, 2, -2}

* *P* (1) = 0 → *x* 1 = 1
* *P* (-1) = 0 → *x* 2 = -1
* *P* (2) = 12 → 2 polinomun kökü değil

ve (*x*3 + 2*x*2 − *x* − 2) / (*x* − 2) 'nin kalanı 12'dir

* *P* (−2) = 0 → *x* 3 = -2

###### Ruffini Kuralını uygulayarak kökleri bulma ve (tam) bir çarpanlara ayırma

*P*(*x*) = *x*3 + 2*x*2 − *x* − 2
Olası kökler = {1, -1, 2, -2}

* *P* (1) = 0 → *x* 1 = 1

Ardından, Ruffini Kuralını uygulayarak:

(*x*3 + 2*x*2 − *x* − 2) / (*x* − 1) = *x*2 + 3*x* + 2
*x*3 + 2*x*2 − *x* − 2 = (*x* − 1)(*x*2 + 3*x* + 2)
Burada, *r* 1 =−1 ve *Q*(*x*) = *x*2 + 3*x* + 2

* *Q (-1)* = 0 → *x* 2 = -1

Yine, Ruffini Kuralını uygulayarak:

(*x*2 + 3*x* + 2) / (*x* + 1) = *x* + 2
*x*3 + 2*x*2 − *x* − 2 = (*x* − 1)(*x*2 + 3*x* + 2) = (*x* − 1)(*x* + 1)(*x* + 2)
İzin ver

### Polinomu çarpanlarına ayırma

Belirli bir polinomun tüm gerçek rasyonel köklerini bulmak için yukarıdaki "*p* / *q* "sonucunu (veya başka herhangi bir yolu) kullandıktan sonra, bu kökleri kullanarak o polinomu kısmen çarpanlara ayırmak için önemsiz bir adımdan başka bir şey değildir. İyi bilindiği gibi, belirli bir polinomu bölen her lineer faktör (*x* - *r*), bir *r* köküne karşılık gelir ve *bunun tersi de geçerlidir* .

Sonuç olaraj

{\displaystyle P(x)=a\_{n}x^{n}+a\_{n-1}x^{n-1}+\cdots +a\_{1}x+a\_{0}\,\!} bizim polinomumuz; ve
{\displaystyle R=\left\{{\mbox{ kökleri }}P(x)\in \mathbb {Q} \right\}\,\!} bulunan kökler, o zaman sonucu düşünün
{\displaystyle R(x)=a\_{n}{\prod (x-r)}{\mbox{ }}r\in R.\,\!}
Cebirin temel teoremine göre, eğer *P* (*x*)'in tüm kökleri rasyonel ise, *R* (*x*) *P* (*x*)'e eşit olmalıdır. Ancak, yöntem yalnızca rasyonel kökleri bulduğu için, *R* (*x*)'in *P* (*x*)'e eşit olmaması çok olasıdır; *P* (*x*)'in *R'de* olmayan bazı irrasyonel veya karmaşık kökleri olması çok muhtemeldir. Yani sonuç olarak

{\displaystyle S(x)={\frac {P(x)}{R(x)}}\,\!} polinom uzun bölme kullanılarak hesaplanabilir.
*S* (*x*) = 1 ise *R* (*x*) = *P* (*x*) bilinir ve işlem yapılır. Aksi takdirde, *S* (*x*) 'in kendisi, gerçek rasyonel kökleri olmayan *P* (*x*)'in başka bir çarpanı olan bir polinom olacaktır. Bu nedenle, aşağıdaki denklemin sağ tarafını tam olarak yazın:

{\displaystyle P(x)=R(x)\cdot S(x).\,\!}
*S* (*x*) = 1 ise, buna *P* (*x*) bölü **Q'nun** (rasyoneller) *tam bir çarpanlarına ayırma denilebilir*. Aksi takdirde, *P* (*x*) bölü **Q'nun** yalnızca *kısmi bir çarpanlarına* ayırması vardır; bu, rasyoneller üzerinde daha fazla faktörlenebilir olabilir veya olmayabilir, ancak gerçekler üzerinde veya en kötü ihtimalle karmaşık düzlem üzerinde kesinlikle daha fazla faktörlenebilir olacaktır. (*P* (*x*) bölü **Q'nun** "tam çarpanlara ayrılmasının", rasyonel katsayılara sahip polinomların bir ürünü olarak bir çarpanlara ayırma anlamına geldiğine dikkat edin, öyle ki her bir faktör **Q** üzerinde indirgenemez, "**Q'ya** indirgenemez" yanıtı, faktörün şu şekilde yazılamayacağı anlamına gelir. rasyonel katsayıları ve daha küçük dereceli iki sabit olmayan polinomun ürünü.)

#### Örnek 1: kalan yok

Belirli bir polinomu **C** üzerinde tam olarak çarpanlara ayırmak için, karmaşık sayıların tüm köklerinin bilinmesi gerekir (ve bu, irrasyonel ve/veya karmaşık sayıları içerebilir). Örneğin, yukarıdaki polinomu düşünün:

{\displaystyle P(x)=x^{3}+2x^{2}-x-2.\,\!}
Yukarıda açıklanan yöntemleri kullanarak, *P* (*x*)'in rasyonel kökleri:

{\displaystyle R=\left\{+1,-1,-2\right\}.\,\!}
O halde, (*x* - her kök) çarpımı

{\displaystyle R(x)=1(x-1)(x+1)(x+2).\,\!}
Ve *P* (*x*)/ *R* (*x*):

{\displaystyle S(x)=1.\,\!}
Dolayısıyla çarpanlara ayrılmış polinom *P* (*x*) = *R* (*x*) · 1 = *R* (*x*):

{\displaystyle P(x)=(x-1)(x+1)(x+2).\,\!}
#### Örnek 2: kalan ile

Ancak bu, **C** üzerinde tam olarak çarpanlara ayrılmamıştır. Bir polinomun çarpanlara ayrılması, lineer faktörlerin çarpımıyla sonuçlanacaksa, ikinci dereceden faktörle ilgilenilmelidir:

{\displaystyle P(x)=2x^{4}-3x^{3}+x^{2}-2x-8.\,\!}
Yukarıda açıklanan yöntemleri kullanarak, *P* (*x*)'in rasyonel kökleri:

{\displaystyle R=\left\{-1,+2\right\}.\,\!}
O halde, (*x* - her kök) çarpımı

{\displaystyle R(x)=(x+1)(x-2).\,\!}
Ve *P* (*x*)/ *R* (*x*)

{\displaystyle S(x)=2x^{2}-x+4.\,\!}
Olarak {\displaystyle S(x){\neq }1}, çarpanlara ayrılmış polinom *P* (*x*) = *R* (*x*) · *S* (*x*):

{\displaystyle P(x)=(x+1)(x-2)(2x^{2}-x+4).\,\!}
#### Karmaşık sayılar üzerinde çarpanlarına ayırma

{\displaystyle P(x)=2x^{4}-3x^{3}+x^{2}-2x-8.\,\!}
Rasyonel köklerini çıkarmak ve çarpanlarına ayırmak şu sonuçları verir:

{\displaystyle P(x)=(x+1)(x-2)(2x^{2}-x+4).\,\!}
{\displaystyle 2x^{2}-x+4=0.\,\!}
En kolay yol, ikinci dereceden formül kullanmaktır.

{\displaystyle x={\frac {-b\pm {\sqrt {b^{2}-4ac}}}{2a}}={\frac {1\pm {\sqrt {(-1)^{2}-4\cdot 2\cdot 4}}}{2\cdot 2}}={\frac {1\pm {\sqrt {-31}}}{4}}\,\!}
ve çözümler

{\displaystyle x\_{1}={\frac {1+{\sqrt {-31}}}{4}}\,\!}
{\displaystyle x\_{2}={\frac {1-{\sqrt {-31}}}{4}}.\,\!}
Yani **C** bölü tamamen çarpanlarına ayrılmış polinom şöyle olacaktır:

{\displaystyle P(x)=2(x+1)(x-2)\left(x-{\frac {1+i{\sqrt {31}}}{4}}\right)\left(x-{\frac {1-i{\sqrt {31}}}{4}}\right).\,\!}
Ancak her durumda işlerin bu kadar kolay olması beklenemez; dördüncü dereceden polinomlar için ikinci dereceden formülün sürekliliği çok dolambaçlıdır ve beşinci dereceden veya daha yüksek polinomlar için böyle bir süreklilik yoktur. Bunun neden böyle olduğuna dair teorik bir açıklama için Galois teorisine ve polinomların köklerine sayısal olarak yaklaşmanın yolları için sayısal analize bakın.

#### Geçerlilikler

Bu, belirli bir polinomun köklerini arıyor olabilir, S(x) için karmaşık yüksek dereceli bir polinom elde edilir; bu, polinom *x* 5 − 3 *x* 4 için olduğu gibi irrasyonel veya karmaşık faktörler göz önüne alınmadan önce bile rasyoneller üzerinde daha fazla çarpanlara ayrılabilen bir polinom elde edilir. + 3 *x* 3 − 9 *x* 2 + 2 *x* − 6. Ruffini'nin yöntemini kullanarak, sadece bir kök bulunur (*x* = 3), onu *P* (*x*) = (*x* 4 + 3 *x* 2 + 2)(*x* − 3) olarak çarpanlarına ayırır.

Yukarıda açıklandığı gibi, belirtilen atama "**C** üzerinden indirgenemezleri çarpanlarına ayırmak" ise, deltayı incelemek ve irrasyonel ve/veya karmaşık köklerini aramak için bir yol bulmak gereklidir. Ancak atama "**Q** üzerinden indirgenemezlerin çarpanı" olsaydı, bunun zaten yapılmış olduğu düşünülebilir, ancak durumun böyle olmayabileceğini anlamak önemlidir.

Bu durumda, delta, iki ikinci dereceden (*x* 2 + 1)(*x* 2 + 2) çarpımı olarak çarpanlara ayrılabilir. Sonunda, rasyoneller (ve bu örnekte gerçekler) üzerinde indirgenemezler ve bu da yöntemi sonuçlandırıyor; *P* (*x*) = (*x* 2 + 1)(*x* 2 + 2)(*x* − 3). Bu durumda, quartic denklemi bir biquadratik denklem olarak ele alarak çarpanlara ayırmak kolaydır; ancak daha yüksek dereceli bir polinomun bu tür faktörlerini bulmak çok zor olabilir.

Tarih
-----

Yöntem, İtalyan Bilim Derneği (Kırk) tarafından düzenlenen bir yarışmaya katılan Paolo Ruffini tarafından icat edildi. Cevaplanması gereken soru, herhangi bir polinomun köklerini bulma yöntemiydi. Beş başvuru alındı. 1804'te Ruffini's birincilik ödülü aldı ve yöntemi yayınlandı. Ruffini, yönteminin iyileştirmelerini 1807 ve 1813'te yayınladı.

Horner'ın yöntemi 1819'da yayınlandı ve 1845'te rafine bir versiyonu yayınlandı.

Ayrıca bakınız
--------------

* Lill'in yöntemi, bölmeyi grafiksel olarak yapıyor
* Horner'ın yöntemi
* polinom uzun bölme

Kaynakça
--------

1. ↑  Cajori (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. 12 Aralık 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Şubat 2022.

Dış bağlantılar
---------------

* Weisstein, Eric W. "Ruffini's rule". MathWorld.
* Wikimedia Commons'ta **Ruffini's rule** ile ilgili çoklu ortam belgeleri bulunur