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.



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 előadás. Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság. Dr.

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

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

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

ALGEBRAI KIFEJEZÉSEK, EGYENLETEK

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

Komputeralgebra Rendszerek

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

Egyenletek, egyenlőtlenségek VII.

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

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

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

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

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

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

Polinomok, Lagrange interpoláció

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

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

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

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek

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

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

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:

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

KOVÁCS BÉLA, MATEMATIKA I.

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

Komputeralgebra Rendszerek

Gauss elimináció, LU felbontás

Numerikus matematika vizsga

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

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

A parciális törtekre bontás?

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

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

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

Széchenyi István Egyetem. Informatika II. Számítási módszerek. 5. előadás. Függvények ábrázolása. Dr. Szörényi Miklós, Dr.

Vektorok, mátrixok, lineáris egyenletrendszerek

MATLAB OKTATÁS 1. ELŐADÁS ALAPOK. Dr. Bécsi Tamás Hegedüs Ferenc

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

Polinomok maradékos osztása

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

Tartalom. Matematikai alapok. Termékgyártási példafeladat. Keverési példafeladat Szállítási példafeladat Hátizsák feladat, egészértékű feladat

Gauss-Seidel iteráció

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

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

A matematikai feladatok és megoldások konvenciói

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert:

Maple: Bevezetés. A Maple alapjai

Komputeralgebrai Algoritmusok

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

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

Kalkulus. Komplex számok

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

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

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

Maple. Maple. Dr. Tóth László egyetemi docens Pécsi Tudományegyetem, 2007

SZÁMÍTÁSOK A TÁBLÁZATBAN

Másodfokú egyenletek, egyenlőtlenségek

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

Megoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

1. zárthelyi,

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

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.

Matematika A2 vizsga mgeoldása június 4.

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

Intergrált Intenzív Matematika Érettségi

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

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 )

Egyenletek, egyenlőtlenségek X.

Osztályozóvizsga és javítóvizsga témakörei Matematika 9. évfolyam

Másodfokú egyenletek, egyenlőtlenségek

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

Táblázatkezelés 2. előadás. Alapok (folyt.)

Feladat Nézzük meg a súgóban (help és doc) a sin parancs használatáról olvasható információt! Próbáljuk ki a kirajzoltató utasítást.

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged

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

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

2018/2019. Matematika 10.K

16. modul: ALGEBRAI AZONOSSÁGOK

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

Kiegészítő részelőadás 2. Algebrai és transzcendens számok, nevezetes konstansok

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

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Algebra

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

Ipari matematika 2. gyakorlófeladatok

Matematika tanmenet 10. osztály (heti 3 óra) A gyökvonás 14 óra

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

Numerikus módszerek 1.

Egyenletek, egyenlőtlenségek V.

Határozott integrál és alkalmazásai

Totális Unimodularitás és LP dualitás. Tapolcai János

Typotex Kiadó. Bevezetés

Az R forgató mátrix [ 1 ] - beli képleteinek levezetése: I. rész

SPECIÁLIS HELYI TANTERV SZAKKÖZÉPISKOLA. matematika

Normák, kondíciószám

Lineáris algebra Gyakorló feladatok

Feladat Nézzük meg a súgóban (help és doc) a sin parancs használatáról olvasható információt! Próbáljuk ki a kirajzoltató utasítást.

Átírás:

1. előadás Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság Dr. Kallós Gábor 2014 2015 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 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, hangolások, feliratok, esetleg jelölők stb. 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, egyszerű grafika fv.rajzolás) Függvény megadása 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 3

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) 4

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! 5

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 6

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 7

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) 8

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 9

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 ) 10

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 ) 11

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! 12

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 13

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) 14

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 ) 15

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 16

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 17

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 β 18

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) 19

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! 20

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) 21

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? 22

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! 23

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

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

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! 26

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 27

Egyenletek megoldhatósága 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 28

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

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 30

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ó 31

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

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

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, 34

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 35

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 36