Széchenyi István Egyetem. Számítástudomány előadás. Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság. Dr.

Hasonló dokumentumok
1 2. előadás. Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság. Dr. Kallós Gábor

Széchenyi István Egyetem. Számítástudomány. 1. előadás. Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság. Dr.

1. Polinomok számelmélete

1. A maradékos osztás

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Komplex számok. Wettl Ferenc előadása alapján Wettl Ferenc előadása alapján Komplex számok / 18

1. előadás Prímtulajdonság, lnko, Euklideszi algoritmus, lánctörtek

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Polinomok (előadásvázlat, október 21.) Maróti Miklós

Klasszikus algebra előadás. Waldhauser Tamás március 24.

1. Egész együtthatós polinomok

Komputeralgebra Rendszerek

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

ALGEBRAI KIFEJEZÉSEK, EGYENLETEK

Kiegészítő előadás. Matlab 7. (Szimbolikus számítások) Dr. Szörényi Miklós, Dr. Kallós Gábor. Széchenyi István Egyetem

Nagy Gábor compalg.inf.elte.hu/ nagy

Komplex számok. Wettl Ferenc Wettl Ferenc () Komplex számok / 9

Polinomok maradékos osztása

Polinomok, Lagrange interpoláció

Algebrai alapismeretek az Algebrai síkgörbék c. tárgyhoz. 1. Integritástartományok, oszthatóság

1. Polinomfüggvények. Állítás Ha f, g C[x] és b C, akkor ( f + g) (b) = f (b) + g (b) és ( f g) (b) = f (b)g (b).

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Komputeralgebra Rendszerek

6. előadás Faktorizációs technikák közepes méretű osztókra

6. előadás Faktorizációs technikák közepes méretű osztókra

Klasszikus algebra előadás. Waldhauser Tamás április 14.

KOVÁCS BÉLA, MATEMATIKA I.

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

1. Interpoláció. Egyértelműség (K2.4.10) Ha f és g ilyen polinomok, akkor n helyen megegyeznek, így a polinomok azonossági tétele miatt egyenlők.

Algebra es sz amelm elet 3 el oad as Nevezetes sz amelm eleti probl em ak Waldhauser Tam as 2014 oszi f el ev

A parciális törtekre bontás?

Komplex számok. Wettl Ferenc szeptember 14. Wettl Ferenc Komplex számok szeptember / 23

Komputeralgebra Rendszerek

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

Egyenletek, egyenlőtlenségek VII.

1. Hatvány és többszörös gyűrűben

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

1. A Horner-elrendezés

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Kongruenciák. Waldhauser Tamás

Vektorok. Octave: alapok. A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István

Kalkulus. Komplex számok

Polinomok A gyökök száma A gyökök és együtthatók összefüggése Szorzatra bontás, számelméleti kérdések A harmad- és negyedfokú egyenlet

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

3. Lineáris differenciálegyenletek

Algoritmuselmélet gyakorlat (MMN111G)

Numerikus matematika vizsga

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Irodalom. (a) A T, B T, (b) A + B, C + D, D C, (c) 3A, (d) AD, DA, B T A, 1 2 B = 1 C = A = 1 0 D = (a) 1 1 3, B T = = ( ) ; A T = 1 0

Komputeralgebra Rendszerek

Komplex számok. Wettl Ferenc Wettl Ferenc () Komplex számok / 14

3. előadás Prímtulajdonság, lnko, Euklideszi algoritmus, lánctörtek

Zárthelyi feladatok megoldásai tanulságokkal Csikvári Péter 1. a) Számítsuk ki a 2i + 3j + 6k kvaternió inverzét.

Hatványozás. A hatványozás azonosságai

First Prev Next Last Go Back Full Screen Close Quit. Matematika I

1 Lebegőpontos számábrázolás

Egy általános iskolai feladat egyetemi megvilágításban

n n (n n ), lim ln(2 + 3e x ) x 3 + 2x 2e x e x + 1, sin x 1 cos x, lim e x2 1 + x 2 lim sin x 1 )

Matematika szigorlat június 17. Neptun kód:

Lineáris egyenletrendszerek Műveletek vektorokkal Geometriai transzformációk megadása mátrixokkal Determinánsok és alkalmazásaik

Gauss elimináció, LU felbontás

Diszkrét matematika 2.C szakirány

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Vektorok, mátrixok, lineáris egyenletrendszerek

Gauss-Seidel iteráció

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

x a x, ha a > 1 x a x, ha 0 < a < 1

Nagy Gábor compalg.inf.elte.hu/ nagy

FELADATOK A BEVEZETŽ FEJEZETEK A MATEMATIKÁBA TÁRGY III. FÉLÉVÉHEZ. ÖSSZEÁLLÍTOTTA: LÁNG CSABÁNÉ ELTE IK Budapest

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Algoritmusok Tervezése. 1. Előadás MATLAB 1. Dr. Bécsi Tamás

Matematika A1a Analízis

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

1. Interpoláció. Egyértelműség Ha f és g ilyen polinomok, akkor n helyen megegyeznek, így a polinomok azonossági tétele miatt egyenlők.

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

1. Mátrixösszeadás és skalárral szorzás

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

Intergrált Intenzív Matematika Érettségi

Matematika A2 vizsga mgeoldása június 4.

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

Diszkrét matematika I.

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

DIFFERENCIÁLEGYENLETEK. BSc. Matematika II. BGRMA2HNND, BGRMA2HNNC

12 48 b Oldjuk meg az Egyenlet munkalapon a következő egyenletrendszert az inverz mátrixos módszer segítségével! Lépések:

Lineáris algebra Gyakorló feladatok

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 1.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

alakú számot normalizált lebegőpontos számnak nevezik, ha ,, és. ( : mantissza, : mantissza hossza, : karakterisztika) Jelölés: Gépi számhalmaz:

Tartalom. Algebrai és transzcendens számok

Tartalomjegyzék 1. Műveletek valós számokkal Függvények Elsőfokú egyenletek és egyenlőtlenségek

Átírás:

1 2. előadás Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság Dr. Kallós Gábor 2016 2017 1

Tartalom Függvény alatti terület meghatározása A gépi integrálás problémája Mátrix inverzének meghatározása Gépi epszilon Egy numerikus rendszer határai (Matlab) Legkisebb és legnagyobb ábrázolható szám, Inf, NaN Pi közelítések Nagypontosságú aritmetika Egyenletrendszerek megoldása Az egyszerűsítés problémája Algebrai egyenletek megoldása Maple áttekintés Matlab Symbolic Math Toolbox áttekintés Szimbolikus környezetben használható fontosabb parancsok Feladatok Irodalom 2

Függvény alatti terület meghatározása Feladat: Határozzuk meg az y = x 2 függvény alatti területet a [0, 1] intervallumon! 1. megoldási lehetőség: Közelítő számítás Nézzük meg Excelben, Matlabban! Mi kell a közelítő megoldáshoz Excelben? x adatsor, y adatsor Megfelelően sűrű lépésközzel Közelítés a területre, ami könnyen számolható, pl.: trapézmódszer (numerikus integrálás) Ellenőrzés (becsléssel): Jó eredményt kaptunk-e? Mennyire pontos az eredmény? Kapcsolódóan: ábrakészítés (diagramtípus), hangolások, feliratok, esetleg jelölők stb. 3

Függvény alatti terület meghatározása Feladat: y = x 2 függvény alatti terület (folyt.) Mi kell a közelítő megoldáshoz Matlabban? (Matlab használat számológép szinten, ablakok, konstansok, változók, környezeti parancsok, aktuális könyvtár, sorozatképzés, vektorok és mátrixok, sima és pontozott műveletek, egyszerű grafika fv.rajzolás) Függvény megadása (m-fájlok) Alkalmas beépített parancs, ami megoldja a numerikus integrálási feladatot Lehet a Súgóban nézelődni, keresgélni Nekünk most jó: quad Paraméterek szerepe (mi a jó számítási pontosság?) Az Excel és Matlab programoknál (numerikusan) 15-16 jegy pontosságot várhatunk 4

Függvény alatti terület meghatározása Feladat: y = x 2 függvény alatti terület (folyt.) 2. megoldási lehetőség: Pontos számítás Nézzük meg papír-ceruza módszerrel, ill. alkalmas programmal! Papír-ceruza módszer Tudunk integrálni :-) Megj: legalábbis egyszerűbb esetekben (!) Így nyilván pontos megoldást kapunk Számítógépes megoldás Probléma: az x változót kell kezelnünk, mint megfelelő objektumot! Persze aritmetika is kell ilyen objektumokkal, pl. 2*x, x^2 stb. A Matlab szimbolikus modulja tudja ezt, és a Maple is Mi kell a pontos megoldáshoz Matlabban? Szimbolikus objektumok definiálása (aritmetika) Alkalmas beépített parancs, ami megoldja a szimbolikus integrálási feladatot (int) Paraméterek Mi kell a pontos megoldáshoz Maple-ben? (Alapvető Maple használat) A többit már tudjuk (Sok más jó eszközt is találhatunk, pl. Wolfram Alpha) 5

Függvény alatti terület meghatározása Wolfram Alpha 6

A gépi integrálás problémája Természetes kérdések: Milyen bonyolult feladatokat tud a gép megoldani? Milyen algoritmussal tud a gép integrálni? Példa: vegyünk egy Matek 2. vizsgafeladatot! Oldassuk meg a Maple megfelelő tutorjával! 7

A gépi integrálás problémája Természetes kérdések (folyt): Mi van akkor, ha a gép nem talál megoldást a szimbolikus integrálási feladatra? Példa: egy Infó 2. vizsgafeladat (két fv. közötti terület, numerikus számolásra) Szimbolikusan nem tudjuk kiszámolni 8

Mátrix inverzének meghatározása Meghatározások, tulajdonságok Inverz mátrix (csak négyzetes mátrixokra): az a mátrix, amelyet az eredetivel összeszorozva egységmátrixot kapunk Jelölés: A 1 Érvényes: A A 1 = A 1 A = E Egységmátrix: a főátlóban csupa 1-es, más helyeken 0-ák Jelölés: E vagy I Az egységmátrixra teljesül: A E = E A = A; E E = E Inverz akkor létezik, ha a determináns nem 0, illetve a mátrix rangja megegyezik a sorainak (oszlopainak) számával Papír-ceruza módszer Az adjungált mátrixot osztjuk a determinánssal Az egységmátrixból indulva megengedett műveletekkel eljutunk az eredeti mátrixig Így pontos megoldást kapunk (ellenőrzés!) A Maple tutor be tudja mutatni 9

Mátrix inverzének meghatározása Számítógépes megoldás numerikusan Tudja az Excel és a Matlab (persze a Maple is) Megvalósítás Excelben Adatok bevitele (bemásolása, betöltése) Determináns ellenőrzése Inverz területének kijelölése Inverz képletének megadása (blokkművelettel!) Célszerűen: ellenőrzés Extra lehetőség: valódi tört formátumú megjelenítés (pontos aritmetika, de csak 3 jegyig) Megvalósítás Matlabban Adatok bevitele (bemásolása, betöltése) Rang vagy determináns ellenőrzése Inverz számolása a megfelelő paranccsal (inv) Lebegőpontos eredményt kapunk, de kérhető valódi törtes megjelenítés (rats vagy format rat; 5-6 jegyig pontos aritmetika) 10

Mátrix inverzének meghatározása Számítógépes megoldás pontos aritmetikával Excel és Matlab láttuk Maple A parancs neve és a mátrix megadása itt más, de a lényeg uaz Sok finomabb opció beállítható Kötelező: lineáris algebra csomag használata (Plusz kényelmi lehetőség: a mátrix palettáról is beszúrható) Számítógépes megoldás szimbolikusan Matlab és Maple A megszokott módon 11

Mátrix inverzének meghatározása, gépi epszilon Egy kellemetlen mátrix: A = [1 2 3; 4 5 6; 7 8 9] Determináns (Excel): nagyon kicsi érték Ez most tényleg nem nulla, vagy valójában 0 (csak nem pontosan annak látszik)? Másik hasonló példa: a B = [1 2 3; 4 5 6; 7 8 8] mátrixot és numerikusan számított inverzét szorozzuk össze (Excel, Matlab) 1-hez és 0-hoz nagyon közeli értékeket is látunk Tudnunk kell értelmezni ezeket az eredményeket! A második példánál ez nyilvánvaló Az elsőnél: a rang árulja el, hogy valóban 0-e a determináns (összefüggő-e a rendszer) Mátrix rangja: lineárisan független oszlopvektorok (sorvektorok) maximális száma Feladat: igazoljuk, hogy valóban csak 2 fgtlen sor/oszlopvektora van a rendszernek! (Pl. Állítsuk elő az első sor/oszlop valahányszorosának kivonásával a 2. és 3. sorból/oszlopból ugyanazt a ) 12

Számítástudomány Gépi epszilon Numerikus rendszerekben létezik egy olyan legkisebb érték, amelyet 1-hez hozzáadva még éppen nem 1 lesz az eredmény, ez a gépi epszilon A rendszer beépítve is ismerheti, de algoritmikusan is meghatározható (Szemléltetés Matlabban hex kijelzéssel is) Feladatok Hogyan érdemes elvégezni géppel a következő összeadást: eps/3 + 1 + eps/2 + 2 + eps/2 + 2 + eps? *Határozzuk meg az eps_2, eps_3 számot (2-höz, 3-hoz hozzáadva ) 13

Egy numerikus rendszer határai (Matlab) A probléma hagyományos programozási környezetben is előjön Egész (előjeles, előjel nélküli) és valós típusok, szabványok (1, 2, 4 stb. bájton, tudjuk) A Matlabban használatos egész és lebegőpontos típusok (alapértelmezés: double): Speciális értékek: Inf és NaN Feladatok Hogyan értelmezhetők a következők (mi lenne a jó eredmény): Inf + Inf, Inf Inf, Inf/Inf, NaN + Inf stb. Állítsunk elő a realmax('double') értéknél egy picit nagyobb számot! 14

Számítási hibák halmozódása Gyakori probléma, akár lineáris egyenletrendszerek megoldásánál is Magyarázat: pontatlan értékeken végzünk további műveleteket, így az eredmény még pontatlanabb lesz Nálunk most: illusztráció; Horner kiértékelés Hatodfokú függvény egy intervallumban, képlete: (1 x) 6 = x 6 6x 5 + 15x 4 20x 3 + 15x 2 6x + 1 = (((((x 6)x + 15)x 20)x + 15)x 6)x + 1 15

A pi közelítése Feladat: határozzuk meg a π számot sok (pl. 500 vagy 1000 vagy ) tizedesre! Papír-ceruza módszerek Archimédesz módszere (ókor, trigonometria) Iteratív közelítések (középkor és újkor, speciális sorok) Érdemes megpróbálni párat (bár inkább géppel ) *Pi-versek, novellák :-) (Szász Pál, 1952) Nem a régi s durva közelítés, 3 1 4 1 5 9 Mi szótól szóig így kijön, 2 6 5 3 5 Betűiket számlálva. 8 9 Ludolph eredménye már, 7 9 3 Ha itt végezzük húsz jegyen. 2 3 8 4 6 De rendre kijő még tíz pontosan, 2 6 4 3 3 8 Azt is bízvást ígérhetem. 3 2 7 9 *Buffon tűdobási problémája Legyen x = l/d. Annak valószínűsége, hogy a tű vonalra esik: P(x) = 2x/π (számolható) (Ez csak rövid tű esetén igaz) Kísérlet, 500 dobás, x = 1/3, 107 metszéssel. Ebből: π-köz = 3,116 16

A pi közelítése Feladat: π meghatározás (folyt.) Számítógépes megoldás A Matlab és a Maple számára ez nem probléma (Matlabban a nagypontosságú aritmetikához szükséges a vpa parancs) 17

A pi közelítése Természetes kérdések 1.: Hogyan dolgozik a gép? A π közelítésére alkalmas képletek = + + + L π Viete-formula: π 2 2 4 4 6 6 8 8 K = Wallis módszere (1650 körül): 2 1 3 3 5 5 7 7 9 K Gregory Leibniz módszer (1670 körül), Indiában már 1500 körül is ismert volt: Egyszerű és hatékony módszer, jól algoritmizálható = 1 Maple: a sorozat első 1000 tagjának összegzésével a 4 π/4 közelítésére 0,78514 adódik a pontos 0,78539 érték helyett Machin módszere (1706-tól): π = 4arctan Lényegében még ma is használatos módszer (változatai) 4 Maple: ezzel a képlettel néhány tizedmp alatt ki tudjuk számolni a π első 10000 jegyét Speciálisan számítógépre optimalizált módszerek J. Borwein és P. Borwein (1985-től) Legyen a0 = 6 4 2 és y0 = 2 1 Iteráljuk a következő kifejezéseket: 4 1/ 4 1 (1 yk ) A sorozat határértéke 1/π yk 1 = 4 2k+ 3 a 4 1/ 4 k ak 1 + yk+ 1) 2 yk+ (1 1+ (1 yk ) 1 + yk+ 1 Negyedrendűen konvergens a k -ra (minden iteráció négyszeresére növeli a pontos jegyek számát) D. Bailey, P. Borwein és S. Plouffe (1996) 2 Kiszámítható a π tetszőleges számjegye (16-os szr.-ben) az előzőek ismerete nélkül = 1 4 2 1 1 π n n= 0 16 8n + 1 8n + 4 8n + 5 8n + 6 1 2 1 2 1 2 1 2 1 2 1 2 π 1 2 1 2 1 2 1 1 1 1 + + L 3 5 7 9 1 arctan 5 1 239 2 + + 1 = ( + yk + 1 ) 18

A pi közelítése A π jegyeinek a meghatározása (történeti áttekintés) Számítógép előtti időszak Egyiptom (Rhind-papirusz, i.e. 2000~) Archimédesz (i.e. 250~) Csu Csung Csi (Kína, 480~) Al-Kashi (Szamarkand, 1430) Viete (1593) Ludolph van Ceulen (1610) Sharp (1699) Machin (1706) von Vega (1794) Strassnitzky, Dase (1844) Clausen (1847) Rutherford (1853) Shanks (1874) Ferguson (1946) 2^8/3^4 = 3,1605... 3,1418 (átlagszámítással, 3 jegy pontos) 3,14159292 (6 jegy pontos) 3,14159265358979 (14 jegy) 3,1415926536 (9 jegy) 35 jegy! 71 100 140 (136 helyes) 200 (fejben!!!) 248 440 707 (527 helyes) 620 19

A pi közelítése A π jegyeinek a meghatározása (történeti áttekintés, folyt.) Miért jó ez? Verseny, kihívás, rekordok Szuperszámítógépek tesztelése, korrekt működés ellenőrzése Szabályosságok keresése Gépi számolással Ferguson, asztali számológép (1947 jan.) Reitwiesner és társai, ENIAC (1949) Genuys, IBM 704 (1958) Shanks, Wrench, IBM 7090 (1961) Goilloud, Bouyer, CDC 7600 (1973) Kanada és Tamura, HITACHI S-810/20 (1986) Chudnovsky testvérek, Cray-2, IBM 3090-VF (1989) Kanada és Takahashi, HITACHI SR2201 (1997) Kanada, HITACHI SR8000 (2002 szept.) Takahashi, TK2 szupergép (2009 ápr.) Yee és Kondo (2011 okt.) 710 2037 10 000 100 265 1 001 250 67 108 839 1 011 196 691 51 539 600 000 1 241 100 000 000 2 576 980 377 524 10 000 000 000 050 20

A pi közelítése Természetes kérdések 2.: Hogyan lehet megvalósítani általában a nagypontosságú aritmetikát? Amit át kell gondolni Adatreprezentáció (egészek, racionális törtek, polinomok, hatványsorok) Hatékony tárolás Hatékony algoritmusok (összeadás, szorzás, osztás) Néhány további kérdés: egyszerűsítések (!) Mi kell a nagypontosságú egészek gépi reprezentációjához? Egy lista, amely hagyományos egészekből áll (d 0, d 1,, d l 1 ) és egy előjel (s) Egy rögzített célszerűen nagy βalapszám Leggyakrabban 2 vagy 10 hatvány úgy, hogy β 1 még tárolható legyen hagyományos egészként (pl. 2 31 vagy 10 9, ha 32 bitünk van) A lista lehet statikus (szekvenciális) vagy dinamikus (láncolt) l 1 i d = s Láncolt dinamikus lista Eltároljuk a d i -ket, egy listaelem a következőre mutat Pl. N = 1234567890, β = 10 3, N 890 567 234 1 x A fordított sorrend megfelel a műveletekhez szükséges természetes elérésnek Fix méretű helyet foglalunk le, a nem használt pozíciók 0-át tartalmaznak Pl. N 890 567 234 1 0 0 0 0 0 0 Előnyök és hátrányok mindkét esetben Dinamikus tömb: mindkét módszer előnyeit ötvözi (Maple) d i i= 0 β 21

Egyenletrendszer megoldása Egy nemlineáris egyenletrendszer megoldása és tanulságai Feladat: Oldjuk meg az alábbi harmadfokú, nemlineáris egyenletrendszert! Lépések (Maple) Solve parancs RootOf-os eredményt kapunk elsőre nehezen értelmezhető Numerikusan: fsolve Látjuk, hogy kaptunk valós megoldást (mindig csak egyet) Ugyanígy több más mo. is előállítható (6 db) 22

Egyenletrendszer megoldása Egy nemlineáris egyenletrendszer megoldása és tanulságai (folyt.) Lépések (Maple, folyt.) Kiszedjük a RootOf-ból a gyököket A fenti szimbolikus mo-ból: a 6 gyök valóban előáll Numerikusan látszik, hogy a komplex rész valójában 0 Mindez direkt trigonometrikus úton is igazolható (?) *Mutassuk meg! 23

Az egyszerűsítés problémája Egyszerűsítések, különböző felírások Szimbolikus kifejezéseknél (pl. polinom) nem feltétlenül nyilvánvaló, hogy melyik alak tekinthető a legegyszerűbbnek A feladat jellegétől is függ, hogy milyen felírásra van szükségünk (pl. Heck 7.) A probléma általánosan sem egyszerű Kiterjesztett (összeg) vagy faktorizált (szorzattá alakított) felírás? (Helyigény, ill. valamelyik x hatvány együtthatójára vagyunk kíváncsiak) x 1000 1 vagy (x 1)(x 999 + x 998 + + x 2 + x + 1) (x + 1) 1000 vagy (x 1000 + 1000x 999 + + 1000x + 1) Többváltozós eset (Újabb kérdés: melyik a fő ismeretlen?) p(x, y) = 12x 2 y 4xy + 9x 3 p(x, y) = (3x 1)(4xy + 3) p(x, y) = (12y)x 2 (4y + 9)x 3 Általános transzformációs és egyszerűsítő függvények Az expand parancs segítségével összeg formájú felírást kérhetünk, a factor paranccsal pedig szorzattá alakítottat Egyszerűsítő függvények: simplify (simple) 24

Az egyszerűsítés problémája Egyszerűsítések, különböző felírások (folyt.) Zéró ekvivalencia probléma Az általános egyszerűsítési probléma speciális esete (jól definiált, nincs reprezentációs kérdés) Szép objektumokra (polinomokra, racionális törtfüggvényekre, hatványsorokra stb.) viszonylag egyszerű A függvényosztály bővítésével (trigonometrikus, exponenciális függvények) azonban ez a feladat nagyon nem triviálisnak tűnik!!! Pl. log(tan(x/2 + π/4) sinh 1 (tan x) = 0? 25

Az egyszerűsítés problémája Néhány automatikus egyszerűsítés/kiértékelés a Maple rendszerben Ha egyértelmű a szabály, akkor egyszerűbb esetekben a várt eredményt kapjuk De vigyázzunk, néha az egyszerűnek tűnő eset is lehet bonyolultabb! 26

Az egyszerűsítés problémája Hogyan tudunk mi egyszerűsíteni/egyszerűsíttetni? 27

Az expand parancs alkalmazásai Trigonometrikus azonosságok (addíciós szabályok), amelyeket a rendszer ismer (válogatás) 28

Az expand parancs alkalmazásai Exponenciális-logaritmikus és gyökös-hatványos azonosságok, amelyeket a rendszer ismer (válogatás) Tanulság: vigyázni kell! 29

Az egyszerűsítés problémája Feladat: Kapjuk vissza a tan(3 x) kifejtett alakjából az eredetit! *Feladatok: Heck 370, 371 30

Polinomok, gyökök Meghatározás Többtagú (polinom) Először csak: egyváltozós eset Együtthatók: (kommutatív, egységelemes) gyűrűből (jelölés általában: R), ekkor a képzett polinomok is uolyan struktúrát alkotnak (jelölés: R[x]) (a n, a n-1,, a 2, a 1, a 0 ), illetve a n x n + a n-1 x n-1 + + a 2 x 2 + a 1 x + a 0 alakú ( formális kifejezés ), ahol a műveletek megfelelő módon definiáltak Alapműveletek Például: f = (a n, a n-1,, a 2, a 1, a 0 ), g = (b n, b n-1,, b 2, b 1, b 0 ), f + g = (a n + b n, a n-1 + b n-1,, a 2 + a 2, a 1 + a 1, a 0 + b 0 ) Hasonlóan: f g, f g Feladat: Írjuk fel f g-t! Polinom foka: a legmagasabb fokú tag által meghatározott (jelölés: gr(f)) (0-nak nincsen foka) Feladat: Mi érvényes f + g fokára? Példa: (3x + 2) 3x Polinomszorzatra: gr(f g) = gr(f) + gr(g), ha R nullosztómentes (int. tart.), és f, g 0 Normált (1 főeh-jú) polinomok szorzata is normált Ha R integritási tartomány, akkor R[x] is az 31

Polinomok, gyökök Oszthatóság, felbonthatóság A polinomok körében is definiálható: oszthatóság, egység, felbonthatatlan, prímtulajdonság (lásd később) Konstans osztó: minden eh-t oszt Egy f polinom reducibilis (valódi értelemben felbontható), ha f = g h esetben gr(g), gr(h) 1 Egy f polinom irreducibilis, ha minden g h felbontásában valamelyik tényező nulladfokú Hányadostest K test az R integr. tart. hányadosteste, ha R K és minden a K-hoz létezik b R, amelyre a b R (b 0!) Test feletti polinomok Tétel: K[x]-ben minden polinom = irreducibilisek szorzata (Biz. ötlet: létezik euklideszi algoritmus, azaz maradékos osztás) (A felbonthatóság test felett más, mint gyűrű felett, mert Z[x]-ben pl. 2 (x 1) is valódi felbontás, Q[x]-ben ez nyilván nem az, ott a 2 egység; lásd még később is) Feladat: Végezzünk felbonthatósági próbákat Z[x]-ben és Q[x]-ben! Állítás (Gauss-lemma alapján): f polinom lényegileg pontosan akkor bontható fel Z[x] felett, amikor Q[x] felett 32

Polinomok, gyökök Definíció: s az f polinom gyöke, ha f(s) = 0 Állítás: Ha s gyöke f-nek, akkor (x s) f (x s) neve: gyöktényező Állítás: Test felett minden elsőfokú polinomnak van gyöke Z[x]-ben pl. (2x 1)-nek nincs gyöke Állítás: Egy R felett irreducibilis polinomnak R-ben legfeljebb egy gyöke van, és ha a foka > 1, akkor egy sincs Következmény: n-ed fokú polinomnak legfeljebb n gyöke van Algebra alaptétele: Bármely (nem konstans) polinomnak van komplex gyöke (n-edfokú polinomnak pontosan n darab, multiplicitással); avagy a komplex számok teste algebrailag zárt Tetszőleges K test esetén az alábbiak ekvivalensek: - Minden K[x]-beli nem konstans polinomnak létezik gyöke K-ban; - K[x]-ben minden nem konstans polinomnak létezik elsőfokú faktora; - K[x]-ben minden irreduciblis polinom elsőfokú; - K[x]-ben minden nem konstans polinom elsőfokúak szorzata; - K[x]-ben minden nem konstans polinom egy konstans és gyöktényezők szorzata; - K[x]-ben minden n-edfokú polinomnak n gyöke van (multiplicitással). Az ilyen tulajdonságú K testek algebrailag zártak 33

Polinomok, gyökök Feladatok Adjunk meg olyan egész együtthatós polinomot (pl. másodfokút), amelynek nincs valós gyöke! Adjunk meg olyan valós együtthatós polinomot, amelynek nincs racionális gyöke! Tétel: Minden valós együtthatós nem konstans polinomnak van első vagy másodfokú valós faktora Biz. ötlet: Ha a C és f(a) = 0, akkor f(a') = 0, ahol a' a konjugált, ezután már csak össze kell szorozni a két tényezőt Köv.: Minden páratlanfokú valós eh-ós polinomnak van valós gyöke Megj.: Z[x] és Q[x] felett az irreducibilis faktorok fokszáma nagyon magas is lehet Schönemann-Eisenstein kritérium (irreducibilitási feltétel): Ha az f = a n x n + a n-1 x n-1 + + a 2 x 2 + a 1 x + a 0 polinomhoz létezik olyan p prímszám, amelyre 1. p nem osztója a n -nek 2. p a i -nek, i = 0, 1,, n 1-re 3. p 2 nem osztója a 0 -nak akkor f(x) irreducibilis (Z felett) Test feletti polinomokra az ötlet így nem használható, mert testben nincsenek prímek! (De a nevezők eliminálása után már dolgozhatunk vele.) Alkalmazás: (x p 1)/(x 1) irreducibiliszfelett 34

Egyenletek megoldhatósága A továbbiakban valós együtthatós, egyismeretlenes polinomokkal dolgozunk (algebrai egyenletek) Másodfokú Harmadfokú Negyedfokú Megoldóképlet, már az ókorban ismert volt (Mezopotámia, Kr. e. 2000 k.) Fibonacci (1230 k.): egy harmadfokú egyenletet általában nem lehet a négy alapművelettel, hatványozással és négyzetgyökvonással megoldani 1400-as évek vége (itáliai matematikusok): a harmadfokú egyenletek visszavezethetők x 3 + px + q típusúakra Scipione del Ferro, Tartaglia, Cardano (1500-as évek eleje): megoldóképlet Először sikerült túlszárnyalni az ókori matematika eredményeit! (Komplex számok kezelése csak később) Ferrari: megoldóképlet Harmadfokúra való visszavezetés Ötöd- és magasabb fokú Lagrange (1770 k.): indoklás, hogy általában miért nem használhatók az alacsonyabbfokú esetek módszerei Ruffini, Abel, Galois (1820-30 k.): az általános ötödfokú egyenlet algebrai módszerekkel nem oldható meg Általában csak a közelítő módszerek maradnak Feladat: ötödfokú egyenletek megoldhatóságának vizsgálata u 2 3 2 q q p q q p + v = 3 + + + 3 + 2 2 3 2 2 3 3 35

Egyenletek megoldhatósága Ötöd- és magasabb fokú (folyt.) Feladat: ötödfokú egyenletek megoldhatóságának vizsgálata 36

Maple áttekintés A Maple felületének fontos jellemzője: (mostanra már) nagyon igényes munkalapok (dokumentumok) kialakítását teszi lehetővé Dokumentum mód (alapértelmezés) Elemei a dokumentum blokkok (View/Markers), a parancsok részletei rejtettek Egy dokumentum blokk kinyitható/becsukható Worksheet (munkalap) mód (bekapcsolás: File/New) Maple input prompt és csoport használható Vegyes használat is lehetséges Munkalap módban is elrejthetők a számítás részletei (Format/Create Docum. Block) Dokumentum módban is lehet Maple input promptot beszúrni (Insert/Execution Group) 2-D Math bevitel (alapértelmezés) Törtek, kitevők, alsó indexek, gyökös kifejezések, integrálok stb. írhatók igényes módon 1-D Math bevitel (hagyományos Maple környezet) Kulcsszavakból, zárójelezéssel kell összeállítani a kifejezéseket Intelligens kiegészítés a beíráskor (Esc) Inline (sorközi) kiértékelés: CTRL + =; sima kiértékelés: ENTER 37

Maple áttekintés Helyzetérzékeny menük hívhatók az objektumokon (nem kell paranccsal megadni a funkciót) Pl.: egyenlet megoldására, függvény ábrázolására A lehetőségek természetesen függenek az adott objektumtól Parancs befejezés (intelligens beírás, képletek): CTRL + space Paletták, beszúrható objektumokkal Állandó kernel + a parancsok egy része: külső könyvtárakból Nagyon jó súgó 38

Maple áttekintés Komoly támogatás a matematikai problémamegoldáshoz Tools menü Clickable math Tutorok Taskok A munkalapokba beilleszthetők 39

Maple áttekintés A súgó ( kézikönyv ) a program nélkül, online módon is elérhető (Maplesoft oldal) 40

Matlab Symbolic Math Toolbox áttekintés (Matlab numerikus számítási környezet, programrdsz.) A S. M. Toolbox szimbolikus számítások elvégzését teszi lehetővé A Matlab alapból numerikusan számol (mátrixos reprezentáció), a double float adattípus pontosságáig Szimbolikus változók definiálása syms vált.név vált = sym('vált') Konstansnál csak ez alkalmazható, az aposztrófok elhagyhatók 15 jegyig Feladat: Nézzük meg, hogy mi történik, ha ennél jóval nagyobb konstans számra is elhagyjuk az aposztrófokat! Változó törlése: clear vált.név Matlab felület Ablakok (ki- és bekapcs.) Aktuális könyvtár beállítása History ablak Karakterméret (Desktop/Toolbars) Compact kijelzés A felület karakteres, a (régi) Maple 1D-hez hasonló, pretty kijelzés is kérhető Súgó rendszer, demók, 41

Szimbolikus környezetben használható fontosabb parancsok Felbontók Kiértékelők Expand: összeg formájú felírás Factor: szorzat formájú felírás Polinom együtthatói (coeff, lcoeff, tcoeff, collect) Polinom foka (degree) Eval: általános kiértékelő (egyszerűsít is) Evalf: lebegőpontos kiértékelő Egyszerűsítők Simplify, simple: általános egyszerűsítő Körülmények/feltételek beállítása, megadása (assume) Normal: normalizáló Combine: kifejezések egyesítése Helyettesítők Megoldók Subs: általános helyettesítő Subsop: megadott operandusok helyettesítésére Solve: általános megoldó Fsolve: lebegőpontos megoldó Egyéb fontosabb parancsok Limit: határérték számítás Diff, Int: differenciálás, integrálás 42

Ajánlott irodalom Berggren, Borwein: Pi a Source Book, Springer, New York, 2004 Geddes, Czapor, Labahn: Algorithms for Computer Algebra (6th pr./ed.), Kluwer Acad. Press, Boston, 1999 Joachim Gathen, Jürgen Gerhard: Modern Computer Algebra (3rd ed.), Cambridge Univ. Press, 2013 Edward Kofler: Fejezetek a matematika történetéből, Gondolat, Budapest, 1965 Sain Márton: Matematika-történeti ábécé, Tankönyvkiadó, Budapest, 1974 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, 2013 2014 Molnárka Győző és társai: A MapleV és alkalmazásai, Springer, Budapest, 1996 Andre Heck: Bevezetés a Maple használatába, JGYF kiadó, Szeged, 1999 Maple User Manual, Maplesoft, 2013 Matlab Symbolic Math Toolbox User s Guide, MathWorks, 2013 43