Ruffiniren erregela

Matematikan, **Ruffiniren erregela** edozein polinomioren zatiketa *x-r* erako binomio batez errazten duen algoritmo bat da. Polinomio baten erroak kalkulatzeko erabil daiteke. Paolo Ruffinik asmatu zuen 1809. urtean, eta *«zatiketa sintetikoaren»* kasu berezia da; zatiketa sintetikoa polinomioen arteko zatiketa da non zatitzailea *«faktore lineala»* den. Horner-en Algoritmoak, polinomioak zatitzeko erabiltzen denak, Ruffiniren erregela erabiltzen du. Ruffiniren erregelak polinomio baten erroak aurkitu eta, erroa r zenbaki osoa izanik, (x-r) erako binomioen faktorizazioa ahalbidetzen du.

## Ruffiniren metodoaren historia 
thumb|Paolo Ruffini
Polinomio baten erro hurbilduaren balioa bilatzeko Ruffini-Horner-en metodoa, Paolo Ruffinik (1804-1807-1813 urteetan egindako argitalpenak) eta William George Hornerrek (1819-1845 urteetan egindako argitalpenak) hil ostean argitaratu zuten; dirudienez**,** Hornerrek ez zituen Ruffiniren lanak ezagutzen.

Ruffinik Italiako Zientzia Elkarteak antolaturiko lehiaketa batean (1802) hartu zuen parte; horretan polinomioen erroak aurkitzeko metodoa bilatzen zen. Bost proposamen iritsi ziren. Bi urte beranduago (1804) Ruffinik saria lortu zuen eta ondorioz, bere metodoa argitaratua izatea lortu zuen.Metodoaren hobekuntzak argitaratu zituen 1807. eta 1813. urteetan.

****

Hornerren metodoa 1819. urtean argitaratu zen, eta 1845ean hobetu zen.

Ruffini-Horneren metodoak ez dauka erabilgarritasun handirik baldin eta polinomien erroak oso antzekoak badira. Ruffinik ez zuen egoera horri aurre egiteko soluziorik eman; Hornerrek, berriz, prozedura berezi bat planteatu zuen. Hornerren metodoa, De Morgan eta J.R.Young matematikariek erabili zuten.

Ruffini-Horneren metodoaren antzekoak aurkitzen dira historian zehar. Txinan esaterako, Al Samaw'al-en lanetan agertzen da n-garren erroak lortzeko prozedura bat. Sharaf al-Din al-Tusi persiar matematikaria (XII.mendea) izan zen 3. mailako ekuazio bat ebazteko prozedura bat proposatzen lehenengoa.

## Algoritmoa 
Izan bitez

* *P(x)* polinomioa, zatikizuna:

: P(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0

* *Q(x)* polinomioa, zatitzailea:

: Q(x)=x-r\,\!

* Zatidura *R(x)* polinomioa da:

: R(x)=b_{n-1}x^{n-1}+b_{n-2}x^{n-2}+\cdots+b_1x+b_0

* Eta zatiketaren hondarra:

s

Beraz, hau bete behar da:

: P(x)=Q(x)R(x)+s\,\!

*P*(*x*) polinomioa *Q*(*x*) binomioz zatitzeko:

**1.** Lehenik, bi marra marrazten dira ardatz moduan (ikusi irudia). P(x) polinomioaren koefizienteak maila handienetik txikienera idazten dira, ezkerretik eskuinera ardatzaren goialdean. Koefizientea nulua denean 0 idazten da.
     |        an        an-1        ...        a1         a0
     |                                    
     |                                    
 ----|---------------------------------------------------------
     |                                    
     |  
                                  
**2.** Ardatz bertikalaren ezkerraldean r erroa idazten da. (Gogoratu r-k beti a0 zatitzen duela). Polinomioaren lehenengo koefizientea (maila handienekoa) ardatz horizontalaren azpialdean idazten da, aldaketarik gabe**:**

     |        an        an-1        ...        a1         a0
     |                                    
   r |                                    
 ----|---------------------------------------------------------
     |        an
     |

**3.** bn-1 r balioaz biderkatu eta polinomioaren hurrengo koefizientearen azpian jartzen da. Ondoren, bigarren zutabeko zenbakiak batzen dira (bn-2=an-1+bn-1r):

     |      an        an-1        ...        a1         a0
     |
   r |                bn-1r
 ----|---------------------------------------------------------
     |      an        bn-2 
     |

**4.** Prozesua sistematikoki errepikatzen da behin eta berriz:

     |       an        an-1        ...        a1         a0
     |
   r |                 bn-1r       ...        b1r        b0r
 ----|---------------------------------------------------------
     |      an         bn-2        ...         b0         s
     |            
Beraz, Ruffiniren erregelaren bidez honako hau lortzen da: P(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0 = (x-r)*(a_{n}x^{n-1}+b_{n-2}x^{n-2}+\cdots+b_0)+s;

R(x)=a_{n}x^{n-1}+b_{n-2}x^{n-2}+\cdots+b_1x+b_0polinomioaren maila P(x) polinomioarena baino bat txikiagoa da, eta s, hondarra.

## Ruffiniren erregelaren aplikazioak 
Ruffiniren erregelak zenbait aplikazio ditu; gehienak, zatiketa sinple batean oinarrituak dira (aurrerago frogatuko den bezala).

### 1. Polinomioen arteko zatiketa 
Izan bitez P(x)(zatikizuna) eta Q(x)(zatitzailea) polinomioak, non Q(x)polinomioak lehenengo mailakoa izan behar duen derrigorrez.

Aplikazio hau zatiketa arruntaren baliokidea da.

Adibidez, egin dezagun

: P(x)=2x^3+3x^2-4\,\!

Q(x)=x+1

polinomioen arteko zatiketa (P(x)/Q(x)).

Ohartu *x+1* binomioa *x-(-1)* binomioaren baliokidea dela. Beraz, era horretan (*x-(-1)*) jarri behar da *x-r* erakoa izan dadin:

**1. **

Koefizienteak aldagaiaren mailaren arabera jarriko dira: handienetik, txikienera; ezkerretik, eskuinera.

     |     2     3     0     -4
     |                                    
     |                                    
 ----|----------------------------
     |                                    
     |

Kasu honetan, x-ren koefizientea nulua da; hortaz, 0 jarri behar da.

**2.**

Lehenengo koefizientea behealdean berridatziko dugu, eta r (kasu honetan, r=-1) ardatzaren ezkerraldean idatziko.

     **|     2**     3     0     -4
     |                                    
  -1 |                                    
 ----|----------------------------
     |     2                              
     |

**3.**

2*(-1) = -2 dugu, eta balio hori polinomioaren bigarren koefizientearen azpian idatziko dugu. Ondoren, 3+(-2)=1 lortuko dugu, eta emaitza hori -2ren azpialdean idatziko dugu.
 
     |     2     3     0     -4
     |                                    
  -1 |          -2                         
 ----|----------------------------
     |     2     1                         
     |

**4.**

Aurreko pausoa errepika errepikatu egingo dugu bukaerara (hondarrera) iritsi arte.

     |     2     3     0        -4
     |
  -1 |          -2    -1         1
 ----|-------------------------------
     |     2     1    -1         -3
     |{zatidura koefizienteak}{hondarra}

Beraz, honako hau lortu dugu:

:\frac{2x^3+3x^2-4}{x+1}= 2x^2+x-1 +(-3)
### 2. Polinomioen erroak aurkitzea 
Erro arrazionalen teoremak dioen bezala, f(x)=a_nx^n+a_{n-1}+\cdots+a_1x+a_0(a_n,\cdots,a_0koefizienteak errealak izanda) polinomioaren erro arrazionalak beti p/q modukoak dira, non p baita a_0-ren zatitzaile oso bat eta q, a_n-rena. Ohartu polinomioaren maila n bada, erro kopurua gehienez n dela anizkoiztasuna kontuan hartuz.

Demagun hurrengo polinomioa dugula:

P(x)= x^3+2x^2-x-2=0. Esandakoaren arabera; a_0=-2 denez, p =\{ +1,-1,+2,-2\}, eta a_n = 1denez, q =\{ +1, -1\}. Beraz, polinomio horren erro posibleak \{+1,-1,+2,-2\}dira. Hori jakinda, polinomioa (x-r)-rekin zatitzen da (r=p/q), Ruffiniren metodoa erabiliz, eta hondarra 0 bada, erroa dela (r) ondorioztatzen da.

##### 1. metodoa 
P(x)polinomioa, (x-r)binomioarekin zatitzen saiatuko gara. Hondarra 0 baldin bada, erabilitako rgure polinomioaren erroa izango da.
     |    +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

:Ohartu erro posible batekin saiakera egiten dugunean eta hondarra zeroren ezberdina denean, erro hori baztertu behar dugula (ez baita erroa izango).
:\begin{cases}
x_1=+1\\
x_2=-1\\
x_3=-2
\end{cases}

##### 2. metodoa 
1. metodoan bezala hasiko gara erro bat aurkitu arte. Kasu honetan, behin erroa aurkituta, gure hurrengo koefizienteak ardatzaren horizontalaren azpialdean lortuak izango dira

(letra lodiz: **+1 +1 -2 =** x^2+x-2). Erro posibleetako batekin 0 lortzen ez badugu, erro hori baztertuko dugu. Aipatutako koefizienteetatik abiatuz prozedura berdina erabiliko dugu. Gogoratu erroak errepikatu ahal direla, hau da, erro anizkoitza izan daitekeela:
     |    +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
:\begin{cases}
x_1=-1\\
x_2=+1\\
x_3=-2
\end{cases}

### 3. Polinomioen faktorizazioa 
Aurreko atala erabiliz, (polinomioaren erro arrazionalak aurkitu ondoren); erro bakoitzari faktore lineal edo binomio bat esleituko diogu; honela:

r=p/q polinomioaren erro arrazionala izanik, (x-r)izango da polinomioaren faktore bat.

Adibidez:

P(x)=8x^2-2x-1 izanik, lehenik, erro arrazionalen aukerak zeintzuk diren lortuko dugu: r ={ 1,-1,1/2,-1/2,1/4,-1/4,1/8,-1/8} (Gogoratu r=p/qnon p\mid a_0eta p\mid a_n)

      |    +8    -2    -1    
      |
 +1/2 |          +4    +1   
  ----|-------------------        \Longrightarrow P(x)=(x-1/2)(x+1/4)(x+8)
      |    +8    +2   | 0
      |
 -1/4 |          -2
  ----|--------------------
      |    +8   | 0
                                                                                                                                       

:Gure kasuan, bi erro lortu ditugu, r = \{+1/2,-1/4\}. Beraz, P(x)=8x^2-2x-1=(x-(+1/2))(x-(-1/4))=(x-1/2)(x+1/4)izango da P(x)polinomioaren faktorizazioa.

## Erreferentziak 
## Kanpo estekak 
* Synthetic Division, Elizabeth Stapel-en artikulua Purplemath-en.