Upload
letu
View
216
Download
0
Embed Size (px)
Citation preview
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
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
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
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…
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)
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 …)
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!
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
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
π
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
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)
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)
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!
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)
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
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
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
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
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ó
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)
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
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