22
1 Széchenyi István Egyetem Számítástudomány 1–2. előadás Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság 2016–2017 Dr. Kallós Gábor 1 2 Széchenyi István Egyetem Számítástudomány 2 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

1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

  • Upload
    letu

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

1

Széchenyi István EgyetemSzámítástudomány

1–2. előadás

Numerikus és szimbolikus számítások, számítási pontosság, megoldhatóság

2016–2017

Dr. Kallós Gábor

1

2

Széchenyi István EgyetemSzámítástudomány

2

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

Page 2: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

3

Széchenyi István EgyetemSzámítástudomány

3

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

Feladat: Határozzuk meg az y = x2 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.

4

Széchenyi István EgyetemSzámítástudomány

4

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

Feladat: y = x2 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 Matlabprogramoknál (numerikusan) 15-16 jegy pontosságot várhatunk

Page 3: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

5

Széchenyi István EgyetemSzámítástudomány

5

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

Feladat: y = x2 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)

6

Széchenyi István EgyetemSzámítástudomány

6

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

Wolfram Alpha

Page 4: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

7

Széchenyi István EgyetemSzámítástudomány

7

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!

8

Széchenyi István EgyetemSzámítástudomány

8

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…

Page 5: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

9

Széchenyi István EgyetemSzámítástudomány

9

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

10

Széchenyi István EgyetemSzámítástudomány

10

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)

Page 6: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

11

Széchenyi István EgyetemSzámítástudomány

11

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

12

Széchenyi István EgyetemSzámítástudomány

12

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

Page 7: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

13

Széchenyi István EgyetemSzámítástudomány

13

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 algoritmikusanis 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 …)

14

Széchenyi István EgyetemSzámítástudomány

14

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!

Page 8: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

15

Széchenyi István EgyetemSzámítástudomány

15

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 = x6 – 6x5 + 15x4 – 20x3 + 15x2 – 6x + 1 = (((((x – 6)x + 15)x – 20)x + 15)x – 6)x + 1

16

Széchenyi István EgyetemSzámítástudomány

16

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

Page 9: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

17

Széchenyi István EgyetemSzámítástudomány

17

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)

18

Széchenyi István EgyetemSzámítástudomány

18

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� Viete-formula: � Wallis módszere (1650 körül): � 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ó� Maple: a sorozat első 1000 tagjának összegzésével a π/4 közelítésére 0,78514… adódik a pontos 0,78539… érték helyett

� Machin módszere (1706-tól):� Lényegében még ma is használatos módszer (változatai)� 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 és Iteráljuk a következő kifejezéseket:A sorozat határértéke 1/π

� Negyedrendűen konvergens ak-ra (minden iteráció négyszeresére növeli a pontos jegyek számát)

� D. Bailey, P. Borwein és S. Plouffe (1996)� Kiszámítható a π tetszőleges számjegye (16-os szr.-ben) az előzőek ismerete nélkül

L2

1

2

1

2

1

2

1

2

1

2

1

2

1

2

1

2

12 +++=π

K

K

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=

97755331

88664422

2

π

L−+−+−=91

71

51

31

14π

=239

1arctan

5

1arctan4

4

π

2460 −=a 120 −=y

4/14

4/14

1 )1(1

)1(1

k

kk y

yy

−+−−=+ )1(2)1( 2

111324

11 ++++

++ ++−+= kkkk

kkk yyyyaa

+−

+−

+−

+=∑

= 68

1

58

1

48

2

18

4

16

1

0 nnnnnn

π

Page 10: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

19

Széchenyi István EgyetemSzámítástudomány

19

A pi közelítése

A π jegyeinek a meghatározása (történeti áttekintés)

200 (fejben!!!)Strassnitzky, Dase (1844)

620Ferguson (1946)

707 (527 helyes)Shanks (1874)

440Rutherford (1853)

248Clausen (1847)

140 (136 helyes)von Vega (1794)

100Machin (1706)

71Sharp (1699)

35 jegy!Ludolph van Ceulen (1610)

3,1415926536 (9 jegy)Viete (1593)

3,14159265358979 (14 jegy)Al-Kashi (Szamarkand, 1430)

3,14159292 (6 jegy pontos)Csu Csung Csi (Kína, 480~)

3,1418 (átlagszámítással, 3 jegy pontos)Archimédesz (i.e. 250~)

2^8/3^4 = 3,1605... Egyiptom (Rhind-papirusz, i.e. 2000~)

Számítógép előtti időszak

20

Széchenyi István EgyetemSzámítástudomány

20

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

2 576 980 377 524Takahashi, TK2 szupergép (2009 ápr.)

1 241 100 000 000Kanada, HITACHI SR8000 (2002 szept.)

10 000 000 000 050Yee és Kondo (2011 okt.)

51 539 600 000Kanada és Takahashi, HITACHI SR2201 (1997)

1 011 196 691Chudnovsky testvérek, Cray-2, IBM 3090-VF (1989)

67 108 839Kanada és Tamura, HITACHI S-810/20 (1986)

1 001 250Goilloud, Bouyer, CDC 7600 (1973)

100 265Shanks, Wrench, IBM 7090 (1961)

10 000Genuys, IBM 704 (1958)

2037Reitwiesner és társai, ENIAC (1949)

710Ferguson, asztali számológép (1947 jan.)

Gépi számolással

Page 11: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

21

Széchenyi István EgyetemSzámítástudomány

21

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 (d0, d1, …, dl–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. 231 vagy 109, ha 32 bitünk van)

� A lista lehet statikus (szekvenciális) vagy dinamikus (láncolt)� Láncolt dinamikus lista

� Eltároljuk a di-ket, egy listaelem a következőre mutat� Pl. N = 1234567890, β = 103, 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)

il

iidsd β∑

=

=1

0

22

Széchenyi István EgyetemSzámítástudomány

22

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)

Page 12: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

23

Széchenyi István EgyetemSzámítástudomány

23

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!

24

Széchenyi István EgyetemSzámítástudomány

24

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)� x1000– 1 vagy (x – 1)(x999 + x998 + … + x2 + x + 1) � (x + 1)1000vagy (x1000+ 1000x999 + … + 1000x + 1)

� Többváltozós eset(Újabb kérdés: melyik a „fő” ismeretlen?) � p(x, y) = 12x2y – 4xy+ 9x – 3� p(x, y) = (3x – 1)(4xy+ 3)� p(x, y) = (12y)x2 – (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)

Page 13: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

25

Széchenyi István EgyetemSzámítástudomány

25

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?

26

Széchenyi István EgyetemSzámítástudomány

26

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!

Page 14: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

27

Széchenyi István EgyetemSzámítástudomány

27

Az egyszer űsítés problémája

� Hogyan tudunk mi egyszerűsíteni/egyszerűsíttetni?

28

Széchenyi István EgyetemSzámítástudomány

28

Az expand parancs alkalmazásai

� Trigonometrikus azonosságok (addíciós szabályok), amelyeket a rendszer ismer (válogatás)

Page 15: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

29

Széchenyi István EgyetemSzámítástudomány

29

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!

30

Széchenyi István EgyetemSzámítástudomány

30

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

Page 16: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

31

Széchenyi István EgyetemSzámítástudomány

31

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]) � (an, an-1, …, a2, a1, a0), illetve anx

n + an-1xn-1 + … + a2x

2 + a1x + a0 alakú(„formális kifejezés”), ahol a műveletek megfelelőmódon definiáltak

� Alapműveletek� Például: f = (an, an-1, …, a2, a1, a0), g = (bn, bn-1, …, b2, b1, b0),

f + g = (an + bn, an-1 + bn-1, …, a2 + a2, a1 + a1, a0 + b0)� 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

32

Széchenyi István EgyetemSzámítástudomány

32

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 ZZZZ[x]-ben pl. 2 ⋅ (x – 1) is valódi felbontás, QQQQ[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 ZZZZ[x]-ben és QQQQ[x]-ben!

� Állítás (Gauss-lemma alapján): f polinom – lényegileg – pontosan akkor bontható fel ZZZZ[x] felett, amikor QQQQ[x] felett

Page 17: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

33

Széchenyi István EgyetemSzámítástudomány

33

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� ZZZZ[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

34

Széchenyi István EgyetemSzámítástudomány

34

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 ∈ CCCC é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.: ZZZZ[x] és QQQQ[x] felett az irreducibilis faktorok fokszáma nagyon magas is lehet� Schönemann-Eisenstein kritérium (irreducibilitási feltétel):

Ha az f = anxn + an-1x

n-1 + … + a2x2 + a1x + a0 polinomhoz létezik olyan p prímszám,

amelyre1. p nem osztója an-nek2. p | ai-nek, i = 0, 1, …, n – 1-re 3. p2 nem osztója a0-nak akkor f(x) irreducibilis (ZZZZ 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: (xp – 1)/(x – 1) irreducibilisZZZZ felett

Page 18: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

35

Széchenyi István EgyetemSzámítástudomány

35

Egyenletek megoldhatósága

� A továbbiakban valós együtthatós, egyismeretlenes polinomokkal dolgozunk (algebrai egyenletek)

� Másodfokú� Megoldóképlet, már az ókorban ismert volt (Mezopotámia, Kr. e. 2000 k.)

� Harmadfokú� 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

x3 + 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)

� Negyedfokú� 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

3

32

3

32

322322

+

−−−+

+

−+−=+ pqqpqqvu

36

Széchenyi István EgyetemSzámítástudomány

36

Egyenletek megoldhatósága

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

Page 19: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

37

Széchenyi István EgyetemSzámítástudomány

37

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

38

Széchenyi István EgyetemSzámítástudomány

38

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ó

Page 20: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

39

Széchenyi István EgyetemSzámítástudomány

39

Maple – áttekintés

� Komoly támogatás a matematikai problémamegoldáshoz� „Clickable math”

� Tools menü� Tutorok� Taskok

� A munkalapokba beilleszthetők

40

Széchenyi István EgyetemSzámítástudomány

40

Maple – áttekintés

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

Page 21: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

41

Széchenyi István EgyetemSzámítástudomány

41

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� symsvá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: clearvá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, …

42

Széchenyi István EgyetemSzámítástudomány

42

Szimbolikus környezetben használható fontosabb paran csok

� Felbontó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)

� Kiértékelők � 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� Subs: általános helyettesítő� Subsop: megadott operandusok helyettesítésére

� Megoldók � 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

Page 22: 1–2. el őadásrs1.sze.hu/~kallos/fny-szamtud/szt-1-2 (16)-2_ora.pdf · 1 Számítástudomány Széchenyi István Egyetem 1–2. el őadás Numerikus és szimbolikus számítások,

43

Széchenyi István EgyetemSzámítástudomány

43

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