3. előadás Prímtulajdonság, lnko, Euklideszi algoritmus, lánctörtek Dr. Kallós Gábor 206 207
Tartalom Prímek és felbonthatatlanok Prímtulajdonság, lnko Kiterjesztett egészek Prímfaktorizáció, a számelmélet alaptétele Euklideszi algoritmus Maradékos osztás Az algoritmus bemutatása A kiterjesztett algoritmus Hatékonysági elemzés Fibonacci-sorozat Lánctörtek Racionális és irracionális példák Feladatok Történeti áttekintés Irodalom 2
Prímek és felbonthatatlanok Prímtulajdonság Vizsgálatunk tárgyai: -nél nagyobb egész számok Struktúra: Z (gyűrű, sőt: integritási tartomány, lásd később) Összetett szám (composite integer): felírható két -nél nagyobb egész szám szorzataként Prímszám (valójában: felbonthatatlan): nem írható fel ily módon ( Másik felírás; osztó, többszörös, asszociált, egység, közös osztó, legnagyobb közös osztó (lnko) fogalma) Nagyon fontos kérdések (már: Euklidesz, Kr. e. 300 k., Elemek ) Ha adott egy összetett szám, hogyan tudjuk -nél nagyobb egész számok szorzatára bontani? Hogyan ismerjük fel a prímeket? Állítás. (Euklidesz): Ha egy prímszám osztója két egész szám szorzatának, akkor osztója kell hogy legyen legalább az egyik egésznek Másként: ha p ab, akkor p a vagy p b (esetleg mindkettő is teljesülhet) Megj.: Ez a prímtulajdonság (Biz. később) Ez az állítás teljesen nyilvánvalónak tűnik, de mégsem az Probléma (9. század): kiterjesztett egészek 3
Prímek és felbonthatatlanok Kiterjesztett egészek Tekintsük az a + b 0 alakú számokat Ez a legszűkebb olyan struktúra, amely a Z int. tart. 0 -zel való bővítésével adódik, jelölés: Z ( 0) Hasonlóan: a + b 2 alakú számok, Z ( 2 ), a + b 8 alakú számok, Ezek tdk. a + bx alakú számok, ahol X 2 már Z-beli Itt az alapműveletek (+,, *) nyilván elvégezhetők, és nem vezetnek ki a struktúrából Feladat: Igazoljuk ezt! Osztás itt már nem minden sima ügy Feladatok A nevező ugyan gyökteleníthető, de végül nem feltétlenül kapunk egész együtthatókat Mutassuk meg, hogy (2 + 3 0 )/(2 + 0 ) = + 0 Igazoljuk, hogy a 3 + 0 osztója minden a + b 0 alakú számnak! (azaz: egység Z -ben) ( 0) ( ) *Igazoljuk, hogy 2, 3, 4 + 0 és 4 0 felbonthatatlanok Z 0 -ben Segítség: Használjuk a normát, és így vizsgáljuk az oszthatóságot! A felbonthatatlanokra nem (feltétlenül) teljesül a prímtulajdonság, lásd 7. old. 4
Prímek és felbonthatatlanok Kiterjesztett egészek, feladatok (megoldás szemlélt.) 5
Prímek és felbonthatatlanok A prímtulajdonság egy érdekes alkalmazása Tekintsük az a = b esetet. Ha p a 2, akkor p a. Így ha p a 2, akkor p 2 a 2. Állítás 2.: 2 nem fejezhető ki két egész szám hányadosaként (nem racionális szám) Feladatok Bizonyítás: Tfh. 2 mégis felírható m/n alakban, ahol m és n egészek, és a törtet már egyszerűsítettük, azaz lnko(m, n) =. Négyzetre emelünk: 2 = m 2 /n 2, azaz 2n 2 = m 2. Így 2 m 2. Az. állítás szerint tehát 4 m 2. Ekkor 4 2n 2, azaz 2 n 2. Ebből újból az. állítás szerint 2 n. Ez ellentmondás, mert így lnko(m, n) 2 lenne. Igazoljuk, hogy a 3 és az 5 négyzetgyöke nem írható fel két egész szám hányadosaként! Igazoljuk, hogy ha n nem teljes négyzet poz. egész szám, akkor n gyöke nem lehet racionális! *Keressünk olyan (relatív prím) egész számokat, amelyek hányadosa jól közelíti a pi-t az e-t vagy a 2-t! (Pl. 6 tizedesre) Másik érdekes alkalmazás: pitagoraszi számhármasok, x 2 + y 2 = z 2 Állítás 3.: Tetszőleges a, b egész számokra, amelyek közül az egyik páros, a másik páratlan úgy, hogy 0 < b < a és lnko(a, b) =, (a 2 b 2, 2ab, a 2 + b 2 ) pitagoraszi számhármas. Továbbá minden pitagoraszi számhármas felírható ily módon. Bizonyítás (vázlat): a) Az ilyen számok jók. b) A jó számok mind ilyen alakúak. 6
Prímek és felbonthatatlanok Definíció: egy pozitív egész szám prímek szorzatára történő felbontását (prím)faktorizációnak nevezzük a a a k (Jelölés: prímek k db, hatványok k db) n = p p K p 2 2 k Definíció: ha lnko(a, b) =, akkor azt mondjuk, hogy a és b relatív prímek (alternatív def.: nincs közös prím a faktorizációjukban) Tétel. (a számelmélet alaptétele): (Z-ben) a számok prímek szorzatára történő felbontása (faktorizációja) sorrendtől (és egységektől) eltekintve egyértelmű Pl.: 30 = 2 3 5 vagy 30 = ( ) 5 3 2 ( ) De: a kiterjesztett egészek körében ez a tétel nem érvényes (!) Feladatok Pl.: 6 = 2 3 = (4 + 0 ) (4 0) Keressük meg az összes pitagoraszi számhármast x, y 50-ig! Írjunk programot valamely általunk kedvelt programnyelven egy intervallum relatív prím elempárjainak a meghatározására/megszámoltatására! Keressünk olyan példákat az a + b 2 alakú számok és az a + b 8 alakú számok között, ahol nem teljesül a számelmélet alaptétele! (Szorzat, ahol sérül a prímtulajdonság.) Próbáljunk meg faktorizálni néhány 20-50 jegyű (véletlenül választott) számot! 7
Prímek és felbonthatatlanok Relatívprímes feladat VBA megvalósítás 8
Prímek és felbonthatatlanok (Eml. a számelmélet alaptétele: a prímfaktorizáció sorrendtől (és egységektől) eltekintve egyértelmű) Bizonyítás (alaptétel): Belátjuk, hogy ha található egy olyan egész, amelynek a faktorizációja nem egyértelmű, akkor van egy valódi osztója, amelynek a fakt.ja nem egyértelmű. Stb., így végül visszavezethető lenne a probléma egy prím nem egyért. faktorizációjára, ez pedig ellentmondás (az ő osztói csak és önmaga). Legyen tehát n ilyen egész. Ekkor n = p p 2 p r = q q 2 q s, (i) ahol a prímek nem feltétlenül különbözők, de a 2. felbontás nem csak az első átrendezése. Ekkor q n, azaz q osztója a p i -k szorzatának. Az. állítás ismételt alkalmazásával található legalább egy olyan p i, amelyre q p i. Feltehető, hogy q p (ha kell, átrendezzük a p i -ket). Mivel p prím, ezért q = p. Eszerint n / q = p 2 p 3 p r = q 2 q 3 q s. (ii) Mivel az (i) felbontások különbözőek voltak, ezért az (ii) felbontásoknak is különbözőeknek kell lenniük. Így n / q valódi osztója n-nek úgy, hogy faktorizációja nem egyértelmű. 9
Prímek és felbonthatatlanok Segédállítás.: Legyenek a és b egészek, és legyen g = lnko(a, b). Ekkor találhatók olyan s és t egészek, hogy g = s a + t b. Példák Legyen a = 2, b = 6; ekkor g = 3 és 3 = 2 + ( 3) 6. De más s és t egészek is jók, hiszen 3 = ( ) 2 + 4 6. Feladat: Más lnko példákkal mutassuk meg, hogy az s és t egészek többféle módon is megválaszthatók! (A segédáll. felhasználásával igazolható az euklideszi állítás) Bizonyítás (Állítás. eml.: ha p ab, akkor ): Legyen p olyan prím, ami osztója a b-nek. Ha p a, akkor készen vagyunk. Ha nem, akkor lnko(p, a) =, hiszen az egyetlen pozitív egész, amely osztja p-t. A segédáll. alapján található olyan s és t, hogy = s p + t a. Ebből b = s p b + t a b. Mivel p a b, ezért mindkét tagot osztja a jobb oldalon, azaz a bal oldalt is. Így tehát ha p nem osztója a-nak, akkor osztója kell, hogy legyen b-nek. Érdekesség: Az. állítást a kevésbé nyilvánvaló segédállítás segítségével igazoltuk 0
Maradékos osztás, euklideszi algoritmus Az. segédállításra adható egy elegáns bizonyítás, amely konstruktív is A módszer az euklideszi algoritmus Ez sok faktorizációs és prímtesztelési módszer alapja/része Maradékos osztás Adott a és 0 b egészekhez léteznek q, r egészek úgy, hogy a = b q + r, ahol 0 r < b, és lnko(a, b) = lnko(b, r). Bizonyítás (Segédállítás. eml.: g = lnko(a, b)-hez találhatók olyan s és t egészek ): Feltesszük, hogy a és b pozitív. Mint fent, legyen: a = q b + r, ahol 0 r < b. (i) Ha r = 0, akkor b a, így az lnko maga b, és válasszuk s = 0-t, t = -et. Ha nem, akkor b-t osztjuk maradékosan r -gyel: b = q 2 r + r 2, ahol 0 r 2 < r. (ii) Ha r 2 = 0, akkor megállunk. Ha nem, akkor folytassuk úgy, hogy r -gyet osztjuk maradékosan: r = q 3 r 2 + r 3, ahol 0 r 3 < r 2. (iii) Az eljárást addig folytatjuk, amíg a maradék 0 nem lesz. (Ez előbb-utóbb biztosan bekövetkezik.)
Maradékos osztás, euklideszi algoritmus Bizonyítás (Segédállítás.: g = lnko(a, b)-hez találhatók olyan s és t egészek ) (folyt.) Az utolsó két egyenlet: r k 2 = q k r k + r k, ahol 0 r k < r k, r k = q k + r k + 0. Az utolsó nem 0 maradék, r k a keresett lnko. Ennek igazolásához lépkedjünk visszafelé: Az utolsó egyenletből r k r k. Az azelőttiből, mivel r k r k és r k r k, ezért r k r k 2. (iii)-ből, mivel r k r 3 és r k r 2, ezért r k r. (ii)-ből r k b, és (i)-ből r k a. Így r k valóban a és b közös osztója. Legyen d egy másik közös osztó. Mivel d a és d b, ezért (i) miatt d r. Hasonlóan haladva lefelé, kapjuk, hogy d r 2, r 3,, r k, r k, és így d r k, azaz r k valóban az lnko. Végül megkeressük s-et és t-t, amivel előáll r k = s a + t b. (i)-ből r = a q b, itt az együtthatók egészek. (ii)-ből r 2 = b q 2 r = b q 2 (a q b) =, az együtthatók egészek. Hasonlóan folytatva lefelé, minden r i felírható a és b egész együtthatókkal képzett szorzatösszegeként. Ezzel a segédállítást beláttuk. 2
Maradékos osztás, euklideszi algoritmus Példa a = 239, b = 68: 239 = 7 68 + 63, 68 = 2 63 + 42, 63 = 42 + 2, 42 = 2 2 + 0. lnko(239, 68) = 2. 63 = 239 7 68, 42 = 68 2 63 = 68 2 (239 7 68) = 2 239 + 5 68 2 = 63 42 = (239 7 68) ( 2 239 + 5 68) = 3 239 22 68 Így s = 3, t = 22. Az euklideszi algoritmus segítségével a lkkt is meghatározható az lkkt(a, b) = a b / lnko(a, b) képlettel Feladatok Igazoljuk ezt az egyenlőséget! Segítség: Használjuk a prímtényezős felírásokat Megj. (a szélsőségesebb esetek kezeléséhez): lnko(0, 0) = 0, lnko(a, 0) = a, lnko(a, b) = lnko( a, b ) Hasonlóan a lkkt-re is 3
Maradékos osztás, euklideszi algoritmus Az algoritmus alap változata Feladatok Néhány kisebb számmal játsszuk végig az algoritmus lépéseit! (pl. a = 30, b = 8) Mi történik akkor, ha az induláskor b > a? ha az egyik szám negatív? ha mindkét szám negatív? ha az egyik szám 0? ha mindkét szám 0? Miért nem teljes faktorizációval számolunk lnko-t (iskolapéldáktól eltekintve, általában)? 4
Számítástudomány Maradékos osztás, euklideszi algoritmus Az algoritmus kiterjesztett változata (Donald E. Knuth) Megjegyzések Elég lenne s és t (c és c 2 ) közül csak az egyik meghatározása, mert a másik g = s a + t b-ből már számolható Az algoritmus működését az garantálja, hogy c, c 2 és d, d 2 mindig kielégíti az a c + b c 2 = c és a d + b d 2 = d egyenleteket Feladatok Néhány kisebb számmal játsszuk végig az algoritmus lépéseit! (pl. a = 30, b = 8) 5
Maradékos osztás, euklideszi algoritmus Maple-ben 6
Maradékos osztás, euklideszi algoritmus Matlabban (csak kb. 2^52-ig, utána: Symbolic Math Toolbox) 7
Euklideszi algoritmus hatékonysági vizsgálat Hatékonysági elemzés (Z-ben) (Részletesen lásd: Gács Lovász és Gathen Gerhard) Legrosszabb eset: Mikor (milyen számokra) hajtódik végre a legtöbb maradékos osztási lépés? Kulcslépés: a kiterjesztett algoritmusban c div d Ha itt minden hányados ; azaz: a Fibonacci-számok esetén *Az osztási lépések l száma (f, g) = (f n +, f n ) Fibonacci-számok esetén l = n logφ 5g,44log g + Ο() Osztási lépések száma és műv. igénye *Az osztási lépések átlagos száma rögzített g és változó f esetén 2 2(ln 2) l log g 0,584 log g 2 π *Egy osztási lépés (q és r meghatározása) O((λ(a) λ(b)) λ(b)) (szó) műveletet igényel, ahol a > b, és λ(a), λ(b) az a és b számok hossza a gépi repr.ban (pl. λ(a) = [log(a)/64] + ) Módosítás a kiterjesztett algoritmusra s és t meghatározására is megadható alkalmas korlát, ami nem rontja le az eddigieket Tétel: Legyen λ(f) = n, λ(g) = m. Ekkor a hagyományos és a kiterjesztett euklideszi algoritmus O(nm) műveletigénnyel hajtható végre. Ha az információt nem tartalmazó tagoktól megszabadulunk, akkor a műv.igény levihető O(n log 2 n)-re. Feladat: Hasonlítsuk össze a szükséges osztási lépések számát két Fibonacci-számra és két hasonló nagyságú választott (nem Fibonacci) számra! 8
Fibonacci-sorozat Feladat (Fibonacci, Leonardo Pisano): Hány pár nyúl származhat egy évben egyetlen (frissen született) pártól, ha minden pár havonta egy új párnak ad életet, amely a 2. hónaptól kezdve lesz tenyészképes, és egy ivadék sem pusztul el? Megoldás: Az. hónapban 0, a 2. hónapban, a 3. hónapban, a 4. hónapban + = 2, az 5. hónapban + + = 3, a 6. hónapban + + + 2 = 5, új nyúlpár születik. A nyúlpárok száma az n. hónapban: az (n ). hónapban élő nyúlpárok száma + az (n 2). hónapban élő nyúlpárok száma (ezek utódai születnek meg) Fibonacci-sorozat:,, 2, 3, 5, 8, 3, 2, 34, f n = f n + f n 2, ahol f = f 2 =. Feladatok n 2 f n = f i Igazoljuk, hogy + i= Útmutató: Fejtsük ki rekurzívan a képletben a bal oldali tagot! *Szemléletesen ellenőrizzük, majd igazoljuk, hogy érvényes Útmutató: Ez f n = f n + f n -ből adódik, végigszorozzuk a bal oldallal, majd kifejtjük n i= f 2 i = f n f n+ 9
Fibonacci-sorozat Rutin Maple-ben 20
Fibonacci-sorozat VBA rutin 2
Fibonacci-sorozat Generátorfüggvénnyel 22
Euklideszi algoritmus és lánctörtek Az euklideszi algoritmus fenti a = q b + r, ahol 0 r < b, b = q 2 r + r 2, ahol 0 r 2 < r, r = q 3 r 2 + r 3, ahol 0 r 3 < r 2,... r k 2 = q k r k + r k, ahol 0 r k < r k, r k = q k + r k + 0 lépéseit írjuk át a következő módon: a / b = q + r / b, b / r = q 2 + r 2 / r, r / r 2 = q 3 + r 3 / r 2, r k 2 / r k = q k + r k / r k, r k / r k = q k +. Helyettesítsünk be az egymást követő egyenletekbe: a / b = q + / (q 2 + r 2 / r ) stb. Ezzel igazoltuk a következőt: Állítás: Az a/b racionális szám a fenti megadás szerint felírható alakban. Ezt a formát lánctört alaknak nevezzük. Példa a = 239, b = 68: 239 68 = 7 + 2 + + 2 = 7 + 2 + 3/ 2 = 7 + 8/ 3 = 59 8 a b = q + q 2 + q 3 +... q k + 23
Lánctörtek Feladat: Állítsuk elő egy általunk kedvelt környezetben néhány racionális szám lánctörtes alakját! Eml. (előző példánk): Szemléltetés Excelben 239 = 7 + 68 2 + + 2 = 7 + 2 + 3/ 2 = 7 + 8 / 3 = 59 8 24
Lánctörtek A lánctörtes előállítás irracionális számokra is értelmezhető, bár ekkor a felírás nem lesz véges Minden irr. számhoz létezik olyan lánctört, amelynek kezdeti részlettörtjei olyan sorozatot alkotnak, amely a számhoz tart Az algoritmus (lánctörtbe alakítás) Legyen b 0 = [x] (egészrész), x = {x} (törtrész), ahol x = b 0 + x Ha x 0, akkor legyen b = [/x ], x 2 = {/x }, ahol x = b 0 + x = b 0 + /(b + x 2 ) Ha x 2 0, akkor legyen b 2 = [/x 2 ], x 3 = {/x 2 }... Ha x n 0, akkor legyen b n = [/x n ], és x n + = {/x n } helyett legyen 0/ A lánctört visszaalakítása egyszerű törtté Feladatok Írjuk az x k törtrészeket a visszaalakítási sorozatban x k = p k /q k alakba! A p n + = 0 és q n + = értékekből kiindulva a közös nevezőre hozás a p k = q k +, q k = b k q k + + p k +, k = n, n,,, 0 sorozatot eredményezi, amelynek végén a q 0 /p 0 hányados adja x tört alakú közelítését Állítsuk elő néhány irracionális szám lánctört alakját (vizsgáljunk meg híres konstansokat is: 2, e, pi)! Találunk szabályosságokat? *Mi lehet a szabályosságok oka? 25
Lánctörtek A pi lánctörtes alakja (közelítés) 26
Lánctörtek A és az e lánctörtes alakja 2 27
Lánctörtek Nevezetes számok lánctörtes alakja A G 2 = G + egyenlet G = megoldására: + /,,,, / 2 2: + / 2, 2, 2, 2, / 3: + /, 2,, 2,, 2, / : + / 3,, 5,,, 4,,, 8,, 4,, 0, 2,, 4, 2, 2, 3, 2,, 3, 4, / e: 2 + /, 2,,, 4,,, 6,,, 8,,, 0,,, 2,,, 4,,, / tg(): + /,, 3,, 5,, 7,, 9,,,, / pi: 3 + / 7, 5,, 292,,,, 2,, 3,, 4, 2,,, 2, 2, 2, 2,, 84, 2,, / Állítás: Ha egy valós szám lánctörtes kifejtése valahonnan periodikus (eventually periodic), akkor ez a szám egy másodfokú polinom gyöke Az állítás megfordítása is igaz (Lagrange, 770) (Igazolásokat lásd: Knuth) Magasabb fokú algebrai számok és transzcendens számok általában nem mutatnak szabályosságot Kivétel pl.: e (és vele szoros kapcsolatban levő számok, lásd: Knuth) *Feladat: Írjunk programot nevezetes konstansok lánctörtkifejtésének több ezer/tízezer jegyig történő meghatározására! 3 2 + Próbáljunk szabályosságokat keresni! 5 28
Lánctörtek Megvalósítás a Matlab és a Maple rendszerekben 29
Lánctörtek Megvalósítás a Matlab és a Maple rendszerekben (folyt.) 30
További érdekes feladatok* A pitagoraszi számhármasok feladatának általánosítása a Waring-problémakör Állítás: Létezik n-től független g(n) egész szám, hogy bármely n előáll legfeljebb g(n) darab n-edik hatvány összegeként Tétel: Minden n szám előáll legfeljebb 4 négyzetszám összegeként Pl. g(3) = 9, g(4) = 9, g(5) = 37 stb. Írjunk programot néhány g(n) érték tapasztalati meghatározására és végezzünk ilyen vizsgálatokat! Illusztráció: Kis n értékekre lényegében triviális előállításokat kapunk harmadik hatványok összegeként 2 = 3 + 3 3 = 3 + 3 + 3 7 = 3 + 3 + 3 + 3 + 3 + 3 + 3 8 = 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 = 2 3 9 = 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 = 2 3 + 3 0 = 2 3 + 3 + 3 = 2 3 + 3 + 3 + 3 5 = 2 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 6 = 2 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 = 2 3 + 2 3 24 = 2 3 + 2 3 + 2 3 3
Történeti áttekintés Euklidesz Lánctörtek Nagy görög matematikus, Kr. e. 300 körül, főműve az Elemek (3 könyv, geometria, aritmetika) Algoritmus: 7. könyvben (nagyon vsz., hogy már előtte is ismert volt) Ez az első modern algoritmus (amely lényegében ma is használatos) Már az ókori görögöknél ismertek, sőt, először így definiálták az irracionális (valós) számokat A lánctörtes e-kifejtés tulajdonságait Euler igazolta 73-ben A pi fontos tulajdonságainak igazolása Irracionális Lambert (766) [Hermite (873) e transzcendens] Transzcendens Lindemann (882; azaz: a kör nem négyszögesíthető) Nem Liouville-szám Mahler (953) (Egyéb nevezetes számok irracionalitásának igazolása 2 3 2, 3 stb.: már az ókori görögöknél : kockakettőzés, déloszi probléma) Bár az ókori görögök mély tudással rendelkeztek az irrac. számokról, a modern elméletet csak a 9. században dolgozták ki (Dedekind) 32
Történeti áttekintés Fibonacci Itáliai matematikus (2 3. sz.), fontos műve a Liber Abaci (Könyv az abakuszról), ebben összegyűjtött és általa kiegészített aritmetikai és algebrai ismereteket ír le Az euklideszi alg. hatékonyságának vizsgálata a Fibonacci-sor első gyakorlati alkalmazása volt Pierre Fermat 7. századi francia matematikus és fizikus (csak szabadidős matematikus) Kúpszeletek elmélete, szép számelméleti tételek Fermat-prímek (lásd köv. slidesor) Nagy Fermat-tétel : x n + y n = z n -nek n 3-ra nincs 0-tól különböző megoldása Igazolás: lapszéli jegyzeten n = 4: Fermat n = 3: Euler n = 5: Dirichlet (825) n 00: Kummer (847-) (!) Waring-problémakör (700-as évek 2. fele: Lagrange minden egész szám előáll legfeljebb 4 négyzetszám összegeként) 700-as évek vége: Waring észrevette a szabályosságot (akkor: sejtés) Hilbert igazolta általánosan 909-ben Külön köszönet: Pusztai P. és dr. Szörényi M. kollégáimnak 33
Ajánlott irodalom David M. Bressoud: Factorization and Primality Testing, Springer, New York, 989 Geddes, Czapor, Labahn: Algorithms for Computer Algebra (6th pr./ed.), Kluwer Acad. Press, Boston, 999 Joachim Gathen, Jürgen Gerhard: Modern Computer Algebra (3rd ed.), Cambridge Univ. Press, 203 Donald E. Knuth: A számítógép-programozás művészete 2. (2. kiadás), Műszaki Könyvkiadó, Budapest, 994 Gács Péter, Lovász László: Algoritmusok, Tankönyvkiadó, Budapest, 978 (több kiadás) Gerőcs László: A Fibonacci-sorozat általánosítása, Tankönyvkiadó, Budapest, 988 Szörényi Miklós, Kallós Gábor: Mérnöki számítások, jegyzet és órai segédanyagok (Excel és Matlab rész), SZE, 203 204 Sain Márton: Matematika-történeti ábécé, Tankönyvkiadó, Budapest, 974 Maple User Manual, Maplesoft, 203 Matlab Symbolic Math Toolbox User s Guide, MathWorks, 203 34