שינויים

תקציר שימושי מחשב, סמסטר ב תשעג, גיא בלשר

נוספו 2,430 בתים, 11:45, 19 ביוני 2013
/* אלגוריתם אוקלידס */
====אלגוריתם אוקלידס====
 
אלגוריתם אוקלידס נועד למציאת מחלק משותף מקסימלי בין שני מספרים שלמים <math>m,n</math>.
 
'''האלגוריתם'''
 
נניח <math>m<n</math>. נגדיר:
<math>r_0=n</math> <BR>
<math>r_1=m</math><BR>
<math>r_0=q_1 r_1+r_2</math> כאשר <math>1\leq q_1 \leq r_0</math>, <math>0\leq r_2 <r_1</math><BR>
ובאינדוקציה <math>r_k=q_{k+1} r_{k+1}+r_{k+2}</math> <BR>
עד שנגיע ל־<math>r_N=0</math>. <BR>
בהכרח נעצור כי <math>r_{k+1}<r_k</math>.
 
לפי אלגוריתם זה, ה־gcd הינו <math>r_{N-1}</math>.
 
'''דוגמה'''
 
נבחר <math>r_0=30, r_1=12</math>. <BR>
<math>30=2\cdot 12+\underset{r_2}{\underbrace{6}}</math> <BR>
<math>12=2\cdot 6+\underset{r_3}{\underbrace{0}}</math><BR>
ולכן <math>gcd(30,12)=6</math>
 
'''הוכחת האלגוריתם'''
 
<math>r_{N-2}=q_{N-1} r_{N-1}+r_N=q_{N-1} r_{N-1}</math> <math>\Leftarrow</math> <math>r_{N-1}|r_{N-2}</math>. <BR> <BR>
<math>r_{N-3}=q_{N-2} r_{N-2}+r_{N-1}</math>. <BR>
<math>r_{N-1}|r_{N-2}</math> וגם <math>r_{N-1}|r_{N-1}</math> <math>\Leftarrow</math><math>r_{N-1}|r_{N-3}</math> <BR><BR>
<math>r_{N-4}=q_{N-3} r_{N-3}+r_{N-2}</math>. <BR>
<math>r_{N-1}|r_{N-2}</math> וגם <math>r_{N-1}|r_{N-3}</math> <math>\Leftarrow</math><math>r_{N-1}|r_{N-4}</math> <BR><BR <BR><BR>
באינדוקציה, נקבל <math>r_{N-1}|r_1</math> וגם <math>r_{N-1}|r_0</math>.
 
מדוע <math>r_{N-1}</math> הוא המחלק המשותף הגדול ביותר? נניח <math>r_k=gcd(m,n)</math>, אזי <math>r_{k-1}=q_{k} r_{k}+0</math>.
 
בהכרח נגיע למחלק המשותף המקסימלי מפני שבשלב ה־k־י, <math>r_{k-1}|gcd(m,n)</math> וגם <math>r_k|gcd(m,n)</math>, לכן <math>r_{k+1}|gcd(m,n)</math>.
 
'''תכנות'''
 
<div align="left">
;m=12
;n=30
if n<m
;r1=n
;r0=m
else
;r1=m
;r0=n
end
while r1>0
;(r2=mod(r0,r1
;r0=r1
;r1=r2
end
;gcd=r0
<div align="right">
 
'''דוגמה'''
 
עבור <math>m=169, n=1482</math>
{| border="1" align="center"
! <math>r_2</math>
! <math>r_1</math>
! <math>r_0</math>
|-
|
| 169
| 1482
|-
| 130
| 130
| 169
|-
| 39
| 39
| 130
|-
| 13
| 13
| 39
|-
| 0
| 0
| 13
|}
gcd(169,1482)=13
 
 
עבור <math>m=441, n=42</math>
{| border="1" align="center"
! <math>r_2</math>
! <math>r_1</math>
! <math>r_0</math>
|-
|
| 42
| 441
|-
| 21
| 21
| 42
|-
| 0
| 0
| 21
|}
gcd(42,441)=21
====פתרון מערכת משוואות - ניוטון-רפסון====
תהי <math>f(x)</math> פונקציה, צריך למצוא <math>x</math> כך ש־<math>f(x)=0</math>.