Matematika és Mathematica [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Szili L´aszl´o ´es T´oth J´anos

Matematika ´es Mathematica

ELTE E¨otv¨os Kiad´o Budapest, 1996

Lektor´ alta Pelik´ an J´ ozsef okleveles matematikus V´an P´eter okleveles fizikus

Nyelvi lektor Homonyik Andrea

A fedelet tervezte Dukay Barna

ISBN 963 463 004 9 c Szili L´  aszl´o ´es T´oth J´ anos, 1996

Tartalomjegyz´ek

El˝ osz´ o

. . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1. Matematikai programcsomagok . . . . . . . . . . . . . 13 1.1. Szimbolikus programcsomagok . . . . . . . . . . . . . 14 1.2. Numerikus programcsomagok . . . . . . . . . . . . . 17 2. Ismerked´ es a Mathematica programmal . . . . 2.1. A legfontosabb tudnival´ ok . . . . . . . . . . 2.2. Programcsomagok . . . . . . . . . . . . . 2.3. Az alapelvekr˝ ol . . . . . . . . . . . . . . 2.3.1. Alapvet˝o adatszerkezetek . . . . . . . ´ ekad´ 2.3.2. Ert´ asok t´ıpusai. Mint´ azatok . . . . 2.3.3 Opci´ ok . . . . . . . . . . . . . . . 2.3.4. Attrib´ utumok . . . . . . . . . . . . 2.3.5. Ki´ert´ekel´es . . . . . . . . . . . . . 2.4. K¨ uls˝ o kapcsolatok . . . . . . . . . . . . . 2.4.1. Be- ´es kimenet . . . . . . . . . . . . 2.4.2. A program k¨ ornyezete . . . . . . . . 2.4.3. Kapcsolat m´as nyelvekkel ´es programokkal 2.5. Tov´abbi inform´ aci´ oforr´ asok . . . . . . . . . 2.5.1. MathSource . . . . . . . . . . . . . 2.5.2. K¨onyvek . . . . . . . . . . . . . . 2.5.3. Foly´ oiratok . . . . . . . . . . . . . 2.5.4. MathGroup . . . . . . . . . . . . .

. . . . . . . . . . . .

3. Fejezetek a matematik´ ab´ ol . . . . . . . . . . . 3.1. Alapvet˝o matematikai fogalmak . . . . . . . 3.1.1. Logikai m˝ uveletek . . . . . . . . . . 3.1.2. Halmazok . . . . . . . . . . . . . . 3.1.3. Sz´amok ´abr´ azol´asa. Aritmetikai m˝ uveletek 3.1.4. F¨ uggv´enyek . . . . . . . . . . . . . 3.1.5. F¨ uggv´enyek ´abr´ azol´asa . . . . . . . . 3.1.6. Gyakorlatok ´es feladatok . . . . . . .

. . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

19 21 25 29 29 35 41 44 46 48 49 58 62 66 67 67 67 68

. . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . .

69 69 70 77 87 100 116 133

. . . . .

4

Tartalomjegyz´ek 3.2.

3.3.

3.4.

3.5.

3.6.

3.7.

Matematikai kifejez´esek . . . . . . . . . . . . 3.2.1. Algebrai polinomok . . . . . . . . . . . 3.2.2. Racion´alis kifejez´esek . . . . . . . . . . 3.2.3. Komplex v´ altoz´os kifejez´esek . . . . . . 3.2.4. Trigonometrikus kifejez´esek . . . . . . . 3.2.5. Egy´eb matematikai kifejez´esek . . . . . . 3.2.6. Nevezetes ¨osszegek ´es szorzatok . . . . . Egyenletek megold´ asa . . . . . . . . . . . . . 3.3.1. Az utas´ıt´ asok szintaxisa . . . . . . . . . 3.3.2. Egyenletek pontos megold´asa . . . . . . 3.3.3. Egyenletek k¨ozel´ıt˝ o megold´asa . . . . . . Anal´ızis . . . . . . . . . . . . . . . . . . . 3.4.1. Be´ep´ıtett speci´alis f¨ uggv´enyek . . . . . . 3.4.2. Sz´amsorozatok ´es sz´amsorok . . . . . . . 3.4.3. F¨ uggv´enyek hat´ ar´ert´eke . . . . . . . . . 3.4.4. Differenci´ alsz´am´ıt´ as . . . . . . . . . . 3.4.5. Integr´alsz´am´ıt´ as . . . . . . . . . . . . 3.4.6. F¨ uggv´enyk¨ozel´ıt´esek . . . . . . . . . . 3.4.7. Vektoranal´ızis . . . . . . . . . . . . . Differenci´alegyenletek . . . . . . . . . . . . . 3.5.1. Ir´anymez˝o k´et ´es h´arom dimenzi´oban . . . 3.5.2. Megold´ as kvadrat´ ur´ aval . . . . . . . . . 3.5.3. Els˝o integr´ alok . . . . . . . . . . . . . 3.5.4. Numerikus megold´ as . . . . . . . . . . 3.5.5. Laplace-transzform´aci´ o . . . . . . . . . 3.5.6. Megold´ as hatv´ anysorokkal . . . . . . . . 3.5.7. Szukcessz´ıv approxim´ aci´ o . . . . . . . . 3.5.8. Stabilit´ aselm´elet . . . . . . . . . . . . 3.5.9. Parci´ alis differenci´ alegyenletek . . . . . . osz´am´ıt´ as . . . . . . . . . . . . 3.5.10. Vari´ aci´ 3.5.11. Gyakorlatok ´es feladatok . . . . . . . . Diszkr´et matematika . . . . . . . . . . . . . 3.6.1. Adott tulajdons´ ag´ u list´ak . . . . . . . . 3.6.2. Lesz´aml´al´ as . . . . . . . . . . . . . . 3.6.3. Egyszer˝ u kombinatorikai azonoss´ agok . . . 3.6.4. Differenciaegyenletek, gener´atorf¨ uggv´enyek 3.6.5. Gr´ afok ´es folyamok . . . . . . . . . . . 3.6.6. Gyakorlatok ´es feladatok . . . . . . . . Geometria . . . . . . . . . . . . . . . . . . 3.7.1. Geometriai alakzatok . . . . . . . . . . 3.7.2. Tov´abbi lehet˝ os´egek . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

135 136 146 148 150 153 155 158 158 163 176 181 181 183 190 192 201 209 221 225 225 228 231 231 234 236 238 240 242 245 246 248 248 251 253 254 259 263 264 264 269

Tartalomjegyz´ek 3.8.

Line´aris algebra . . . . . . . . . . . . . . . . 3.8.1. Vektorok ´es m´atrixok megad´ asa . . . . . . 3.8.2. R´eszm´atrixok kezel´ese . . . . . . . . . . 3.8.3. M˝ uveletek vektorokkal ´es m´atrixokkal . . . . 3.8.4. Vektornorm´ak ´es m´atrixnorm´ ak . . . . . . 3.8.5. A Gram–Schmidt-f´ele ortogonaliz´aci´ os elj´ar´ as 3.8.6. Line´aris egyenletrendszerek megold´asa . . . 3.8.7. M´ atrix saj´ at´ert´ekei ´es saj´atvektorai . . . . . 3.8.8. M´ atrix felbont´ asa . . . . . . . . . . . . 3.8.9. Line´aris programoz´ as . . . . . . . . . . . 3.9. Sz´amelm´elet . . . . . . . . . . . . . . . . . . 3.9.1. Sz´amrendszerek . . . . . . . . . . . . . 3.9.2. Oszthat´os´ag . . . . . . . . . . . . . . . 3.9.3. L´anct¨ortek . . . . . . . . . . . . . . . 3.9.4. Pr´ımsz´amok. A sz´amelm´elet alapt´etele . . . 3.9.5. Sz´amelm´eleti f¨ uggv´enyek . . . . . . . . . 3.9.6. Kongruenci´ ak . . . . . . . . . . . . . . 3.9.7. Tov´abbi fejezetek . . . . . . . . . . . . 3.9.8. Gyakorlatok ´es feladatok . . . . . . . . . 3.10. Val´ osz´ın˝ us´egsz´am´ıt´ as . . . . . . . . . . . . . . 3.10.1. Klasszikus val´ osz´ın˝ us´egi mez˝ok . . . . . . . 3.10.2. Gener´ atorf¨ uggv´enyek . . . . . . . . . . . 3.10.3. Tetsz˝oleges val´osz´ın˝ us´egi v´altoz´ok . . . . . 3.10.4. Karakterisztikus f¨ uggv´enyek . . . . . . . . 3.10.5. Hat´ areloszl´as-t´etelek . . . . . . . . . . . 3.10.6. V´eletlensz´am-gener´al´ as . . . . . . . . . . 3.10.7. Markov-l´ ancok . . . . . . . . . . . . . . 3.10.8. Folytonos idej˝ u Markov-folyamatok . . . . . 3.10.9. Gyakorlatok ´es feladatok . . . . . . . . . 3.11. Matematikai statisztika . . . . . . . . . . . . . 3.11.1. Az adatok el˝ok´esz´ıt´ese . . . . . . . . . . 3.11.2. Statisztik´ ak . . . . . . . . . . . . . . . 3.11.3. Becsl´esek . . . . . . . . . . . . . . . . 3.11.4. Hipot´ezisvizsg´alat . . . . . . . . . . . . 3.11.5. Korrel´ aci´ o- ´es regresszi´oanal´ızis. Sz´or´ asanal´ızis 3.11.6. Id˝ osorok . . . . . . . . . . . . . . . . ¨ 3.11.7. Osszetett feladatok, u ´j m´ odszerek . . . . . 3.11.8. Gyakorlatok ´es feladatok . . . . . . . . .

5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

270 270 276 278 288 291 293 296 299 301 304 305 306 309 311 314 316 319 320 325 325 327 328 330 331 332 334 335 337 338 338 342 345 349 350 352 356 356

6

Tartalomjegyz´ek

4. A Mathematica programoz´ as´ ar´ ol . . . . 4.1. Programnyelvi elemek . . . . . . . . . 4.2. Gyorsas´ag, gyors´ıt´ as . . . . . . . . . 4.2.1. Tipikus m˝ uveletek id˝ oig´enye . . . 4.2.2. Gyors´ıt´ as eml´ekez˝o f¨ uggv´enyekkel uggv´ennyel 4.2.3. Gyors´ıt´ as a  f¨ 4.2.4. Gyors´ıt´ as listam˝ uveletekkel . . . 4.3. Tan´acsok programok k´esz´ıt´es´ehez . . . . 4.4. Saj´ at programcsomag k´esz´ıt´ese . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

357 358 364 365 367 367 369 371 372

5. Matematik´ an k´ıv¨ uli alkalmaz´ asok ¨ 5.1. Uzleti grafika . . . . . . . . 5.2. Hang . . . . . . . . . . . . 5.3. Id˝ o . . . . . . . . . . . . . 5.4. Fizika (m´ert´ekegys´egek) . . . . 5.5. F¨ oldrajz (t´erk´epek) . . . . . . 5.6. K´emia (elemek) . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

373 373 375 377 379 381 383

. . . . . . . . . . . . . . . . . . . . .

385

T´ argymutat´ o . . . . . . . . . . . . . . . . . . . . . . .

391

Irodalomjegyz´ ek

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

El˝ osz´ o

Az elm´ ult t´ız ´evben rohamosan fejl˝ od˝ o, szimbolikus sz´am´ıt´ asokra is k´epes matematikai programcsomagok u ´ j t´ avlatokat nyitnak a matematika alkalmaz´asai, kutat´ asa ´es oktat´asa el˝ott. A matematika sok ter¨ ulet´ehez seg´ıts´eget ny´ ujt´ o szimbolikus programcsomagok k¨ oz¨ ul az egyik legn´epszer˝ ubb ´es legelterjedtebb a Wolfram Research Institute ´altal l´etrehozott ´es terjesztett Mathematica program (n´eha nyelv et mondunk). A program megv´ as´arl´ o ja az ¨osszesen t¨obb mint 1400 oldalnyi [3, 89] referenciak¨ onyveket is k´ezhez kapja. Angolul, n´emet¨ ul, jap´ anul, franci´ aul ´es m´as nyelveken m´ar majdnem 100 k¨ onyv jelent meg k¨ ul¨ onf´ele aspektusair´ol ´es alkalmaz´asair´ol. Magyar nyelven azonban eddig nem a´llt rendelkez´esre rendszeres bevezet˝o. Ennek a hi´ anynak a p´ otl´ as´an k´ıv¨ ul azt is c´elul t˝ uzt¨ uk ki, hogy viszonylag r¨ ovid terjedelemben, lehet˝os´eg szerint teljes ´attekint´est adjunk a nyelv lehet˝os´egeir˝ol, bele´ertve a kieg´esz´ıt˝ o csomagokat is. Azt szeretn´enk, ha a on matematika valamely fejezete ir´ant ´erdekl˝od˝ o Olvas´ ot a legr¨ovidebb id˝ bel¨ ul eljuttathatn´ ank oda, hogy a lehet˝ o legmagasabb szinten kapjon seg´ıts´eget a programt´ ol saj´ at alkalmaz´ asi, kutat´ asi ´es oktat´asi feladatainak megold´as´ahoz. • El˝ ozm´ enyek, olvas´ ok, el˝ oismeretek A Mathematica programcsomagot 1992-ben kezdt¨ uk el oktatni a G¨ od¨ oll˝ oi Agr´artudom´ anyi Egyetemen, egy ´evvel k´es˝obb pedig az E¨ otv¨ os Lor´and Tudom´anyegyetemen. Itt szerzett tapasztalataink alapj´an az Olvas´ o v´ arhat´ oan rendelkezik elemi sz´am´ıt´ og´epes ismeretekkel, ´es ´erdekli a matematika alkalmaz´ asa, vagy oktat´ as´ anak (sz´ am´ıt´ og´epek felhaszn´ al´ as´ aval t¨ ort´en˝ o) megu ´j´ıt´ asi lehet˝ os´egei. A fizikus, geofizikus, g´ep´eszm´ern¨ ok, programoz´ o, programtervez˝o stb. szakos egyetemist´akon k´ıv¨ ul rendszeresen tal´ alkoztunk doktoranduszokkal ´es fiatal egyetemi oktat´okkal is a hallgat´ os´ag soraiban, k¨ ozt¨ uk gyakorl´ o biol´ ogussal, fizikussal, matematikussal, m´ern¨ okkel, vegy´esszel. o matematikai fogalmakat ´es t´eteleket csak abban az esetben Az el˝ ofordul´ ismertett¨ uk, amikor ennek sz¨ uks´eg´et ´erezt¨ uk. Mindezek alapj´ an u ´gy gondoljuk, hogy matematik´ ab´ ol a k¨ onyv nagy r´esz´enek elolvas´as´ahoz elegend˝o

8

El˝ osz´o

valamilyen egy-m´asf´el ´eves egyetemi kurzus elv´egz´ese, de id˝onk´ent r´ a fogunk mutatni azokra a lehet˝ os´egekre, amelyek a matematikust seg´ıthetik a kutat´ asban. K¨ ul¨ onleges szerep¨ uk lehet a tan´ ar -olvas´oknak: o˝k seg´ıthetnek annak megmutat´ as´aban, hogy ak´ ar az ´altal´ anos iskol´ at´ol kezdve lehet tal´alni a programban felhaszn´ al´ asra m´elt´o, ´erdekes elemeket. • Mi´ ert a Mathematica ? N´eh´ any megjegyz´est tesz¨ unk a t¨ obbi szimbolikus csomagr´ ol ´es a Mathematica hozz´a juk val´ o viszony´ ar´ ol. Mindenekel˝ ott megeml´ıtj¨ uk, hogy magyar nyelven az els˝o ilyen programcsomagr´ol sz´ol´ o k¨ onyv a DERIVE program oktat´asi alkalmaz´asair´ol sz´amolt be [79], s ez m´ar k´et kiad´asban is napvil´ agot l´ atott. A legut´ obbi id˝ oben t¨ obb k¨ onyv is megjelent illetve megjelen˝oben van a — matematikus k¨ or¨ okben szint´en n´epszer˝ u — MAPLE V programr´ ol [42, 56]. Magunk mindezt o¨rvendetes esem´enynek tekintj¨ uk, s rem´elj¨ uk, as felsz´amol´ahogy az angol nyelv˝ u irodalommal szemben megl´ev˝o elmarad´ s´ahoz jelen munk´ aval is hozz´ a j´ arulhatunk. Azt rem´elj¨ uk, hogy a MAPLE V vagy a DERIVE program h˝ us´eges haszn´al´ o ja is tal´ al o¨tleteket k¨onyv¨ unkben, ahogyan mi is vett¨ unk m´ as nyelvekr˝ol sz´ol´ o k¨ onyvekb˝ ol feladatokat, oktat´asi ´es programoz´asi ¨otleteket egyar´ant. Mi´ert ´eppen a Mathematic´ a val foglalkozunk? Jelenlegi ismereteink alapj´an u ´gy l´ atjuk, hogy a matematikai programcsomagok m´ar ma is, ´es a k¨ozeli j¨ov˝ oben m´eg ink´ abb k´epesek lesznek arra, hogy a programoz´ assal, sz´am´ıt´ astudom´annyal ´es numerikus matematik´ aval nem hivat´ asszer˝ uen, de k´enyszer˝ uen foglalkoz´ o fizikusok, m´ern¨ ok¨ ok, orvosok, vegy´eszek ´es m´as szakemberek szellemi energi´ aj´ anak jelent˝ os r´esz´et felszabad´ıts´ ak. Ily m´odon sokkal t¨ obb idej¨ uk marad a megfelel˝ o modellek fel´ all´ıt´ as´ara, a kapott eredm´enyek elemz´es´ere ´es ´ertelmez´es´ere. uletes szeml´el˝o sz´am´ara a legn´epszer˝ ubb szimbolikus programcsomaFel¨ gok — mivel nyilv´anval´ oak ´es j´ol defini´ alhat´ oak a felhaszn´ al´ oi ig´enyek — hasonl´ oan viselkednek. Jellemz˝o, hogy az egyik program hirdet´es´eben szerepl˝ o feladatok a m´asikkal a´ltal´ aban megoldhat´ ok. Amiben az egyik lemarad, igyekszik utol´erni a m´ asikat. A Mathematica p´eld´ aul grafikai ´es anim´aci´os k´epess´egeivel (ide´ertve a hangk´epz´est is) t˝ unt ki kor´ abban, a t¨ obbiek sz´am´ara ebben ez a program volt a minta. Amiben ma is kiemelked˝onek t˝ unik, az a k¨ ul¨ onb¨ oz˝o programoz´ asi st´ılusok at lehet˝ov´e t´ev˝o eszk¨ozt´ ara. A t¨ obbi nyelv olyannak l´ atszik, mint egy hagyom´anyos procedur´ alis programoz´ asi nyelv, azzal a t¨obblettel, hogy szimb´ olumokkal ´es tetsz˝olegesen nagy, illetve tetsz˝olegesen pontos sz´amokkal is lehet sz´amolni benn¨ uk. A Mathematic´ a ban viszont m´ od van arra is, hogy

El˝ osz´o

9

haszn´ aljuk a szab´ alyalap´ u ´es az objektumorient´alt programoz´ as m´odszereit; v´eg¨ ul — de tal´ an ez a legfontosabb — a rendszer k´esz´ıt˝ oi ´es akt´ıv haszn´ al´ oi ´ a funkcion´ alis programoz´ ast k¨ ul¨ onlegesen hat´ekony eszk¨ozz´e tett´ek. Ujra (nem el˝osz¨or, de val´ osz´ın˝ uleg nem utolj´ ara a sz´am´ıt´ astechnika t¨ort´enet´eben) elmondhat´ o, hogy a´ltala lehet˝ ov´e v´alik, hogy a felhaszn´ al´ onak csak a feladatot kell megfogalmaznia, m´egpedig a matematika nyelv´en, s a megold´ as teljesen a program dolga. Term´eszetesen nem lehet el´egg´e hangs´ ulyozni az ellen˝ orz´es fontoss´ ag´at, hiszen bonyolult programr´ ol (programokr´ ol) van sz´o. Tegy¨ unk n´eh´ any kritikai megjegyz´est is. A Mathematica rendk´ıv¨ ul hossz´ u azonos´ıt´ ok at haszn´ al, hogy ne kelljen a felhaszn´ al´ onak kital´ alnia az esetal´ o hogyan leges r¨ovid´ıt´eseket. ´Izl´es k´erd´ese, hogy ezt a t´enyt a felhaszn´ viseli el. Ahhoz, hogy a programmal komolyabb szimbolikus sz´ am´ıt´ asok at lehessen v´egezni (ami pedig a legalapvet˝ obb deklar´ alt c´elja az ilyen programoknak), nagyon alaposan meg kell azt ismerni. N´eh´ any esetben eg´eszen egyszer˝ u feladatok megold´ asak´ent hib´ as eredm´enyt kaphatunk. Ez figyelmeztet arra, hogy az eredm´enyeket kritikusan kell fogadnunk ´es ´erdemes t¨ obbf´elek´eppen is ellen˝orizn¨ unk. Id˝ onk´ent az a benyom´ asunk, hogy egyes feladatokat csak nagyon neh´ezkesen lehet vele megoldani. (P´eld´ aul amiatt, hogy a sz´ amok alap´ertelmez´esben komplexek.) Ennek a h´ atr´ anynak az ´ert´ekel´es´en´el vegy¨ uk azonban figyelembe, hogy egyetlen gyakorl´ o matematikusnak vagy alkalmaz´ onak sem kell a matematika minden ter¨ ulet´ere tekintettel lennie, el´eg, ha egy sz˝ uk ter¨ uleten viszonylag k¨ ovetkezetes elnevez´eseket, jel¨ol´eseket, szok´asokat alak´ıt ki. A Mathematica viszont, amint Wolfram k¨ onyv´enek alc´ıme mondja, olyan rendszer, amely lehet˝ ov´e teszi a sz´am´ıt´ og´epes matematiz´al´ ast (nem pedig az algebrai, numerikus vagy statisztikai vizsg´alatokat). Ez a nagyig´eny˝ u c´elkit˝ uz´es rengeteg olyan probl´em´at vet fel — ´es a megold´asok nem is olyan rosszak —, amellyel gyakorl´o alkozik. matematikus vagy alkalmaz´o nem is tal´ • Alkalmaz´ as, oktat´ as, kutat´ as A matematika alkalmaz´ as´ aban (ak´ ar u ´j ter¨ uletr˝ ol, ak´ ar ismert eredm´enyek oktat´as´ar´ ol van sz´o), a matematikai programcsomagok haszn´alat´ anak jelent˝ os´ege abban a´ll, hogy a s´ ulypont a´ttev˝ odhet a m´ odszerek r˝ ol az esettanulm´ anyok ra. Eddig egy-egy alkalmaz´ asi feladat megold´asa rengeteg energi´at em´esztett f¨ol, ma pedig ezekkel a programokkal egy-egy tan´ora alatt teljes alkalmaz´ asok megold´asa v´egigk¨ ovethet˝o. Az eddigiekben els˝ osorban matematik´an k´ıv¨ uli alkalmaz´ asokra gondoltunk. Rem´elj¨ uk azonban, hogy egyre t¨ obb matematikus is hasznosnak fogja tal´ alni kutat´ omunk´ a j´ ahoz egy ilyen program megismer´es´et, mert a seg´ıts´e-

10

El˝ osz´o

g´evel f¨ olvet˝ od˝ o munkahipot´ezisei sok esetben sokkal gyorsabban ellen˝orizhet˝ ok, mint pap´ıron, ceruz´ aval. Szinte nyilv´ anval´ o, hogy a matematika oktat´ as´ a ban egy ilyen programcsomag j´ol haszn´ alhat´ o. Sokkal kev´esb´e nyilv´ anval´ o az, hogy hogyan. A matematika oktat´as´an´ al a´ltal´ anos elv lehet, hogy valamely ter¨ ulet alapfogalmait a hagyom´ anyos m´odon ´erdemes elsaj´at´ıttatni (ek¨ ozben legfeljebb a tan´ ar haszn´ alja a programcsomagot illusztr´ al´ as c´elj´ ab´ ol), majd a k¨ ovetkez˝o ter¨ uletn´el a m´ar megtanult r´eszhez tartoz´o sz´am´ıt´ asokat a hallgat´o is v´egezheti sz´am´ıt´ og´eppel. P´eld´ aul a line´ aris algebrai alapok megfelel˝o elsaj´ at´ıt´ asa ´es begyakorl´ asa ut´ an m´ ar sokkal hat´ekonyabban tudunk a differenci´ alegyenletekre vagy a statisztik´ ara koncentr´ alni, ha a saj´ at´ert´ekeket ´es saj´ atvektorokat nem k´ezzel sz´amoljuk. A matematika oktat´ as´anak k´et sz´els˝os´eges ´all´ aspontja — sark´ıtott megfogalmaz´ asban — az ´elm´enyszerz´est, illetve a pontoss´ agot tartja a legfonto¨ sabbnak. Orvendetes, hogy a Mathematica mindk´et ´all´ aspont k´epvisel˝oinek pozit´ıv ´ervekkel szolg´alhat: m´ odot ad arra, hogy ak´ ar a tiszta, ak´ar az alkalmazott matematika ter¨ ulet´en a tanul´ o a megszokottn´al j´ oval t¨ obb p´eld´ aval ismerkedhess´ek meg (an´elk¨ ul, hogy beleveszne az unalmas rutinmunk´ aba), m´asr´eszt lehet˝ov´e teszi, hogy a matematik´aban megszokott legszigor´ ubb (esetenk´ent azon t´ ulmen˝ o) pontoss´ agot alkalmazzunk. • Fel´ ep´ıt´ es A k¨ onyv fel´ep´ıt´ese a k¨ovetkez˝o: El˝ osz¨or a´ltal´ anos a´ttekint´est adunk a matematikai programcsomagokr´ol, majd a Mathematic´ a r´ ol. Ez ut´ obbi fejezet 2.3. szakasza ismerteti a Mathematica konstrukci´ os alapelveit; ehhez a nehezebb r´eszhez a k´es˝obbiekben t¨ obbsz¨ or ´erdemes visszat´erni, s˝ ot: bocs´ anatos b˝ unnek tartjuk, ha a t¨ urelmetlen Olvas´o els˝o alkalommal nem olvassa v´egig ezt a szakaszt, hanem sietve r´at´er a 3. fejezet ˝ot ´erdekl˝o szakasz´ara. A k¨ onyv gerinc´et ugyanis a 3. fejezet k´epezi, amely a matematika n´eh´ any fontos ter¨ ulet´et t´argyalja, abb´ ol a szempontb´ ol, hogy az adott ter¨ ulet feladatainak megold´ asa hogyan tehet˝ o k¨ onnyebb´e a program felhaszn´ al´ as´aval. Miel˝ ott azonban az Olvas´ o r´ at´er az anal´ızisr˝ol vagy a sz´amelm´eletr˝ol sz´ol´ o szakasz olvas´as´ara, val´ osz´ın˝ uleg helyesen teszi, ha a 3.1.3–3.1.5. pontot, a 3.2. szakaszt (´es esetleg a 3.3.-at is) ´attanulm´ anyozza. A programoz´as ir´ant ´erdekl˝od˝ o Olvas´ o sz´am´ara nyilv´an nem a 3. fejezet valamelyik szakasza, hanem a 4. fejezet ny´ ujt n´emi (rendk´ıv¨ ul v´ azlatos) t´ a j´ekoztat´ast. Azt gondoljuk, hogy — feladatt´ ol f¨ ugg˝ oen — majdnem mindenki hasznos´ıthatja majd az 5. fejezet valamelyik r´esz´et. V´eg¨ ul a hivatkoz´ asok ´es kulcsszavak jegyz´ek´et abban a rem´enyben a´ll´ıtottuk o¨ssze, hogy ezzel minden Olvas´o sz´am´ara k¨ onnyebben kezelhet˝ ov´e tessz¨ uk a k¨ onyvet.

El˝ osz´o

11

Az egyes r´eszekn´el k¨oz¨olt gyakorlatok ´es feladatok neh´ezs´egi szintje ´es sz´ama v´altoz´o. Ezen a helyzeten tal´an egy k´es˝obb o¨ssze´all´ıtand´ o p´eldat´ar ´ fog majd seg´ıteni. Ugy v´elj¨ uk azonban, hogy a legt¨ obb Olvas´ o rendelkezik sz´amos saj´at probl´em´aval, ´es ´eppen azok megold´ as´ahoz keres hat´ekony eszk¨ozt. Az Olvas´o munk´ a j´ at megk¨onny´ıtheti az, hogy a k¨ onyv p´eld´ ait elhelyezt¨ uk a MathSource-on (l´ asd a 2.5.1. pontot). L´etezik viszont egy k¨ ul¨ onleges funkci´ o j´ u ingyenes kieg´esz´ıt˝ o program is ugyanott (0204–972), a MathReader, amellyel a Mathematica ´altal ´ırott a´llom´ anyok elolvashat´ok. Rem´elj¨ uk, hogy p´eld´ aink ´es a MathReader egy¨ uttesen teljes ´es gyors ´attekint´est adnak a Mathematica lehet˝os´egeir˝ol annak az Olvas´ onak, aki m´eg nem rendelkezik a programcsomaggal. • Jel¨ ol´ esek :=

defini´ al´ o egyenl˝ os´eg

A⊂B N

az A halmaz (nem felt´etlen¨ ul val´ odi) r´eszhalmaza a B halmaznak a pozit´ıv eg´esz sz´amok halmaza

Z

az eg´esz sz´amok halmaza

Zp

Q

Adot p pr´ımsz´am eset´en az eg´esz sz´amok halmaz´anak mod p marad´ekoszt´alyai a´ltal meghat´ arozott test a racion´ alis sz´amok halmaza

R

a val´ os sz´amok halmaza

C

a komplex sz´amok halmaza

C

m×n

(m, n ∈ N)

f :A→B

az m × n-es komplex ´ert´ek˝ u m´ atrixok halmaza az A halmazon ´ertelmezett B halmazbeli ´ert´ekeket felvev˝ o f¨ uggv´eny

• K¨ osz¨ onetnyilv´ an´ıt´ as A Mathematica programmal val´ o ismerked´es ´es a k¨onyv meg´ır´ asa k¨ozben sz´amos ¨otletet ´es hasznos´ıthat´ o b´ır´ al´ o megjegyz´est, valamint biztat´ o t´ amogat´ ast kaptunk koll´eg´ainkt´ ol ´es tan´ıtv´ anyainkt´ ol az E¨ otv¨ os Lor´and Tudom´anyegyetemen ´es a G¨od¨ oll˝ oi Agr´artudom´ anyi Egyetemen.

12

El˝ osz´o

A program haszn´ alata k¨ ozben felmer¨ ult k´erd´eseinkkel els˝osorban Warren Boont, a Wolfram Research Inc. (r¨ oviden: WRI) hivat´asos eur´opai tan´ acsad´ o j´ at bomb´ aztuk, a felfedezett v´elt ´es val´os´agos hib´ ak miatt ˝ot vontuk ´alland´ oan felel˝ oss´egre. V´alaszaival nagyban hozz´ a j´ arult ahhoz, hogy k¨ onyv¨ unk hasznosabb, informat´ıvabb legyen. A k¨ onyv ´ır´ as´at r´eszben az MKM 419. ´es 3306. sz´am´ u p´ aly´ azat´anak keret´eben v´egezt¨ uk. Pelik´ an J´ ozsef ´es V´an P´eter lektork´ent matematikai, nyelvi, sz´ am´ıt´ astechnikai ´es alkalmaz´asi szempontokat egyar´ant figyelembe v´eve, rendk´ıv¨ ul alaposan v´egezte munk´a j´ at. Javaslataikat ´es megjegyz´eseiket igyekezt¨ unk az Olvas´o jav´ ara hasznos´ıtani. V´eg¨ ul pedig megk´erj¨ uk a tisztelt Olvas´ ot, ha b´ armilyen hib´ at tal´ al, vagy b´ armilyen hasznos´ıthat´ o megjegyz´ese van, juttassa el azt a szerz˝okh¨ oz vagy a kiad´ ohoz. Budapest, 1996. m´ ajus

Szili L´ aszl´o

anos T´oth J´

ELTE TTK Numerikus Anal´ızis Tansz´ek Budapest, M´ uzeum krt 6–8. 1088 [email protected]

GATE MGK Sz´am´ıt´ astechnikai Tansz´ek G¨ od¨ oll˝ o, P´ ater K. u. 1. 2103 [email protected]

1. Matematikai programcsomagok

M´ ar az ´okorban megjelentek az emberi tev´ekenys´egnek olyan ter¨ uletei, amelyek k¨ ul¨ on¨ osen sok sz´amol´ast ig´enyeltek. A sz´amol´asok elv´egz´es´enek megk¨ onny´ıt´es´ere t¨obb m´ odszer k´ın´ alkozott. Egyr´eszt t´ abl´ azatok ban r¨ ogz´ıtett´ek a gyakran haszn´ alt r´eszeredm´enyeket (Babil´ oni´ at´ ol Napierig); m´ asr´eszt (c´el- ´es univerz´alis) mechanikus, k´es˝obb elektromos, majd elektronikus sz´ amol´ og´epeket k´esz´ıtettek (az abakuszt´ol a logarl´ecen ´at az IBM PC-ig); v´eg¨ ul pedig — k¨ ul¨ on¨ osen az alkalmazott matematika legnagyobbjai (Arkhim´ed´eszt˝ol Newtonon ´at Eulerig) — olyan elj´ ar´ asokat dolgoztak ki ´es alkalmaztak, amelyek pontosabb eredm´enyekhez kevesebb sz´amol´asi munk´ aval vezettek el. Nem meglep˝o teh´ at, hogy a sz´am´ıt´ astechnika fejl˝ od´es´enek korai szakasz´aban (k¨ or¨ ulbel¨ ul 1950-ig) a matematikusok (gondoljunk p´eld´ aul A. M. ar L´ aszl´ora) jelent˝os szereTuringra, Neumann J´ anosra, vagy ´eppen Kalm´ pet j´ atszottak. Az o¨tvenes ´evekt˝ol megindul´ o fejl˝ od´es azonban — a be nem v´ altott´ıg´eretek, a tervezetlens´eg, a felhaszn´ al´ ok (k¨ ozt¨ uk a matematikusok) ig´enyeinek figyelmen k´ıv¨ ul hagy´ asa ´es mindenekel˝ott az alacsony teljes´ıt˝ ok´epess´eg — egyre ink´abb elt´avol´ıtotta a matematikusok t´ abor´ at a sz´am´ıt´ og´ept˝ ol. Kiv´etelt tal´an csak a statisztikusok, a diszkr´et matematik´aval foglalkoz´ ok egy r´esze ´es a numerikus matematikusok egy r´esze (!) jelentett. (Ennek az id˝ oszaknak a sz´am´ıt´ astechnikusai, persze, a matematikusok rov´ as´ara´ırj´ ak a szakad´ek kialakul´ as´at.) Numerikus sz´ amol´asok v´egz´es´ere ebben az id˝ oszakban is sz´amos vegy´esz, fizikus vagy k¨ozgazd´asz alkalmazta a sz´am´ıt´ og´epet. A hatvanas-hetvenes ´evekben felvet˝od¨ ott, tipikus probl´ema volt az, hogy hogyan lehet a sz´am´ıt´ og´ep seg´ıts´eg´evel egy f¨ uggv´eny deriv´altj´ at vagy valauggv´eny´et a f¨ uggv´enyt megad´ o k´epletb˝ol szimbolikusan kimelyik primit´ıv f¨ sz´am´ıtani. Erre (a lengyel forma felhaszn´al´ as´aval) t¨ obb szerz˝o is adott megold´ ast. (Megjegyzend˝o, hogy az eredm´enyt p´eld´ aul az ´erz´ekenys´egi egyenletek fel´ır´ as´ahoz, teh´ at sz´ amol´ asi c´elra haszn´ alt´ ak.) Ebben az id˝ oszakban kezdtek foglalkozni t´etelbizony´ıt´ o, tolm´ acs- ´es sakkprogramok´ır´ as´aval ´es logikai programoz´ asi nyelvek megalkot´ as´aval is, hogy csak n´eh´anyat eml´ıts¨ unk a sz´am´ıt´ astechnika nem-numerikus alkalmaz´ asai k¨oz¨ ul.

14

1. Matematikai programcsomagok

A sz´am´ıt´ og´epek sebess´ege ´es az elm´eleti eredm´enyek a nyolcvanas ´evek elej´et˝ol fogva lehet˝ ov´e tett´ek azt, hogy matematikai feladatokat megold´ o numerikus programcsomagok mellett szimbolikus programcsomagok (´ıgy fogjuk nevezni a tov´ abbiakban azokat a programrendszereket, amelyeket angolul computer algebra systems n´even eml´ıtenek, s kor´abban formulamanipul´ aci´ os rendszerek nek h´ıvtak) is l´etrej¨o jjenek. A technika rohamos fejl˝ od´es´evel p´arhuzamosan o¨rvendetes m´odon a matematikai programok gomba m´odra szaporodnak. Itt h´ıvjuk fel a figyelmet arra, hogy a Notices of the American Mathematical Society c´ım˝ u foly´ oirat 1994. decemberig rendszeresen k¨ oz¨olt ismertet˝oket, illetve ¨osszehasonl´ıt´ asokat az ilyen jelleg˝ u programokr´ ol. A 40. k¨ otet 6. sz´ama (1993. j´ ulius–augusztus) p´eld´ aul mintegy 50 ilyen program n´eh´ any fontos adat´ at tartalmazza. Az ott ismertetett adatb´ azis egy´ebk´ent a

    sz´am´ıt´ og´ep    k¨ onyvt´ ar´ aban megtal´alhat´ o. Ide bejelentkezni az anonymous jelsz´oval lehet. Az 1995. febru´ ari sz´am pedig k¨ ozli az e t´em´aban megjelent cikkek index´et. Matematikai programcsomagokr´ol az

   sz´am´ıt´ og´epr˝ ol is szerezhet¨ unk inform´ aci´ okat. Erre a g´epre is az anonymous jelsz´oval jelentkezhet¨ unk be. Megjegyezz¨ uk m´eg azt is, hogy t¨obb ilyen program kereskedelmi forgalomban kaphat´ o. J´ on´eh´ any k¨ oz¨ ul¨ uk azonban ingyenes (public domain) program, ´es ezek egy r´esze p´eld´ aul az ut´ obb megeml´ıtett holland g´epr˝ ol is megszerezhet˝o.

1.1. Szimbolikus programcsomagok A matematika alkalmaz´ as´an´ al vagy kutat´ as´an´ al, s˝ot az oktat´asa sor´an is gyakran kell rutinjelleg˝ u szimbolikus m˝ uveleteket v´egezni. Gondoljunk a polinomokkal v´egzett k¨ ul¨ onf´ele m˝ uveletekre (p´eld´ aul a polinomfaktoriz´ aci´ora), egyenletek ´es egyenletrendszerek megold´as´ara vagy f¨ uggv´enyek primit´ıv f¨ uggv´enyeinek meghat´ aroz´as´ara. A szimbolikus programcsomagok egyik c´elja ´eppen az, hogy az ilyen t´ıpus´ u feladatok megold´ as´ahoz is seg´ıts´eg¨ ul

1.1. Szimbolikus programcsomagok

15

aj´ anlja a sz´ am´ıt´ og´epet. A lehet˝os´egek ilyen kib˝ov´ıt´ese min˝ os´egi v´ altoz´ ast hozott a matematika ´es a sz´am´ıt´ og´ep kapcsolat´aba. A k¨ olt˝ o Byron l´ anya, Lady Ada Lovelace volt az els˝ o, aki 1843-ban f¨ olvetette, hogy szimbolikus sz´am´ıt´ asokat g´eppel kellene v´egezni. Az o¨tlet megval´ os´ıt´ asa azonban t¨ obb mint sz´ az ´evet v´aratott mag´ara, mivel ennyi id˝ o kellett ahhoz, hogy az elm´elet ´es a technikai eszk¨oz¨ok egyar´ant megfelel˝ o fejletts´egi szintet ´erjenek el. Sz´ oljunk n´eh´ any sz´ot arr´ ol, hogy szerint¨ unk mi´ert ´erdemes haszn´alni a matematikai programcsomagokat. Els˝osorban az´ert, mivel ezek nagyon sok be´ep´ıtett f¨ uggv´enyt tartalmaznak, amelyek o¨sszetett feladatok (p´eld´ aul polinomok faktoriz´ aci´ o ja, f¨ uggv´enyek ´abr´ azol´asa, deriv´ altf¨ uggv´eny meghat´ aroz´asa, primit´ıv f¨ uggv´enyek keres´ese, g¨orbeilleszt´es) megold´as´ara szolg´alonnyen ´es gyorsan v´egezhet¨ unk el vel¨ uk rutinjelleg˝ u szimbolikus nak, ez´ert k¨ ´es numerikus sz´am´ıt´ asokat. E programcsomagok egyik f˝ o er´enye az, hogy programozhat´ ok, azaz a be´ep´ıtett utas´ıt´ asok bizonyos nyelvtani szab´ alyok betart´ as´aval o¨sszef˝ uzhet˝ ok, ´ıgy a lehet˝ os´egeik a felhaszn´ al´ o ig´enyeinek megfelel˝oen folyamatosan b˝ ov´ıthet˝ ok. A rendszerek t¨obbs´ege ¨osszekapcsolhat´o m´as felhaszn´ al´ oi programokkal ´es programoz´asi nyelvekkel. Eml´ıts¨ unk m´eg n´eh´ any olyan tipikus helyzetet, amikor seg´ıts´eg¨ unkre lehetnek a matematikai programcsomagok. P´eld´ aul sejt´esek kialak´ıt´ as´ an´ al sok esetet vizsg´alhatunk meg. Bizony´ıt´ asukhoz vagy c´ afolatukhoz is felhaszn´ alhatjuk a megl´ev˝o eszk¨oz¨oket. Egy-egy esettanulm´ anyt sokkal kevesebb energi´aval k´esz´ıthet¨ unk el, mint hagyom´ anyos m´odszerekkel. Az oktat´asban a fentieken k´ıv¨ ul is gy¨ um¨ olcs¨oz˝oen haszn´ alhatjuk e rendszereket, p´eld´aul fogalmak kialak´ıt´ as´an´ al ´es eredm´enyek illusztr´al´ as´an´ al. Igen sikeresen alkalmazt´ ak m´ar ezeket a rendszereket olyan ter¨ uleteken, ahol numerikus ´es szimbolikus sz´am´ıt´ asokra egym´as mellett van sz¨ uks´eg. Galaxist´erk´epeket k´esz´ıtettek ilyen m´ odon; de a legnagyobb val´ osz´ın˝ us´eg elve alapj´an v´egzett becsl´es — amit a 3.11. szakaszban bemutatunk — szint´en ide sorolhat´ o. A szimbolikus programcsomagok alkalmaz´oinak egyre n¨ ovekv˝ o sz´ama is azt igazolja, hogy sokan megtal´ alt´ ak haszn´ alatuk m´ odj´ at. M´ ar itt is felh´ıvjuk a figyelmet azonban arra, hogy rengeteg lehet˝ os´eget tartalmaz´o, nagy rendszerekr˝ ol van sz´ o. Megismer´es¨ uk ´es ´ertelmes felhaszn´ al´ asuk m´odj´ anak megtal´al´ asa ez´ert id˝ oig´enyes feladatot jelenthet a felhaszn´ al´ o sz´am´ara. Mindenesetre a szerz˝ok v´elem´enye az, hogy ezeknek a matematikai programoknak a megjelen´ese u ´j t´ avlatokat ad a matematika alkalmaz´ as´anak, kutat´ as´anak ´es oktat´as´anak.

16

1. Matematikai programcsomagok

Az els˝ o, sz´eles k¨ orben haszn´ alhat´ o v´ altozatok a 80-as ´evek v´eg´en jelentek meg. Az´ota a c´egek egym´ ast serkentve bocs´a jtj´ ak ki az u ´jabb ´es u ´jabb, jav´ıtott ´es b˝ov´ıtett v´ altozatokat. A k¨ ovetkez˝o ´evek fejl˝ od´es´enek k¨ovetkezm´enyei szinte bel´athatatlanok. A szimbolikus programcsomagokban is alkalmazott algoritmusok matematikai megalapoz´as´aval ´es gy´art´ as´aval a szimbolikus sz´ amol´ asok elm´elete (computer algebra) foglalkozik. Az e t´emak¨or ir´ ant is ´erdekl˝od˝ o Olvas´o figyelm´ebe aj´ anljuk K. O. Geddes, S. R. Czapor ´es G. Labah kiv´al´ o k¨ onyv´et (l´asd [28]-at). Ebben a szerz˝ ok tematikus feldolgoz´asban t´ argyalj´ ak a felhaszn´ alhat´ o algoritmusokat ´es azok elm´eleti alapjait. R´eszletesen foglalkoznak p´eld´ aul a k¨ ul¨ onb¨ oz˝o polinomfaktoriz´ aci´ os elj´ar´ asokkal. Kifejtik a Gr¨ obner-b´ azisok elm´elet´et (ez az alapja az egyenletrendszer-megold´o algoritmusoknak) is. K¨ ul¨ on fejezetet szentelnek a hat´ arozatlan integr´ alok as´ara haszn´ alhat´ o Risch-algoritmusnak is. kisz´am´ıt´ A szimbolikus programcsomagokat a k´esz´ıt˝ oik a´ltal kit˝ uz¨ ott c´el alapj´an szok´as oszt´alyozni. ´ • Altal´ anos c´ el´ u programcsomagok Ebbe a csoportba sorolhat´ ok azok a programok, amelyek a matematika t¨ obb ter¨ ulet´en felvet˝ od˝ o probl´em´ak megold´as´ahoz is haszn´alhat´ ok. Ilyen programok a k¨ ovetkez˝ok: Axiom, Mathematica, Derive, muMath, Macsyma, Reduce, Maple, ScratchPad. Az ´altal´ anos c´el´ u matematikai programcsomagok k¨ oz¨ ul haz´ ankban a Derive, a Maple ´es a Mathematica a legismertebb. A Derive a programoz´ as cs´ ucsteljes´ıtm´enye. Ilyen kis terjedelemben (alig 400 kB) ennyi k´epess´eget l´etrehozni — minden elismer´es¨ unk a fejleszt˝ok´e. Magyarorsz´agon, k¨ ul¨ on¨ osen ´altal´ anos ´es k¨oz´episkol´akban, sok´ aig m´eg biztosan fontos szerepet fog j´ atszani, r´eszben mint olyan eszk¨oz, amely el˝ ok´esz´ıti aul a Maple vagy a Mathaz ´erdekl˝od˝ oket a professzion´ alis programok, p´eld´ ematica haszn´ alat´ ara. L´ asd err˝ ol p´eld´ aul a [79] k¨ onyvet, amely a tan´ aroknak ad az alkalmaz´as´ahoz seg´ıts´eget. A Maple ´es a Mathematica m´ereteit ´es lehet˝os´egeit tekintve l´enyegesen nagyobb, mint a Derive. K¨ ul¨ onb¨ oznek egym´ast´ol, de az alaplehet˝ os´egeket tekintve nagyon hasonl´ oak (a Mathematica lehet˝os´egeit a 2.1. szakaszban ismertetj¨ uk). Mivel sok be´ep´ıtett elj´ ar´ ast tartalmaznak (a Mathematicaf¨ uggv´enyek sz´ama k¨ozel 2000), ez´ert m´ar igen r¨ ovid id˝ o alatt el´erhet¨ unk

1.2. Numerikus programcsomagok

17

sikereket egysoros utas´ıt´ asaik felhaszn´al´ as´aval is. A tapasztalatunk azonban az, hogy a lehet˝ os´egek ig´enyeinknek megfelel˝ o kihaszn´ al´ as´ahoz a programok m´elyebb megismer´ese elengedhetetlen. • Speci´ alis c´ el´ u programcsomagok Ebbe a csoportba tartoznak azok a programok, amelyek seg´ıts´eg´evel a matematika egy adott r´eszter¨ ulet´en felvet˝ od˝ o, m´ar speci´alis kutat´ oi ig´enyeket kiel´eg´ıt˝ o sz´amol´asok is elv´egezhet˝ok. Ilyen program p´eld´ aul a CAYLEY (csoportelm´elet ´es sz´amelm´elet), a CoCoA (kommutat´ıv algebra), a GAP (csoportelm´elet), a LiE (Lie-csoportok elm´elete) vagy a Macaulay (algebrai geometria ´es kommutat´ıv algebra). Kifejez´esek egyszer˝ us´ıthet˝ ok a FORM seg´ıts´eg´evel, a SHEEP pedig a relativit´aselm´eletben haszn´alhat´ o.

1.2. Numerikus programcsomagok A legnagyobb hagyom´ anya azoknak a programcsomagoknak van, amelyek a numerikus matematika m´odszereivel keresik az adott probl´ema megold´ as´anak egy k¨ozel´ıt´es´et. (Angolul az ilyeneket szok´ as number cruncher nek nevezni.) A teljess´eg ig´enye n´elk¨ ul ezek k¨ oz¨ ul is f¨ olsorolunk n´eh´ anyat. A legelterjedtebb ´es legteljesebb ilyen programcsomag a Numerical Recipes [63]. A sz´amos kiad´ asban is napvil´ agot l´ atott, t¨ obb k¨ otetes m˝ u a k¨ ul¨ onb¨ oz˝o numerikus algoritmusok C, Fortran ´es Pascal nyelv˝ u programjait tartalmazza. Sokan haszn´ alj´ ak a MATLAB-ot, amelyet az ig´enyeknek megfelel˝oen kieg´esz´ıtettek szimbolikus sz´amol´asokat v´egz˝o r´eszekkel is. K¨ oz¨ons´eges differenci´alegyenletek numerikus megold´ as´ara (k¨ ul¨ on¨ osen az oktat´asban) nagyon j´ ol haszn´ alhat´ o p´eld´ aul a PHASER. ´ Erdemes megeml´ıteni a modellvizsg´alat fontos speci´alis ter¨ ulet´er˝ol n´eh´ any hasznos programot; ilyen a DiffEq az MLAB, a PCNonLin ´es a KINAL. K¨ ul¨ on´ all´ o, fontos ter¨ ulet a statisztikai programcsomagok´e. N´eh´any igen unk csak: SPSS, STATGRAPHICS, SYSTAT, n´epszer˝ u programot eml´ıt¨ BMDP. (Helytelen¨ ul ide szokt´ ak sorolni a SAS-t is.) A line´ aris programoz´ as feladat´ara is sok programcsomag k´esz¨ ult. V´eg¨ ul megeml´ıtj¨ uk, hogy ma m´ ar a t´ abl´ azatkezel˝ok (EXCEL, Quattro) is egyre t¨obb numerikus feladat (p´eld´ aul egyenletek megold´asa, f¨ uggv´enyek mi-

18

1. Matematikai programcsomagok

nimum´ anak keres´ese) megold´as´ara k´epesek; ezeket igaz´an akkor ´erdemes haszn´ alni, amikor az adatok ´es param´eterek t´abl´ azatos ´abr´ azol´asa jelent˝os el˝ony¨ okkel j´ ar, p´eld´ aul a line´ aris ´es nemline´aris programoz´ as feladatain´ al. A feladatokat nem lehet diszjunkt oszt´ alyokra bontani. A szimbolikus sz´amol´as k´epess´eg´enek akkor is szerepe lehet, amikor eredeti c´elunk egy numerikus sz´ amol´as elv´egz´ese. Tekints¨ uk p´eld´ aul a 30 × 30-as Hilbert-f´ele m´atrix inverz´enek numerikus kisz´ amol´as´at. Ez hagyom´ anyos nyelven az el´erhet˝o g´epi pontoss´ ag mellett nem v´egezhet˝o el. Ha viszont szimbolikusan sz´amoljuk ki az inverzet (ami egy racion´ alis sz´amokb´ ol a´ll´ o m´atrix lesz), majd az eredm´enyt k¨ ozel´ıtj¨ uk, akkor megfelel˝o eredm´enyt kapunk.

2. Ismerked´es a Mathematica programmal

A Mathematica egy ´altal´ anos c´el´ u szimbolikus programcsomag. Kifejleszt´es´enek ¨otlete a r´eszecskefizikusk´ent, majd a sejtautomat´ ak elm´elet´enek kutat´ o jak´ent ismert Stephen Wolfram fej´eb˝ ol pattant ki — a legmegfelel˝ obb pillanatban: 1986-ban. Ekkor m´ ar az optimist´ak rem´elhett´ek, hogy bel´ athat´ o id˝ on bel¨ ul a mindenki” asztal´ an ott l´ev˝o szem´elyi sz´ am´ıt´ og´epek ” k´epesek lesznek nem-trivi´alis matematikai probl´em´ak megold´as´ara. Ma m´ ar a Wolfram Research Inc. t¨ obb mint 100 alkalmazottal dolgozik ´ az Egyes¨ ult Allamokban, s a vil´ ag sz´amos orsz´ag´ aban van k´epviselete. N´egy foly´ oirat ´es mintegy 100 k¨ onyv t´ argya a program. K¨ ul¨ on¨ osebb el˝ok´esz¨ uletek, illetve kieg´esz´ıt´esek n´elk¨ ul a k¨ ovetkez˝o lehet˝os´egeket k´ın´ alja: • Szimbolikus m˝ uveletek v´egz´es´ere haszn´alhat´ o, amilyen p´eld´ aul a mauggv´enyek keres´ese, altematikai kifejez´esek egyszer˝ us´ıt´ese, primit´ıv f¨ gebrai ´es differenci´alegyenletek megold´asa. • A hagyom´ anyos programnyelvekkel szemben itt ak´ar t¨ obb ezer ´ert´ekes jeggyel is v´egezhet¨ unk numerikus sz´ am´ıt´ asokat. • Grafikai lehet˝ os´egei eg´eszen kiv´al´ oak: alap´ertelmez´esben is igen sok esetben megfelel˝o ´abr´ at k´esz´ıt, sz¨ uks´eg eset´en azonban az a´br´ azol´as folyamat´ at rugalmasan m´odos´ıthatjuk. • Magas szint˝ u programnyelv, amely t¨obb st´ılusban is lehet˝ ov´e teszi a programoz´ ast: ´ırhatunk procedur´ alis, szab´ alyalap´ u , objektumorient´ alt ´es funkcion´ alis elven k´esz¨ ult programokat. K¨ ul¨ on¨ osen fontos az a t´eny, hogy gazdag az utols´ ok´ent megeml´ıtett st´ılus megval´ os´ıt´ as´ahoz haszn´ alhat´ o eszk¨ozeinek t´ara. asb´ azisok reprezent´ al´ as´ara is alkalmas. • Tudom´anyos ´es m˝ uszaki tud´ • ´Irhatunk programok at al´a (alkalmaz´ asokat) ´es f¨ol´e (azaz alprogramk´ent haszn´ alhatjuk f¨ uggv´enyeit). • Egyre t¨ obb n´epszer˝ u program (C, EXCEL, VisualBasic, Word) kapcsolhat´o hozz´a. • Olyan interakt´ıv dokumentumok k´esz´ıthet˝ ok vele, amelyekben matematikai k´epletek, hang, a´ll´ o ´es mozg´o a´br´ ak (anim´ aci´ o) egy¨ utt szolg´alj´ ak az oktatand´ o vagy kutatott anyag kifejt´es´et.

20

2. Ismerked´es a Mathematica programmal

A Mathematica program (Apple Macintosh g´epre kidolgozott) els˝o v´ altozat´at 1988 j´ unius´ aban mutatt´ ak be. A megjelen´ese ´ev´eben a Business Week magazin minden kateg´ ori´ at tekintve az ´ev legjobb 10 u ´j term´eke k¨oz´e sorolta. Ezut´ an sorra k´esz¨ ultek el a k¨ ul¨ onf´ele oper´aci´ os rendszerekre (p´eld´ aul DOS, LINUX, NEXTSTEP, OS/2, UNIX ´es WINDOWS) adapt´ alt v´ altozatok. A be´ep´ıtett elj´ ar´ asok sz´ama k¨ozel k´etezer. A program beind´ıt´ asa ut´an ezek k¨ oz¨ ul t¨ obb mint ezer azonnal haszn´ alhat´ o. Ezeknek az utas´ıt´ asoknak a lel˝ohelye a mag (kernel). A fennmarad´ o elj´ ar´ asokat a Mathematica programnyelv´en meg´ırt a´llom´anyok, az u ´gynevezett programcsomagok (l´ asd a 2.2. szakaszt) tartalmazz´ak. A felhaszn´ al´ oval egy k¨ ul¨ on program tartja a kapcsolatot: a felhaszn´ al´ oi fel¨ ulet (front end). Ez alapvet˝ oen k´etf´ele t´ıpus´ u lehet: sz¨ oveges vagy ablakos. ´ Altal´ aban ezeket k¨ ul¨ onb¨ oz˝o paranccsal ind´ıthatjuk. Az ablakos v´ altozatban men¨ uk vannak, ´ıgy igen k´enyelmesen haszn´alhat´ o, ez´ert a tanul´ as id˝ oszak´aban, ha van r´ a m´od, ezt ´erdemes v´alasztani. A sz¨oveges v´ altozat kevesebb mem´ori´ at ig´enyel ´es gyorsabb, aminek el˝onyeit k¨ ul¨ on¨ osen sz´amol´asig´enyes feladatokn´ al tapasztalhatjuk. A program a felhaszn´ al´ o szempontj´ab´ ol minden g´ept´ıpuson l´enyeg´eben ugyan´ ugy m˝ uk¨ odik. Az ablakos v´ altozatok jegyzetf¨ uzeteket (notebook ) k´esz´ıtenek. Ezek  kiterjeszt´es˝ u a´llom´anyok, amelyekkel a szok´ asos m˝ uveletek (p´eld´ aul megnyit´ as, ment´es, m´odos´ıt´ as) v´egezhet˝ok. A jegyzetf¨ uzetek cell´ akb´ ol ´ep¨ ulnek fel. A cell´ ak k¨ oz¨ ul kijel¨ olhet¨ unk egyet (a k´eperny˝ o jobb oldal´ an l´ athat´ o sz¨ogletes z´ar´ o jelre kattintva) vagy t¨ obbet (az egeret egy kattint´as ut´ an a z´ar´ o jeleken v´egigvonszolva). A kijel¨ olt cell´ aval vagy cell´ akkal p´eld´ aul a k¨ ovetkez˝o m˝ uveleteket v´egezhetj¨ uk a megfelel˝ o men¨ upontok f¨ olhaszn´ al´ as´aval:

2.1. A legfontosabb tudnival´ ok

21

t¨ orl´es, ´athelyez´es, st´ılusv´altoztat´ as, ¨osszef˝ uz´es, csoportos´ıt´ as. (A csoportos´ıt´ as eredm´enye egy olyan cella, amelyben t¨obb cella van egy¨ utt.) A t¨ obb cell´ ab´ ol a´ll´ o cell´ akat becsukhatjuk a sz¨ogletes z´ar´ o jelre dupl´ an kattintva, ez´altal fokozhatjuk a jegyzetf¨ uzet ´attekinthet˝ os´eg´et. Amikor k´ıv´ ancsiak vagyunk a becsukott cella r´eszletes tartalm´ara, akkor azt (ism´et dupla kattint´ assal) u ´jra kinyithatjuk . A jegyzetf¨ uzetek, s˝ot az egyes cell´ak st´ılusa t´ ag hat´ arok k¨ oz¨ott v´ altoztathat´ o. A benn¨ uk tal´ alhat´ o anyagot ig´enyeinknek megfelel˝oen fejezetekbe, szakaszokba stb. szervezhetj¨ uk. Egyes r´eszeket az ´attekinthet˝os´eg ´erdek´eben id˝ onk´ent becsukhatunk. A programmal megoldhat´ o feladatok m´erete ´es a megold´ashoz sz¨ uks´eges id˝o l´enyegesen f¨ ugg a rendelkez´esre ´all´ o sz´am´ıt´ og´ep konfigur´ aci´ o j´ at´ ol. Magunk els˝osorban a 2.2.2. ´es a 2.2.3. v´altozatot haszn´altuk WINDOWS alatt 486-os IBM PC t´ıpus´ u g´epeken, amelyekben 8–16 Mb RAM volt. A program k´esz´ıt˝ oi ezekhez a v´altozatokhoz legal´abb 8 Mb RAM-ot ´es legal´ abb 10 Mb virtu´ alis mem´ori´ at javasolnak. Maga a program mintegy 10 Mb helyet foglal el a merevlemezen. A helyenk´ent megjelen˝o id˝ oadatok csup´ an t´ a j´ekoztat´o jelleg˝ uek; ´ert´ekel´es¨ ukn´el a fentieket figyelembe kell venni.

2.1. A legfontosabb tudnival´ ok A Mathematica ´ertelmez˝ ok´ent (interpreter ) dolgozik, ami azt jelenti, hogy a parancsokat soronk´ent meg´erti, v´egrehajtja, majd ki´ırja az eredm´enyt. Sz´ amon tartja ´es ki´ırja azt is, hogy az adott alkalomkor (session) az adott utas´ıt´ ast h´ anyadikk´ent hajtotta v´egre. St´ılus´ aban ´erezhet˝o, hogy felhaszn´ alt´ ak a C, a LISP ´es a UNIX nyelv tapasztalatait. • A program m˝ uk¨ odtet´ ese A program ind´ıt´ asa rendszerf¨ ugg˝ o, ´es k¨onnyen kider´ıthet˝ o. Ind´ıt´ as ut´ an a v´egrehajtani k´ıv´ ant utas´ıt´ ast a megfelel˝o szintaxissal beg´epelj¨ uk (a sorok b´ arhol megt¨ orhet˝ ok), majd v´egrehajtjuk. Ez ut´ obbit sz¨ oveges v´ altozatn´ al az Enter billenty˝ u lenyom´ as´aval ´erhetj¨ uk el. Az ablakos v´ altozatokn´ al a´ltal´ aban a Shift ´es az Enter billenty˝ u egy¨ uttes lenyom´as´ara van sz¨ uks´eg. A WINDOWS-os v´ altozatban alkalmazhatjuk az Insert gombot vagy a numeuzet 5-¨os gombj´ anak lenyom´as´at is. rikus billenty˝ A program minden v´ altozat´ ab´ ol kil´epni a  

utas´ıt´ assal lehet.

22

2. Ismerked´es a Mathematica programmal

Felh´ıvjuk a figyelmet arra, hogy az ablakos v´ altozatokban az egyes m˝ uveletek ki´ert´ekel´ese k¨ozben is beg´epelhetj¨ uk a k¨ ovetkez˝o utas´ıt´ asokat. • Karakterk´ eszlet Az angol a´b´ec´eb˝ ol ´es a sz´amjegyekb˝ ol indulunk ki. A nagy- ´es a kisbet˝ uk k¨ oz¨ott k¨ ul¨ onbs´eget tesz¨ unk. A speci´ alis karakterek nek meghat´arozott jelent´ese van. Itt csak a leggyakrabban haszn´ altakat soroljuk fel. Az aritmetikai m˝ uveletek jelei ´altal´ aban a szok´asosak (l´asd a 3.1.3. ponoli, de ugyanerre (kiss´e szokatlan m´odon) a tot); p´eld´ aul a szorz´ast a  jel¨ sz´ok¨ ozt is haszn´alhatjuk. Vigy´ azzunk a k¨ ul¨ onf´ele z´ ar´ ojelek gondos ´ır´ as´ara. A precedencia-szab´aly art. F¨ uggv´enyek argumentumegt¨or´es´ere haszn´aljuk a k¨ oz¨ons´eges   jelp´ oz´e tessz¨ uk. Kapcsos z´ar´ o jelekkel   list´akat m´at sz¨ogletes z´ar´ o jelek   k¨ (l´ asd a 2.3.1. pontot) adhatunk meg. A lista r´eszeire kett˝os sz¨ogletes z´aasd a 2.3.1. pontot). V´eg¨ ul, ha programot r´ o jellel   hivatkozhatunk (l´ oz´e magyar´az´o sz¨oveget ´ırhatunk. ´ırunk, a  ´es a  jel k¨ asra, a  pedig k´esAz egyenl˝ os´egjelek k¨ oz¨ ul az  jel azonnali ´ert´ekad´ leltetett ´ert´ekad´ asra haszn´ alhat´ o. Ez ut´ obbi ´ert´ekad´ as csak akkor val´osul meg, amikor haszn´alni akarjuk a bal oldal´ an szerepl˝ o szimb´olumot. A  ´es a   jelsorozattal k´et kifejez´es karakterr˝ol karakterre val´ o megegyez´es´et ellen˝orizhetj¨ uk, a  ´es a  jelsorozattal pedig kifejez´esek egyenl˝os´eg´et matematikai szempontb´ol vizsg´alhatjuk:  

   

   

   {False, True, alma == almas}

  

 

 {False, True}

    

 True

Itt is felh´ıvjuk a figyelmet arra, hogy egyenleteket is a  jelsorozattal u jelek adhatunk meg. A ciklusv´ altoz´ok (iter´ atorok ) l´eptet´es´ere a ! t´ıpus´ szolg´alnak. asokban haszn´ alhatjuk. Ha egy utas´ıt´ as ut´ an a # jelet A " jelet felsorol´ ´ırjuk, akkor annak eredm´enye ´altal´ aban nem jelenik meg a k´eperny˝ on.

2.1. A legfontosabb tudnival´ ok

23

A legutols´ o utas´ıt´ as eredm´eny´ere a $ jellel hivatkozhatunk. Az utols´ o as eredm´eny´enek a jele $. Ezek el˝ottinek a jele $$, m´ıg az -edik utas´ıt´ alkalmaz´ as´an´ al k¨ onny˝ u hib´ at elk¨ovetni! Az  sz´am faktori´ alisa jel¨ olhet˝ o a szok´asos  m´odon. (Szemifaktori´ alisa pedig ´ıgy:  .) Ha a jel viszont egy logikai kifejez´es el˝ott ´all, akkor annak tagad´ as´at jel¨ oli. • Alapszavak A nyelv tervez´es´en´el (a Pascal nyelvben vagy a UNIX oper´ aci´ os rendszern´el megszokotthoz hasonl´oan) a´ltal´ aban hossz´ u, ´ertelmes, nagybet˝ uvel kezd˝ od˝ o, kital´ alhat´ o azonos´ıt´ okat v´ alasztottak alapszavak k´ent. P´eld´ aul:

% &' %

'  '() '*%+ *

Sz¨ uks´eg eset´en a megl´ev˝ok¨ on t´ ul magunk is bevezethet¨ unk azonos´ıt´ okat. Ilyenkor c´elszer˝ u k¨ ovetni a fenti konvenci´ ot. A programt´ ol figyelmeztet˝o u ¨zenetet kapunk, ha az u ´j azonos´ıt´ o valamelyik kor´abban defini´ alttal megegyezik, vagy egy olyanhoz hasonl´ o. A mintegy k´etezer be´ep´ıtett azonos´ıt´ o nagy r´esze az angol matematikai ´es sz´am´ıt´ astechnikai szaknyelv elemeinek ismeret´eben vagy kital´alhat´ o, vagy legal´abb annyira megk¨ ozel´ıthet˝ o, hogy ´ertelmes k´erd´est tudjunk f¨ oltenni a rendszernek. (P´eld´ aul: ,'.) Az alapszavak els˝o megk¨ozel´ıt´esben matematikai ´es programoz´asi szempontb´ ol is f¨ uggv´enyek, ez´ert ezeket Mathematica-f¨ uggv´enyeknek, be´ep´ıtett f¨ uggv´enyeknek vagy egyszer˝ uen f¨ uggv´enyeknek fogjuk nevezni. A v´ altozatoss´ag kedv´e´ert viszont elj´ ar´ as n´even is fogjuk eml´ıteni ezeket, n´emileg elt´erve a sz´am´ıt´ astechnik´ aban meghonosodott szok´ast´ol. A program magj´ aban vannak a bels˝ o f¨ uggv´enyek , a programcsomagok tartalmazz´ak a k¨ uls˝ o f¨ uggv´enyek et. A f¨ uggv´enyek jelent´ese sokf´ele lehet: • • • • • • • • • •

matematikai ´alland´ o (-" '" )& ); adatt´ıpus (.*" %& ); matematikai f¨ uggv´eny (/ 0" " 1 )); matematikai oper´ator (" )" 2); osszetett matematikai elj´ar´ ¨ as (3)+" 2 4-4" 5 )*); rajzol´ o elj´ ar´ as ('()); be- ´es kiviteli m˝ uvelet (6.*" %); programoz´ asi eszk¨oz (%" )" 3*); listakezel˝ o elj´ ar´ as ( " ' " 0 " 6+ *); egy´eb (" )*).

24

2. Ismerked´es a Mathematica programmal

Mivel az alapszavak jelent´ese igen sok esetben mag´at´ol ´ertet˝od˝ o, ez´ert egy Mathematic´ a ban meg´ırt program legal´ abb olyan egyszer˝ uen olvashat´ o, mint egy sz´epen meg´ırt Pascal-program — azzal a k¨ ul¨ onbs´eggel, hogy m˝ uk¨ odtet´es´ehez nem nek¨ unk kell kibontanunk a f˝ oprogramban szerepl˝ o ´ertelmes szavakat elj´ar´ asok ´es f¨ uggv´enyek hossz´ u sor´ av´ a. A Mathematica fel´ep´ıt´ese a hardver- ´es a szoftverk¨ornyezett˝ol meglehet˝ osen f¨ uggetlen. Az aktu´ alis kapcsolatokat a rendszerv´ altoz´ ok ´ırj´ ak le (l´asd uvel kezd˝ odik. a 2.4.2. pontot), amelyek azonos´ıt´ o ja a 7 jellel ´es nagybet˝ P´eld´ aul a  ! {{a, A}, {b, {g, G}, {h, {m, M}, {n, {s, S}, {t, {y, Y}, {z,

B}, H}, N}, T}, Z},

{c, C}, {d, {i, I}, {j, {o, O}, {p, {u, U}, {v, 0, 1, 2, 3,

D}, {e, E}, J}, {k, K}, P}, {q, Q}, V}, {w, W}, 4, 5, 6, 7,

{f, F}, {l, L}, {r, R}, {x, X}, 8, 9}

rendszerv´altoz´o defini´ alja a karakterek sorrendj´et. A program ezt veszi alapul kifejez´esek feldolgoz´ as´an´ al is ´es megjelen´ıt´es´en´el is. • Inform´ aci´ oszerz´ es A be´ep´ıtett f¨ uggv´enyek haszn´ alat´ ahoz a programt´ ol is kaphatunk seg´ıts´eget. Tetsz˝oleges azonos´ıt´ or´ ol felvil´agos´ıt´ ast kaphatunk az al´ abbi be´ep´ıtett f¨ uggv´enyek haszn´ alat´ aval:

4 4* ) 83* 8)

%  ,, 39 3* , :; $ >$ =3 >>$ 6: 6 {ab2D, 3.14, "valami"}

N´ezz¨ unk ezut´ an n´eh´ any tov´ abbi p´eld´ at:

2.3. Az alapelvekr˝ ol

31

>>$ ?@0 >>$ A0 >>$   3 B {Rational[7, 5], Power[5, Rational[1, 2]], Complex[3, 4]} >>$ ,    C Plus[Power[y, 3], Power[Plus[1, z], 2]] >>$    >>$ ;$    {Times[5, t], Hold[Plus[Times[2, t], Times[3, t]]]}

Adott kifejez´es meghat´arozott r´eszeit kett˝os z´ar´ ojelek ( , ami a

'  f¨uggv´eny r¨ovid alakja) haszn´alat´aval jel¨olhetj¨uk ki. A '  HI*"  ´es a HI*

´ utas´ıt´ as eredm´enye p´eld´ aul a HI* -edik argumentuma. Erdemes megjegyezni egyr´eszt azt, hogy a nulladik argumentum a kifejez´es feje, m´asaul: r´eszt azt is, hogy  negat´ıv sz´am is lehet. P´eld´ /-!D!C!  -   3 #/-!D!C!  E /-!D!C!  /-!D!C! F {f, a3, a2}

A kiv´ alaszt´as im´ent ismertetett elemi m´ odj´ at rekurz´ıvan alkalmazhatjuk. Tekints¨ uk a k¨ ovetkez˝o p´eld´ akat. Legyen /-!D!C!  8  $ /-!D!C!  h[| , | , | ] Plus[bb, x] Times[x, y] Power[| , 2] Plus[u, v]

Mag´at a gr´ afot pedig ´ıgy rajzolhatjuk meg: &&+ (!!'8)G!!) H1#$/-!D!C! 

Egy r´eszkifejez´es (bele´ertve ezent´ ul az atomokat is) szintje (level) a gy¨ ok´ert˝ol hozz´a vezet˝o u ´t hossza a fenti gr´ afban: 2!:!/-!D!C!   2 {bb, x, bb + x, x, y, x y, u + v, 2, (u + v) }

2!:!/-!D!C!   {bb, x, x, y, u + v, 2}

Egy r´eszkifejez´es t¨obb helyen is el˝ ofordulhat, ezen el˝ ofordul´ asi helyek list´aj´ at is megkaphatjuk: #$ $/-!D!C!   B-, {{1, 2}, {2, 1}}

A ) f¨ uggv´eny egy kifejez´es ¨osszes szintjeinek sz´am´at adja meg.

2.3. Az alapelvekr˝ ol

33

A fentiekben haszn´alt HI*F(" F" E formula argumentumai ´eppen az adott r´eszkifejez´eshez vezet˝o utat adj´ ak meg a fenti gr´ afban. Ezen k´ıv¨ ul tov´ abbi m˝ uveleteket is v´egezhet¨ unk a kifejez´esekkel a k¨ovetkez˝o f¨ uggv´enyeket haszn´alva:

/ /0 ) 8 * %*  5 '  '  ' 0

6'  6* 6+ * 6. 66&     0 

A kifejez´esek egy m´asik fontos oszt´aly´ at alkotj´ ak a list´ak. Programoz´asi nyelvekben a kifejez´esek oszt´alyba sorol´ as´anak eszk¨ozei a t´ıpusok. Ezeket arra haszn´ alj´ ak, hogy seg´ıts´eg¨ ukkel ellen˝ orizz´ek a kifejez´esek helyess´eg´et szemantikai szempontb´ol: p´eld´ aul, ha egy eg´esz argumentum´ u f¨ uggv´eny argumentum´ aba val´ os t´ıpus´ u sz´am ker¨ ul, hiba¨ uzenetet kapunk. Ez, k¨ ul¨ on¨ osen bonyolult programokn´ al, igen hasznos. M´asr´eszt igen neh´ezkess´e v´alhat egy olyan programoz´ asi nyelv, (p´eld´ aul a Pascal) haszn´alata, amelyben minden objektum t´ıpus´ at deklar´ alni kell m´eg az objektum defini´ al´ asa el˝ott. A Mathematica mindk´et elj´ar´ ast t´amogatja azon a m´odon, hogy a kifejez´esek fej´et u ´gy haszn´ alja, mint m´ as nyelvek a t´ıpusokat. ´Igy teh´ at minden objektumnak van t´ıpusa, de ezt nem kell k¨ ul¨ on deklar´ alni, s˝ot haszn´ alni sem, csak ha a felhaszn´ al´ o akarja. A fejek jelent´es´enek ezen k´et´ertelm˝ us´ege nagyon hasznos, mivel a program a kifejez´esek viselked´es´enek lehets´eges szemantikai modelljei k¨ oz¨ ul nem uggv´eny k´enyszer´ıt r´ a egy kiv´ alasztottat a felhaszn´al´ ora. P´eld´ aul a .* f¨ egyr´eszt ¨osszefogja az argumentumait ´es nem csin´al vel¨ uk semmit. M´ asr´eszt viszont azt mondhatjuk, hogy argumentumaib´ ol valami u ´jat hoz l´etre, vagyuggv´eny volt´ ara is az ˝oket tartalmaz´o list´at. Ebben a felfog´ asban a .* f¨ uggv´enyk´ent gondolunk, de esik a hangs´ uly. Ehhez hasonl´ o, hogy a -ra f¨ amikor egy eg´esz sz´amra alkalmazzuk, semmi sem t¨ort´enik, csak megtartja u objektumot. az argumentumot ´es l´etrehoz egy  t´ıpus´

34

2. Ismerked´es a Mathematica programmal

List´ ak megad´ as´ aval r´eszletesen foglalkozunk a halmazokr´ ol sz´ol´ o 3.1.2. pontban ´es a line´aris algebr´ ar´ ol sz´ol´ o 3.8. szakaszban. Itt csak felsoroljuk az erre a c´elra haszn´ alhat´ o f¨ uggv´enyeket:

/  .*

6& 0 

A list´akon v´egezhet˝o a ´talak´ıt´ asok egy r´esze az eml´ıtett k´et r´eszben szint´en megtal´alhat´ o; ez´ert itt csak a k¨ovetkez˝oket eml´ıtj¨ uk meg:

)*   8 8/ % 2 2/

2/ 2%4 @ 0  0 **

Ezek a f¨ uggv´enyek a nagyteljes´ıtm´eny˝ u egysoros elj´ar´ asok, ´altal´ anosabban pedig a funkcion´ alis programoz´ as alapvet˝o eszk¨ozei. N´eh´ any p´eld´ at adunk alkalmaz´ asukra: +  Automatic, ColorOutput -> Automatic, Compiled -> True, DefaultColor -> Automatic, Epilog -> { }, Frame -> False, FrameLabel -> None, FrameStyle -> Automatic, FrameTicks -> Automatic, GridLines -> None, MaxBend -> 10., PlotDivision -> 20., PlotLabel -> None, PlotPoints -> 25, PlotRange -> Automatic, PlotRegion -> Automatic, PlotStyle -> Automatic, Prolog -> { }, RotateLabel -> True, Ticks -> Automatic, DefaultFont :> $DefaultFont, DisplayFunction :> $DisplayFunction}

{AspectRatio ->

2!8L 27

A Mathematica transzform´ aci´ os szab´alyk´ent, teh´ at a k¨ ovetkez˝o alakban kezeli az opci´okat: opci´o neve −> opci´o ´ert´eke. Mindegyik opci´ ohoz egy meghat´arozott alap´ertelmez´es szerinti ´ert´ek is tartozik. Ezt haszn´ alja a program abban az esetben, amikor nem adjuk meg az opci´ot. A

@* f¨ uggv´eny alkalmaz´as´aval k¨ oz¨olhetj¨ uk a programmal azt, hogy melyik opci´o´ert´eket tekintse alap´ertelmez´es szerinti ´ert´eknek. uggv´eny opci´ oihoz. Ezek k¨ oz¨ ul t¨ obbnek (ilyen T´erj¨ unk vissza a ' f¨ ap´eld´ aul a 8 ) a jelent´es´et, valamint a lehets´eges opci´o´ert´ekeket (p´eld´ onnyen kital´ alhatjuk. M´ as esetben az inform´aci´ oszerz´es ul 8* ´es 0 ) k¨ uggv´eny n´eh´ any opkor´ abban ismertetett m´ odj´ at haszn´ alhatjuk. (A ' f¨ ci´o j´ anak ´ertelm´et a 3.1.5. pontban is kifejtj¨ uk.) Itt jegyezz¨ uk meg, hogy sokszor nem egyszer˝ u feladat az opci´ok lehets´eges ´ert´ekeinek a programb´ ol t¨ ort´en˝ o felder´ıt´ese. (Ilyenkor ´erdemes a ,

2.3. Az alapelvekr˝ ol

43

s´ ug´ ot is megk´erdezni ´es a Help-et is megn´ezni.) Wolfram k¨ onyve ([89]) sz´amos esetben ezekn´el t¨obb inform´ aci´ ot tartalmaz. N. Blachman´e (l´asd [9]-et) pedig ´eppen ennek a hi´ anyoss´agnak a megsz¨ untet´es´et t˝ uzte ki c´elul. B´armely f¨ uggv´eny argumentum´ aban a megengedett opci´ ok k¨ oz¨ ul ak´ arh´ anyat b´ armilyen sorrendben felsorolhatunk. A k¨ ul¨ onb¨ oz˝oket a " jellel kell elv´ alasztanunk. Befejez´es¨ ul m´eg a sz´amos be´ep´ıtett f¨ uggv´enyn´el alkalmazhat´ o  opci´or´ ol ´es a gyakori / opci´o´ert´ekr˝ol ejt¨ unk n´eh´ any sz´ot. uggv´enyt. Mivel ez sokszor sz´amolja Vegy¨ uk p´eldak´ent ism´et a ' f¨ ki a beadott f¨ uggv´eny helyettes´ıt´esi ´ert´ekeit, fontos, hogy a program min´el gyorsabban hajtsa v´egre ezeket a m˝ uveleteket. Ezt seg´ıti a  opci´o. Alap´ertelmez´es szerinti ´ert´eke ´altal´ aban 0 , ami azt jelenti, hogy a Mathematica a ki´ert´ekel´esn´el a leggyorsabban m˝ uk¨ od˝ o algoritmusokat, teh´at a g´epi pontoss´ ag´ u sz´amokat (l´asd a 3.1.3. pontot) haszn´ alja. Ha a ki´ert´ekel´es sor´an nagypontoss´ ag´ u sz´amokat (l´asd szint´en a 3.1.3. pontot) szeretn´enk alkalmazni, akkor a  JK 8* opci´ot kell megadnunk. alaszt Sz´ amos opci´o ´ert´eke lehet /. Ilyen esetekben a program v´ ki egy (a beadott feladatt´ ol — is — f¨ ugg˝ o) lehets´eges opci´o´ert´eket, amir˝ol sz¨ uks´eg eset´en a

8@* f¨ uggv´eny seg´ıts´eg´evel kaphatunk inform´ aci´ ot. P´eld´ aul: 1$    0$?  {5}

Most m´eg nem a legkisebb, adott tulajdons´ ag´ u elemet kaptuk, hanem a list´aban legel˝ osz¨or k¨ ovetkez˝ot. Egy rendez´essel egy¨ utt m´ ar a j´ o megold´as ad´ odik: 0  "! "  $ ! ' >    0$?  {2}

Egy m´ asik megold´as:

3.1. Alapvet˝o matematikai fogalmak

77

0   "!  $ ! ' >   0$? 2

Hasonl´ıtsuk o¨ssze a k´et megold´as gyorsas´ag´at nagyobb sz´amoss´ag´ u halmazokon!

3.1.2. Halmazok Sz¨ uks´eg¨ unk lesz a legt¨obb listakezel˝ o f¨ uggv´enyre is a n´eh´ any speci´alisan halmazelm´eleti f¨ uggv´eny mellett:

) 4  4 7        #

#  #  #  #8 #&  0 0 9  !

A 7 #834&3 programcsomag

4 0  :)4  ;6&  86& 

9 0 9 6&  6& 

f¨ uggv´enyei, valamint a 4 3773 programcsomag

77 65)!6 elj´ ar´ asai is seg´ıts´eget ny´ ujthatnak.

!6

78

3. Fejezetek a matematik´ab´ ol

• Alapvet˝ o fogalmak A Mathematica alapvet˝ o adatszerkezete a lista. Halmazokat is list´aval reprezent´ alhatunk, ehhez azonban az adott list´ aban t¨ obbsz¨ or el˝ofordul´ o azonos elemeket egyetlen listaelemmel kell helyettes´ıten¨ unk. Ennek egy m´odj´ ara mutatunk p´eld´ at:          @0    

(Ek¨ ozben az elemek a  # ( # ' $ 0$? $

   True

R¨ovidebb, t¨ om¨orebb ´es gyorsabb, ha az a halmazt nem elemenk´ent kezelj¨ uk:

3.1. Alapvet˝o matematikai fogalmak #

79

( # '  0$? $ . / 

True

M´eg r¨ovidebb formul´ at kapunk, ha az utas´ıt´ asok r¨ ovid alakj´ at haszn´ aljuk:  +, (, - # '  0$? ( . /  +   $ True

R´eszhalmaz okat gyakran defini´ alunk u ´gy, hogy egy adott alaphalmaz adott tulajdons´ ag´ u elemeit v´alasztjuk ki. Ezt t¨ obbf´elek´eppen is megtehetj¨ uk a Mathematic´ a ban: @0   $ !    ) > A @0 ,6  {1, 2, 3, 4, 5}

A @0 +,  + {1, 2}

"! @0 2''? {1, 3, 5}

Kiv´ alaszthatjuk egy halmaz (ink´ abb: egy lista) adott helyen l´ev˝ o elemeit is, amint azt a p´eld´ ak mutatj´ ak (ezek a m˝ uveletek eszk¨ozk´ent halmazokra is j´ ol haszn´ alhat´ oak):

= @0  {a, b, c}

= @0 C {3, 4, 5}

= @0  > {c, 1, 2}

Hasonl´ oan hagyunk el bizonyos elemeket: D @0  D @0 C {1, 2, 3, 4, 5} {a, b, c, 1, 2}

80

3. Fejezetek a matematik´ab´ ol D D {a, {a,

@0 

@0 > b, 1, 2, 3, 4, 5} b, 3, 4, 5}

Adott halmaz r´eszhalmaz´ at ´ıgy is megadhatjuk: E @0 {b, c, 1, 2, 3, 4, 5} & @0  > F {c, 2, 4}

A k¨ ovetkez˝o utas´ıt´ asok eredm´enye pedig adott halmaz egy eleme:  @0 a & @0  c

Felh´ıvjuk a figyelmet az elvekr˝ ol sz´ol´ o 2.3. szakaszra. A jelen pontban t´ argyalt m˝ uveletek ugyanis a´ltal´ aban nem csak list´akra alkalmazhat´ ok, ´ıgy hat´ ask¨or¨ uk az itt ismertetettn´el sokkal b˝ ovebb. • Halmazm˝ uveletek Term´eszetesen nemcsak a halmaz list´ab´ ol val´ o el˝o´all´ıt´ as´anak m˝ uvelet´et, hauggv´eny v´egzi: nem a halmazok egyes´ıt´es´et is a ! f¨         $    ! {1, 2, 3, a, b, c}

Ugyanezt haszn´alhatjuk — t¨ obbf´elek´eppen is — tetsz˝oleges (v´eges!) halmazrendszer egyes´ıt´es´enek kisz´am´ıt´ as´ara is:  '  $ C  G  C  {{-2, -1, 0}, {-1, 0, 1}, {0, 1, 2}}     ' {-2, -1, 0, 1, 2}      ' {-2, -1, 0, 1, 2}

3.1. Alapvet˝o matematikai fogalmak

81

osleges z´ar´ ojeleket, r´eszletesen l´asd az elvekn´el.) ( kiszedi” a f¨ol¨ ” Halmazok metszet´enek kisz´am´ıt´ as´ara adunk n´eh´ any p´eld´ at:  $ !H6 !  H $ ! ' 6 !   $ ! $ ! ' 6 !    ' # ( 6 !    '

V´egtelen (RN -beli) halmazok p´eld´ aul karakterisztikus f¨ uggv´eny u ¨kkel kezelhet˝ok. A ny´ılt egys´egk¨ orlap karakterisztikus f¨ uggv´eny´et ´ıgy is megkaphatjuk: A# *  * +, (, - 6* C+IC(IJB  B 

0  & D * + (  + B  ( B  {46.192 Second, -SurfaceGraphics-}

Ugyanennek a f¨ uggv´enynek egy m´ asik defin´ıci´ oja:  +, (, -   +IG(I  +, (, - B  +IG(IJ

0  & D  + (  + B  ( B  {40.645 Second, -SurfaceGraphics-}

(Ezeket a defin´ıci´ okat — ´es az al´abb k¨ ovetkez˝ot — ism´et felfoghatjuk u ´gy is, hogy egy alaphalmaz, eset¨ unkben a s´ık, adott tulajdons´ ag´ u elemeit v´ alasztjuk ki.) onyvt´ ar 77 elnevez´es˝ u programcsomagj´ at is A 4 alk¨ haszn´ alhatjuk karakterisztikus f¨ uggv´enyek elk´esz´ıt´es´ehez: A!KD!D K @ +, (, -   "  C+IC(I 

Ha ezeket a karakterisztikus f¨ uggv´enyeket ´abr´ azolni akarjuk, akkor ez az els˝o k´et defin´ıci´ oval k¨ or¨ ulbel¨ ul egyforma ideig tart, a harmadikkal k¨ or¨ ulbel¨ ul h´ aromszor annyi ideig. A harmadikat akkor ´erdemes m´egis v´ alasztanunk, ha a karakterisztikus f¨ uggv´enyekkel m˝ uveleteket is akarunk v´egezni: p´eld´ aul a halmazm˝ uveletek megval´os´ıt´ asa v´egett. (K´et halmaz metszet´enek karakterisztikus f¨ uggv´enye a halmazok karakterisztikus f¨ uggv´eny´enek szorzata, egyes´ıt´es¨ uk´et pedig u ´gy kapjuk meg, hogy a karakterisztikus f¨ uggv´enyek ¨osszeg´eb˝ ol levonjuk azok szorzat´at. Valamely halmaz komplementer´enek karakterisztikus f¨ uggv´enye az 1 f¨ uggv´eny ´es a karakterisztikus f¨ uggv´eny uggv´enyt t¨ obb k¨ ul¨ onbs´egek´ent kaphat´ o meg.) A bonyolult, a !6 f¨ helyen is tartalmaz´ o kifejez´esek egyszer˝ us´ıt´es´ere ugyanis az adott programalhat´ o. csomagban egy k¨ ul¨ on f¨ uggv´eny, a 65)!6 tal´

82

3. Fejezetek a matematik´ab´ ol

Sz´ am´ıtsuk ki most k´et halmaz metszet´enek ´es egyes´ıt´es´enek karakterisztikus f¨ ugv´eny´et: = +, (, -   "  +G(C  +, (, - "0 *(  "  @ + ( = + ( 0 +, (, - "0 *(  "  @ + ( G = + ( C  + ( & D  + (  + B  ( B 

Az a ´es b halmaz Descartes-f´ele szorzat´ at az  f¨ uggv´ennyel kaphatjuk meg, ez ugyanis a m´ asodik ´es harmadik argumentum´ aban megadott list´ak elemeib˝ol k´epezi az ¨osszes p´art, ´es ezeket a p´arokat az els˝o argumentumk´ent megadott f¨ uggv´eny argumentum´ anak adja a´t; v´eg¨ ul az eredm´enyb˝ ol list´at k´epez:   2  %  '  *     {{d, 1}, {d, 2}, {e, 1}, {e, 2}, {f, 1}, {f, 2}}

´ Erdemes teh´ at a k¨ ovetkez˝o defin´ıci´ ot bevezetni: '!  , $, -   2  %   $     '  * $    '!   $ {{d, 1}, {d, 2}, {e, 1}, {e, 2}, {f, 1}, {f, 2}}

(A Descartes-szorzat elemei rendezett p´ arok, ahogy el is v´ arjuk.) Ugyanezt onyvt´ ar 4& programcsomagmegadja a 7 #8 alk¨ uggv´enye is. j´ anak 4 0  f¨ Az ´ert´ekt´abl´ azatokhoz a logikai f¨ uggv´enyek ´ertelmez´esi tartom´any´ anak pontjait most m´ ar ´ıgy is el˝ o´ all´ıthatjuk:   '!      

Descartes-szorzat (nem csak v´eges halmazok´e!) sz´amos bels˝o f¨ uggv´eny argumentumak´ent el˝ofordulhat. P´eld´ aul: & D " +I G (I  + C& & ( B &

Ha a k sz´am oszt´oja az A halmaz elemei sz´am´anak, akkor

0* .=, az A halmaz egy olyan part´ıci´ o j´ at szolg´altatja, amelyben minden r´eszhalmaznak k sz´am´ u eleme van: &      ) L M F N  {{1, 2}, {3, 4}, {9, 8}, {7, 6}}

3.1. Alapvet˝o matematikai fogalmak

83

Ne t´evessz¨ uk o¨ssze a 0 f¨ uggv´enyt a 7 #8 alk¨ onyvt´ ar 4& programcsomagj´anak 0 f¨uggv´eny´evel, amely pozit´ıv eg´esz sz´amokat bont fel pozit´ıv eg´esz sz´amok ¨osszeg´ere. • Hatv´ anyhalmaz H´ıvjuk be a 4& programcsomagot: D!  @KA0$  !K

K´epezhetj¨ uk egy adott halmaz r´eszhalmazait lexikografikus sorrendben:

$  @"$   $ ! '   B > {{ }, {a}, {b}, {a, b}, {c}, {a, c}, {b, c}, {a, b, c}, {d}, {a, d}, {b, d}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}}

Hatv´ anyhalmazt teh´at ´ıgy k´epezhet¨ unk: @ 1 ( , - $  @"$     B I%  @  C  @ 1 (  $ ! ' 

Egy m´ asik megold´asn´ al u ´gy soroljuk f¨ ol a r´eszhalmazokat, hogy a sorozat minden tagja pontosan egy elemben k¨ ul¨ onb¨ ozz´ek az el˝oz˝ot˝ol: O(A'    ) {{}, {1}, {1, 2}, {2}, {2, 3}, {1, 2, 3}, {1, 3}, {3}, {3, 4}, {1, 3, 4}, {1, 2, 3, 4}, {2, 3, 4}, {2, 4}, {1, 2, 4}, {1, 4}, {4}}

Vegy¨ uk ´eszre, hogy p´eld´ aul a 4 sz´am az els˝o nyolc r´eszhalmazban nem fordul el˝o, m´ıg az utols´ o nyolc mindegyik´eben el˝ofordul. Az a halmaz k elem˝ u r´eszhalmazait ´ıgy kapjuk meg: P"$   $ ! '  {{a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}}

ez´ert hatv´ anyhalmazt ´ıgy is el˝ oa´ll´ıthatunk:  

$ P"$   $ ! '   B )   {{ }, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}}

V´eg¨ ul megeml´ıtj¨ uk, hogy ugyanebben a programcsomagban 6&  n´even olyan f¨ uggv´enyt is tal´ alunk, amely k¨ ozvetlen¨ ul el˝ o´all´ıtja a hatv´ anyhalmazt.

84

3. Fejezetek a matematik´ab´ ol

Megjegyzend˝ o, hogy gyakran van sz¨ uks´eg¨ unk arra, hogy el˝ o´all´ıtsuk egy halmaz k´etelem˝ u r´eszhalmazait (azaz a m´asodoszt´aly´ u ism´etl´es n´elk¨ uli komuggv´enyt: bin´ aci´ okat). Ehhez is felhaszn´ alhatjuk a ;6&  f¨ =  , - P"$     

• Rel´ aci´ ok A val´ os sz´amokon defini´ alt szok´asos rel´ aci´ ok is haszn´alhat´ ok: >. >. ?. ?. A matematik´aban megszokott ¨osszevon´asokkal is ´elhet¨unk:   >   True

Nem csak sz´amokra haszn´ alhat´ o az egyenl˝os´eg ´es a nemegyenl˝ os´eg: )   True

  >  $ ;   >  $ False

  >  $    >  $ False

Az )' kifejez´es pontosan akkor igaz, ha x, y ´es z p´ aronk´ent k¨ u´ aromv´ altoz´os f¨ uggv´eny m´ar l¨ onb¨ oz˝ok. (Igy teh´ at a ! ´es a " h´ k¨ ul¨ onb¨ oz˝ok, b´ ar k´etv´ altoz´osk´ent, mint f¨ ont l´ attuk, megegyeznek.) A fenti rel´ aci´ ok ´es logikai m˝ uveletek eredm´enyk´ent is igen gyakran el˝ ofordulnak: E'!  +  $ + b == 0 && a == 0 || a != 0 && x ==

b a

(A logikai diszjunkci´ ot´ ol megk¨ ul¨ onb¨ oztetend˝ o az alternat´ıv´ ak felsorol´ as´at jel¨ ol˝ o | jel; ezt a mint´ azatokkal kapcsolatban a 2.3.2. pontban t´ argyaltuk.) ´ Ujonnan defini´ alt rel´ aci´ ok megad´as´ahoz bizonyos szorzathalmazok r´eszhalmazait kell kijel¨ olni:             {{1, 1}, {2, 2}, {3, 3}, {1, 2}, {2, 1}}

Hat´arozzuk meg a fenti rel´ aci´ o ´ertelmez´esi tartom´any´ at:

3.1. Alapvet˝o matematikai fogalmak

85

'0    

    {1, 2, 3}

Hat´arozzuk meg ´ert´ekk´eszlet´et is:     %

    {1, 2, 3}

Vajon megegyezik-e a rel´aci´ o ´ertelmez´esi tartom´anya ´es ´ert´ekk´eszlete? '0   True

Egy rel´ aci´ o reflexivit´ asa ellen˝ orizhet˝o u ´gy, hogy az alaphalmaz identit´ asf¨ uggv´eny´et tartalmazza-e:    @' % '0 '0      True

A rel´ aci´ okat gr´ afoknak is tekinthetj¨ uk. Ehhez a felfog´ ashoz tartoz´o fogalmakat ´es eszk¨oz¨oket a diszkr´et matematik´ar´ ol sz´ol´ o 3.6. szakaszban fogunk t´ argyalni. • M˝ uveletek intervallumokkal Az intervallumokkal mintha baj lenne. Az   ´es a 42  f¨uggv´ennyel nem m˝uk¨odnek j´ol egy¨utt; a !-nal term´eszetesen igen: 6 !  6 1 B   6 1 BQ>  Interval[ ] A0 0 6 1 B >  6 1   Interval[{0, 5}]   6 1 B   6  1 BQ>  Interval[{0, 2.}]

Mindez nincs o¨sszhangban a matematik´ aban megszokott tulajdons´ agokkal. A Mathematica elveinek viszont megfelel, ugyanis az   u ´gy m˝ uk¨ odik, hogy a metszet tagjainak  fej´et elt´avol´ıtja, majd meg´allap´ıtja, hogy a megmaradt list´aknak melyek a k¨ oz¨os elemei, s ezekre an ez a kellemetlens´eg a program haszvisszarakja az  fejet. Miut´ n´ alata sor´an kider¨ ult, speci´ alis f¨ uggv´enyeket vezettek be intervallumokkal v´egzend˝o halmazm˝ uveletekre:

86

3. Fejezetek a matematik´ab´ ol 6 1  6 1 B   6 1 BQ>  6 1  6 1 C   6 1   6 1  6 1 B   6 1   Interval[{0, 2}] Interval[{-1, 3}] Interval[{0, 1}, {2, 3}] 6 16 !  6 1 B   6 1 BQ>  6 16 !  6 1 B   6 1   Interval[{0.5, 1.}] Interval[ ]

Azt is meg´allap´ıthatjuk, hogy egy sz´ am eleme-e egy intervallumnak: 6 10$? 6 1    "5  True

#& *+. (, ´ert´eke pedig — ha i1 ´es i2 is intervallum — pontosan akkor , ha i2 ⊂ i1 : 6 10$? 6 1 B )  6 1   True 6 10$? 6 1    6 1 BQ>  False

Val´ os intervallumokon aritmetikai m˝ uveleteket is v´egezhet¨ unk a szok´ asos m´odon: F G 6 1 B  3 10 }] Interval[{ , 7 7 R6 1 C  Interval[{-3, 9}] 6 1   G 6 1  ) Interval[{4, 6}]

3.1. Alapvet˝o matematikai fogalmak

87

3.1.3. Sz´ amok a ´br´ azol´ asa. Aritmetikai m˝ uveletek A Mathematica programon bel¨ ul elvileg ak´ arh´ any jegy˝ u sz´amokkal v´egezhet¨ unk m˝ uveleteket. A gyakorlatban az ´abr´ azolt sz´amjegyek maxim´alis sz´am´at — ami minden v´ altozatn´ al ezrekkel m´erhet˝o — azonban az aktu´ alisan haszn´ alt hardverk¨ ornyezet hat´ arozza meg. Eg´esz sz´amokkal ´es t¨ortekkel megadott aritmetikai m˝ uveletek eredm´eny´et a program a matematika szab´ alyainak megfelel˝oen pontosan adja meg (pontos aritmetika). A sz´amol´og´epekhez ´es a hagyom´anyos programnyelvekhez hasonl´ oan itt is dolgozhatunk k¨ ozel´ıt˝ o ´ert´ekekkel (k¨ ozel´ıt˝ o aritmetika). Ilyenkor igen t´ ag hat´ arok k¨ oz¨ott szab´alyozhatjuk a felhaszn´ alt ´ert´ekes sz´amjegyek sz´am´at. N´eh´ any programcsomagban lev˝o f¨ uggv´eny a lebeg˝opontos aritmetika elm´elet´enek tanulm´ anyoz´ as´ahoz is seg´ıts´eget ny´ ujt. Ezeket ennek a pontnak a v´eg´en ismertetj¨ uk. M´ ar itt felh´ıvjuk az Olvas´ o figyelm´et a bemen˝o adatok szintaxis´ anak (l´ asd k´es˝obb) gondos megv´ alaszt´as´ara. A tov´ abbiakban r´eszletesen ismertetj¨ uk, hogy adott kifejez´es ki´ert´ekel´es´ehez a Mathematica milyen elvek alapj´ an v´ alaszt a pontos ´es a k¨ozel´ıt˝ o algoritmusok alkalmaz´asa k¨oz¨ ul. • Az aritmetikai m˝ uveletek szintaxisa

0 *.), 6&*.),  *. ), vagy  ) 7 *.), 0B*.),

vagy vagy vagy vagy vagy

@) 2) A) $) C)

o¨sszead´as kivon´ as szorz´as oszt´as hatv´ anyoz´ as

Az A) szorzatot megadhatjuk ´ıgy is:  ). Ebben az esetben a sz´ok¨ oz karakter jel¨ oli a szorz´as m˝ uvelet´et. Ha egy k´ett´enyez˝os szorzat els˝o t´enyez˝o je (val´ os vagy komplex) sz´am, a m´asodik t´enyez˝o je szimb´olum (azaz nem oz karakter is elhagyhat´ o. ´Igy a D, a DA ´es a sz´am), akkor a A is ´es a sz´ok¨ D  utas´ıt´asok egyen´ert´ek˝uek. Vigy´azzunk azonban arra, hogy a ford´ıtott ul¨ onb¨ oz˝o szimb´olumot sorrendre ez m´ar nem ´erv´enyes. Az D egy -t˝ol k¨ jelent ´es nem az AD szorzatot. A Mathematica az aritmetikai m˝ uveleteket a matematik´aban megszokott o jelekkel ett˝ol precedenciaszab´alynak megfelel˝oen hajtja v´egre, ha a z´ar´ elt´er˝o sorrendet nem jel¨ol¨ unk ki. A precedenciaszab´aly 3 oldalas ismertet´ese Wolfram k¨ onyv´eben ([89], 716–719. oldal) sz¨ uks´eg eset´en megtal´alhat´ o. Mi-

88

3. Fejezetek a matematik´ab´ ol

vel el´eg term´eszetes a m˝ uveletek sorrendje, ritk´ an kell ezzel foglalkoznunk. Ha bizonytalanok vagyunk, alkalmazzunk (g¨ omb¨ oly˝ u) z´ ar´ o jeleket. • Sz´ amt´ıpusok A hagyom´ anyos programnyelvekhez (Basic, C, Fortran, Pascal) hasonl´oan a k¨ ul¨ onb¨ oz˝o t´ıpus´ u sz´amokat a Mathematica is k¨ ul¨ onb¨ oz˝o m´odon kezeli. Az al´ abbi sz´amt´ıpusok megk¨ ul¨ onb¨ oztet´es´ere van m´od: Sz´ amt´ıpus

Defin´ıci´ o

P´ eld´ ak

eg´esz sz´amok

az eg´esz sz´amok halmaz´anak (Z-nek) az elemei

val´ odi t¨ ortek

a p/q alak´ u sz´amok, ahol p ∈ Z ´es q ∈ Z \ {0}

val´ os sz´amok

a val´ os sz´amok k¨ozel´ıt´es´ere szolg´al´ o v´eges tizedest¨ortek az a + bi alakban megadott komplex sz´amok, ahol a ´es b az el˝oz˝o h´ arom sz´amt´ıpus valamelyike (i jel¨ oli a k´epzetes egys´eget)

+EF 2(EG F$+D G$ 2D F+HE(F 2IHDJ(



9

9

komplex sz´amok

4

F@EA ($F@DHA +H(@FHEA

A program szempontj´ ab´ ol az eg´esz sz´amoknak ´es az explicit tizedesponttal megadott val´ os sz´amoknak kit¨ untetett szerep¨ uk van (l´ asd a 2.3.1. pontot). A szimbolikus programcsomagoknak, ´ıgy a Mathematic´ a nak is egyik f˝ o er´enye az, hogy seg´ıts´eg¨ ukkel alap´ertelmez´esben dolgozhatunk ak´ ar t¨ obb ezer jegy˝ u sz´amokkal is. A lehet˝os´egek ismertet´es´ehez sz¨ uks´eg¨ unk lesz a sz´amok egy m´asik csoportos´ıt´ as´ara is. Pontos numerikus ´ert´ekek nek nevezz¨ uk az eg´esz sz´amokat, a val´ odi t¨ orteket ´es azokat az algebrai alakban megadott komplex sz´ amokat, amelyeknek a val´ os ´es a k´epzetes r´esze is az el˝obbiek valamelyike. Ilyen sz´amokkal a matematik´aban megszokott m´odon pontosan is v´egezhet¨ unk m˝ uveleteket. K¨ ozel´ıt˝ o numerikus ´ert´ekek nek nevezz¨ uk az explicit tizedesponttal megadott val´ os vagy komplex sz´amokat. Az ezekkel v´egzett m˝ uveletekn´el a program a szok´asos kerek´ıt´esi szab´alyokat alkalmazza.

3.1. Alapvet˝o matematikai fogalmak

89

A Mathematica szimb´olumoknak tekinti (´es speci´alis m´odon kezeli) a matematikai a ´lland´ ok at. Sok esetben ezekkel is ugyan´ ugy sz´amolhatunk, mint a pontos numerikus ´ert´ekekkel. A k¨ovetkez˝o t´ abl´ azatban a be´ep´ıtett matematikai ´alland´ ok k¨ oz¨ ul csak n´eh´ anyat sorolunk fel.

4 7  : : 9  5) 25) 0

a Catalan-f´ele ´alland´ o, azaz a ∞  (−1)k (2k + 1)−2 ¨osszeg k=0

a fokot radi´ anba a´tv´ alt´ o szorz´o (π/180o ) a term´eszetes alap´ u logaritmus alapsz´ama   n  1 a γ := lim − log n Euler-f´ele ´alk n→∞

k=1

land´ o √ az aranymetsz´esi ´alland´ o (az (1 + 5)/2 sz´am) √ a −1 k´epzetes egys´eg a +∞ szimb´olum a −∞ szimb´olum a π sz´am

Komplex sz´ amok kezel´es´ehez az al´abbi bels˝ o f¨ uggv´enyeket haszn´alhatjuk:

& 

 9

4K

Ezek jelent´ese a megszokott. Csup´an azt emelj¨ uk ki, hogy *', a ' komplex sz´amnak a (−π, π] intervallumba es˝ o (radi´ anban m´ert) argumentum´ at adja meg. A k¨ ovetkez˝o p´eld´ ak ezt illusztr´alj´ ak. Figyelj¨ uk meg azt is, hogy abban az esetben, amikor a bemen˝o adatok csak pontos numerikus ´ert´ekeket tartalmaznak, akkor a program a pontos eredm´enyt keresi: #  G 6  # CA &N G " &N R6  #  G R6  Pi 5 Pi , ArcTan[12, 3]} { , 4 6

Ha az aritmetikai kifejez´es k¨ozel´ıt˝ o numerikus ´ert´eket is tartalmaz, akkor a k´ert eredm´eny egy k¨ ozel´ıt˝ o ´ert´ek´et kapjuk meg: # Q G 6  #  G QR6  {0.785398, 0.244979}

A Mathematica komplex sz´amokkal v´egzett m˝ uveletek eredm´eny´et algebrai alakban adja meg. A Gauss-eg´eszek (azok a komplex sz´amok, ame-

90

3. Fejezetek a matematik´ab´ ol

lyeknek a val´ os ´es a k´epzetes r´esze is eg´esz sz´am) k¨or´eben is dolgozhatunk azokkal a f¨ uggv´enyekkel, amelyek rendelkeznek a :  opci´oval. A 1 f¨ uggv´eny ad inform´ aci´ ot arr´ ol, hogy egy adott sz´ amot a program milyen t´ıpus´ unak tekint. P´eld´ aul: 7'   7' Q  7' >B  7' >QB  {Integer, Real, Rational, Real} 7'  G BR6  7' Q G BQR6  {Integer, Complex} 7' "5   7' "5 )  7' "5 )Q  {Power, Integer, Real}

Sz´ amos matematikai probl´em´an´ al l´enyeges tudni azt, hogy egy adott sz´am hozz´atartozik-e a komplex sz´amok valamely r´eszhalmaz´ahoz. Az ilyen jelleg˝ u k´erd´esek megv´alaszol´as´ahoz ny´ ujthatnak seg´ıts´eget k¨ ul¨ onb¨ oz˝o logikai ´ert´ekeket megad´o be´ep´ıtett f¨ uggv´enyek. Az

 *, utas´ıt´ as eredm´enye , ha  eg´esz sz´am, ´es   az ellenkez˝o esetben. Hasonl´ o ´ertelemben haszn´alhatjuk m´eg a k¨ovekez˝o utas´ıt´ asokat is:

 *, *, *, & *,



*, 0 *, 0 *,

• Sz´ amok fel´ır´ asa k¨ ul¨ onb¨ oz˝ o alakban ´ A Mathematica elvileg ak´ arh´ any jegy˝ u eg´esz sz´ am ´abr´ azol´as´ara k´epes. Erdemes kipr´ ob´ alni p´eld´ aul azt, hogy milyen n term´eszetes sz´amig adja meg n 3 minden jegy´et. Haszn´alhatunk k¨ ul¨ onb¨ oz˝o alap´ u sz´amrendszereket is. (Az alap´ertelmez´es term´eszetesen a 10-es sz´amrendszer.) A

L * '.  ', utas´ıt´ as eredm´enye a 10-es alap´ u sz´amrendszerben megadott  ' eg´esz u sz´amrendszerbeli alakja. A 9-n´el nagyobb sz´ amsz´am  ' (≤ 36)-alap´

3.1. Alapvet˝o matematikai fogalmak

91

jegyek jel¨ ol´es´ere rendre az . &. . . HHH karaktereket haszn´aljuk. A k¨ ovetkez˝o p´eld´ akban figyelj¨ uk meg azt is, hogy a program als´o indexbe´ırja a sz´amrendszer alapsz´am´at: S0 F   S0 >MLN>NNMMM> F  {1001012 , 1a2b3c4d5e6f7g17 }

Az  '-alap´ u sz´amrendszerbeli  ' sz´amot az

 'CC ' utas´ıt´ as alak´ıtja a´t 10-es alap´ u sz´amrendszerbeli sz´amm´a: IIBBB NII**BB {37, 16755200}

Az 7 bels˝o f¨ uggv´ennyel egy eg´esz sz´am sz´amjegyeit tartalmaz´ o list´at kapunk: 6 D  )>NFM {1, 2, 3, 4, 5, 6, 7, 8}

Az 7 * '.  ', utas´ıt´ as eredm´enye pedig olyan lista, u amelynek elemei a 10-es sz´amrendszerben megadott  ' sz´am  '-alap´ sz´amrendszerbeli alakj´ anak sz´amjegyei. Itt h´ıvjuk fel a figyelmet a 6 lehets´eges opci´ot tartalmaz´o & bels˝o f¨ uggv´enyre, amely (k¨ ul¨ on¨ osen sok sz´amjegyet tartalmaz´o) sz´amok ´attekinthet˝obb megjelen´ıt´es´et t´amogatja. Az opci´ okat az 2   0$0

utas´ıt´ as eredm´enye mutatja meg. Itt p´eldak´ent csup´ an azt eml´ıtj¨ uk meg, hogy ha a 30! sz´ am sz´amjegyeit 3-as csoportokban szeretn´enk megjelen´ıteni alassza el egym´ast´ol, akkor u ´gy, hogy az egyes csoportokat a karakter v´ ezt ´ıgy tudatjuk a Mathematic´ a val: 0$0 B; D S!= CJ  0$"   CJ TN 226 31

92

3. Fejezetek a matematik´ab´ ol

A L  f¨ uggv´enyt val´ odi t¨ ortekre is alkalmazhatjuk: S0 )  112 1002

A program a k¨ ozel´ıt˝ o numerikus ´ert´ekeket alap´ertelmez´esben k¨ ul¨ onb¨ oz˝o form´aban adja vissza: NQFIC) NQFIN NQFIM 6 {0.00049625, 90458.4, 4.06068 10 }

A 65 bels˝o f¨ uggv´ennyel a sz´amokat a matematik´aban megszokott lebeg˝opontos alakban a´br´ azolhatjuk: "! *!0 : -4 4 6 {4.9625 10 , 9.04584 10 , 4.06068 10 }

Az  f¨ uggv´ennyel m´ern¨ oki alakban, k¨ onyvel´esi alakban pedig az -mal kapjuk meg az ´ert´ekeket. Adott sz´am mantissz´a j´ ab´ ol ´es kitev˝ o j´eb˝ ol a´ll´ o list´at is gy´arthatunk:  4+   Q) {0.2342, 2}

A 97 ´es a & elj´ ar´ asokat k¨ozel´ıt˝ o numerikus ´ert´ekek eset´en is haszn´ alhatjuk. • Pontos aritmetika Ha egy matematikai kifejez´esben csak pontos numerikus ´ert´ekek szerepelnek, akkor a Mathematica a matematika szab´alyainak megfelel˝oen v´egzi el a m˝ uveleteket, ´es kerek´ıt´esek alkalmaz´asa n´elk¨ ul, pontosan adja meg a v´egeredm´enyt: GFLIB 1208925819614629174706176 12157665459056928801

• K¨ ozel´ıt˝ o aritmetika Az explicit tizedesponttal megadott sz´amokat a program k¨ ozel´ıt˝ o ´ert´eknek tekinti, ´es az ezekkel v´egzett m˝ uveletekn´el a matematik´aban megszokott kerek´ıt´esi szab´alyokat alkalmazza.

3.1. Alapvet˝o matematikai fogalmak

93

A hagyom´ anyos programnyelvek az aritmetikai m˝ uveletek elv´egz´es´ehez alap´ertelmez´esben felhaszn´alj´ ak az adott sz´am´ıt´ og´ep processzor´aba be´ep´ıtett numerikus lehet˝ os´egeket. Ez´ert a matematikai m˝ uveleteket csak meghat´ arozott sz´am´ u (´ altal´ aban 20-n´ al kevesebb) ´ert´ekes sz´amjegyet tartalmaz´ o val´ os sz´amokkal tudj´ ak elv´egezni, ´es a (sok esetben nem egyszer˝ uen v´egrehajthat´ o) hibaanal´ızisr˝ol a felhaszn´ al´ onak kell gondoskodnia. Ezzel szemben a Mathematic´ a t haszn´ alva m´ar alap´ertelmez´esben is ak´ar t¨ obb ezer ´ert´ekes jegyet tartalmaz´o val´ os vagy komplex sz´amokkal is tudunk dolgozni, tov´ abb´ a a hibabecsl´esr˝ol is kapunk ´ert´ekes inform´aci´ okat. Az ilyen nagypontoss´ ag´ u m˝ uveletek ki´ert´ekel´es´en´el a program k´esz´ıt˝ oi nem tudj´ ak k¨ ozvetlen¨ ul felhaszn´ alni a sz´am´ıt´ og´ep processzor´anak numerikus leas, szorz´as, oszt´as) het˝ os´egeit. A legalapvet˝ obb m˝ uveletek (¨osszead´as, kivon´ elv´egz´es´et is a programban kell megoldani. Ez a t´eny term´eszetesen a ki´ert´ekel´es gyorsas´ag´ at is befoly´asolja. Sok probl´em´an´ al azonban a gyorsas´ag fontosabb szempont, mint a pontoss´ ag. A Mathematica (a hagyom´ anyos programnyelvekhez hasonl´ oan) lehet˝ ov´e teszi, hogy tekintettel legy¨ unk erre. A bemen˝o adatok szintaxis´ aval a felhaszn´ al´ o v´ alasztja meg azt, hogy a ki´ert´ekel´esn´el a program melyik m´ odszerrel dolgozz´ek. Az im´ent elmondottak miatt a Mathematica k¨ ozel´ıt˝ o numerikus ´ert´ekeknek az al´abbi k´et t´ıpus´ at k¨ ul¨ onb¨ ozteti meg: g´epi pontoss´ ag´ u sz´ amok ´es nagypontoss´ ag´ u sz´ amok. Az el˝obbiek r¨ ogz´ıtett sz´am´ u sz´amjegyet tartalmaznak, ´es a vel¨ uk v´egzett m˝ uveletekn´el a hibabecsl´est a felhaszn´al´ onak kell elv´egeznie. A program az ilyen sz´amokkal v´egzett m˝ uveletekn´el haszn´alja k¨ ozvetlen¨ ul az adott sz´am´ıt´ og´ep hardver´ebe be´ep´ıtett numerikus lehet˝os´egeket. A nagypontoss´ ag´ u sz´amok elvileg (!) ak´arh´ any sz´amjegyet tartalmazhatnak, ´es a program a vel¨ uk v´egzett m˝ uveletek sor´an bizonyos hibabecsl´est is v´egez. A Mathematica az explicit tizedesponttal megadott val´ os vagy komplex sz´amot akkor tekinti g´epi pontoss´ ag´ u sz´amnak, ha az ´ert´ekes sz´amjegyek altoz´o ´ersz´ama legfeljebb akkora, mint a NFMLB)>NF  !@ 0$? BQBBBBBBBBBB)>NF  {True, False, True}

94

3. Fejezetek a matematik´ab´ ol

Ha a t´ızes sz´amrendszerben beadott sz´ am a NF  &! QGQ)>NFMLB)>NFR6  {16, 17, 16, 16}

Az  sz´am tizedest¨ort alakj´ aban a tizedespontt´ ol jobbra es˝o ´ert´ekes sz´amjegyek sz´am´at adja meg a k¨ ovetkez˝o utas´ıt´ as:

)*, Ez a sz´am az  k¨ ozel´ıt˝ o ´ert´ek egy relat´ıv hibakorl´ atj´ aval hozhat´ o kapcsolatba:

3.1. Alapvet˝o matematikai fogalmak

95

#!!!( Q)>NFMLB)>NFMLRBI  #!!!( )>Q  #!!!( F)>Q  {17, 11, 10}

Pontos numerikus ´ert´ekekhez mindk´et f¨ uggv´eny az 5) szimb´olumot rendeli: &!   #!!!(   {Infinity, Infinity}

K¨ ozel´ıt˝ o ´ert´ekekkel val´o sz´amol´asn´al felhaszn´ alhatjuk m´eg az al´abbi bels˝o f¨ uggv´enyeket is:

6 )

60 

Ezekr˝ ol r´eszletesebb inform´aci´ ot a [40] dolgozatban tal´ alhatunk. • A ki´ ert´ ekel´ es elvei Most felsoroljuk az (aritmetikai) kifejez´esek ki´ert´ekel´es´en´el a Mathematica a´ltal k¨ ovetett ´altal´ anos elveket. ◦ 1 ) Ha egy (aritmetikai) kifejez´es csak pontos numerikus ´ert´ekeket tartalmaz, akkor a program szimbolikus algoritmusokat felhaszn´ alva keresi a pontos eredm´enyt:     G FLI)B 1461501637330902918203684832716283019655932542976 147808829414345923316083210206383297601  G R6I>B 110422359737857437 - 276811749100242716 I

2◦ ) Ha az (aritmetikai) kifejez´es tartalmaz g´epi pontoss´ ag´ u sz´amot, akkor a program minden sz´ amot ilyen t´ıpus´ ura alak´ıt, ´es ezekkel v´egzi el a m˝ uveleteket: =  Q G FLI)B 9 9.88778 10 Q G R6I>B 17 17 1.10422 10 - 2.76812 10 I

A k´eperny˝ on az eredm´enyb˝ ol ilyenkor csak 6 ´ert´ekes sz´amjegy jelenik meg. altoz´oban a program azonban g´epi pontoss´ ag´ u sz´amot t´arol: A =' v´

96

3. Fejezetek a matematik´ab´ ol &! = 16

Az ¨osszes (  A  QCQ)R6  {-2, 4, 2 - 3 I}

E ' BQ)>  E ' Q>  E ' Q>BBB  {0, 1, 2}

• Programcsomagok Az eddig ismertetett bels˝ o f¨ uggv´enyeken k´ıv¨ ul m´eg n´eh´ any programcsomag is tartalmaz a sz´am´abr´ azol´ashoz ´es az aritmetikai m˝ uveletekhez is kapcsolhat´ o f¨ uggv´enyeket. A r´eszletek ismertet´ese n´elk¨ ul csup´ an utalunk ezekre a lehet˝os´egekre. Az adott g´ep¨ unk lebeg˝opontos aritmetik´ aj´ at tanulm´ anyozhatjuk a

#83# 3 programcsomag al´abbi f¨ uggv´enyeivel:

#8 # 

#  !

A sz´am´ıt´ og´ep lebeg˝opontos aritmetik´ aj´ anak elm´elet´et illusztr´alhatjuk a

#834 83 programcsomag k¨ovetkez˝o f¨ uggv´enyeivel:

8 4&

6 8

Az els˝ osorban demonstr´ aci´ os c´elokat szolg´al´ o

#83 83 programcsomag  f¨ uggv´enye az intervallumaritmetika elm´elet´ehez ny´ ujthat seg´ıts´eget. A hibabecsl´esekkel kapcsolatos alkalmaz´asokhoz a

#83 )  3 programcsomag  (amely az azonos nev˝ u bels˝ o f¨ uggv´eny kiterjeszuggv´enyeit ´erdemes felhaszn´alni. t´ese) ´es 6  f¨

100

3. Fejezetek a matematik´ab´ ol

3.1.4. F¨ uggv´ enyek A Mathematic´ a val alap´ertelmez´esben Cn → Cm (n, m ∈ N) t´ıpus´ u f¨ uggv´enyekkel dolgozhatunk. Ebben a pontban ilyen f¨ uggv´enyek megad´as´anak k¨ ul¨ onf´ele m´odjair´ ol lesz sz´o. A be´ep´ıtett matematikai f¨ uggv´enyek igen sz´eles k¨ore ny´ ujt seg´ıts´eget f¨ uggv´enyek k´eplettel val´ o ´ertelmez´es´ehez. Megadhatunk f¨ uggv´enyeket elj´ ar´ assal is, azaz defini´ al´ asukhoz a program egy´eb f¨ uggv´enyeit is felhaszn´alhatjuk. • Be´ ep´ıtett matematikai f¨ uggv´ enyek A matematik´ aban haszn´ alt speci´alis f¨ uggv´enyek t¨ obbs´ege be´ep´ıtett f¨ uggv´enyk´ent szerepel a Mathematic´ a ban. Ezek k¨ oz¨ ul itt csak n´eh´ anyat sorolunk fel. A fennmarad´ o f¨ uggv´enyekr˝ ol az adott t´emak¨orn´el tesz¨ unk eml´ıt´est.

& 4 4 8 4 48 4  4 8 6 68 6 68

 8 4 4 8 4 48 4  4 8 7   

0 0B 6 68 6 68 6 6&  8 

A be´ep´ıtett matematikai f¨ uggv´enyeket a program komplex v´ altoz´osnak tekinti, ezeket b´armely komplex sz´am eset´en ki´ert´ekeli. A helyettes´ıt´esi ´ert´ek kisz´amol´asakor az el˝oz˝o pontban le´ırt elveket k¨ oveti. Ha a f¨ uggv´eny argumentuma pontos numerikus ´ert´ek, akkor sok esetben a pontos helyettes´ıt´esi ´ert´eket kapjuk meg: "5 L  "5 F  " &  A &B  {3, Sqrt[7],

Pi -1 + Sqrt[3] , Cos[ ]} 2Sqrt[2] 10

A0 +4+  ' 4+ & 6 I 1 + Sqrt[3] 2 2

3.1. Alapvet˝o matematikai fogalmak

101

Az  bels˝o f¨ uggv´eny (l´ asd a 3.1.3. pontot) felhaszn´ al´ as´aval a pontos helyettes´ıt´esi ´ert´ek ak´ar t¨ obb ezer ´ert´ekes jegy´et is meghat´arozhatjuk. Pr´ ob´ aljuk ki p´eld´ aul a k¨ ovetkez˝o utas´ıt´ ast:  A &B  >BBB

Ha egy matematikai f¨ uggv´eny argumentum´ aba g´epi pontoss´ ag´ u sz´amot uggv´enyt alkalmazzuk, akkor az eredm´eny az  m´asodik ´ırunk ´es az  f¨ argumentum´ at´ ol f¨ uggetlen¨ ul g´epi pontoss´ ag´ u sz´am lesz:  " Q  6

 0

0.932039085967226

 " Q  >  6

 0

0.932039085967226

 " Q  B 0.932039085967226

Ha a  {2, 2.5, 3} *1 ==   @(= 1 encountered. Power::infy: Infinite expression 0 {-1, -2., ComplexInfinity}

3.1. Alapvet˝o matematikai fogalmak

105

Adjuk meg az eredm´enyeket a szok´asos t´abl´ azatform´aban:

$0 @(= *1 ==

$7'  CJ T +T T + T  

$# 0  CJ A  x g[x]

2 -1

2.5 3. -2 ComplexInfinity

Egy a´ltalunk defini´ alt f¨ uggv´enyr˝ ol ugyan´ ugy t´ aj´ekoz´odhatunk, mint a be´ep´ıtettekr˝ ol: V* Global‘f f[x] := Sin[x] f[x_] := x^3

Ha a tov´ abbiakban az f szimb´olumot m´as c´elra akarjuk haszn´ alni, akkor a defin´ıci´ ot fel¨ ul lehet ´ırni, vagy pedig (ez a´ltal´ aban c´elszer˝ ubb) ´erv´enytelen´ıteni kell. Ehhez a k¨ ovetkez˝o utas´ıt´ asok valamelyik´et haszn´alhatjuk: A * A# * E01 * *Q

F¨ uggv´eny defin´ıci´ oj´ anak jobb oldal´ an” term´eszetesen haszn´alhatjuk a ” be´ep´ıtett matematikai f¨ uggv´enyeket, de a Mathematica m´as f¨ uggv´enyeit is. P´eld´ aul: =*W , - 4+  ' "0 C+ +I  B =*W  4 1-x



T¨obb utas´ıt´ asb´ ol a´ll´ o elj´ ar´ ast is defini´ alhatunk ´ıgy (figyelj¨ uk meg, hogy az utas´ıt´ asok sorozat´at z´ar´ ojelbe kell tenn¨ unk): ( @  , , -  =*W  A**!  +I  ( @   ) -1

Az azonnali ´ert´ekad´ as szintaktikailag csup´ an abban k¨ ul¨ onb¨ ozik a k´esleltetett megad´asi m´odt´ ol, hogy enn´el az  jelet (teljes alakban: 6) kell ovid´ıt´ese) helyett. A szemanhaszn´ alnunk a O jel (ami a 67) r¨ tikai k¨ ul¨ onbs´eget a k¨ovetkez˝o p´eld´ an ´erz´ekeltetj¨ uk. Tegy¨ uk fel, hogy az f

106

3. Fejezetek a matematik´ab´ ol

szimb´olummal akarjuk jel¨ olni az exp ◦ sin kompoz´ıci´ of¨ uggv´eny deriv´altj´ at. K´esleltetett ´ert´ekad´ assal ezt ´ıgy tudatjuk a Mathematic´ a val: A * * +, - D 4+ " +  +

Ha ezut´ an p´eld´ aul a f¨ uggv´eny helyettes´ıt´esi ´ert´ek´ere vagyunk k´ıv´ ancsiak, akkor a program hiba¨ uzenetet k¨ uld: *  Global::ivar: 3 is not a valid variable. Sin[3] D[E , 3]

K´esleltetett ´ert´ekad´ asn´ al a Mathematica nem sz´amolja ki automatikusan an a´ll´ o kifejez´est, csup´an a transzform´ aci´ os szab´alyt a O jel jobb oldal´ ast u ´gy hajtja v´egre, hogy a 3 sz´amot form´ alisan jegyzi meg. Az 5*F, utas´ıt´ behelyettes´ıti a defin´ıci´ o jobb oldal´ aba, ´es ezut´an pr´ ob´ alja ki´ert´ekelni az ´ıgy kapott kifejez´est. Ebben az esetben ez nem m˝ uk¨ odik. A megold´as az azonnali ´ert´ekad´ as. Ekkor a program r¨ ogt¨ on ki´ert´ekeli az  jel jobb oldal´an megadott kifejez´est, azaz minden olyan m˝uveletet elv´egez, amelyre kor´abban megtan´ıtott´ ak: A * * +,  D 4+ " +  + Sin[x] E Cos[x] *   * G  Sin[3] Sin[1 + a] {E Cos[3], E Cos[1 + a]}

Mivel vektorokat list´ aval adhatunk meg (l´ asd a 3.8.1. pontot), ez´ert t¨obbv´ altoz´os f¨ uggv´enyeket is egyszer˝ uen defini´ alhatunk. Az al´ abbi p´eld´ aban egy u f¨ uggv´enyt ´ertelmez¨ unk: C2 → C3 t´ıpus´ A * * +, (, - 4+ +G(  +I (I " + G(I

A Mathematic´ a ban tiszta f¨ uggv´enyk´ent eml´ıtik a matematik´aban megszokott x → f (x) megad´asi m´odot. Az x → x2 + x + sin(x) f¨ uggv´enyt ´ıgy is defini´ alhatjuk: @   !  + +I G + G " + 2 Function[x, x + x + Sin[x]]

3.1. Alapvet˝o matematikai fogalmak

107

@ Q 6.9093

R¨ovidebb alakban ezt a f¨ uggv´enyt ´ıgy is megadhatjuk: @  .I G . G " . / 2 #1 + #1 + Sin[#1] & @ Q 6.9093

A fenti utas´ıt´ asban a P jel utal a f¨ uggv´eny v´ altoz´oj´ ara, a  jel pedig arra, hogy itt f¨ uggv´enyr˝ ol van sz´o. (Ez a fajta megad´ asi m´od ismer˝os lehet a LISP nyelvben j´ aratosak sz´am´ara.) Az eml´ıtett p´eld´ akban nevet adtunk a f¨ uggv´enynek. Gyakran viszont ´eppen az´ert haszn´ aljuk ezt a megad´asi m´odot, hogy ne kelljen k¨ ul¨ on elnevezni egy olyan f¨ uggv´enyt, amely csak egy m˝ uveletben szerepel ´es a tov´abbiakban nincs sz¨ uks´eg r´a. Tiszta f¨ uggv´eny c´elszer˝ u haszn´ alat´ at illusztr´alj´ ak a k¨ ovetkez˝o p´eld´ ak:  .I/    {1, 4, 9}   !  + +I  G$G! 2 2 2 a + b +c  G./ +  1 1 1 + 1 1 + 1 + x

T¨obbv´ altoz´os f¨ uggv´enyek a´br´ azol´as´an´ al mutatunk p´eld´ at arra, hogy egy Mathematica-f¨ uggv´eny opci´ oj´ aban tiszta f¨ uggv´enyt mire ´es hogyan lehet haszn´ alni. at az identit´asf¨ uggv´eny (ennek Tiszta f¨ uggv´eny megad´ as´an´ al a P jel teh´ unk meg arr´ ol, hogy a defin´ıhosszabb neve:  )) jele. Ne feledkezz¨ obbv´ altoz´os f¨ uggv´enyeket is megadhatunk ilyen ci´ot a  jellel kell lez´arni. T¨ oli az n-edik v´ altoz´ot: m´odon. Ekkor P jel¨   .I G .I/ 2 3 #1 + #2

108

3. Fejezetek a matematik´ab´ ol  + ( 2 3 x + y

Hasznos ´es a matematik´aban megszokottn´ al a´ltal´ anosabb konstrukci´ ok is oli a v´ altoz´ok o¨sszess´eg´et, PP pedig a v´ altoz´ok o¨sszesel˝ofordulnak. PP jel¨ s´eg´et az n-edik v´ altoz´ot´ol kezdve: * .. .. / + ( f[x, y, x, y]

* .. .. / + ( + f[x, {y, x}, x, {y, x}]

* .. . /  $ ! f[b, c, a]

V´eg¨ ul k´et ¨osszetettebb p´elda k¨ ovetkezik: A * # ( * .. . /  $ !   $   {f[b, c, a], f[bp, ap]}

 * .. . /  $ !   $   {f[{a, b, c}], f[{ap, bp}]}

Annak magyar´ azata, hogy l´ atsz´olag nem kell el˝ore r¨ ogz´ıteni, hogy egy f¨ uggv´enynek h´ any v´ altoz´o ja van, az elvekr˝ ol sz´ol´ o 2.3.2. pontban tal´ alhat´ o. • Felt´ etelekkel megadott f¨ uggv´ enyek Az eddig felsorolt f¨ uggv´enymegad´ asi m´odokat k´enyelmesen haszn´alhatjuk azokban az esetekben, amikor f¨ uggv´eny¨ unk az eg´esz Cn halmazon egyetlen k´eplettel van defini´ alva. A Mathematica csak eg´esz sz´amokra sz´amolja ki a helyettes´ıt´esi ´ert´eket akkor, ha a f¨ uggv´enyt ´ıgy defini´ aljuk: * +,6  - +I * C  * CQ  *   *   * "5 )  * "5 F  1 {4, f[-2.], f[ ], 9, 4, f[Sqrt[7]]} 2

Az  f¨ uggv´eny helyett a fenti mint´ azatba be´ırhatjuk p´eld´ aul a 4, a  , a 9 vagy a 6)& f¨uggv´enyeket is.

3.1. Alapvet˝o matematikai fogalmak

109

A felt´etelekben logikai ´ert´ekeket felvev˝o f¨ uggv´enyeket p´eld´ aul ´ıgy haszn´ alhatunk:  +,V0$? - +I  G 6   Q      (  27 , g[y]} {-46 + 9 I, 9.261, 8

A mint´ azatQfelt´etel” szerkezetre egy m´asik p´elda: ” @ +,6  (,6  V  !  1 D 1 1 J )  -  +G( @  )  @    @ C> F  @   {er[7], h[{1, 1}], er[2], h[2]}

(Figyelj¨ uk meg, hogy a felt´etelt le´ır´ o jelsorozatot g¨omb¨ oly˝ u z´ ar´ ojelek k¨ oz´e kell ´ırnunk.) ovid alakja a $R jelsorozat), az 5, a S88 vagy A 4  (ennek r¨ ar´ ast is haszn´alhatjuk: a 6B8 elj´

,6  - ;  C  >  FQ>  {p[-3], 120, p[7.5]}

J B

A $R jel ut´ ani felt´etelt az argumentumba is be´ırhatjuk: A

,6   JB - ; C  >  FQ>  {p[-3], 120, p[7.5]}

T¨obbv´ altoz´os f¨ uggv´enyeket is megadhatunk ilyen m´ odon: 0  , -  I  8! ?   6 ? 0  C  0 BQ>   0    )  {{1, 4}, m[{0.5, 3}], m[{{1, 2}, {3, 4}}]}

Periodikus f¨ uggv´enyt a 4  elj´ ar´ assal ´ıgy ´ertelmezhet¨ unk: A * * +,  B+ - C +C +G * +,  + - CA & +C * +,  C+B - C* C+ * +,  +C - * +G) * +,   + - * +C)

110

3. Fejezetek a matematik´ab´ ol & * +  + CM M != CJ CFQ> CQ> > C  2 1

-7.5

-5

2.5

-2.5

5

7.5

-1 -2

Mutatunk egy p´eld´ at a S88 elj´ ar´ as haszn´alat´ ara: A @ @ +, - X@!@ +B +I +J> +I  B @ C)  @ F  @   {16, 343, 0}

V´eg¨ ul egy olyan f¨ uggv´enyt defini´ alunk, amely eg´esz sz´amokhoz az a, a b vagy a c szimb´olumot rendeli att´ ol f¨ ugg˝ oen, hogy a sz´ am 3-mal val´o oszt´as´anak marad´eka 0, 1 vagy 2:  +,6  - "Y !@ ' +   B   $  !     Q   N   >  {a, r[3.], b, c}

• F¨ uggv´ enyjel¨ ol´ esi m´ odok A Mathematic´ a ban az f f¨ uggv´eny x helyen f¨ olvett ´ert´ek´enek

5*, jel¨ ol´es´en k´ıv¨ ul haszn´ alatosak m´eg a k¨ovetkez˝ok is: az

5 % 

3.1. Alapvet˝o matematikai fogalmak

111

prefix alak (amelyn´el — a hagyom´ anyos jel¨ol´est˝ol elt´er˝ oen — nem kell f´elbeszak´ıtanunk a f¨ uggv´enyhez tartoz´ o jelsorozat le´ır´ as´at az argumentum kedv´e´ert), az

 $$ 5 posztfix alak (p´eld´ aul a T $$ 5 jelsorozatot g´epelj¨ uk be, hogy a legutols´ o eredm´enyt ne kelljen m´eg egyszer be´ırnunk), v´eg¨ ul pedig (p´eld´ aul a halmazm˝ uveletek szeml´eletes megjelen´ıt´ese c´elj´ ab´ ol) k´etv´ altoz´os f¨ uggv´enyek eset´en az

U5U) infix alak. P´eld´ aul: A * *  + *  + G ( *  + G ( {f[x], f[x] + y, f[x + y]} + G (  * I) G    {f[x + y], 2.31607}  $ !H  H  '  {a, b, c, d, e}

• M˝ uveletek f¨ uggv´ enyekkel Aritmetikai m˝ uveleteket v´egezhet¨ unk C → C t´ıpus´ u f¨ uggv´enyekkel. K´epezhetj¨ uk p´eld´ aul az o¨sszeg¨ uket: @  * G  @  (f + g)[2]

Ahhoz viszont, hogy explicite megkapjuk az ¨osszeget, sz¨ uks´eg¨ unk van a 88 f¨uggv´enyre:

@@ @  f[2] + g[2]

Oper´ atorokkal is hasonl´ oan j´ arhatunk el, amint az kider¨ ul az al´abbi p´eld´ akb´ ol:

112

3. Fejezetek a matematik´ab´ ol   6'  ( G D . + /  +I 2 (Identity + (D[#1, x] & ))[x ]

@@ : 2 x + x

2

¨ uggv´enyt haszn´ alOsszetett f¨ uggv´eny k´epz´es´ehez a 4  bels˝o f¨ hatjuk: A *  @ @ * +, - +I  +, - "5 +C @  A0   *   @ +  {Composition[f, g], -1 + x}

@  A0    *  @ +  2 {Composition[g, f], Sqrt[-1 + x ]}

Igen gyakran el˝ ofordul, hogy ugyanazt a f¨ uggv´enyt akarjuk egym´ as ut´ an t¨ obbsz¨ or is alkalmazni, vagyis egy t¨ obbsz¨ or¨ osen ¨osszetett f¨ uggv´eny ´ert´ek´et akarjuk kisz´am´ıtani. Ezzel a t´emak¨orrel r´eszletesen foglalkozunk majd a programoz´ asr´ ol sz´ol´ o, 4. fejezetben, mivel az itt r¨ oviden ismertetett konstrukci´ ok a rekurzi´ o , s˝ot a´ltal´ anosabban a funkcion´ alis programoz´ as alapvet˝o eszk¨ozei:  * +  f[f[f[x]]]

 % * +  {x, f[x], f[f[x]], f[f[f[x]]]}

√ A 2 sz´am k¨ozel´ıt˝ o ´ert´ekeit Newton-f´ele iter´aci´ oval p´eld´ aul ´ıgy kaphatjuk meg: (= +, -  +G+  % (= QB > {1., 1.5, 1.41667, 1.41422, 1.41421, 1.41421}

Az iter´aci´ os l´ep´esek sz´am´at is v´altoztathatjuk:

3.1. Alapvet˝o matematikai fogalmak

113

+'& (=  1.41421 +'& % (=  {1, 1.5, 1.41667, 1.41422, 1.41421, 1.41421, 1.41421} +'& % (=  "0  CJ #$ .C.  BQIC/ {1, 1.5, 1.41667, 1.41422}

Ha pedig egy kifejez´esb˝ol kiindulva egy (´ altal´ aban k¨ ul¨ onb¨ oz˝o) f¨ uggv´enyekb˝ ol a´ll´ o lista elemeit akarjuk alkalmazni az eredm´enyre egym´as ut´ an, ast haszn´alhatjuk: akkor a 4   utas´ıt´ A *  @ A0 % *  @+ {x, f[x], g[f[x]], h[g[f[x]]]}

Itt eml´ıtj¨ uk meg az eg´esz egy¨ utthat´ os polinomok k¨ or´eben haszn´ alhat´ o

7  bels˝o f¨uggv´enyt, amely a beadott polinomot alacsonyabb foksz´am´ u eg´esz egy¨ utthat´ o j´ u polinomok kompoz´ıci´ o j´ ara pr´ ob´ alja felbontani. P´eld´ aul: 5 +, - +INC+I>G>+I)C>+IC+IG+G D!0  5 +  + 2 3 {2 - 3 x + 2x + x , (-1 + x) x}

A kapott eredm´eny azt jelenti, hogy q a  +, - :

 2 3 2 - 3 x + 2 x + x  +, - ::

 (-1 + x) x

polinomoknak ebben a sorrendben vett kompoz´ıci´ oja. Val´ oban: 5 +  4+  '

  + True

Megjegyezz¨ uk m´eg azt, hogy a dekompoz´ıci´ o m˝ uvelete nem egy´ertelm˝ u. armely a val´ os sz´am eset´en ´erv´enyes Val´ oban, ha p1 ´es p2 polinom, akkor b´ a p1 ◦ p2 = p¯1 ◦ p¯2 egyenl˝os´eg, ahol p¯1 (x) := p1 (x − a),

p¯2 (x) := p2 (x) + a

(x ∈ R).

114

3. Fejezetek a matematik´ab´ ol

A Mathematica a v´egeredm´enyt u ´gy adja meg, hogy a bels˝ o polinom a´lland´ o tagj´ at 0-nak v´ alasztja. ´ Ugy t˝ unik, mintha k¨ onnyen lehetne inverz f¨ uggv´enyt sz´amolni: 6 1 !  4+ Log 6 1 !  *  6 1 !  * +  (-1) (-1) {f , f [x]}

A program a f¨ uggv´enyek kompoz´ıc´oj´ anak inverz´ere vonatkoz´o ´all´ıt´ ast is ismeri: 6 1 !  A0   *  (-1) (-1) Composition[g , f ] : + (-1) (-1) g [f [x]]

Ezeket k¨ ovetkezetesen alkalmazza: 6 1 !  "  6 1 !  #!"  {ArcSin, Sin} A0   "  #!" + x A0   #!"  " + ArcSin[Sin[x]]

Ha viszont nem be´ep´ıtett, b´ ar k¨ onnyen invert´ alhat´ o f¨ uggv´ennyel van ar´ as nem seg´ıt: dolgunk, akkor az   elj´ 6 1 !   !  + + G  (-1) Function[x, 2 + 3 x] : (-1) Function[x, 2 + 3 x] [t]

Egy lehets´eges — kev´es esetben haszn´alhat´ o — megold´as:

3.1. Alapvet˝o matematikai fogalmak

115

 1 +, - '  "1  G   + 

  1 + -2 + x 3

• Rekurz´ıv m´ odon megadott sorozatok K¨ ul¨ on alpontban k´ıv´ anjuk felh´ıvni az Olvas´ o figyelm´et arra, hogy k´etf´elek´eppen is megadhat rekurz´ıv m´odon defini´ alt sorozatokat. Ha az

5*N, O 5*,  5*2+, @ 5*2(, szerkezet˝ u szintaxissal adja meg a sorozat tagjai k¨ oz¨ott fenn´ all´ o ¨osszef¨ ugg´est, akkor a program megjegyzi (a mem´ori´ aban elrakt´ arozza) az egyszer m´ar kisz´amolt f¨ uggv´eny´ert´eket. Ha a matematik´aban megszokott jel¨ ol´esekhez k¨ozelebb ´all´ o

5*N, O 5*2+, @ 5*2(, t´ıpus´ u szintaxist v´ alasztja, akkor a Mathematica a szab´alyos ki´ert´ekel´esi elj´ ar´ ast (l´asd a 2.3.5. pontot) alkalmazza. Ebben az esetben az 5*(M, helyettes´ıt´esi ´ert´ek meghat´aroz´as´ahoz p´eld´ aul az 5*G, f¨ uggv´eny´ert´eket a program t¨ obbsz¨ or is kisz´amolja. Az elmondottakb´ ol az k¨ovetkezik, hogy az els˝ o esetben a ki´ert´ekel´es gyorsabb, de t¨ obb mem´ori´ at ig´enyel, mint a m´ asodik esetben. A k¨ ovetkez˝o p´eld´ ak azt is mutatj´ ak, hogy a fenti k´et m´odszerrel t¨ ort´en˝ o ki´ert´ekel´eshez sz¨ uks´eges id˝ otartamok l´enyegesen elt´er˝oek is lehetnek: A * * B   *    C "5 >  * , - *  * C G * C * B  "0 *( 123 - 55 Sqrt[5] 2

N´ezz¨ uk meg a 20. tag kisz´amol´as´ahoz sz¨ uks´eges id˝ otartamot:

0  * B  {0.988 Second, Null}

Most v´ alasszuk a m´asik megad´ asi m´odot:

116

3. Fejezetek a matematik´ab´ ol A * * B   *    C "5 >  * , - * C G * C * B  "0 *( 123 - 55 Sqrt[5] 2

Ekkor a 20. tag kisz´ amol´as´ahoz sz¨ uks´eges id˝ otartam:

0  * B  {158.459 Second, Null}

A sz´oban forg´ o sorozat kezd˝otagjait pontos numerikus ´ert´ekekkel definia´ltuk, ez´ert a program a pontos eredm´enyt adta meg. Ennek a sorozatnak a tagjai nagy indexek eset´en 0-hoz k¨ ozeli” ´ert´ekeket vesznek fel, azaz a ” sorozatnak 0 a hat´ ar´ert´eke. (Hogyan lehetne ezt bebizony´ıtani?) Tov´abbi k´ıs´erleteket is ´erdemes elv´egezni. Hajtsuk v´egre a fenti utas´ıt´ asokat u ´gy, hogy a sorozatnak p´eld´ aul az els˝o tagj´ at k¨ ozel´ıt˝ o numerikus ´ert´ekekkel adjuk meg. Ekkor a program numerikus m´ odszereket alkalmaz a ki´ert´ekel´esn´el. Ha az id˝ oeredm´enyeket ¨osszehasonl´ıtjuk, akkor tapasztalhatjuk azt is, hogy a numerikus algoritmusok mennyivel gyorsabbak a pontos algoritmusokn´ al. Ugyanezen a p´eld´ an illusztr´alhatjuk k¨ ozel´ıt˝ o ´ert´ekekkel val´o sz´amol´asok eset´eben a kerek´ıt´esi hib´ ak terjed´es´enek k¨ovetkezm´enyeit is. Figyelj¨ uk meg, hogy k¨ ozel´ıt˝ o kezd˝o´ert´ekekkel ind´ıtva a sorozatot, m´ar a 40-50. tag is t´ avol” van a 0 sz´amt´ol. Magyar´ azzuk meg, hogy az ´ıgy kapott numerikus ” eredm´eny mi´ert nincsen o¨sszhangban az im´ent jelzett elm´eleti eredm´ennyel.

3.1.5. F¨ uggv´ enyek ´ abr´ azol´ asa Ebben a pontban a Mathematic´ a nak azokat a grafikai lehet˝ os´egeit mutatjuk be, amelyek explicit, implicit vagy param´eteres alakban megadott egy ´es t¨ obbv´ altoz´os f¨ uggv´enyek megjelen´ıt´es´et teszik lehet˝ov´e. A be´ep´ıtett elj´ ar´ asok a s´ ug´ ojukban (p´eld´ aul Q0) megadott szintaxist k¨ ovetve sok esetben a beadott f¨ uggv´eny menet´enek megfelel˝o sz´ep a´br´ at k´esz´ıtenek. A Mathematica egyik legfontosabb jellegzetess´ege az, hogy opci´ ok megad´ as´aval a felhaszn´ al´ o sokf´elek´eppen befoly´ asolhatja az ´abr´ azol´as menet´et, ´es k´esz´ıthet az ig´enyeinek megfelel˝o k´epet. A k¨ ul¨ onb¨ oz˝o esetekben haszn´alhat´ o bels˝ o f¨ uggv´enyek nev´et a szok´ asos m´odon kapjuk meg:

3.1. Alapvet˝o matematikai fogalmak VR& R ContourPlot DensityPlot ListContourPlot ListDensityPlot ListPlot

117

ListPlot3D ParametricPlot ParametricPlot3D Plot3D Plot

A fenti parancs a 0 jelsorozatot tartalmaz´ o opci´ oneveket is megadja. Ezeket itt nem soroltuk fel. T¨ obb programcsomag szint´en tartalmaz ´abr´ akat rajzol´ o f¨ uggv´enyeket. • Az ´ abr´ azol´ as mechanizmusa A f¨ uggv´eny´ abr´ azol´as m˝ uk¨ od´es´et az f (x) := sin3 x (x ∈ R) f¨ uggv´eny p´eld´ aj´ an ´erz´ekeltetj¨ uk. Az f f¨ uggv´eny [−π, π] intervallumra vett lesz˝ uk´ıt´es´enek k´ep´et ´ıgy kapjuk meg: A * * +, - " + I & * +  + C& & 1 0.5

-3

-2

-1

1

2

3

-0.5 -1

A 0 f¨ uggv´eny a bels˝ o algoritmusa ´altal meghat´ arozott m´odon v´ alaszt v´eges sok pontot (mintapontok nak nevezz¨ uk ezeket) a [−π, π] intervallumb´ ol. A program kisz´amolja ezekben az f f¨ uggv´eny helyettes´ıt´esi ´ert´ek´et. K´epezi, majd koordin´ ata-rendszerben a´br´ azolja az (x, f (x)) p´ arokat. A kapott pontokat szakaszokkal k¨ oti o¨ssze.

118

3. Fejezetek a matematik´ab´ ol

A kiv´ alaszt´asi algoritmus az adott ´abr´ azol´asi intervallum n egyenl˝ o r´eszre uggv´eny 00 opci´o j´ aban lev˝ o oszt´as´aval kezd˝ odik, ahol n a 0 f¨ pozit´ıv eg´esz sz´am. A Mathematica ezut´an kisz´amolja az els˝o h´ arom mintapontban — xi -vel (i = 1, 2, 3) jel¨ olj¨ uk ezeket — felvett f (xi ) (i = 1, 2, 3) f¨ uggv´eny´ert´ekeket. Meghat´ arozza az (x1 , f (x1 )) ´es az (x2 , f (x2 )), valamint az (x2 , f (x2 )) ´es az (x3 , f (x3 )) pontokat o¨sszek¨ot˝o szakaszok sz¨og´et. Ha ez a sz¨og 180o -hoz k¨ozeli (pontosabban az elt´er´ese 180o -t´ol kisebb, mint uggv´eny #L opci´o j´ anak fokban megadott ´ert´eke), akkor a a 0 f¨ program megrajzolja az els˝ o szakaszt. Az ellenkez˝o esetben a feloszt´ast ado szakaszokat tal´al, vagy dig finom´ıtja, am´ıg 180o -hoz k¨ozeli sz¨oget bez´ar´ pedig az elv´egzett feloszt´asok sz´ama el´eri a 07  opci´oban szerepl˝ o ´ert´eket. Az elj´ar´ as teh´at nagyobb g¨ orb¨ ulet˝ u pontok ´es szingularit´asok k¨ ornyezet´eben s˝ ur´ıti a mintapontokat. Az f f¨ uggv´eny a´br´ azol´as´ahoz az opci´ok alap´ertelmez´esben megadott ´ert´ekeit haszn´altuk. Ezek a k¨ ovetkez˝ok: 2   &  & &  +S ' & D1  {PlotPoints -> 25, MaxBend -> 10., PlotDivision -> 20.}

• Val´ os–val´ os f¨ uggv´ enyek ´ abr´ azol´ asa uk´ıt´es´enek a k´ep´et a Az f f¨ uggv´eny [x0 , x1 ] intervallumra vett lesz˝

0*5*,. -. M. +/, utas´ıt´ as adja meg. Az f f¨ uggv´enyt nem kell el˝ ore defini´ alnunk, 5*, hely´ere a gondolt f¨ uggv´eny -ben felvett helyettes´ıt´esi ´ert´ek´et is be´ırhatjuk. Az M ´es az + ´ert´ekek lehetnek eg´esz sz´amok, val´odi t¨ ortek, val´ os sz´amok, bizonyos be´ep´ıtett matematikai ´alland´ ok (l´asd a 3.1.3. pontot) vagy 6*G,, *0, t´ıpus´u szimbolikus sz´amok. P´eld´aul: & + + I  G "5 F  & + + % &  "5 > 

Az ´abr´ azoland´ o f f¨ uggv´eny defin´ıci´ o j´ aban, valamint 0 els˝o argumentum´aban be´ep´ıtett matematikai f¨ uggv´enyeket is megadhatunk. N´eh´ any uggv´enyt, az  bels˝o f¨ uggv´ennyel ilyen esetben azonban a 0 f¨ egy¨ utt, a k¨ ovetkez˝o m´odon kell haszn´ alni:

0**5*,,. -. M. +/,

3.1. Alapvet˝o matematikai fogalmak

119

Ilyen esetekre h´ıvja fel a figyelmet az al´ abbi p´elda. Tegy¨ uk fel, hogy egy f¨ uggv´eny deriv´altj´ at szeretn´enk felrajzoltatni. Az egyszer˝ us´eg v´egett legyen ez a cos f¨ uggv´eny, az ´abr´ azol´as intervalluma pedig a [−π, π] intervallum. Az egyik lehets´eges megold´as az, hogy a f¨ uggv´eny deriv´altj´ at szimboliuggv´enyt felhaszn´ alva defini´ aljuk (´es p´eld´ aul az kusan kisz´ amol´o 7 bels˝o f¨ f szimb´olummal jel¨olj¨ uk) a sz´oban forg´ o f¨ uggv´enyt: A * * +,  D A +  + -Sin[x]

(Figyelj¨ uk meg, hogy azonnali ´ert´ekad´ assal (l´ asd a 3.1.4. pontot) ´ertelmezt¨ uk f -et.) A & * +  + C& &

utas´ıt´ as v´egrehajt´ asa ut´an a k´eperny˝ on megjelenik a v´ art a´bra. Pr´ ob´ aljuk meg most f -et k´esleltetett ´ert´ekad´ assal defini´ alni, majd a´br´ azolni: A * * +, - D A +  +  & * +  + C& & 

A program a f¨ uggv´eny k´epe helyett hiba¨ uzeneteket k¨ uld. Ugyanezt kapjuk akkor is, ha a k¨ ozvetlen utat v´alasztjuk: & D A +  + + C& & 

A hiba¨ uzenetek magyar´azata a k¨ovetkez˝o. A 0 f¨ uggv´eny alap´ertelmez´esben nem ´ert´ekeli ki az els˝o argumentum´ at, teh´ at nem v´egzi el szimbolikusan a kijel¨ olt m˝ uveletet. Ehelyett az el˝ oz˝o alpontban elmondottak szerint veszi az a´br´ azol´asi intervallum els˝o mintapontj´ at, majd ennek az els˝o argumentumba val´ o form´ alis behelyettes´ıt´ese ut´an pr´ ob´ alja azt ki´ert´ekelni. Az adott esetben teh´ at a 7*4 *20,. 20, kifejez´est kapja, amit nem tud ki´ert´ekelni. A program ezt a t´enyt k¨ ozli a felhaszn´ al´ oval ´es le´all´ıtja az ´abr´ azol´ast. uggv´ennyel k´enyszer´ıthetj¨ uk a Mathematic´ a t arAz  bels˝o f¨ at, ra, hogy el˝ osz¨or szimbolikusan sz´amolja ki a a 0 els˝o argumentum´ ´es az ´ıgy kapott eredm´enybe helyettes´ıtse be a mintapontokat. Az al´ abbi utas´ıt´ asok m´ar a v´ art eredm´enyt adj´ ak: & 41  * +  + C& & & 41  D A +  +  + C& &

120

3. Fejezetek a matematik´ab´ ol

T¨obb, azonos intervallumon defini´ alt f¨ uggv´enyt egy koordin´ ata-rendszeraban lista elemeik´ent ben u ´gy a´br´ azolhatunk, hogy a 0 els˝o argumentum´ adjuk meg a f¨ uggv´enyek ´ altal´ anos helyettes´ıt´esi ´ert´ek´et: & +I) +I +I + +I +I +I) + B 

K¨ ul¨ onb¨ oz˝o intervallumokon ´ertelmezett f¨ uggv´enyek ´abr´ azol´as´ahoz pedig a 68B bels˝o f¨uggv´enyt haszn´alhatjuk. List´ akat k´enyelmesen p´eld´ aul a & be´ep´ıtett f¨ uggv´ennyel k´epezhet¨ unk (l´ asd a 3.8.1. pontot). Sz´ amunkra kev´esb´e ´erthet˝o, de fontos t´eny az, uggv´ennyel rajzolja fel hogy a 0 ebben az esetben csak az  f¨ a k´ıv´ ant a´br´ at: & 41 

$ +I= +I= =  )  + B  1 0.8 0.6 0.4 0.2

0.2

0.4

0.6

0.8

1

• Opci´ ok Amikor a Mathematica felrajzolja egy f¨ uggv´eny k´ep´et, akkor sz´ amos dolgot el kell d¨ ontenie. P´eld´ aul azt, hogy hova helyezze a koordin´ atatengelyeket, mekkora egys´egeket v´ alasszon ezeken stb. A program igen sok esetben j´ol v´ alaszt, ´es a f¨ uggv´eny menet´enek megfelel˝o sz´ep a´br´ at k´esz´ıt. Opci´ ok megad´ as´aval azonban a felhaszn´ al´ onak lehet˝os´ege van arra is, hogy sz¨ uks´eg eset´en maga d¨ onts¨ on bizonyos hasonl´ o jelleg˝ u k´erd´esekben. A rajzol´ ast v´egz˝o f¨ uggv´enyek is rendelkeznek opci´ okkal. Minden opci´onak meghat´arozott neve ´es egy alap´ertelmez´es szerinti ´ert´eke van. Ezt haszn´ alja a program abban az esetben, ha nem adjuk meg az opci´ ot.

3.1. Alapvet˝o matematikai fogalmak

121

A 2.3.3. pontban m´ ar volt arr´ ol sz´o, hogy a 0 f¨ uggv´eny 27 opci´ oval rendelkezik. Ezek nev´et ´es az alap´ertelmez´es szerinti ´ert´ek´et az 2   &

utas´ıt´ assal kapjuk meg. A megengedett opci´ ok k¨ oz¨ ul az opci´o neve −> opci´o ´ert´eke alakban ak´ arh´ anyat megadhatunk. A k¨ ul¨ onb¨ oz˝oket a . jellel kell elv´ alasztanunk. A k¨ ovetkez˝o p´eld´ ak illusztr´alj´ ak azt, hogy az opci´ok egyik r´esze az ´abr´ ak csinos´ıtgat´ as´ at teszi lehet˝ov´e: & + +I +I + B  & " ( CJ  @!=  BQBBM  D@  QB> QB  EOSA  B B  1 0.8 0.6 0.4 0.2

0.2

0.4

0.6

0.8

´ Erdemes v´egrehajtani a k¨ ovetkez˝o utas´ıt´ ast is: & +C% +  + BQ  #+" ( CJ @!=  BQB  #+2 CJ B B #+%$ CJ T+T T(T & E  CJ BQ Q>

!= CJ B      & CJ + T+C +T Q   & %$ CJ  0 TA $$ Z $T T&  CS'T 

1

122

3. Fejezetek a matematik´ab´ ol

¨ Osszetett ´abr´ akat c´elszer˝ u r´eszenk´ent elk´esz´ıteni, majd az eredm´enyeket egyszerre megjelen´ıteni. Ehhez ny´ ujt seg´ıts´eget a

7 ) opci´o, amelynek lehets´eges ´ert´ekei  ) ´es B "@Y : A !  CJ O(%1 C.I / "@Y : A !  CJ EOSA C. . B /

40 ´es 7 )0 egyar´ant a t´erk´ep´eszek ´altal haszn´alt a´br´at szolg´altat. • Param´ eteres alakban megadott g¨ orb´ ek ´ es fel¨ uletek u f¨ uggv´enyeknek Matematikai szempontb´ol Rn → Rm (n, m ∈ N) t´ıpus´ ´ atekintj¨ uk a param´eteres alakban megadott g¨orb´eket ´es fel¨ uleteket. Abr´ zolhatunk s´ıkbeli g¨orb´eket (n = 1 ´es m = 2), t´erg¨orb´eket (n = 1 ´es m = 3), valamint k´etdimenzi´ os fel¨ uleteket (n = 2 ´es m = 3). Param´eteres alakban megadott s´ıkg¨orb´et a

00 ´ bels˝o f¨ uggv´ennyel a´br´ azolhatunk. Erdemes kipr´ ob´ alni p´eld´ aul a k¨ ovetkez˝o utas´ıt´ asokat: &0 !& "  A   B & &0 !& "  A    B & "@Y : # !   CJ # 0 ! &0 !& A I " I  B &

T´erg¨orbe szeml´eltet´es´ehez a k¨ovetkez˝o bels˝o f¨ uggv´enyt haszn´ alhatjuk:

00F7 &0 !& D

A I A "  "   B & &0 !& D 41 

$ A  "    >   B & S+E  CJ   

K´etdimenzi´ os fel¨ uleteket ezzel a f¨ uggv´ennyel is a´br´ azolhatunk: &0 !& D

 A ICI " A  " "  A   B &  B & S+' CJ  #+ CJ 

126

3. Fejezetek a matematik´ab´ ol

Megjegyezz¨ uk, hogy a :8 300F73 programcsouggv´enyt. Ennek haszn´alamag szint´en tartalmaz 00F7 f¨ t´ aval a felhaszn´ al´ o maga is szab´alyozhatja az a´br´ azol´asn´al alkalmazott fel´ oszt´asok sz´am´at. Erdemes o¨sszehasonl´ıtani p´eld´ aul a k¨ ovetkez˝o utas´ıt´ asok eredm´eny´et: &0 !& D A  A 1  "  A 1  " 1   B & 1 C& & O @!K&0 !& DK &0 !& D A  A 1  "  A 1  " 1   B & &B 1 C& & &B

Tov´abbi p´elda egy sz´ep fel¨ uletre: &0 !& D A@  A @  A@  " @   C  @ B  &

Itt eml´ıtj¨ uk meg azt, hogy a :8 3:8 F73 programcsomag 68 B f¨uggv´eny´evel fel¨uletek koordin´atas´ıkokra vett a´rny´ekolt vet¨uleteit ´all´ıthatjuk el˝ o: O @!KO @!DK $  &0 !& D

"  "  "   "  A    C& &  B & != CJ   D ( !  CJ 6'  (  "@'Y $ D ( !  CJ UD ( !   ["@'Y CJ 

3.1. Alapvet˝o matematikai fogalmak

127

• Forg´ asfel¨ uletek A :8 365593 programcsomagban meglev˝o

6559 k¨ uls˝ o f¨ uggv´ennyel k¨ ul¨ onb¨ oz˝o alakban megadott g¨orb´ek egyenes k¨or¨ uli meg´ forgat´ as´aval keletkez˝o fel¨ uleteket ´abr´ azolhatunk. Erdemes beolvasni ezt a programcsomagot is, ´es felrajzoltatni n´eh´ any forg´ asfel¨ uletet: O @!K"*!2*E1  K "*!2*E1  " +  + B & 8Y8 ! CJ  B B

!= CJ # 0 ! # 0 ! CQ B Q "*!2*E1  Q "   I  B & S+E  CJ    "*!2*E1  +I + B  E1  #+ CJ   

• Implicit alakban megadott g¨ orb´ ek Elm´eleti ´es gyakorlati szempontb´ol is komoly probl´ema az implicit alakban megadott g¨orb´ek vizsg´alata. Ehhez a program jelent˝ os t´amogat´ast ad.

128

3. Fejezetek a matematik´ab´ ol

A :8 303 programcsomagban meglev˝o

0 f¨ uggv´ennyel k´et k¨ ul¨ onb¨ oz˝o m´odszerrel a´br´ azolhatunk implicit alakban megadott egyv´ altoz´ os f¨ uggv´enyeket. A m´odszert a felhaszn´ al´ o a szintaxis alkalmas megad´as´aval v´ alasztja meg. Olvassuk be ezt a programcsomagot: O @!K60 ! & K

´es k´erj¨ unk inform´ aci´ ot a sz´oban forg´ o f¨ uggv´enyr˝ ol: V60 ! &

A Mathematica ´ altal adott v´ alaszb´ol kit˝ unik: megtehetj¨ uk, hogy csak az egyik v´ altoz´ot tartalmaz´ o intervallumot ´ırjuk be az 0 argumentum´aba, de mindk´et v´altoz´ora is kijel¨ olhet¨ unk intervallumot. ´ azoljuk az els˝ Abr´ o m´odszerrel p´eld´ aul a Descartes-f´ele levelet (figyelj¨ unk arra, hogy egyenletet a  karakterekkel adunk meg): 60 ! & +I G (I   + ( + C  2 1

-3

-2

-1

1

2

3

-1

-2

-3

-4

Az 0 f¨ uggv´eny ebben az esetben a 6 bels˝o f¨ uggv´enybe (l´ asd a 3.2. pontot) be´ep´ıtett szimbolikus egyenletmegold´o algoritmusokat arok meghat´aroz´as´ahoz. Pontosabhaszn´ alja az ¨osszetartoz´o . ) sz´amp´ ban, ha f (x, y) = 0 jel¨ oli az implicit egyenletet, akkor a program az f (x, y) = 0, ∂y f (x, y) = 0 egyenletrendszer szimbolikus megold´asait keresi.

3.1. Alapvet˝o matematikai fogalmak

129

Ha a 6 nem tal´ alja meg a beadott egyenlet megold´as´at, akkor ezt k¨ ozli a felhaszn´ al´ oval, ´es a program le´all´ıtja az ´abr´ azol´ast. Ez t¨ort´enik p´eld´ aul a k¨ ovetkez˝o esetben is: 60 ! & " +  A (  + CF & > &

Az 0 harmadik argumentum´ aba be´ırhatunk egy ) v´ altoz´ot uggtartalmaz´o intervallumot is. Ekkor a program a 40 bels˝o f¨ v´enybe be´ep´ıtett numerikus algoritmusokat haszn´alja. Ezzel a m´odszerrel az el˝oz˝o p´eld´ aban megadott g¨ orb´et is ´abr´ azolhatjuk: 60 ! &

" +  A (  + C& & ( C& & #+2 CJ B B & &  CJ BB A0 ' CJ  != CJ CB C> > C 

4

-5

5 -4

Az implicit m´ odon megadott g¨ orb´ekr˝ol legt¨obb inform´ aci´ ot ny´ ujt´ o ´abra elk´esz´ıt´es´ehez a v´altoz´o(ka)t tartalmaz´ o intervallumo(ka)t alkalmas (az adott egyenletb˝ol nem leolvashat´o!) m´odon kell megv´ alasztani. Sz´amos esetben ehhez sok k´ıs´erletet kell elv´egezni. • Koordin´ ata-rendszerek A :8 3:8 3 programcsomagban meglev˝o

00 f¨ uggv´eny pol´ arkoordin´ at´ akban megadott g¨ orb´ekhez haszn´alhat´ o. Ennek az uggv´eny szintaxis´ahoz hasonl´ o. Olvassuk be elj´ ar´ asnak a szintaxisa a 0 f¨ ezt a programcsomagot, ´es pr´ob´ aljuk ki a k¨ ovetkez˝o utas´ıt´ ast:

130

3. Fejezetek a matematik´ab´ ol && ) G A  ) A C   B & & " ( CJ D@  BQB> BQB  O(%1 BQ  @!=  BQB  EOSA  B B  # ! E  CJ # 0 !

A :8 300F73 programcsomag

680F7 f¨ uggv´eny´evel g¨ombkoordin´ at´akban megadott fel¨ uleteket ´abr´ azolhatunk: " @!& D  @  B & @ B &

Hengerkoordin´ at´ akban megadott fel¨ uletek megjelen´ıt´es´et v´egezhetj¨ uk a

:8 300F73 programcsomag 4) 0F7 f¨ uggv´eny´evel. P´eld´ aul:

A( '!& D G" @ RI  B  @ B & S+' CJ  #+ CJ  8Y& CJ Q> CBQ> Q

• Diszkr´ et halmazon ´ ertelmezett f¨ uggv´ enyek A k¨ ovetkez˝o bels˝o f¨ uggv´enyeket haszn´alhatjuk:

 40  7 )0

 0  0F7

A :8 3# 3 programcsomag beolvas´asa ut´an a lehet˝ os´egeket az al´abbi k¨ uls˝ o f¨ uggv´enyek b˝ ov´ıtik:

 0 &  0  0    40  40F7   0  0V  0V F7  68 B0F7  6559

 650F7  0  0  0 # 0 000F7 0 0 6  0  0

3.1. Alapvet˝o matematikai fogalmak

131

• Komplex f¨ uggv´ enyek A :8 34#3 programcsomagban meglev˝o 0# ´es 4 # k¨uls˝o f¨uggv´enyeket komplex v´altoz´os ´es komplex ´ert´ek˝u f¨ uggv´enyek szeml´eltet´es´ere haszn´alhatjuk. A

4 # f¨ uggv´eny a val´ os ´es a k´epzetes tengellyel p´arhuzamos h´ al´ ozat adott f¨ uggv´eny ´altal l´etes´ıtett k´ep´et rajzolja fel. A

0# f¨ uggv´eny pedig az orig´ o k¨ oz´eppont´ u k¨ or¨ ok ´es az orig´ob´ ol kiindul´ o f´elegyenesek ´altal meghat´ arozott h´ al´ ozatnak az adott komplex f¨ uggv´eny szerinti k´ep´et ´abr´ azolja. A lehet˝os´egeket a k¨ovetkez˝o p´eld´ an ´erz´ekeltetj¨ uk. Megmutatjuk, hogy a T := {z ∈ C : 0 ≤ Re z ≤ 1, 0 ≤ Im z ≤ π/2 } komplex sz´amhalmazt ´es az exponenci´alis f¨ uggv´eny a´ltal l´etes´ıtett k´ep´et hogyan lehet szeml´eltetni. El˝ osz¨or az eml´ıtett programcsomagot kell beh´ıvni: O @!KA0 + K

Ezut´ an az identit´ asf¨ uggv´eny (a Mathematic´ a ban az  ) bels˝o f¨ uggv´eny) felhaszn´ al´ as´aval defini´ aljuk a fenti T tartom´anyt:  0 (  A   6'  ( B  B  & E  CJ B  B 

!= CJ B  B & D ( !  CJ 6'  (  -Graphics-

Figyelj¨ uk meg, hogy a 4 # f¨ uggv´enyben az a´br´ azoland´ o f¨ uggv´eny nev´et kell megadni. Elk´esz´ıtj¨ uk a tartom´ any k´ep´et: =

 A   4+  B  B & & E  CJ B  B 

!= CJ B  4 B  4 D ( !  CJ 6'  (  -Graphics-

Most megjelen´ıtj¨ uk a tartom´ anyt ´es a k´epet:

132

3. Fejezetek a matematik´ab´ ol "@Y O @!#(  0 ( =   D ( !  CJ UD ( ! 

E Pi -2

1

0

0 1

1

E

• Anim´ aci´ o ´ ak sorozat´ Abr´ ab´ ol filmet k´esz´ıthet¨ unk. Ehhez a

:8 3 3 programcsomag al´abbi f¨ uggv´enyei ny´ ujtanak seg´ıts´eget:

 #0 #0F7 #40

#7 )0 #00 68B  668B

Ha ablakos felhaszn´ al´ oi fel¨ ulettel dolgozunk, akkor a k¨ ovetkez˝oket is tehetj¨ uk. G´epelj¨ uk be p´eld´ aul ezt az utas´ıt´ ast: D & D

A "5 +IG(I G#$ C& "5 +IG(IG)  + C)& )& ( C)& )& & &  CJ N %@   CJ  & E  CJ C  S+E  CJ    S+' CJ  #+ CJ     B &C&N &N

A Shift+Enter billenty˝ up´ ar lenyom´asa ut´an a Mathematica elkezd dolgozni, ´es kirajzol egy ´abrasorozatot. Jel¨ olj¨ uk be az egym´as ut´ an lej´atszand´ o ´ abr´ akat (egy kattint´assal), majd vagy a Ctrl+Y billenty˝ up´ arral, vagy

3.1. Alapvet˝o matematikai fogalmak

133

a Graph men¨ upont Animate Selected Graphics alpontj´ aval ind´ıthatjuk a mozit. Le´all´ıtani a sz´ok¨ oz billenty˝ u le¨ ut´es´evel lehet, vagy azzal, hogy valahol belekattintunk a k´epbe. A Graph men¨ upont Animation alpontj´ aval az anim´ aci´ o opci´ oi is megv´altoztathat´ ok.

3.1.6. Gyakorlatok ´ es feladatok 1. Az al´ abbi p´eld´ ak illusztr´alj´ ak, hogy a  f¨ uggv´eny a teljes diszjunkt´ıv norm´ alform´ at a´ll´ıtja el˝ o: %!4+ %!4+ %!4+ %!4+

   

'  '  '  ' 

// 5, akkor v´ altozatlan form´ aban kapjuk vissza a t¨ ortet, ugyanis az (a − b)-vel val´o oszt´as ut´ an ad´ od´ o kifejez´es m´erete nagyobb lenne, mint %*A =*W 17

3.2.1. Algebrai polinomok A matematik´ anak napjainkban rohamosan fejl˝ od˝ o egyik a´ga, a szimbolikus sz´ amol´ asok elm´elete (a komputeralgebra) foglalkozik a sz´am´ıt´ og´epen megval´ os´ıthat´ o szimbolikus algoritmusok elm´elet´evel. Jelenleg a matematikai kifejez´esek k¨oz¨ ul bizonyos ´ertelemben a legegyszer˝ ubbeknek, a polinomoknak az elm´elete a legjobban kidolgozott ter¨ ulet. A Mathematica is egy- ´es t¨ obbv´ altoz´os algebrai polinomokkal v´egzett m˝ uveletek elv´egz´es´ehez ny´ ujtja a legt¨obb seg´ıts´eget. V´arhat´ o, hogy u ´j elm´eleti eredm´enyek a Mathematica k´es˝obbi v´ altozatainak a lehet˝ os´egeit is b˝ov´ıteni fogj´ ak. • Polinomok kifejt´ ese A beadott polinomot a k¨ ul¨ onb¨ oz˝o szimb´olumokkal jel¨ olt v´ altoz´ok k¨ oz¨otti lehets´eges ¨osszead´asok ´es kivon´asok automatikus elv´egz´ese ut´an kapjuk uggv´eny szolg´al. Az vissza. Szorzatok ´es hatv´anyok kifejt´es´ere az  f¨

 *,

3.2. Matematikai kifejez´esek

137

utas´ıt´ as hat´ as´ara a Mathematica az egy- vagy t¨obbv´ altoz´os ban elv´egzi a szorz´asokat ´es a pozit´ıv eg´esz kitev˝oj˝ u hatv´ anyoz´ asokat, majd a lehets´eges ¨osszevon´asok elv´egz´ese ut´an adja meg az eredm´enyt: 4+  ' NR+CI G )R+CI G FR+ G N 2 3 26 + 9 x - 14 x + 6 x 4+  '  G + G )(R C + G (I 2 3 4 1 - 6 x + 8 x - 3 x + 10 y - 6 x y 2 3 18 x y + 14 x y + 2 2 2 2 3 3 4 36 y - 24 x y - 12 x y + 56 y - 24 x y + 32 y

T¨obbv´ altoz´os polinom kifejt´es´et bizonyos v´ altoz´okra korl´ atozva is elv´egezhetj¨ uk: 4+  ' + G IR( G IR G I + 2 2 2 2 (1 + y) (1 + z) + 2 x (1 + y) (1 + z) + 2 2 2 x (1 + y) (1 + z)

Lehet˝os´eg van arra is, hogy t¨ obb (de nem az o¨sszes) v´altoz´o szerint fejtoli a v´ altoz´okat, akkor az s¨ unk ki egy polinomot. Ha x1 , x2 ´es y jel¨ (x1 + 1)2 (x2 + 1)2 (y + 1)2 polinom x1 ´es x2 szerinti kifejt´es´et p´eld´ aul ´ıgy kapjuk meg: 4+  ' +  G IR+  G IR( G I + , 2 2 2 2 (1 + y) + 2 (1 + y) x[1] + (1 + y) x[1] + 2 2 2 (1 + y) x[2] + 4 (1 + y) x[1] x[2] + 2 2 2 2 2 (1 + y) x[1] x[2] + (1 + y) x[2] + 2 2 2 2 2 2 (1 + y) x[1] x[2] + (1 + y) x[1] x[2]

A k¨ ovetkez˝o f¨ uggv´enyek polinomok r´eszeinek kiv´alaszt´as´ahoz ny´ ujtanak seg´ıts´eget:

455 455  4 

 8 0) V&

138

3. Fejezetek a matematik´ab´ ol

Sz´ amos speci´alis polinom be´ep´ıtett f¨ uggv´enyk´ent szerepel a Mathematic´ a ban:

LL 48&) 8 48&) 8! 4)4 

:&4 11 W&0 

• Polinomok szorzatt´ a alak´ıt´ asa Polinomok k¨ ul¨ onb¨ oz˝o t´ıpus´ u szorzatt´a alak´ıt´ as´ahoz a

   6

6     

f¨ uggv´enyeket haszn´alhatjuk. uggv´eny a´ltal ny´ ujtott lehet˝ os´egeket ismerEzek k¨ oz¨ ul csak a  f¨ tetj¨ uk. A

*, utas´ıt´ as a ot Z felett irreduc´ıbilis t´enyez˝ok szorzatak´ent ´ırja fel abban az esetben, ha az egy¨ utthat´ ok eg´esz sz´amok vagy val´ odi t¨ ortek: !  +I G +I C )+ C  2 (-2 + x) (6 + 5 x + 2 x ) !  +I C )+ G ) (3 - 7 x) (1 - 2 x) 14 !  ) +R( G R1IC+I G (I C I C 1II (-u + v - x - y) (-u - v - x + y) (u + v - x + y) (-u + v + x + y)

Ha a polinom egy¨ utthat´ oi k¨ oz¨ott van explicit tizedesponttal megadott uggv´eny numerikus m´odszert haszn´alva hat´ arozsz´am is, akkor a  f¨ za meg a polinom gy¨okeinek egy k¨ozel´ıt˝ o ´ert´ek´et, ´es ezekkel adja meg a felbont´ ast:

3.2. Matematikai kifejez´esek

139

!  +I C )+ G  2 2 - 4 x + x !  +I C )+ G Q (-3.41421 + x) (-0.585786 + x)

A k¨ ovetkez˝o p´eld´ ak azt is mutatj´ ak, hogy a program a bemen˝ o adatok szintaxis´ at´ ol f¨ ugg˝ oen v´ alasztja meg a ki´ert´ekel´esn´el felhaszn´ alt algoritmust: !  +I G >+ G N 2 6 + 5 x + 2 x !  +I G >Q+ G N 2 2 (3 + 2.5 x + x ) !  +I G >+ G NQG BQ 6 2 (1.25 - 1.19896 I + x) (1.25 + 1.19896 I + x)

Polinomfaktoriz´aci´ ot a Gauss-eg´eszek gy˝ ur˝ uj´eben a

*. :  2? , utas´ıt´ assal kapunk. P´eld´ aul: !  +I G  2 1 + x !  +I G  O 6  CJ  (-I + x) (I + x)

A Zp v´eges test feletti polinomgy˝ ur˝ uben a k¨ ovetkez˝o utas´ıt´ assal bonthatunk fel polinomokat irreduc´ıbilis t´enyez˝ok szorzat´ara:

*. #  2? , !  +I) G  ' CJ  4 (1 + x) !  +I) G  ' CJ F (2 + x) (8 + x) (9 + x) (15 + x)

140

3. Fejezetek a matematik´ab´ ol

Polinomfaktoriz´aci´ oval nyert t´enyez˝okb˝ ol a´ll´ o list´at k´esz´ıthet¨ unk a k¨ ovetkez˝o f¨ uggv´enyekkel:

  6 

  

Figyelj¨ uk meg azt is, hogy a Mathematica milyen form´ aban adja meg a t´enyez˝oket: ! % +I C +I C >+ C  {{-3 + x, 1}, {1 + x, 2}} ! % +I) G  ' CJ  2 2 {{5 + x , 1}, {8 + x , 1}} ! % +I G  O 6  CJ  {{-I + x, 1}, {I + x, 1}}

• M˝ uveletek polinomokkal K´epezhetj¨ uk polinomok o¨sszeg´et, szorzat´at ´es kompoz´ıci´ oj´ at. A

7  elj´ ar´ ast is haszn´alhatjuk. Ennek a f¨ uggv´enynek a seg´ıts´eg´evel ´all´ıthatunk el˝ o egy eg´esz egy¨ utthat´ os polinomot k´et alacsonyabb foksz´am´ u polinom kompoz´ıci´ o jak´ent (l´ asd a 3.1.4. pont M˝ uveletek f¨ uggv´enyekkel c´ım˝ u alpontj´ at). ur˝ uben is sz´ amos m˝ uveletet elv´egezheA Zp v´eges test feletti polinomgy˝ t¨ unk. P´eld´ aul a

0)# *. , utas´ıt´ as eredm´enye a -mal mod p kongruens polinom, amelynek egy¨ utthat´ oi a [0, p − 1] intervallumb´ ol val´ ok: &( 0' +I> C F+I G F+I G + G L  2 3 5 8 + x + 4 x + 5 x + x &( 0' + G ( + C FI > 2 3 2 3 x + 2 x + 2 x + 2 y + 3 x y + 3 x y

3.2. Matematikai kifejez´esek

141

Polinomok rezult´ ans´ at (l´ asd p´eld´ aul [45]) sz´amolja ki a 9  f¨ uggv´eny: E  +I C N+ G  +I G + G > + 233 E  +I C )+ C > +I C F+ G B + 0

Eml´ekeztet¨ unk arra, hogy k´et egyv´ altoz´os polinom rezult´ansa az egy¨ utthat´ oikb´ ol k´epzett Sylvester-f´ele m´atrixnak a determin´ ansa. A Sylvester-f´ele krit´erium azt ´all´ıtja, hogy k´et eg´esz egy¨ utthat´ os algebrai polinomnak pontosan akkor van k¨ oz¨os gy¨oke, ha a rezult´ansuk 0-val egyenl˝ o. • Gr¨ obner-b´ azisok A szimbolikus programcsomagok polinomok kezel´es´en´el a Gr¨ obner-b´ azisok elm´elet´et alkalmazz´ak. B. Buchberger [14] 1965-ben meg´ırt Ph.D. disszert´ aci´o j´ aban egyenletrendszerek megold´asa c´elj´ ab´ ol vezette be a Gr¨ obner-b´ azis fogalm´ at. (W. Gr¨ obner volt a t´emavezet˝o je.) Az ezut´an megindult intenz´ıv kutat´ asok azt mutatt´ak, hogy ez a fogalom ´es a dolgozatban le´ırt algoritmusok m´as t´ıpus´ u feladatok (p´eld´ aul param´eterek kik¨ usz¨ob¨ ol´ese, kongruenci´ak megold´asa, polinom helyettes´ıt´esi ´ert´ek´enek meghat´aroz´asa adott mell´ekfelt´etelek eset´en) megold´ as´an´ al is j´ ol haszn´ alhat´ ok. o Olvas´ o figyelm´ebe aj´ anljuk a [7] ´es a [28] k¨onyAz elm´elet ir´ant ´erdekl˝od˝ vet, valamint a [35] ´es a [58] dolgozatot. A tov´ abbiakban az alapprobl´ema ´es n´eh´ any eredm´eny megfogalmaz´asa ut´an csup´ an ´erz´ekeltetni szeretn´enk azt, hogy a Mathematica hogyan haszn´ alja ezt az elm´eletet k¨ ul¨ onb¨ oz˝o feladatok megold´as´an´ al. altoJel¨olje Q[x] (x = (x1 , · · · , xn ), n ∈ N) a Q sz´amtest feletti n v´ z´os polinomgy˝ ur˝ ut. A Q[x] (kommutat´ıv) gy˝ ur˝ u I nem¨ ures r´eszhalmaz´at ide´ alnak nevezz¨ uk, ha egyr´eszt minden p, q ∈ I eset´en p − q ∈ I teljes¨ ul, m´asr´eszt pedig minden p ∈ I ´es q ∈ Q[x] mellett a pq szorzat is I-hez tartozik. B´armely P := {p1 , · · · , pk } ⊂ Q[x] v´eges polinomrendszer eset´en a (P ) := (p1 , · · · , pk ) := {

k 

ai pi : ai ∈ Q[x]} ⊂ Q[x]

i=1

halmaz nyilv´an Q[x] egy (P ´ altal gener´ alt) ide´ alja. Mag´ at a P halmazt az ide´ al b´ azis´ anak szok´ as nevezni. (Ez az ´altal´ anosan elfogadott sz´ohaszn´ alat f´elrevezet˝o, ha a line´ aris algebra b´ azisfogalm´ aval vetj¨ uk o¨ssze.)

142

3. Fejezetek a matematik´ab´ ol

Hilbert b´ azist´etel´enek egyik k¨ovetkezm´enye az, hogy Q[x] minden ide´ alj´ anak van v´eges b´azisa ´es Q[x] minden ide´ alja a fenti alak´ u. Polinomokkal kapcsolatos sz´amos probl´em´at a k¨ ovetkez˝o alapfeladatra lehet reduk´ alni: Adott egy P ⊂ Q[x] v´eges halmaz ´es egy tetsz˝ oleges q ∈ Q[x] polinom. Hogyan lehet v´eges sok l´ep´esben eld¨ onteni azt, hogy a q polinom hozz´ atartozik-e a P ´ altal gener´ alt (P ) ide´ alhoz? Egyv´ altoz´os polinomok (azaz n = 1) eset´en b´ armely P ⊂ Q[x] v´eges halmaz ´altal gener´ alt (P ) ide´ al egyetlen elemmel, a P -hez tartoz´ o polinomok legnagyobb k¨ oz¨os oszt´o j´ aval (jel¨ olje ezt h) is gener´alhat´ o. ´Igy a fenti alnak, ha k´erd´esre a v´alasz a k¨ovetkez˝o: q pontosan akkor eleme a (P ) ide´ q oszthat´o a h polinommal. A bizony´ıt´ as alapvet˝o eszk¨oze a j´ol ismert euklideszi algoritmus. T¨obbv´ altoz´os polinomok eset´eben a helyzet j´oval bonyolultabb. Nem egyszer˝ u ugyanis a (P ) ide´ al szerkezet´ere j´ol haszn´ alhat´ o jellemz´est adni abban az esetben, amikor P tetsz˝oleges polinomrendszer. A neh´ezs´eget egyr´eszt az okozza, hogy az ide´alok ekkor m´ar nem gener´ alhat´ ok egyetlen elemmel, ez´ert az euklideszi algoritmust is a´ltal´ anos´ıtani kell. M´ asr´eszt egyismeretlenes polinomokra a tagok elrendez´es´enek k´et term´eszetes m´odj´ at ismerj¨ uk: az ismeretlen n¨ovekv˝ o ´es cs¨okken˝ o hatv´ anyai szerintit. T¨obbismeretlenes polinomok eset´en azonban a αn 1 : αi ∈ N} T := T (x1 , · · · , xn ) := {xα 1 · · · xn

halmazon t¨ obbf´ele m´odon lehet rendez´esi rel´aci´ ot ´ertelmezni, ami egy adott t¨ obbv´ altoz´os polinomban a tagok l´enyegesen” k¨ ul¨ onb¨ oz˝o sorrendj´et indu” k´ alja. Itt csup´ an a lexikografikus rendez´est (ezt a ≤L szimb´olummal jel¨olj¨ uk) ´ertelmezz¨ uk: β1 αn βn 1 xα 1 · · · xn ≤L x1 · · · xn

β1 αn βn 1 (xα 1 · · · xn , x1 · · · xn ∈ T )

pontosan akkor, ha (α1 , · · · , αn ) = (β1 , · · · βn ), vagy pedig l´etezik olyan i ∈ {1, 2, · · · , n} term´eszetes sz´am, amelyre αj = βj

(1 ≤ j ≤ i − 1) ´es

αi < βi .

Ha ≤ egy alkalmas rendez´esi rel´aci´ o a T -n, akkor egy adott polinom ≤ rendez´esre vonatkoz´ o f˝ otagj´ a nak nevezz¨ uk a polinom egy¨ utthat´ o n´elk¨ ul vett (≤-re vonatkoz´ o) legmagasabb fok´ u tagj´ at. Az euklideszi algoritmus t¨obbv´ altoz´os ´altal´ anos´ıt´ as´at m´ar nem polinomoszt´asnak, hanem polinomredukci´ os elj´ ar´ asnak nevezik. Ezzel kapcsolatban a k¨ ovetkez˝o alapvet˝ o´ all´ıt´ as fogalmazhat´o meg:

3.2. Matematikai kifejez´esek

143

Legyen P := {p1 , · · · , pk } ⊂ Q[x] tetsz˝ oleges halmaz ´es f ∈ Q[x] adott polinom. Ekkor l´eteznek olyan ai ∈ Q[x] (i = 1, · · · , k) ´es r ∈ Q[x] polinomok, amelyekre az f=

k 

ai pi + r

i=1

otagja nem nagyobb, mint f egyenl˝ os´eg teljes¨ ul, ´es ai pi (i = 1, · · · , k) f˝ f˝ otagja. afia 199. oldal´ an le´ırt Az ai (i = 1, · · · , k) ´es r polinomot a [7] monogr´ algoritmussal lehet meghat´arozni. Tov´ abbi probl´em´at jelent azonban az, hogy az r marad´ek”-polinom nincs egy´ertelm˝ uen meghat´ arozva abban az ” esetben, ha tetsz˝ oleges P polinomrendszerb˝ ol indulunk ki. B. Buchberger a m´ar megeml´ıtett [14] dolgozat´ aban igazolta, hogy tetsz˝oleges v´eges P ⊂ Q[x] halmazhoz l´etezik olyan G ⊂ Q[x] v´eges polinomrendszer (ezt nevezte el Gr¨ obner-b´ azisnak), amely egyr´eszt ugyanazt az ide´alt gener´alja, mint P , m´asr´eszt a fenti ´all´ıt´ ast a P helyett a G b´ azisra alkalmazva az r polinom m´ ar egy´ertelm˝ uen meg van hat´ arozva. Ilyen jelleg˝ u b´ azis l´etez´es´et H. Hironaka [36] is bebizony´ıtotta 1964-ben. B. Buchberger azonban j´ ol haszn´ alhat´ o as´ ara. algoritmust is konstru´ alt a G b´ azis el˝ o´ all´ıt´ Megjegyezz¨ uk m´eg azt is, hogy egyv´ altoz´ os polinomok eset´eben ez az elj´ ar´ as az euklideszi algoritmust, els˝ ofok´ u t¨ obbv´ altoz´ os polinomok eset´eben pedig a Gauss-f´ele elimin´ aci´ os elj´ ar´ ast szolg´ altatja. A Gr¨ obner-b´ azis fogalm´ anak t¨ obb lehets´eges ekvivalens defin´ıci´ o ja k¨ oz¨ ul a k¨ ovetkez˝ot emelj¨ uk ki. Jel¨ olj¨ on ≤ egy alkalmas rendez´est (p´eld´ aul a lexikografikust) a T halmazon. A Q[x] polinomgy˝ ur˝ u I ide´ alj´ anak egy nem¨ ures G v´eges r´eszhalmaz´at akkor nevezz¨ uk az I ide´ al ≤-re vonatkoz´o Gr¨ obner-b´ azis´ anak, ha az ide´ al minden polinomj´ anak (≤-re vonatkoz´ o) f˝ otagja oszthat´o a G halmaz valamely polinomj´ anak f˝ otagj´ aval. Igazolhat´ o, hogy T -n adott alkalmas ≤ rendez´es eset´en a Q[x] polinomgy˝ ur˝ u b´ armely I ide´ alj´ ahoz l´etezik Gr¨obner-b´ azis, ´es ez a f˝oegy¨ utthat´ okt´ ol eltekintve egy´ertelm˝ uen meg van hat´ arozva (l´asd [7], Theorem 5.41., Theorem 5.43.). uggv´enye a Q[x] polinomgy˝ ur˝ uben a A Mathematica :&L  f¨ lexikografikus rendez´est haszn´alva hat´ arozza meg adott P polinomrendszer ´altal gener´ alt (P ) ide´ al Gr¨ obner-b´ azis´ at. A v´ altoz´ok sorrendj´et a f¨ uggv´eny m´asodik argumentum´ aban adhatjuk meg. Az eredm´eny ett˝ol a´ltal´ aban term´eszetesen f¨ ugg: O$ S + C (I G  +I C (I C + ( 2 4 2 {3 - 5 y + y , 2 + x - y }

144

3. Fejezetek a matematik´ab´ ol O$ S + C (I G  +I C (I C ( + 2 2 {-3 - x + x , -2 - x + y }

Az &9 , az  ´es a 6 elj´ ar´ as alkalmazza a Gr¨ obner-b´ azisok elm´elet´et. A 2.3.2. pontban a mint´ azatokkal kapcsolatban volt arr´ ol sz´o, hogy a program egy transzform´ aci´ os szab´aly ki´ert´ekel´es´en´el a kifejez´esnek a strukt´ ur´ aj´ at, ´es nem annak matematikai jelent´es´et vizsg´alja:  G +I G +I) Q +I CJ  4 1 + a + x

A matematik´ aban megszokott m´odon vezethet¨ unk be u ´j v´ altoz´okat az

&9 bels˝o f¨ uggv´eny seg´ıts´eg´evel: W1  #$!E +I   +  2 {x -> a}  G +I G +I) Q W1 2 1 + a + a  G +I G +IF Q W1 3 1 + a x + a x

Ezt az elj´ ar´ ast haszn´alhatjuk abban az esetben is, amikor egy polinomnak adott mell´ekfelt´etelek mellett szeretn´enk meghat´ arozni a helyettes´ıt´esi ´ert´ek´et. Tekints¨ uk p´eld´ aul a k¨ ovetkez˝o feladatot. Tegy¨ uk fel, hogy az a, b ´es a c val´ os sz´amok kiel´eg´ıtik az a + b + c = 3,

a2 + b2 + c2 = 9,

a3 + b3 + c3 = 24

felt´eteleket. Hat´arozzuk meg az a4 + b4 + c4 ¨osszeget. A megold´as a Mathematic´ a val ilyen egyszer˝ u. El˝ osz¨or a felt´eteleket adjuk meg: *  =  #$!E  G $ G !   I G $I G !I  L I G $I G !I  )  $ !

3.2. Matematikai kifejez´esek {c

145

3

2 2 2 -> -1 + 3 c , b -> 3 b + 3 c - b c - c , a -> 3 - b - c}

A k´erdezett ¨osszeget pedig ´ıgy hat´ arozhatjuk meg: I) G $I) G !I) Q *  = 69

A Gr¨ obner-b´ azisok elm´elete ´ altal´ anos m´ odszert szolg´altat az ilyen t´ıpus´ u feladatok megold´ as´ahoz. N´ezz¨ uk meg azt, hogy a program hogyan alkalmazta ezt a m´odszert a fenti feladat megold´ as´an´ al. ar´ as a Az &9 elj´ P := {a + b + c − 3, a2 + b2 + c2 − 9, a3 + b3 + c3 − 24} ⊂ Q[a, b, c] polinomrendszer a´ltal gener´ alt (P ) ide´ al Gr¨ obner-b´ azis´ at sz´amolta ki. Val´ oban: O$ S  G $ G ! C  I G $I G !I CL I G $I G !I C)  $ ! 2 3 2 2 {1 - 3 c + c , -3 b + b - 3 c + b c +c , -3 + a + b + c}

(Figyelj¨ uk meg, hogy az &9 f¨ uggv´eny transzform´ aci´ os szab´ alyk´ent adja meg a Gr¨ obner-b´ azist.) abban megeml´ıtett polinomreHa ezut´ an az a4 + b4 + c4 polinomra a kor´ dukci´ os elj´ar´ ast a kisz´am´ıtott Gr¨ obner-b´ azissal alkalmazzuk, akkor ´eppen az abban szerepl˝o, r-rel jel¨ olt marad´ek”-polinom lesz a feladat megold´a” sa. A fenti m´ asodik utas´ıt´ as hat´as´ara a Mathematica ezt az r polinomot hat´ arozta meg. Hasonl´ o m´odon m˝ uk¨ odik az

 elj´ ar´ as is, amelynek seg´ıts´eg´evel polinomokat tartalmaz´o egyenletekb˝ol param´etereket elimin´alhatunk. P´eld´ aul: 40   *  +I> G (I>   + G ( $  + ( + ( 5 3 2 a - 5 a b + 5 a b == f

Ezt feladatot ´ıgy is megoldhatjuk: *  #$!E + G (   + (  $ + ( 2 {y -> -b + a y, x -> a - y}

146

3. Fejezetek a matematik´ab´ ol +I> G (I> Q * a

5

- 5 a

3

b + 5 a b

2

Az &9 most is a Gr¨obner-b´ azist haszn´ alja: O$ S + G ( C  +R( C $ + ( 2 {b - a y + y , -a + x + y}

A 3.3.2. pontban lesz sz´ o arr´ ol, hogy a 6 f¨ uggv´eny hogyan alkalmazza a Gr¨ obner-b´ azisok elm´elet´et polinomokat tartalmaz´o egyenletrendszerek megold´as´an´ al.

3.2.2. Racion´ alis kifejez´ esek Ebben a pontban polinomok h´ anyadosak´ent megadott kifejez´esek ´atalak´ıt´ as´ahoz haszn´ alhat´ o elj´ ar´ asokr´ol lesz sz´o. A program sz´ amos olyan f¨ uggv´enyt tartalmaz, amelynek seg´ıts´eg´evel racion´alis kifejez´eseket k¨ ul¨ onb¨ oz˝o alakban ´ırhatunk fel. Ezek a k¨ ovetkez˝ok:

 4 7     7

    65) 8

A Mathematica racion´ alis kifejez´esekn´el a lehets´eges ¨osszevon´asokat automatikusan elv´egzi. A sz´aml´al´ o ´es a nevez˝o k¨ oz¨os t´enyez˝oivel is automatikusan egyszer˝ us´ıt:  C+G+IC+IRC+I+GG+IRC+ 2 2 (1 - x) (-4 x + x ) 2 (1 + 3 x) 0   D 0    2 2 2 {(1 - x) (-4 x + x ) , (1 + 3 x) }

3.2. Matematikai kifejez´esek

147

Szorz´asok ´es hatv´anyoz´ asok elv´egz´es´ehez az al´abbi f¨ uggv´enyeket haszn´ alhatjuk: 4+  '0   4+  'D 0   

{

16 x

2

- 24 x

3

+ 9 x 2 (1 + 3 x)

4+  ' 2 16 x (1 + 3 x)

2 -

4+  '# 2 16 x 1 + 6 x + 9 x 5 x

24 x

4

- x

2 2 (1 - x) (-4 x + x ) , } 2 1 + 6 x + 9 x

3

(1 + 3 x)

2 -

5

2 +

5 x 2 2 (1 + 3 x) (1 + 3 x) 9 x

3 24 x 1 + 6 x + 9 x

1 + 6 x + 9 x

4

2 +

9 x

4

1 + 6 x + 9 x

2 -

2

A racion´ alis kifejez´eseket k¨oz¨os nevez˝ore hozhatjuk ´es parci´alis t¨ ortekre is bonthatjuk:   C)+G+IC+G+I G C)G+G+ICG+I 2 2 -4 + 3 x + x -4 x + x 2 + 2 -x + x -1 + x

 @  2 2 (-4 + x ) (-1 + x) (1 + x) #   3 3 + 2 -1 + x 1 + x

T¨obbv´ altoz´os kifejez´esek parci´alis t¨ ortekre bont´ as´at k¨ ul¨ onb¨ oz˝o v´ altoz´ora is k´erhetj¨ uk: 1  +I G (I+ G + ( 2 2 x + y x + x y

148

3. Fejezetek a matematik´ab´ ol #  1 + 2 y x + 1 + y x (1 + y)

#  1 ( 2 y 1 + x 1 + -( ) + x x x (1 + y)

A k¨ ovetkez˝o p´eld´ akkal a  ´es a 4 f¨ uggv´eny m˝ uk¨ od´es´et ´erz´ekeltetj¨ uk: A !  4 + x -4 + x + -1 + x 1 + x !  : 2 (-2 + x) (2 + x) (-1 + x) (1 + x)

3.2.3. Komplex v´ altoz´ os kifejez´ esek Az el˝ oz˝o pontokban ismertetett f¨ uggv´enyekkel komplex sz´ amokat tartalmaz´o kifejez´eseket is ´atalak´ıthatunk. A Mathematica ezekben az esetekben a v´ altoz´okat form´ alis szimb´ olumoknak tekinti, ´es a kijel¨olt m˝ uveletek v´egrehajt´ asa, valamint a lehets´eges ¨osszevon´asok elv´egz´ese ut´an adja meg az eredm´enyt. Sz¨ uks´eg¨ unk lehet azonban arra is, hogy kijel¨ olj¨ uk egy matematikai kifejez´es val´ os, illetve k´epzetes r´esz´et. Ilyen feladatok megold´ as´ahoz a

4 f¨ uggv´enyt haszn´ alhatjuk. Pontosan meg kell azonban mondanunk azt, hogy melyik szimb´olumot tekintj¨ uk val´ os v´altoz´onak ´es melyiket komplexnek. A v´ altoz´ok specifik´al´ as´anak m´ odj´ at a program k´esz´ıt˝ oi a fenti f¨ uggv´eny m´asodik (opcion´ alis) argumentum´anak megad´ as´aval oldott´ ak meg. as ki´ert´ekel´es´en´el a program a A 4 *=5K' , utas´ıt´ =5K' mindegyik szimb´olum´at val´os v´altoz´onak tekinti, ´es a kijel¨olt m˝ uveletek elv´egz´ese ut´an (val´ os r´esz) + i (k´epzetes r´esz) alakban pr´ob´ alja megadni az eredm´enyt:

3.2. Matematikai kifejez´esek

149

A0 +4+  '  G 6 $! G 6 ' a c c

2

+ d

2

b d

+ c

2

+ d

2

b c

+ I ( c

2

+ d

2

a d

c

2

+ d

2

)

A0 +4+  ' " + G 6 ( Cosh[y] Sin[x] + I Cos[x] Sinh[y]

A 4 f¨ uggv´eny m´asodik argumentum´ aban kapcsos z´ar´ ojelek k¨ oz¨ott sorolhatjuk fel azokat a szimb´ olumokat, amelyeket komplex v´ altoz´oknak tekint¨ unk. A fel nem t¨ untetett szimb´ olumokat a program val´ os v´altoz´oknak tekinti: A0 +4+  '  G 6 $  I (b + Im[a]) + Re[a]

A0 +4+  ' 4+ 6    I Sin[Re[z]] Cos[Re[z]] + Im[z] Im[z] E E

A ' komplex v´ altoz´ot val´ os param´eterekkel t¨obbf´ele m´odon is kifejezhetj¨ uk. A Mathematica alap´ertelmez´esben a 9*', @  *', algebrai alakot haszn´alja. uggv´eny  opci´o j´ anak (ennek leA 4 f¨ as´ahets´eges ´ert´ekei: & , , 4K, , 9 ´es 6) megv´altoztat´ altoz´ot p´eld´ aul trigonometrikus alakban ´ıgy ´ırhatjuk fel: val a ' v´ !  A0 +4+  '     !   CJ #$ # Abs[z] (Cos[Arg[z]] + I Sin[Arg[z]])

Komplex sz´ am val´ os, illetve k´epzetes r´esz´et adja meg a program maguggv´eny. Komplex v´ altoz´os kifejez´es val´ os, j´ aban meglev˝o 9, illetve  f¨ illetve k´epzetes r´esz´enek el˝o´ all´ıt´ as´ahoz az

&393 programcsomag ugyanilyen nev˝ u f¨ uggv´enyeit haszn´ alhatjuk: #$KE60K E  Re[z] 2 2 Im[z] + Re[z]

150

3. Fejezetek a matematik´ab´ ol

Figyelj¨ uk meg, hogy ez a 9 f¨ uggv´eny '-t komplex v´ altoz´onak tekintette. K´etf´elek´eppen is k¨ oz¨olhetj¨ uk azt a sz´and´ekunkat a Mathematic´ a val, hogy az  szimb´olumot tartalmaz´o kifejez´eseket annak felt´etelez´es´evel ´ert´ekelje os v´ altoz´o. Erre az !6 bels˝o f¨ uggv´enyt (ennek r¨ ovid ki, hogy az  val´ alakja a C jelsorozat) ´ıgy haszn´alhatjuk: 60 + I B

Ugyanezt az eredm´enyt kapjuk az + - 60 +  B

utas´ıt´ assal is (a $O jelsorozat a 6 bels˝o f¨ uggv´eny r¨ ovid alakja). Ha  val´ os v´altoz´o, akkor E  G +I 2 2 -Im[a] + (x + Re[a])

Fentebb m´ ar sz´oltunk arr´ ol, hogy a 4 f¨ uggv´eny haszn´ alatakor hogyan jelezz¨ uk azt, hogy egy adott kifejez´esben lev˝ o szimb´olumok k¨ oz¨ ul melyiket gondoljuk val´ osnak ´es melyiket komplexnek. A v´altoz´oknak ez a specifik´aci´ o ja lok´ alis jelleg˝ u. Ezzel szemben az *',CM glob´alis ´ert´ekad´ as. Az elmondottakat az Euler-f´ele formula p´eld´ a j´ an illusztr´aljuk:   A0 +4+  ' 4+ 6 Cos[t] + I Sin[t] E : Cos[Re[t]] Cosh[Im[t]] - Cos[Re[t]] Sinh[Im[t]]

A  szimb´olumot a 4 f¨ uggv´eny val´ os v´altoz´onak, a 9 f¨ uggv´eny pedig komplexnek tekintette: 60 I B E  Cos[t]

3.2.4. Trigonometrikus kifejez´ esek A Mathematica el˝oz˝o pontokban ismertetett f¨ uggv´enyei alap´ertelmez´esben nem alkalmaznak trigonometrikus azonoss´agokat, mert a  opci´o juk ´er´ v´egign´ezni, hogy a sz´oban forg´ o f¨ uggv´enyek val´ oban t´eke  . ( Erdemes uggv´enyekn´el a rendelkeznek a  opci´oval.) Ha ezekn´el a f¨

3.2. Matematikai kifejez´esek

151

 2?  opci´ot adjuk meg, akkor a program trigonometrikus azonoss´ agokat is felhaszn´ alva alak´ıtja a´t a beadott kifejez´est. as´ara a Mathematica a k¨ ovetkez˝o m˝ uveleA  2?  opci´o hat´ teket v´egzi el. El˝ osz¨or a trigonometrikus kifejez´est komplex exponenci´alis alakban ´ırja fel, ezut´ an hajtja v´egre a kijel¨ olt m˝ uveleteket. Az ´ıgy kapott eredm´enyt v´eg¨ ul megpr´ ob´ alja trigonometrikus f¨ uggv´enyekkel kifejezni. uggv´eny alap´ertelmez´esben is ´ıgy m˝ uk¨ odik, mert a  A 65) f¨ opci´o ´ert´eke : 2   "0 *( {Trig -> True}

A lehet˝os´egeket a k¨ovetkez˝o p´eld´ ak bemutat´ as´aval illusztr´aljuk: 4+  ' " + I G " + I  4+  ' :  CJ   {Sin[x]

2

Cos[4 x] 2 Cos[2 x] } + Sin[2 x] , 1 2 2

4+  ' "  + A $ + I  CJ  !  :  CJ  Sin[a x - 2 b x] Sin[a x + 2 b x] Sin[a x] + + 2 4 4 2 Cos[b x] Sin[a x]

!  " + G " (   CJ  y x y x 2 Cos[ - ] Sin[ + ] 2 2 2 2

Felhaszn´ alhatjuk m´eg az

&3)3 programcsomagban meglev˝o al´ abbi f¨ uggv´enyeket is:

4  Olvassuk be ezt a programcsomagot: #$K  0 (K

9  4

152

3. Fejezetek a matematik´ab´ ol

A 9  f¨ uggv´eny az add´ıci´ os t´etelekben kimondott azonoss´ agok k¨ ozvetlen felhaszn´ al´ as´aval alak´ıtja a´t a beadott kifejez´est:

E'! " + G ( Cos[y] Sin[x] + Cos[x] Sin[y]

ugyanakkor a fentebb elmondottak miatt 4+  ' " + G (   CJ  Sin[x + y]

A  f¨ uggv´eny a sz¨ogek szinusz´anak (koszinusz´ anak stb.) o¨szszeg´ere vonatkoz´o ismert azonoss´ agot alkalmazza, ez´ert ez az elj´ar´ as a

*=5K' .  2? , utas´ıt´ as eredm´eny´et˝ol elt´er˝ o alakot is adhat:

!  " + C " + -2 Cos[2 x] Sin[x]

!  " + C " +   CJ  -2 (Cos[x] - Sin[x]) Sin[x] (Cos[x] + Sin[x])

Trigonometrikus kifejez´eseket komplex exponenci´alis alakban ´ırhatunk uggv´eny seg´ıts´eg´evel. A ford´ıtott feladat megold´afel a 4 f¨ ar´ ast haszn´alhatjuk: s´ahoz pedig a 4 elj´

 A0 + " + G A + E -I -I x I x (-E + E ) + 2

-I x

+ E 2

I x

 A0 + " + A +  4+  ' I 2 I x I -2 I x E E 4 4

A0 +   : I Cos[2 x] + Sin[2 x] -I Cos[2 x] + Sin[2 x] + 4 4

"0 *( : Sin[2x] 2

3.2. Matematikai kifejez´esek

153

3.2.5. Egy´ eb matematikai kifejez´ esek Ebben a pontban csup´ an ´erz´ekeltetni szeretn´enk azt, hogy a Mathematica hogyan kezeli az el˝ oz˝o pontokba nem sorolhat´ o (p´eld´ aul irracion´ alis vagy transzcendens) kifejez´eseket. El˝ osz¨or azt a t´enyt emelj¨ uk ki, hogy a program sz´ amokat, illetve szimb´ olumokat tartalmaz´o kifejez´esek ´atalak´ıt´ as´an´ al k¨ ul¨ onb¨ oz˝o t´ıpus´ u transzform´aci´ os szab´alyokat (azonoss´agokat) alkalmaz. Ha egy be´ep´ıtett matematikai f¨ uggv´eny argumentum´ aban csak k¨ ozel´ıt˝ o numerikus ´ert´ek szerepel, akkor a program a sz´ oban forg´ o kifejez´est a 3.1.4. pontban jelzett m´ odon ki´ert´ekeli: # CQ C BQF 6  CQI "5 >Q  {-2.61352, 0.5 + 0.866025 I, 2.23607}

Ha egy be´ep´ıtett matematikai f¨ uggv´eny argumentum´ aba pontos numerikus ´ert´eket vagy be´ep´ıtett matematikai ´alland´ ot ´ırunk, akkor n´eh´ any esetben a helyettes´ıt´esi ´ert´ek egy m´asik (matematikai szempontb´ ol a megadottal ekvivalens) alakj´at kapjuk meg: "5 N  % 4I  #!" "5   Pi } {4, 2, 4

Itt is felh´ıvjuk az Olvas´ o figyelm´et a 3.1.4. pontban az inverz f¨ uggv´enyekkel kapcsolatban elmondottak egy l´enyeges k¨ovetkezm´eny´ere. Alap´ertelmez´esben a Mathematica sz´am´ara p´eld´ aul √ √ 1 3 3 i −1 = + 2 2 ´es nem (−1), mivel A0 +4+  ' CI I 1 + Sqrt[3] 2 2

Pontos numerikus ´ert´ekeket tartalmaz´o matematikai kifejez´esek ´atalak´ıt´ as´an´ al a program bizonyos azonoss´agokat automatikusan alkalmaz: "5 > "5  5 4+  '  G "5  IF 13160704 + 7598336 Sqrt[3]

154

3. Fejezetek a matematik´ab´ ol % 4I 3

A k¨ ovetkez˝o kifejez´est azonban nem alak´ıtja a´t: % ) C %  -Log[3] + Log[4]

A program szimb´ olumokat tartalmaz´o matematikai kifejez´esek ki´ert´ekel´es´en´el automatikusan csak olyan azonoss´agokat haszn´ al fel, amelyek a szimb´olumok minden komplex ´ert´eke eset´en ´erv´enyesek. Ezt illusztr´alj´ ak az al´ abbi p´eld´ ak:  $I 4I+ 4I( 3 3 x + y {a b , E } "5 + (  {Sqrt[x y], %  $  {Log[a b],

"5 + "5 (  Sqrt[x] Sqrt[y]}

%  G % $ 

% I$  b Log[a] + Log[b], Log[a ]}

Az ut´ obbi k´et eredm´eny magyar´ azata az, hogy a √ √ √ xy = x y, log(ab) = log a + log b egyenl˝ os´egek komplex sz´amok eset´en a´ltal´ aban nem ´erv´enyesek. Val´oban: "5 C C  {1, -1} % C C  2 {0, -Pi }

"5 C "5 C  % C % C 

Matematikai kifejez´esek ´atalak´ıt´ as´ahoz haszn´ alhatjuk a

0B bels˝o f¨ uggv´enyt, amely az (ab)c hatv´ anyt az ac bc szorzattal helyettes´ıti: &Y4+  '  $I! c c a b

3.2. Matematikai kifejez´esek

155

&Y4+  ' "5 + ( Sqrt[x] Sqrt[y]

Vigy´ aznunk kell azonban arra, hogy csak olyan a, b, c param´eterek eset´eben alkalmazzuk ezt az elj´ar´ ast, amikor az (ab)c = ac bc egyenl˝ os´eg ´erv´enyes. El˝ ofordulhat, hogy az eddig ismertetett f¨ uggv´enyekkel egy adott kifejez´est nem az ig´enyeinknek megfelel˝ o alakban kapjuk meg. Ilyenkor p´eld´ aul transzform´ aci´ os szab´alyokat (l´ asd a 2.3.2. pontot) defini´ alhatunk, ´es ezeket a

9  (ennek r¨ ovid alakja: $H), vagy pedig a

99 (ennek r¨ ovid alakja: $$H) elj´ ar´ assal alkalmazhatjuk a sz´ oban forg´ o kifejez´esre: %  $ ! ' Q % +, (, CJ % + G % ( Log[a] + Log[b c d] %  $ ! ' Q % +, (, CJ % + G % ( Log[a] + Log[b] + Log[c] + Log[d]  +  "  +, CJ  " + A +  "   G I Q  + 2 2 2 Cos[(1 + t) ] Sin[(1 + t) ]

3.2.6. Nevezetes o ¨sszegek ´ es szorzatok Adott sz´ am´ u tagot (t´enyez˝ot) tartalmaz´o ¨osszeget (szorzatot) a

6 (0 ) bels˝o f¨ uggv´ennyel sz´amolhatunk ki:

156

3. Fejezetek a matematik´ab´ ol "0 =I =  LLN 2652690986

&'! + G = =  ) (1 + x) (2 + x) (3 + x) (4 + x)

Igen sok esetben azonban olyan o¨sszegekre (szorzatokra) is kaphatunk z´art (pontos) formul´ at, amelyekben a tagok (t´enyez˝ok) sz´am´at szimb´olummal adjuk meg. Ehhez ny´ ujt seg´ıts´eget az

&36)&63 programcsomag 6 (0 ) f¨ uggv´enye. Olvassuk be ezt a programcsomagot: #$K"(0$!"0K

´es el˝osz¨or n´eh´ any j´ ol ismert ¨osszeget hat´arozzunk meg: "0 = =   n (1 + n) 2 "0 =I =   n (1 + n) (1 + 2 n) 6 "0 =I =  2 2 n (1 + n) 4



A k¨ ovetkez˝o p´eld´ aval a tov´ abbi lehet˝ os´egeket illusztr´aljuk: "0 CI= S 0    =  = B 2 n Pi n ] 4 Cos[ 3



A Mathematica teh´at azt ´all´ıtja, hogy     n  2nπ k 2n n . (−3) = 4 cos 3 2k k=0

(Hogyan lehet ezt bebizony´ıtani?) uggv´ennyel sz´amos v´egtelen sornak a pontos ¨osszeg´et is Ezzel a 6 f¨ meghat´arozhatjuk. P´eld´ aul:

3.2. Matematikai kifejez´esek

157

"0 > G ) = G M =I = B 6 *  ( Pi Log[2] 2 3 12 6 "0 =I =  6 *  ( 2 Pi 6 "0 =IF =  6 *  (   : B  {Zeta[17], 1.6449340668482264365}

Trigonometrikus ¨osszegek kisz´amol´as´ahoz sz¨ uks´eg eset´en be kell h´ıvni az

&3)3 programcsomagot. P´eld´ aul a n 

sin(kx)

k=1

¨osszeget (a Dirichlet-magot) ´ıgy hat´ arozhatjuk meg a Mathematic´ a val:

E'!

"0 " = +  =    "0 *( n x (1 + n) x x ] Sin[ ] Csc[ ] Sin[ 2 2 2

A 6 f¨ uggv´enyhez hasonl´ o lehet˝os´egekkel rendelkezik a 0  elj´ ar´ as is. P´eld´ aul: &'!  C = G >I = B  4 (6 + n) 5 (5 + n)

Ennek a f¨ uggv´enynek a seg´ıts´eg´evel v´egtelen szorzatokat is meghat´arozhatunk. A Wallis-formul´ at p´eld´ aul ´ıgy kaphatjuk meg: &'! ) =  G = G  =I =  6 *  ( Pi 4

A 6 ´es a 0  k¨ uls˝ o f¨ uggv´enybe be´ep´ıtett algoritmusok (l´asd [2]) elm´eleti alapj´ at Gauss, Saalschutz, Kummer ´e s Dixon klasszikus t´etelei k´epezik. Ezek az eredm´enyek azt ´all´ıtj´ ak, hogy a ak (v´eges vagy v´egtelen) ¨osszeg kifejezhet˝o a hipergeometrikus f¨ uggv´enyekkel azokban az esetekben, anyados a k index racion´ alis t¨ ortf¨ uggv´enye. amikor az ak+1 /ak h´

158

3. Fejezetek a matematik´ab´ ol

3.3. Egyenletek megold´ asa Line´ aris egyenletrendszerek megold´as´aval a 3.8., differenci´ alegyenletekkel pedig a 3.5. szakaszban foglalkozunk. Ebben a szakaszban a programnak azokat a f¨ uggv´enyeit ismertetj¨ uk, amelyeket egy´eb matematikai f¨ uggv´enyeket tartalmaz´ o egyenletek ´es egyenletrendszerek megold´as´an´ al haszn´ alhatunk. Egyenletek pontos megold´ as´ at a

9  9

6 6 B)

bels˝o f¨ uggv´enyekkel ´all´ıthatjuk el˝ o abban az esetben, ha a bemen˝ o adatok a szimbolikus v´ altoz´okon k´ıv¨ ul csup´ an pontos numerikus ´ert´ekeket vagy be´ep´ıtett matematikai ´alland´ okat tartalmaznak. Ha a bemen˝o adatok valamelyike explicit tizedesponttal megadott sz´am, akkor az im´ent felsorolt f¨ uggv´enyek numerikus m´odszerek alkalmaz´as´aval adj´ ak meg a pontos megold´as egy k¨ ozel´ıt˝ o ´ert´ek´et. Szint´en numerikus m´ odszert alkalmazva hat´ aroznak meg k¨ozel´ıt˝ o megold´asokat az al´abbi f¨ uggv´enyek:

 9 9

6

A Mathematica egyenletmegold´o algoritmusai a v´altoz´okat ´es a param´etereket komplex sz´amoknak tekintik, ´es alap´ertelmez´esben a megadott egyenlet komplex megold´asait keresik.

3.3.1. Az utas´ıt´ asok szintaxisa A Mathematica logikai a´ll´ıt´ asnak tekinti az egyenleteket, ez´ert ezeket a uk. Az matematik´aban megszokott  helyett a  szimb´olummal jel¨olj¨ x2 + x = 2 egyenletet a Mathematic´ a ban teh´ at ´ıgy adjuk meg: +I G +  

3.3. Egyenletek megold´ asa

159

Adott  komplex sz´am eset´en a fenti utas´ıt´ as eredm´enye  vagy   att´ ol f¨ ugg˝ oen, hogy  megold´asa-e a sz´oban forg´ o egyenletnek: +I G +   Q + CJ C + CJ ) {True, False}

• Egyismeretlenes egyenletek Egy ismeretlent tartalmaz´o egyenlet komplex megold´asait a

6*).  , alakban megadott utas´ıt´ assal kaphatjuk meg. (A m´ asodik argumentum ki´ır´ asa nem k¨otelez˝o.) P´eld´ aul: (    +I C + G   B "1 (   + {{x ->

4 + 2 Sqrt[3] 4 -2 Sqrt[3] }, {x -> }} 2 2

A fenti utas´ıt´ assorozat els˝ o sora azt jelenti, hogy az egyenlet¨ unknek az )+ nevet adtuk. A tov´abbiakban az egyenletre ezzel a v´altoz´oval hivatkozhatunk. Az elnevez´es term´eszetesen nem k¨otelez˝o, de sok esetben hasznos lehet. A kapott eredm´enyt ´ıgy egyszer˝ us´ıthetj¨ uk: 0'  "0 *( : {{x -> 2 - Sqrt[3]}, {x -> 2 + Sqrt[3]}}

´es visszahelyettes´ıt´essel ´ıgy ellen˝ orizhetj¨ uk: (   Q : "0 *( : {True, True}

Figyelj¨ uk meg, hogy a 6 f¨ uggv´eny list´ak list´a j´ aval ´es transzform´aci´os szab´alyokkal adja meg a megold´asokat, amelyekre a tov´abbi m˝ uveletekben k´etf´ele m´odon hivatkozhatunk. Az els˝ o lehet˝os´eg az, hogy ugyanazt a v´ altoz´onevet haszn´aljuk egy kifejez´esben, mint az egyenletben, ´es a megold´ ast transzform´ aci´ os szab´alyk´ent alkalmazzuk:

160

3. Fejezetek a matematik´ab´ ol >+I) G + Q 0' 4 {3 (2 - Sqrt[3]) + 5 (2 - Sqrt[3]) , 4 3 (2 + Sqrt[3]) + 5 (2 + Sqrt[3]) }

4+  ' : {491 - 283 Sqrt[3], 491 + 283 Sqrt[3]}

(Mivel t¨ obb gy¨ oke van az egyenletnek, ez´ert az eredm´eny egy lista.) A m´asik lehet˝os´eg pedig az, hogy az eredm´enyt kifejez´esnek tekintve kiv´alasztjuk annak megfelel˝ o r´esz´et a szok´ asos m´odon: az adott r´eszhez vezet˝o indexek egy sorozat´aval (l´asd a 2.3.1. pontot): +  0'

   2 - Sqrt[3] +  0'

   2 + Sqrt[3]

A f¨ onti p´eld´ aban a v´ altoz´on ´es a m˝ uveleti jeleken k´ıv¨ ul csak pontos uggv´enybe numerikus ´ert´ekek szerepelnek. Az ilyen esetekben a 6 f¨ be´ep´ıtett algoritmus az egyenlet pontos megold´asait keresi. Ha az egy¨ utthat´ ok valamelyik´et k¨ozel´ıt˝ o numerikus ´ert´ekkel (teh´at a tizeuggv´eny numerikus despont explicit ki´ır´ as´aval) adjuk meg, akkor a 6 f¨ m´odszer felhaszn´al´ as´aval hat´ arozza meg a pontos megold´as egy k¨ozel´ıt˝ o ´ert´ek´et: (    +I C Q+ G   B "1 (   + {{x -> 0.267949}, {x -> 3.73205}}

Ugyanezt az eredm´enyt kapjuk akkor is, ha az  bels˝o f¨ uggv´enyt alkalmazzuk a pontos megold´ asra:  0' {{x -> 0.267949}, {x -> 3.73205}}

T¨obbsz¨ or¨ os gy¨ok¨ ot a Mathematica annyiszor sorol fel, amennyi annak a multiplicit´ asa: "1 +I C + G   B + {{x -> 1}, {x -> 1}}

A program u ¨res list´aval (transzform´ aci´ os szab´alyok u ¨res halmaz´ aval) jelzi azt a t´enyt, hogy a beadott egyenletnek nincs komplex megold´ asa:

3.3. Egyenletek megold´ asa

161

"1 + +C G + + G   B + {} "1 "5 +CM G "5 +   + {}

Ha az egyenletnek v´egtelen sok megold´asa van, akkor u ¨res list´at tartalmaz´o list´at kapunk eredm´eny¨ ul (hiszen ilyenkor megszor´ıt´ ast nem tartalmaz´o transzform´ aci´ os szab´aly az eredm´eny): "1 + G I  +I G + G  + {{}} "1 +C C )C+  +C + {{}}

A 9 bels˝o f¨ uggv´eny logikai a´ll´ıt´ as form´ aj´ aban adja meg egy egyenlet megold´as´at: E  +I G +   + -3 + Sqrt[17] -3 - Sqrt[17] || x == x == 2 2

Ebb˝ ol a 9 f¨ uggv´ennyel transzform´ aci´ os szab´alyt le´ır´ o list´akat kapunk:

E : Sequence[{x ->

-3 - Sqrt[17] -3 - Sqrt[17] }, {x -> }] 2 2

Ha a 6 f¨ uggv´eny nem tal´ alja meg a k´ert egyenlet pontos megold´as´at, akkor ezt ´ıgy jelzi: "1 +I> G >+ G   B + 5 {ToRules[Roots[5 x + x == -1, x]]}

• Felt´ etelek megad´ asa uggv´eny els˝o argumentum´ aba be´ırhatunk egyenleteket tartalmaA 6 f¨ z´o logikai kifejez´eseket is: "1 +I  + // + ; B + {{x -> -1}, {x -> 1}}

162

3. Fejezetek a matematik´ab´ ol "1 +I  + // + ;  -1}, {x -> 0}, {x -> -Sqrt[2]}, {x -> Sqrt[2]}}

Eg´esz egy¨ utthat´ os polinomegyenlet gy¨okeit a Zp v´eges sz´amtestben a

#    felt´etel megad´asa eset´en kaphatjuk meg: "1 +I> G N+I) G F+I G F+I G + G >  B // '  L + {{Modulus -> 19, x -> -18}, {Modulus -> 19, x -> -16}, {Modulus -> 19, x -> -12}, {Modulus -> 19, x -> -7}, {Modulus -> 19, x -> -1}}

Ha modulust nem adunk meg, akkor a 6 f¨ uggv´eny harmadik aralva a Mathematica olyan gumentum´ aban a # 2?#  opci´ot haszn´ modulust is keres, amelyre vonatkoz´ oan a megadott egyenleteknek van k¨ oz¨os megold´asa: "1 +I G   B +I G   B + ' CJ ' {{Modulus -> 2, x -> -1}}

• Param´ etert tartalmaz´ o egyenletek Az egyenlet ismeretlen´et˝ol k¨ ul¨ onb¨ oz˝o szimb´olumokat a program komplex uggv´eny a param´eterek vizsg´alat´ aval nem param´eternek tekinti. A 6 f¨ foglalkozik: "1  + G $  B + b {{x -> -( )}} a

Sz´ amos, param´eter(eke)t is tartalmaz´o egyenlet matematikai szempontb´ ol korrekt megold´ asait adja meg a

9 *).  , utas´ıt´ as, azaz a param´eter(ek) o¨sszes lehets´eges ´ert´ek´et figyelembe v´eve ( diszkusszi´oval egy¨ utt”) kapjuk meg az egyenlet megold´ as´at: ” E'!  + G $  B + b b == 0 && a == 0 || a != 0 && x == -( ) a

3.3. Egyenletek megold´ asa

163

Hasonl´ıtsuk o¨ssze p´eld´ aul a k¨ ovetkez˝o k´et utas´ıt´ as eredm´eny´et: "1  +I G $ + G !  B + E'!  +I G $ + G !  B +

• Egyenletrendszerek uggv´ennyel sz´amos egyenletrendszer A 6, a 9 ´es a 9  bels˝o f¨ komplex megold´ asait is el˝o tudjuk a´ll´ıtani. A Mathematica egyik legalapvet˝obb adatszerkezet´enek, a list´anak a felhaszn´ al´ as´aval ezt a sz´and´ekunkat ´ıgy k¨ oz¨olhetj¨ uk a programmal: "1 +I G (I G I  L) + G ( G   ) + ( G +   )> + (  {{y -> 2, z -> 3, x -> 9}, {y -> 3, z -> 2, x -> 9}, 9 - Sqrt[57] 9 + Sqrt[57] {y -> , z -> , x -> 5}, 2 2 9 - Sqrt[57] 9 + Sqrt[57] , z -> , x -> 5}} {y -> 2 2

Az egyenleteket logikai jelekkel is ¨osszekapcsolhatjuk: "1 + G (   // + C (   + ( 1 3 {{x -> , y -> - }} 2 2 "1 + G (   1 - y}, {x -> 2 + y}}

3.3.2. Egyenletek pontos megold´ asa K¨ ul¨ onb¨ oz˝o t´ıpus´ u egyenletek pontos megold´asainak explicit el˝ o´all´ıt´ as´at sz´amos matematikai eredm´eny korl´ atozza. Ebben a pontban ezek felid´ez´ese mellett ismertetj¨ uk a Mathematica program a´ltal ny´ ujtott lehet˝ os´egeket. Egyenletek matematikai le´ır´ as´anak egy lehets´eges m´odja a k¨ ovetkez˝o. Legyen A ´es B nem u ¨res halmaz, ´es tekints¨ uk az f : A → B f¨ uggv´enyt. Adott b ∈ B eset´en hat´ arozzuk meg a M := {x ∈ A : f (x) = b}

(1)

164

3. Fejezetek a matematik´ab´ ol

halmazt. Erre a feladatra gyakran u ´gy hivatkozunk, hogy oldjuk meg az ” f (x) = b ?(x ∈ A) (2) egyenletet”. Ha x ∈ M , akkor x-et a (2) egyenlet megold´ as´ anak (vagy gy¨ ok´enek), az M halmazt pedig a (2) megold´ ashalmaz´ anak nevezz¨ uk. A (2) egyenletnek nincs megold´ asa, vagy az egyenlet nem oldhat´o meg, ha M az u ¨res halmaz. Egy´ertelm˝ u a megold´ as, ha az M halmaz egyelem˝ u. Ilyen a´ltal´ anos felt´etelek mellett a megold´ashalmazr´ ol vajmi kev´es mondhat´ o. Sz´ amos (t¨obb esetben m´ely) matematikai eredm´eny ismeretes k¨ ul¨ onb¨ oz˝o speci´alis m´ odon megv´ alasztott A, B halmaz ´es f f¨ uggv´eny eset´eben. • Polinomegyenletek A Mathematica jelenlegi v´ altozatai polinomokat tartalmaz´ o egyenletek ´es egyenletrendszerek megold´asainak el˝ oa´ll´ıt´ as´ahoz ny´ ujtj´ ak a legt¨ obb seg´ıts´eget. uk el˝ osz¨or az egy ismeretlent tartalmaz´o egyenleteket, azaz legyen Tekints¨ A := B := C ´es n  ak xk (x ∈ C, ak ∈ C, n ∈ N) p(x) := k=0

adott algebrai polinomf¨ uggv´eny. Az algebra alapt´etele” szerint a ” p(x) = 0

?(x ∈ C)

(3)

egyenletnek pontosan annyi gy¨ oke van, amennyi a p polinom foksz´ama, ha minden gy¨ ok´et annyiszor sz´am´ıtjuk, amennyi a multiplicit´ asa. Ismeretes, hogy tetsz˝oleges, legfeljebb negyedfok´ u polinom komplex gy¨ okeinek explicit el˝o´ all´ıt´ as´ara van (megold´ o)k´eplet, azaz a (3) egyenlet megold´ asait fel lehet ´ırni a p polinom egy¨ utthat´ oival az alapm˝ uveletek ´es a gy¨ okvon´ as v´eges sokszori alkalmaz´ as´aval. ´ Erdemes kipr´ ob´ alni, hogy ezeket a megold´ ok´epleteket a Mathematica is ismeri, ez´ert seg´ıts´eg´evel b´armely, legfeljebb negyedfok´ u polinomegyenlet komplex megold´asait el˝o tudjuk a´ll´ıtani. Tekints¨ uk p´eld´ aul a k¨ ovetkez˝o feladatot. Jel¨ olje x1 , x2 , x3 az x3 +px+q = 0 egyenlet gy¨okeit. Bizony´ıtsuk be, hogy x51 + x52 + x53 = 5pq.

3.3. Egyenletek megold´ asa

165

Egy lehets´eges megold´as: 0'  "1 +I +  0'

  +  0'

  +  0'

  +I> G +I> G +I> "0 *( : 

 @ : 5 p q

G + G 5  B +       

Mutatunk egy m´ asik megold´ast is: # ( & +I> Q ./  0'  "0 *( : 

 @ : 5 p q

A Galois-elm´elet egyik m´ely eredm´enye azt ´all´ıtja, hogy n´egyn´el magasabb foksz´ am´ u polinom gy¨ okeinek explicit el˝ o´all´ıt´ as´ara nincs a´ltal´ anos megold´ ok´eplet. Ez az eredm´eny nem z´ arja ki annak lehet˝ os´eg´et, hogy minden n-edfok´ u n ≥ 5 egyenletnek legyen (esetleg egyenletr˝ol egyenletre v´ altoz´o) gy¨ okk´eplete. Bebizony´ıthat´ o azonban az is, hogy tetsz˝ oleges n ≥ 5 term´eszetes sz´amhoz l´etezik olyan n-edfok´ u, eg´esz egy¨ utthat´ o j´ u polinom, amelyhez a fenti ´ertelemben nincs megold´ok´eplet. Ilyen p´eld´ aul az x5 − 4x+ 2 = 0 egyenlet is. uggA fenti negat´ıv jelleg˝ u eredm´enyek ellen´ere a 6 ´es a 9  f¨ v´eny sz´amos, n´egyn´el magasabb foksz´am´ u polinomegyenlet pontos megold´ as´at k´epes el˝oa´ll´ıtani. Ilyenkor a program a matematik´ aban megszokott uggv´enybe m´odszert k¨oveti. Egyr´eszt az adott polinomot a  bels˝o f¨ be´ep´ıtett algoritmusok (l´asd a 3.2.1. pontot) felhaszn´ al´ as´aval megpr´ ob´ alja alacsonyabb foksz´ am´ u t´enyez˝ok szorzat´ara felbontani. M´ asr´eszt alacsonyabb foksz´ am´ u polinomok kompoz´ıci´ o jak´ent igyekszik el˝o´all´ıtani a megadott polinomot, azaz u ´j v´ altoz´o bevezet´es´evel cs¨okkenti annak foksz´ am´at. uggv´eny ehhez a 7  bels˝o f¨ uggv´enybe beA 6 ´es a 9  f¨ ´ep´ıtett algoritmusokat (l´asd a 3.1.3. pontot) h´ıvja meg. Pr´ ob´ aljuk ki p´eld´ aul a k¨ ovetkez˝o utas´ıt´ asokat: "1 +I> C >+I) G M>+I C >+I G F)+ C B  B + "1 +IN G CR+I> G CR+I) G CR+I CR+I G CR+ G  C   B +

Az x5 − 4x + 2 = 0 egyenlet megold´ asaira nincs megold´ok´eplet. ´Igy nem meglep˝o, hogy a Mathematica sem ´all´ıtja el˝ o a gy¨ ok¨ oket:

166

3. Fejezetek a matematik´ab´ ol "1 +I> C )+ G   B + 5 {ToRules[Roots[x - 4 x + 2 == 0, x]}

N´eh´ any esetben bizonyos megold´ asokat megkapunk, m´asokat pedig nem. P´eld´ aul:  +IBC+ILC+IMG+IFG+I)C+ICF+IG+G "1  B + {{x -> 1}, {x -> -Sqrt[3]}, {x -> Sqrt[3]}, 7 ToRules[Roots[2 x + x == -1, x]]}

Vannak azonban olyan polinomegyenletek is, amelyeknek gy¨ okjelekkel kifejezhet˝o megold´asait a Mathematica nem tal´alja meg. A [89] referenciak¨ onyv 609. oldal´ an is tal´ alhatunk egy ilyen p´eld´ at: (   +IN C L+I) C )+I G F+I C N+ C   B "1 (   + 2 3 4 6 {ToRules[Roots[-36 x + 27 x - 4 x - 9x + x == 23, x]]}

Ennek az egyenletnek azonban

√ 3

2+



3 egyik gy¨ oke. Val´ oban:

(  Q + CJ I G "5   "0 *( : True

Az &349 3 programcsomagban l´ev˝o

49 f¨ uggv´ennyel val´ os egy¨ utthat´ os polinom adott intervallumba es˝o val´ os gy¨okeinek a sz´am´at hat´ arozhatjuk meg. Ez az elj´ ar´ as a Sturm-f´ele m´odszert alkalmazza: A E  +I C  + B  1

A E  +I) C +I + C  2

A E  +I> G +I) G +I C )+I C + C> + B 6 *  ( 1

3.3. Egyenletek megold´ asa

167

• Egy´ eb egyenletek Nincs ´altal´ anosan haszn´ alhat´ o m´ odszer nem polinomokat tartalmaz´ o egyenletek pontos megold´asainak az el˝o´all´ıt´ as´ara. Ennek ellen´ere a Mathematica 6 ´es 9  f¨uggv´enye n´eh´any ilyen egyenlet szimbolikus megold´as´ara is k´epes. Eml´ekeztet¨ unk arra, hogy az egyenletmegold´ o algoritmusok ´altal´ aban a komplex megold´asokat pr´ ob´ alj´ ak el˝oa´ll´ıtani. Felh´ıvjuk a figyelmet arra is, hogy a program a´ltal adott eredm´enyt c´elszer˝ u ellen˝ orizni. A matematik´ aban megszokott m´odon j´ arhatunk el akkor, amikor a fentebb megeml´ıtett elj´ ar´ asok nem tudj´ ak meghat´arozni a beadott egyenlet gy¨ okeit. Nevezetesen: a program egy´eb f¨ uggv´enyeinek felhaszn´ al´ as´aval az egyenletet sokszor olyan alakra hozhatjuk, amelyr˝ ol a megold´as m´ar egyszer˝ uen leolvashat´ o. N´eh´ any p´elda bemutat´ as´aval illusztr´aljuk a Mathematica ´altal ny´ ujtott lehet˝os´egeket. Vegy¨ unk el˝ osz¨or egy n´egyzetgy¨ ok¨ ot tartalmaz´o egyenletet: "1 "5 + G  G "5 +   + 9 }} {{x -> 16

Az egyenletnek val´ oban 9/16 az egyetlen komplex megold´asa. A k¨ovetkez˝o sz´amol´asok felhaszn´al´ as´aval lehet ezt bebizony´ıtani: "5 + G  I C 4+  '  C "5 + I -3 + 4 Sqrt[x] "1 :  B + 9 }} {{x -> 16 "5 LN G  G "5 LN 2

A 6 f¨ uggv´eny u ¨res list´at ad eredm´eny¨ ul, ha az egyenletnek nincs (komplex) megold´ asa. P´eld´ aul: "1 "5 + C M G "5 +   + {}

Ezt az eredm´enyt p´eld´ aul ´ıgy ellen˝ orizhetj¨ uk: "5 + C M I C 4+  '  C "5 + I -12 + 4 Sqrt[x]

168

3. Fejezetek a matematik´ab´ ol "1 :  B + {{x -> 9}}

"5 L C M G "5 L 4

Oldjuk most meg a k¨ ovetkez˝o trigonometrikus egyenletet: sin4 x + sin4 2x + sin4 3x = cos4 x + cos4 2x + cos4 3x

?(x ∈ R).

uggv´eny nem ad seg´ıts´eget. Rendezz¨ uk a bal Ebben az esetben a 6 f¨ oldalra az egyenletet ´es az ´ıgy kapott kifejez´est pr´ob´ aljuk meg szorzatt´a alak´ıtani: $  " + I) G " + I) G " + I) C A + I) C A + I) C A + I) !  $  CJ  -((1 + 2 Cos[2 x]) (Cos[2 x] - Sin[2 x]) (Cos[2 x] + Sin[2 x]))

Az eredeti egyenlet M megold´ashalmaza teh´ at egyenl˝o a fenti t´enyez˝ok val´ os z´erushelyeit tartalmaz´ o halmazok (jel¨ olj¨ uk ezeket rendre az M1 , az uk az els˝o t´enyez˝o M2 , illetve az M3 szimb´olummal) egyes´ıt´es´evel. N´ezz¨ z´erushelyeit: "1  G  A +  B + Solve::ifun: Warning: Inverse functions are being used by Solve, so some solutions may not be found. Pi }} {{x -> 3

Figyelj¨ uk meg, hogy a 6 elj´ ar´ as a v´egtelen sok megold´as k¨oz¨ ul csak egyet ad meg. A cos f¨ uggv´eny periodicit´ as´at figyelembe v´eve az els˝o t´enyez˝o val´ os z´erushelyeinek a halmaza: M1 = {(3k ± 1)π/3 : k ∈ Z}. A m´asodik, illetve a harmadik t´enyez˝o z´erushelyeinek a halmaza a "1

 +   + Solve::ifun: Warning: Inverse functions are being used by Solve, so some solutions may not be found. Pi }} {{x -> 8

3.3. Egyenletek megold´ asa

169

"1

 +  C + Solve::ifun: Warning: Inverse functions are being used by Solve, so some solutions may not be found. Pi {{x -> - }} 8

alapj´ an π π π π + k : k ∈ Z}, illetve M3 = { − + k : k ∈ Z}. 8 2 8 2 Az egyenlet megold´ ashalmaza teh´ at: π π M = M1 ∪ M2 ∪ M3 = {(2k + 1) : k ∈ Z} ∪ {(3k ± 1) : k ∈ Z}. 8 3 N´ezz¨ unk egy p´eld´ at logaritmust tartalmaz´o egyenletre. Meghat´arozzuk a M2 = {

1 logx (2t − x) logt x + = logx 2 logt 2 logt2 −1 2

?(x ∈ R)

egyenlet gy¨okeit, ahol t val´ os param´eter. A val´ os logaritmusf¨ uggv´eny√tulajdons´ agaib´ ol k¨ ovetkezik, hogy az egyenletnek csak a t ∈ (1, +∞) \ { 2} param´eter´ert´ek eset´en lehet val´os megold´ asa. Az x megold´asnak pedig ki kell el´eg´ıtenie az x > 0, az x = 1 ´es a 2t − x > 0 felt´eteleket. uggv´eny nem tudja megoldani ezt az egyenletet, A 6 ´es a 9  f¨ ez´ert el˝osz¨or a´talak´ıt´ asokat v´egz¨ unk: =*  % +  C+ % +  G%  + %   C % IC  2 Log[2 t - x] Log[x] Log[-1 + t ] ) + + -( Log[2] Log[2] Log[2] =*   @ =* 2 -Log[-1 + t ] + Log[2 t - x] + Log[x] Log[2]

A Mathematica logaritmusok ¨osszeg´et, illetve k¨ ul¨ onbs´eg´et nem alak´ıtja a´t automatikusan szorzat, illetve h´ anyados logaritmus´ ara, mert a log a + log b = log ab egyenl˝ os´eg a komplex sz´amtestben nem ´erv´enyes (l´asd a 3.2.5. pontot). A tett felt´etelek mellett azonban fenn´ all a fenti egyenl˝ os´eg. Ha ezt alkalmazni szeretn´enk, akkor egy transzform´ aci´ os szab´alyt kell defini´ alnunk:

170

3. Fejezetek a matematik´ab´ ol @(  ,Q % $, G !,Q % $, CJ % $I 'I!  a c {Log[b_] (a_.) + Log[d_] (c_.) -> Log[b d ]}

A 6 elj´ ar´ assal ´ıgy kaphatjuk meg a megold´ asokat: "1 =*  B + Q @( "0 *( : Solve::tdep: The equations appear to involve transcendental functions of the variables in an essentially non-algebraic way. {{x -> -1 + t}, {x -> 1 + t}}

Az egyenlet megold´ asa teh´ √ at x = t ± 1. Az x > 0 ´es a 2t − x > 0 felt´etel ul, az x = 1 felt´etel pedig csak minden t ∈ (1, +∞) \ { 2} eset´en teljes¨ akkor, ha t = 2. A t = 2 esetben az egyenletnek egyetlen megold´asa: x = 3. A Mathematic´ a t meg lehet tan´ıtani bizonyos f¨ uggv´enyegyenletek megold´ as´ara is. Az ´erdekl˝od˝ o Olvas´ o figyelm´et felh´ıvjuk az ezzel a t´em´aval kapcsolatos [15] dolgozatra. • Egyenletrendszerek uggv´eny a Gr¨ obner-b´ azisok elm´elet´et alkalmazza polinomokat A 6 f¨ tartalmaz´o egyenletrendszerek megold´as´an´ al. A 3.2.1. pont Gr¨ obner-b´ azisok c´ım˝ u alpontj´ aban bevezetett jel¨ol´eseket ´es fogalmakat ebben az alpontban tov´ abbi hivatkoz´ as n´elk¨ ul fogjuk haszn´ alni. Legyen n r¨ ogz´ıtett term´eszetes sz´am, ´es keress¨ uk a P := {p1 , · · · , pk } ⊂ Q[x] polinomokkal k´epzett pi (x1 , x2 , · · · , xn ) = 0

(1 ≤ i ≤ k)

(1)

egyenletrendszer komplex megold´asait. R¨ogz´ıts¨ unk egy alkalmas ≤ rendez´esi rel´aci´ ot a 3.2.1. pontban defini´ alt T al (≤-re vonatkoz´ o) halmazon, ´es legyen G := {g1 , · · · , gl } ⊂ Q[x] a (P ) ide´ Gr¨ obner-b´ azisa. Mivel a G ´ altal gener´ alt ide´ al megegyezik a P halmaz ´altal gener´alt ide´ allal, ez´ert az (1) egyenletrendszer megold´ashalmaza egyenl˝ oa gi (x1 , x2 , · · · , xn ) = 0

(1 ≤ i ≤ l)

(2)

egyenletrendszer megold´ashalmaz´aval. Ha az (1) egyenletrendszer line´aris, akkor a Gauss-f´ele elimin´ aci´ os elj´ar´ assal kaphatunk egy vele ekvivalens, h´ aromsz¨og alak´ u” (´es ez´ert egysze” r˝ uen megoldhat´ o) egyenletrendszert.

3.3. Egyenletek megold´ asa

171

B. Buchberger [14] ezt a m´odszert ´altal´ anos´ıtotta arra az esetre, amikor uggv´enyek polinomok. J´ ol haszn´ alhat´ o algoritmust a pi (i = 1, 2, · · · , k) f¨ is adott az (1) rendszerrel ekvivalens, h´ aromsz¨og alak´ u” (2) egyenletrend” szer megkonstru´al´ as´ara. Bebizony´ıtotta azt is, hogy minden P ⊂ Q[x] v´eges halmazhoz l´etezik ilyen G polinomrendszer (ezt nevezte el Gr¨obner-b´ azisnak), amelynek seg´ıts´eg´evel (a line´aris esethez hasonl´oan) meg´allap´ıthat´ o a megold´as l´etez´ese ´es egy´ertelm˝ us´ege, valamint el˝o´all´ıthat´ o a megold´as is. Az elmondottakat a k¨ovetkez˝o p´eld´ ak bemutat´ as´aval illusztr´aljuk. Oldjuk meg el˝ osz¨or a C2 halmazon a k¨ ovetkez˝o egyenletrendszert: xy − x − y = 22, 2

2

x + y + 3(x + y) = 88.

(3)

Sz´ am´ıtsuk ki el˝ osz¨or a (3) egyenletrendszernek megfelel˝o (P ) ide´ al G Gr¨ obner-b´ azis´ at: O$ S + ( C + C ( C  +I G (I G  + G ( C MM + ( 2 3 4 {330 + 286 y - 89 y + y + y , 2 3 176 + 23 x - 87 y + 2 y + y }

Mivel (P ) = (G), ez´ert a 23x − y 3 + 2y 2 − 87y = −176, y 4 + y 3 − 89y 2 + 286y = −330 egyenletrendszer ekvivalens a (3) egyenletrendszerrel, ´es ez ut´obbi m´ ar k¨ ozvetlen¨ ul megoldhat´ o. uggv´eny a (3) egyenletrendszert: Ezzel a m´odszerrel oldja meg a 6 f¨ "1 + ( C + C ( C   B +I G (I G  + G ( C MM B + (  "0 *( : 11 + I Sqrt[11] 11 - I Sqrt[11] , y -> }, 2 2 11 - I Sqrt[11] 11 + I Sqrt[11] , y -> }, {x -> 2 2 {x -> -6 - Sqrt[26], y -> -6 + Sqrt[26]},

{{x ->

{x -> -6 + Sqrt[26], y -> -6 - Sqrt[26]}}

Bebizony´ıthat´ o az, hogy ha az (1) egyenletrendszernek v´eges sok megold´ asa van, akkor a megfelel˝o Gr¨ obner-b´ azissal kapott (2) egyenletrendszer

172

3. Fejezetek a matematik´ab´ ol

h´ aromsz¨og alak´ u”. Ilyen esetekben a Mathematica akkor tudja meghat´ a” rozni a k´ert egyenletrendszer pontos gy¨okeit, ha meg tudja oldani a megfelel˝ o (most m´ar egyv´altoz´os) polinomegyenleteket. A Gr¨ obner-b´ azisok seg´ıts´eg´evel sz¨ uks´eges ´es el´egs´eges felt´etel adhat´ o az (1) egyenletrendszer megold´asainak l´etez´es´ere. Az erre vonatkoz´ o ´all´ıt´ as (l´ asd p´eld´ aul [28], Theorem 10.11) a k¨ ovetkez˝o: az (1) egyenletrendszer akal G Gr¨ obnerkor ´es csak akkor oldhat´ o meg a Cn halmazon, ha a (P ) ide´ uggv´eny b´ azisa nem tartalmazza az 1 polinomot. Ilyen esetekben a 6 f¨ u ¨res list´at ad eredm´eny¨ ul: "1 +I ( G ) (I C F  B  + ( C  (I G M  B + (I C > + ( G   B + (  {}

Sz´ amoljuk most ki a megfelel˝o Gr¨ obner-b´ azist is: O$ S +I ( G ) (I C F  + ( C  (I G M + (I C > + ( G  + (  {1}

A megold´asok egy´ertelm˝ us´eg´ere vonatkoz´oan a k¨ ovetkez˝o ´all´ıt´ as bizony´ıthat´ o be (l´ asd p´eld´ aul [28], Theorem 10.12). Jel¨ olj¨ uk a H szimb´ olummal az 1 rendszerhez tartoz´ o (P ) ide´ al G Gr¨ obner-b´ azis´ aban szerepl˝ o f˝ otagok halmaz´ at. Ekkor az (1) egyenletrendszernek pontosan akkor van v´eges sok megold´ asa, ha minden 1 ≤ i ≤ n indexhez l´etezik olyan m term´eszetes sz´ am, hogy (xi )m ∈ H. Ezt felhaszn´ alva bizony´ıthajuk be p´eld´ aul azt, hogy az 2xy + yz = 27, 3yz − 2xz = 25, xz − xy = 4 egyenletrendszernek v´eges sok megold´asa van, ugyanis: O$ S  + ( G (  C F  (  C  +  C > +  C + ( C ) + (  2 {-25 + z , 5 y - 3 z, 5 x - 2 z}

A 6 f¨ uggv´eny meghat´ arozza a gy¨ok¨ oket: "1  + ( G (  C F  B  (  C  +  C >  B +  C + ( C )  B + ( 

3.3. Egyenletek megold´ asa

173

{{x -> -2, y -> -3, z -> -5}, {x -> 2, y -> 3, z -> 5}}

Tekints¨ uk most a k¨ ovetkez˝o egyenletrendszert: zx + yx − x + z 2 = 2, xy 2 + 2zx − 3x + z + y = 1, 2

2

(4)

3

2z + zy − 3z + 2zy + y − 3y = 0. uggv´eny seg´ıts´eg´evel. A Mathematica Pr´ ob´ aljuk megoldani ezt a 6 f¨ 2.2.2. v´altozat´ aval mi ezt az eredm´enyt kaptuk: "1  + G ( + C + G I C + (I G   + C  + G  I G  (I C   G + (  Solve::svars: Warning: Equations may not "solve" variables. Out of memory. Exiting.

  B  G ( C   B   ( G (I C  (  B

give solutions for all

Ez azt jelenti, hogy a 6 elj´ ar´ as nem tudta megoldani a (4) egyenletet. Hat´arozzuk meg a (4) egyenletrendszerhez tartoz´o Gr¨ obner-b´ azist: O$ S  + G ( + C + G I C  + (I G   + C  + G  G ( C   I G  (I C   G   ( G (I C  ( + (  2 3 4 5 6 {-10 + 8 z + 15 z - 8 z - 7 z + 2 z + z , 2 3 4 5 + y - 3 z - 5 z + 2 z + z , 2 2 4 -4 - 2 x + 4 z + x z - z }

A kor´ abban kimondott a´ll´ıt´ ast figyelembe v´eve ebb˝ol az eredm´enyb˝ ol azt kapjuk, hogy a sz´ oban forg´ o egyenletrendszernek v´egtelen sok megold´asa van. A fenti Gr¨ obner-b´ azis seg´ıts´eg´evel fel´ırhatjuk a (4) rendszerrel ekvivalens h´ aromsz¨og alak´ u” egyenletrendszert is: ” −2x + 4z 2 + xz 2 − z 4 = 4, y − 3z − 5z 2 + 2z 3 + z 4 = −5, 2

3

4

5

6

8z + 15z − 8z − 7z + 2z + z = 10, ar´ as m´ar meg tud oldani: amit a 6 elj´ (  :

  B :

  B :

  B "1 ( + (  

(5)

174

3. Fejezetek a matematik´ab´ ol "@ :  Solve::svars: Warning: Equations may not give solutions for all "solve" variables. {{y -> 1 - Sqrt[2], z -> Sqrt[2]}, }

A kapott ol ´es az (5) els˝o egyenlet´eb˝ ol k¨ ovetkezik, hogy az √ √eredm´enyb˝ armas minden x ∈ C eset´en kiel´eg´ıti (4)-et, aminek (x, 1 − 2, 2) sz´amh´ teh´ at v´egtelen sok megold´asa van. A program ebben az esetben csak n´eh´ any (v´eges sok) gy¨ ok¨ ot ad meg, ´es figyelmeztet benn¨ unket arra, hogy lehetnek m´as megold´asok is. ar´ as param´etert tartalmaz´o egyenletrendszer gy¨okeit diszA 9  elj´ ” kusszi´oval egy¨ utt” adja meg. P´eld´ aul: E'! R G +R(  + C (  G + G ( G + (  B + (  "0 *( : 1 x == -3 && y == - && a == -1 || 2 1 x == - && y == -3 && a == 1 || 2 -1 + a != 0 && 1 + a != 0 && 2 -(2 + a + Sqrt[-4 + 5 a ) && x == 2 (1 + a) 2 2 - a + Sqrt[-4 + 5 a y == || 2 (-1 + a) -1 + a != 0 && 1 + a != 0 && 2 -2 - a + Sqrt[-4 + 5 a && x == 2 (1 + a) 2 2 - a - Sqrt[-4 + 5 a y == 2 (-1 + a)

Param´etereket tartalmaz´o egyenletrendszereket a param´eterekre oldja meg a

6 B) f¨ uggv´eny. Pontosabban: ez az elj´ ar´ as a param´eterek azon ´ert´ekeit keresi, amelyekre a megadott felt´etelek a v´altoz´ok minden lehets´eges komplex ´ert´ek´ere teljes¨ ulnek.

3.3. Egyenletek megold´ asa

175

Hat´arozzuk meg p´eld´ aul az a, b ´es c ∈ C param´etereket u ´gy, hogy az os´eg teljes¨ ulj¨ on minden olyan (x, y) ∈ C2 sz´amax2 + bxy + cy 2 = 1 egyenl˝ p´ arra, amelyre az x + y = 1 is fenn´ all. A feladatot a Mathematic´ a val ´ıgy oldhatjuk meg: "1#Y(

60  + G (    +I G $ + ( G ! (I    + ( {{a -> 1, b -> 2, c -> 1}}

Oldjuk meg a k¨ ovetkez˝o feladatot is. Jel¨olj¨ uk a 3x2 + ax + b = 0 egyenlet gy¨ okeit x1 -gyel ´es x2 -vel, az f (x) :=

5x + 2 2x − 1

(x ∈ R \ {1/2})

line´ aris t¨ ortf¨ uggv´enynek az x1 ´es x2 helyeken felvett ´ert´ekeit y1 - ´es y2 -vel. Hat´arozzuk meg az a ´es b ´ert´ekeket, ha tudjuk, hogy y1 ´es y2 kiel´eg´ıti a 7y 2 − 5y − 11 = 0 egyenletet. A megold´as a Mathematic´ a val a k¨ ovetkez˝o: * +,  >+ G + C  "1#Y(

60  +I G  + G $  B F* + I C >* + C   B  + {{a -> 7, b -> 1}}

A 6 f¨ uggv´enyhez hasonl´ oan a 6 B) f¨ uggv´eny is els˝osorban polinomokat tartalmaz´o egyenletrendszerek megold´as´ahoz ny´ ujt seg´ıts´eget. A Mathematica bizonyos nem polinomokat tartalmaz´o egyenletrendszerek megold´as´ara is k´epes. A lehet˝os´egek az egyismeretlenes egyenletekhez hasonl´ oak (l´asd az Egy´eb egyenletek c´ım˝ u alpontot). Itt csup´ an k´et olyan p´eld´ at mutatunk, amelyet a program meg tud oldani: "1 +R(+G(  M (R(G > R+G+  )F + (  {{x -> 8, y -> 4, z -> 6}}

"1 "5 + G ( G "5 + C (  B "5 +I C (I  L + ( {{x -> 41, y -> -40}, {x -> 41, y -> 40}}

176

3. Fejezetek a matematik´ab´ ol

3.3.3. Egyenletek k¨ ozel´ıt˝ o megold´ asa A Mathematica t¨ obb lehet˝ os´eget is k´ın´ al egyenletek ´es egyenletrendszerek k¨ ozel´ıt˝ o megold´asainak el˝ o´ all´ıt´ as´ara. A tov´ abbiakban jelezz¨ uk azt, hogy a program k´esz´ıt˝ oi milyen numerikus m´odszert ´ep´ıtettek be az egyes elj´ar´ asokba ´es a be´ep´ıtett algoritmusok k¨oz¨ ul hogyan v´ alaszthatjuk ki az ig´enyeinknek megfelel˝ ot. A k¨ ozel´ıt˝ o megold´asokat ak´ar t¨ obb ezer ´ert´ekes jegyre is meghat´arozhatjuk a Mathematic´ a val. Ezt t¨ obb esetben az opci´ok alkalmas megv´alaszt´as´aval tehetj¨ uk meg. A numerikus f¨ uggv´enyek sz´amos opci´oval rendelkeznek. Ezek jelent´es´er˝ol ´es haszn´alatuk m´ odj´ ar´ ol a [89] referenciak¨ onyvb˝ ol szerezhet¨ unk inform´ aci´ ot. Ha a feladatunk megold´ as´ahoz ez nem elegend˝o, akkor ´erdemes tanulm´anyozni a [40] ´es a [41] dolgozatot. es az *6* ,, elj´ ar´ as • Az *9 * ,,, az *9 * ,, ´ uggv´enyt alkalmazhatjuk a pontos megold´ asokat keres˝o Az  numerikus f¨ 9 , 9 ´es 6 f¨uggv´enyekre. A tov´abbiakban ezek k¨oz¨ul csak a 6 f¨uggv´enyt tanulm´anyozzuk. Ebben az esetben a Mathematica el˝osz¨or az egyenlet(rendszer) ¨ osszes pontos megold´as´at keresi. Ha megtal´ alja (els˝ osorban polinomot tartalmaz´ o egyenletek ´es egyenletrendszerek eset´eben), akkor veszi azok k¨ozel´ıt˝ o ´ert´ek´et:  "1 +I G + C F  B +  B {{x -> -3.8284271247461900976}, {x -> 1.8284271247461900976}}

Figyelmeztet˝o u ¨zenetet k¨ uld akkor, ha az egyenlet(rendszer)nek a megtal´ alt gy¨ ok(¨ ok)¨ on k´ıv¨ ul m´ as megold´asai is lehetnek:  "1 A +   + Solve::ifun: Warning: Inverse functions are being used by Solve, so some solutions may not be found. {{x -> 1.0472}}

Ha a program szimbolikus m´ odszerek alkalmaz´as´aval nem tudja meghat´ arozni a pontos megold´ asokat, akkor numerikus m´ odszerek felhaszn´al´ as´aval dolgozik tov´ abb:

3.3. Egyenletek megold´ asa

177

 "1 +I> C )+ G   B + {{x -> -1.51851}, {x -> -0.116792 - 1.43845 I}, {x -> -0.116792 + 1.43845 I}, {x -> 0.508499}, {x -> 1.2436}}

• Az 9 ´ es az 6 elj´ ar´ as ar´ as k¨oz¨ott az eredm´enyt tekintve nincs Az 6 ´es az *6* ,, elj´ k¨ ul¨ onbs´eg. Az 6 f¨ uggv´enybe be´ep´ıtett algoritmusok k¨ozvetlen¨ ul numerikus m´ odszerek alkalmaz´as´aval keresik a megold´as(ok) egy k¨ ozel´ıt˝ o ´ert´ear´ assal gyorsabban kapjuk meg a v´alaszt, k´et, ez´ert ´altal´ aban az 6 elj´ ar´ assal: mint az *6* ,, elj´

0  "1 + (I G ( G +I C   B  G + G + (I  B + (  {21.366 Second, Null}

0   "1 + (I G ( G +I C   B  G + G + (I  B + (  {432.479 Second, Null}

A megold´asoknak ak´ ar t¨ obb ezer ´ert´ekes jegy´et is megkaphatjuk. Ha uggv´eny harmadik argumentum´ aba egy konkr´et n term´eszetes az 6 f¨ sz´amot ´ırunk, akkor a Mathematica n ´ert´ekes jegyet tartalmaz´o sz´amok (l. a 3.1.3. pontot) alkalmaz´ as´aval oldja meg az egyenletet: "1 "5 +   G > + + B {{x -> 1.90983005625052575898}, {x -> 13.090169943749474241}}

• A  9 f¨ uggv´ eny Az el˝ oz˝oekben ismertetett Mathematica-f¨ uggv´enyek t¨ obb esetben nem tal´ alj´ ak meg a beadott egyenlet egy´ebk´ent l´etez˝o megold´as´at. Tegy¨ uk fel p´eld´ aul azt, hogy a 1 (1) tg x = 2x + 4 egyenlet val´ os gy¨okeit szeretn´enk meghat´ arozni. A pontos megold´ asok explicit el˝o´all´ıt´ as´aban nem rem´enykedhet¨ unk, ez´ert uggv´ennyel pr´ ob´ alkoel˝osz¨or a numerikus megold´ ast szolg´altat´ o 6 f¨ zunk:

178

3. Fejezetek a matematik´ab´ ol "1

 +  + G ) + Solve::tdep: The equations appear to involve transcendental functions of the variables in an essentially non-algebraic way. 1 + 2 x, x] NSolve[Tan[x] == 4

Az ehhez hasonl´ o esetekben a  9 bels˝o f¨ uggv´enyt haszn´ alhatjuk. A matematik´ aban egyenlet(rendszer)ek numerikus megold´ as´ara sz´amos iter´aci´ os elj´ar´ as ismeretes. Ezek k¨oz¨os von´ asa az, hogy egy (vagy t¨ obb) kezd˝o´ert´ekb˝ ol kiindulva k´epez¨ unk olyan sorozatot, amelynek hat´ar´ert´eke a uggv´eny is ilyen m´odszekeresett (pontos) megold´as. A  9 bels˝o f¨ reket alkalmaz. uggv´enyt Az elmondottakb´ ol az is k¨ovetkezik, hogy ha a  9 f¨ k´ıv´ anjuk haszn´ alni, akkor egyr´eszt kezd˝o´ert´eket (azaz az iter´aci´ os sorozat els˝o tagj´ at) is meg kell adnunk, m´ asr´eszt csup´an egyetlen (a kezd˝o´ert´ekhez legk¨ozelebbi) megold´ ast fogjuk megkapni. A kezdeti k¨ ozel´ıt´es j´ o” megv´a” laszt´as´ahoz (azaz ahhoz, hogy az el´eg k¨ozel” legyen valamelyik megol” d´ ashoz) a Mathematica egy´eb f¨ uggv´enyei ´altal biztos´ıtott lehet˝ os´egeket is felhaszn´ alhatjuk. A feladatunkhoz visszat´erve tekints¨ uk p´eld´ aul a k¨ ovetkez˝o ´abr´ at: &  +  + G ) + C& & & E  CJ C> > 4 2

-1.5

-1

-0.5

0.5

1

1.5

-2 -4

Az ´abr´ ar´ ol leolvashat´o (sz¨ uks´eg eset´en be is bizony´ıthat´ o), hogy az (1) egyenletnek a (−π/2, π/2) intervallumban pontosan h´ arom k¨ ul¨ onb¨ oz˝o val´ os gy¨ oke van. A kezd˝ o´ert´ek megv´alaszt´as´ahoz is kapunk seg´ıts´eget:

3.3. Egyenletek megold´ asa

179

 'E

 +  + G ) +  {x -> 1.21323}  'E

 +  + G ) + CBQ {x -> -0.255724}  'E

 +  + G ) + CQ {x -> -1.09475}

M´ asik intervallumba es˝ o gy¨ ok¨ ot is hasonl´ o m´odon hat´ arozhatunk meg. uggv´enybe h´ arom k¨ ul¨ onb¨ oz˝o algoritmust ´ep´ıtettek be: a A  9 f¨ Newton-f´ele ´erint˝ om´odszert, a Brent-f´ele elj´ ar´ ast, valamint a szel˝om´odszert. ´ Erdekes m´ odon a felhaszn´ al´ o ebben az esetben nem opci´o megad´as´aval, hanem az utas´ıt´ as szintaxis´ aval tudja kiv´ alasztani a feladat´ anak megfelel˝o algoritmust. Ha az f (x) = 0 ?(x ∈ C) egyenlet megold´as´ahoz a

 9*5*,  M. -. M/, alakban megadott utas´ıt´ ast haszn´aljuk, akkor a Mathematica a Newton-f´ele m´odszert alkalmazza, azaz az x0 kezdeti k¨ozel´ıt´esb˝ol kiindulva k´epezi az xn+1 := xn −

f (xn ) f  (xn )

(n ∈ N)

sorozatot. Az f f¨ uggv´eny deriv´altj´ at szimbolikusan hat´arozza meg. Ha az f f¨ uggv´eny nem differenci´alhat´ o, akkor ennek k¨ ozl´es´evel befejezi a ki´ert´ekel´est:  'E #$ +  A +  + C FindRoot::frjc: Could not symbolically find the Jacobian of {Abs[x] - Cos[x]}. Try giving two starting values for each variable. FindRoot[Abs[x] == Cos[x], {x, -1}]

A  9 m´asodik argumentum´ aban azonban k´et kezd˝o´ert´eket is megadhatunk:

 9*5*,  M. -. M. +/,

180

3. Fejezetek a matematik´ab´ ol

A Mathematica ekkor az intervallumfelez´esen alapul´ o Brent-f´ele elj´ ar´ ast haszn´ alja abban az esetben, ha a k´et adott pontban felvett f¨ uggv´eny´ert´ek k¨ ul¨ onb¨ oz˝o el˝ojel˝ u. Egy´ebk´ent a program a szel˝ om´odszert alkalmazza:  'E #$ +  A +  + C B {x -> -0.739085}

Az f (x) = 0 egyenlet [a, b] intervallumba es˝ o gy¨ ok´et a c kezd˝o´ert´ekb˝ ol kiindulva a

 9*5*,  M. -. . . &/, utas´ıt´ assal kapjuk meg. A program ebben az esetben a Newton-f´ele ´erint˝ om´odszert alkalmazza. P´eld´ aul:  'E " + C +I)  B +    {x -> 1.93375}

Az el˝ oz˝oekhez hasonl´ oan k´et kezdeti k¨ozel´ıt´est is megadhatunk:

 9*5*,  M. -. +. (. . &/, Ez az elj´ar´ as a Brent-f´ele m´odszerrel vagy pedig a szel˝om´odszerrel sz´am´ıtja ki a megold´ ast. P´eld´ aul:  'E " + C +I)  B + C C C)  -8 {x -> 9.17319 10 }

A k¨ ovetkez˝o szintaxist is haszn´alhatjuk:  'E " + C +I)  B + C C C)  FindRoot::regex: Reached the point {1.96266} which is outside the region {{-4., 1.}}. {x -> 1.96266}

A  9 f¨ uggv´enyt olyan egyenletrendszerek megold´as´ahoz is haszn´ alhatjuk, amelyekben az egyenletek sz´ama megegyezik az ismeretlenek sz´am´aval. J´ o” kezd˝o´ert´ek megv´alaszt´as´ahoz ebben az esetben a 0F7, ” uggv´eny adhat seg´ıts´eget: a 40 vagy a  # f¨  'E " + G (I G %  + G (I C I + G ( G  {x -> 2.33687, y -> 0.740478, z

   ->

  > + B ( B   1.92265}

3.4. Anal´ızis

181

3.4. Anal´ızis Ebben a szakaszban azt szeretn´enk megmutatni, hogy az anal´ızis t´emak¨ or´ehez tartoz´o probl´em´ak megold´asa sor´an hogyan haszn´ alhatjuk fel a Mathematic´ a t. A defin´ıci´ okat ´es a t´eteleket kev´es kiv´etelt˝ol eltekintve nem fogalmazzuk meg. Ezeket a [20], [44], [48], [61], valamint a [72] bevezet˝ o k¨ onyvek mindegyike tartalmazza. Sok feladatot a matematik´ aban megszokott m´odon pontosan (szimbolikusan) is megoldhatunk, p´eld´ aul a , a 7, a 6, az  elj´ ar´ as seg´ıts´eg´evel. A program ´altal adott eredm´enyek ´ert´ekel´es´en´el azonban vegy¨ uk figyelembe azt, hogy a beadott matematikai f¨ uggv´enyeket a Mathematica a legt¨obb esetben komplex v´ altoz´osaknak, a param´etereket pedig komplex ´ert´ek˝ ueknek tekinti ´es a ki´ert´ekel´es sor´an csak n´eh´ any azonoss´ agot alkalmaz automatikusan. A kapott eredm´enyt m´as elj´ar´ asok seg´ıts´eg´evel vagy transzform´ aci´ os szab´alyok megad´as´aval alak´ıthatjuk a´t az ig´enyeinknek megfelel˝ o alakra. Sok esetben azonban c´elszer˝ ubb numerikus m´ odszereket alkalmaz´ o f¨ uggv´enyekkel (p´eld´ aul , 6 ´es ) kisz´amolni a pontos eredm´eny egy k¨ ozel´ıt˝ o ´ert´ek´et. Ekkor opci´ ok alkalmas megad´as´aval egyr´eszt t¨obb numerikus m´ odszer k¨ oz¨ ul is v´ alogathatunk, m´ asr´eszt igen t´ag hat´ arok k¨ oz¨ott szab´alyozhatjuk a ki´ert´ekel´esn´el felhaszn´ alt pontos sz´amjegyek sz´am´at is. A numerikus f¨ uggv´enyek opci´ oinak optim´alis” vagy az ” ig´enyeinknek megfelel˝ o (p´eld´ aul egy meghat´arozott m´odszerrel k´ıv´ anunk egy feladatot megoldani) megv´alaszt´asa sokszor nem egyszer˝ u feladat. A [89] referenciak¨ onyv¨ on k´ıv¨ ul a [40] ´es a [41] dolgozatb´ ol ismerhetj¨ uk meg a numerikus f¨ uggv´enyek opci´ oinak jelent´es´et ´es haszn´alatuk m´ odj´ at. A szerz˝ok sz´amos p´eld´ aval illusztr´alj´ ak a lehet˝os´egeket. Az alkalmazott numerikus m´ odszerek elm´elet´et illet˝oen a [47], [65], [73] ´es a [78] k¨onyveket aj´ anljuk az Olvas´ o figyelm´ebe. onyvet is szenteltek m´ar anV´eg¨ ul megeml´ıtj¨ uk m´eg azt is, hogy t¨obb k¨ nak a k´erd´esnek a megv´alaszol´as´ara, hogy a Mathematic´ a t mik´eppen lehet felhaszn´ alni az anal´ızis oktat´ as´aban. Az Irodalomjegyz´ekben felt¨ untetett [12], [21] ´es [77] m˝ uveken k´ıv¨ ul tov´ abbiakat is tal´ alhat az ´erdekl˝od˝ o Olvas´ o a MathSource-on.

3.4.1. Be´ ep´ıtett speci´ alis f¨ uggv´ enyek A Mathematica a 3.1.4. pontban felsorolt matematikai f¨ uggv´enyeken k´ıv¨ ul az al´abbi f¨ uggv´enyeket is tartalmazza:

182

3. Fejezetek a matematik´ab´ ol

)  ) 0 )L )L0 LL L  L W L ; L X L 48&) 8 48&) 8! 4     ;  0 8  08    4  6

: :&4 11 1)M+ 1)++ 1)(+ 1)!  W&6 W&   W&0 W&6 W&6)& W&Y   0 808 :  088 0): 0) 968 96Y 6 681X Y

A 4 3773 programcsomagban tal´ alhat´ ok az al´abbi elj´ ar´ asok:

77

!6

Speci´ alis f¨ uggv´enyeket k¨ ul¨ onb¨ oz˝o m´odon (p´eld´ aul a norm´ al´ as k¨ ul¨ onb¨ oz˝o megv´alaszt´as´aval) szok´as ´ertelmezni a matematik´ aban. A felsorolt be´ep´ıtett f¨ uggv´enyek pontos defin´ıci´ oj´ at a [89] referenciak¨ onyv tartalmazza. N´eh´ any olyan esetben, amikor a fenti f¨ uggv´enyek argumentum´ aba csak pontos numerikus ´ert´ekeket vagy be´ep´ıtett matematikai ´alland´ okat (l´asd a 3.1.3. pontot) ´ırunk, a pontos helyettes´ıt´esi ´ert´eket kapjuk meg: O00   O00 >  [  N  &(O00 N  6 137 Sqrt[Pi] 135135 Sqrt[Pi] Pi , , , - EulerGamma} { 2 128 945 60

3.4. Anal´ızis

183

Az  f¨ uggv´enyt (l´ asd a 3.1.3. pontot) haszn´ alva azonban b´ armely komplex sz´am eset´en el˝o´ all´ıthatjuk a helyettes´ıt´esi ´ert´ek egy k¨ozel´ıt´es´et:  O00  G ) 6  F 0.00522553847136921 - 0.17254707929430019 I

Szeml´eltethetj¨ uk ezeket a f¨ uggv´enyeket. Pr´ ob´ aljuk ki p´eld´ aul a k¨ ovetkez˝o utas´ıt´ ast: & #$ [   G 6R(  ( B )B

A program speci´alis f¨ uggv´enyek k¨ oz¨ott fenn´ all´ o sz´amos ¨osszef¨ ugg´est ismer, ´es ezeket alkalmazni is tudja. P´eld´ aul: % '& > + 3 5 15 x - 70 x + 63 x 8 6   % '& > + % '& N +  + C  0 D O00 +  +  2 Gamma[x] PolyGamma[0, x] + Gamma[x] PolyGamma[1, x]

Itt eml´ıtj¨ uk meg a

#83L Y 3 programcsomagot, amelynek seg´ıts´eg´evel k¨ ul¨ onb¨ oz˝o t´ıpus´ u Bessel-f´ele f¨ uggv´enyek z´erushelyeinek k¨ ozel´ıt˝ o ´ert´ek´et kaphatjuk meg. A 0! @KS[K VSR

utas´ıt´ asok v´egrehajt´ asa ut´ an t´ aj´ekoz´odhatunk a k¨ ozvetlen¨ ul felhaszn´ alhat´ o f¨ uggv´enyek sz´eles k¨ or´er˝ol.

3.4.2. Sz´ amsorozatok ´ es sz´ amsorok Mivel a Mathematica komplex sz´amok kezel´es´ere is k´epes, ez´ert komplex tag´ u sorozatokkal v´egezhet¨ unk k¨ ul¨ onf´ele m˝ uveleteket. Ebben a pontban a programnak azokat a lehet˝ os´egeit ismertetj¨ uk, amelyeket sz´amsorozatok ´es sz´amsorok konvergenci´aj´ anak vizsg´alat´ an´ al felhaszn´ alhatunk.

184

3. Fejezetek a matematik´ab´ ol

• Sorozatok megad´ asa Sz´ amsorozatot (azaz N → C t´ıpus´ u f¨ uggv´enyt) matematikai szempontb´ol korrekt m´odon p´eld´ aul ´ıgy adhatunk meg:  ,  6 ?   // & 1   -

I 

Ezt a f¨ uggv´enyt a program is sorozatnak tekinti:   CQF   B      Q>      >  {a[-1.7], a[0], 1., a[2.5], 1.41421, 1.37973}

A sorozat hat´ar´ert´ek´et azonban csak akkor sz´amolja ki, ha a defin´ıci´ oban nem adunk meg felt´eteleket. Ez´ert a tov´ abbiakban sorozatot ´ıgy fogunk megadni: A   , - I  $ , -  G 6 & I

Sorozat viselked´es´er˝ol gyorsan alkothatunk megb´ızhat´o k´epet, egyr´eszt tetsz˝olegesen sok f¨ uggv´eny´ert´ek meghat´aroz´as´aval. A b sorozat els˝ o 20 helyettes´ıt´esi ´ert´ek´enek egy k¨ ozel´ıt´es´et p´eld´ aul ´ıgy kaphatjuk meg:

$  $    B

Felhaszn´ alhatjuk a Mathematica grafikai lehet˝ os´egeit is. P´eld´ aul az a val´ os uggv´ennyel ´ıgy szeml´eltethetj¨ uk: sorozatot a  0 f¨  =  $  =  =  )B  % &  =

1.4 1.3 1.2 1.1

10

20

30

40

3.4. Anal´ızis

185

A 3.1.4. pontban volt m´ ar arr´ ol sz´o, hogy rekurz´ıv elj´ ar´ assal ´ertelmezett sorozatokat k´etf´elek´eppen adhatunk meg. Ha a rekurz´ıv m´odon megadott sorozat tagjai k¨ oz¨ott line´ aris vagy konvol´ uci´ os t´ıpus´ u o¨sszef¨ ugg´es ´all fenn, akkor a 7 #83963 programcsomag

96 elj´ ar´ asa az index f¨ uggv´eny´eben a´ll´ıtja el˝ o a tagokat. A 3.6.4. pontban mutatunk erre vonatkoz´ o p´eld´ akat. • Sz´ amsorozat hat´ ar´ ert´ eke ol a Az (an ) : N → C sorozatot konvergencia szempontj´ab´

**,.  2? 5), utas´ıt´ assal vizsg´alhatjuk. A be´ep´ıtett algoritmusok ebben az esetben a sorozat (t´ agabb ´ertelemben vett) hat´ ar´ert´ek´et keresik. P´eld´ aul: %0  C  GI G

CJ 6 *  (

1 E

%0  G 6 & I 

CJ 6 *  (

I

%0  IC)  CF

CJ 6 *  (

Infinity

A sorozat defin´ıci´ oja param´etert is tartalmazhat: %0 RI  C 

CJ 6 *  (

Log[a]

Azt a t´enyt, hogy a beadott sorozat nem konvergens, a Mathematica ´ıgy k¨ ozli a felhaszn´ al´ oval: %0 CI 

CJ 6 *  (

Indeterminate

N´eh´ any esetben v´ altozatlan form´aban kapjuk vissza a beg´epelt utas´ıt´ ast:

186

3. Fejezetek a matematik´ab´ ol %0 I=I  n

CJ 6 *  (

k

Limit[ n , n -> Infinity] a

Ez azt jelenti, hogy a program nem tudta meghat´ arozni a k´erdezett hat´ar´ert´eket. Ilyenkor a

4 33 programcsomag  nev˝ u f¨ uggv´eny´et ´erdemes kipr´ob´ alni, amely nagyobb teljes´ıtm´eny˝ u, mint bels˝ o t´ arsa: A!K%0 K %0 I=I  CJ 6 *  ( E

(-Infinity) Sign[Log[a]]

Az a ´es a b sz´am Gauss-f´ele sz´ amtani-m´ertani k¨ ozep´et az

8:#*. &, utas´ıt´ assal kapjuk meg. Eml´ekeztet¨ unk arra (l´ asd p´eld´ aul [78]-at), hogy ha a ´es b nemnegat´ıv val´ os sz´am, akkor az a0 := a, b0 := b,  an + bn , bn+1 := an bn (n ∈ N) an+1 := 2 formul´ aval ´ertelmezett (an ) ´es (bn ) sorozat konvergens, ´es lim (an ) = lim (bn ) =: M (a, b).

n→+∞

n→+∞

Ezt a k¨ oz¨os hat´ ar´ert´eket nevezz¨ uk az a ´es a b sz´am Gauss-f´ele sz´ amtanim´ertani k¨ ozep´e nek: # @0 !O0 ! "5    ArithmeticGeometricMean[1, Sqrt[2]]

 : B 1.1981402347355922074

Matematikat¨ ort´ √eneti ´erdekess´eg, hogy a tin´edzser Gauss m´ar 1791-ben ozep´enek els˝o 20 pontos meghat´arozta a 2 ´es az 1 sz´amtani-m´ertani k¨ jegy´et. Megjegyezz¨ uk m´eg azt is, hogy az M (a, b) sz´amokat elliptikus integr´alokkal lehet kifejezni. Gauss 1799-ben igazolta az al´ abbi o¨sszef¨ ugg´est:

3.4. Anal´ızis

187 

1

0

dt √ 1 − t4



√ π · M ( 2, 1) = . 2

uls˝ o f¨ uggv´eny szimbolikus (analitikus) m´ odszer alkalA  bels˝o ´es k¨ uggv´eny, maz´as´aval sz´am´ıtja ki a hat´ ar´ert´eket. A 6 bels˝o f¨ valamint a #833 programcsomagban lev˝o  k¨ uls˝ o f¨ uggv´eny a sorozat n´eh´ any tagj´ ab´ ol numerikus m´ odszert felhaszn´ alva adja meg a k´erdezett hat´ar´ert´ek egy k¨ozel´ıt´es´et. A

6 bels˝o f¨ uggv´enyt olyan sorozat hat´ ar´ert´ek´enek meghat´aroz´as´ahoz c´elszer˝ u haszn´ alni, amelynek az n-edik tagja n 

Pi (n)λni

k=1

alak´ u, ahol Pi -k polinomok ´es λi -k k¨ ul¨ onb¨ oz˝o sz´amok. Ebbe a f¨ uggv´enybe a Wynn-f´ele ε-algoritmust ´ep´ıtett´ek be. Ezt az algoritmust alkalmazza az

 f¨ uggv´eny is, ha a #8 opci´oj´ anak ´ert´eke 6. A hat´ ar´ert´ek egy k¨ozel´ıt˝ o ´ert´ek´et az ´altal´ anos´ıtott Euler-f´ele transzform´aci´ o m´odszer´evel kapjuk meg akkor, ha a #8 opci´o ´ert´eke 6. A fenti f¨ uggv´enyek sz´amos tov´abbi opci´ oval is rendelkeznek. Ezekkel egyr´eszt az alkalmazott numerikus m´odszer param´etereit, m´asr´eszt a ki´ert´ekel´es sor´an felhaszn´alt ´ert´ekes sz´amjegyek sz´am´at m´odos´ıthatjuk (l´ asd a [40] dolgozatot). • Sorok konvergenci´ aja Hasznos seg´ıts´eget ny´ ujthat az &36)&63 programcsomag

6 f¨ uggv´enye. Ismeretes, hogy ha az ak+1 /ak (k ∈ N) h´ anyados a k racion´ alis

188

3. Fejezetek a matematik´ab´ ol

f¨ uggv´enye, akkor a n 

ak ,

valamint a

k=1

∞ 

ak

k=1

¨osszeg kifejezhet˝o a hipergeometrikus f¨ uggv´enyekkel. Ilyen elj´ ar´ asokat ´ep´ıtettek be ebbe a 6 f¨ uggv´enybe (l´ asd [2]-t). Olvassuk be ezt a programcsomagot: #$K"(0$"0K

 Ezut´ an a ak sz´amsor konvergenci´a j´ at t¨obbf´ele m´odszerrel is vizsg´alhatjuk. Szerencs´es esetben a r´eszlet¨osszegekre z´art formul´ at kapunk, ´es ekuls˝ o) f¨ uggv´enyt alkalmazhatjuk: kor a  (bels˝o vagy k¨  ,  "0 CI=R)=GM=GR=G> = B n 5 + 3 (-1) + 2 n 3 (5 + 2 n) %0   CJ 6 *  ( 1 3



A 6 f¨ uggv´eny seg´ıts´eg´evel sz´amos konvergens sor ¨osszeg´et a  f¨ uggv´eny haszn´ alata n´elk¨ ul is meghat´ arozhatjuk. P´eld´ aul: "0 CI=R)=GM=GR=G> = B 6 *  ( 1 3

Ha a fenti m´ odszerekkel nem kapjuk meg a k´ıv´ ant eredm´enyt, akkor a konvergencia eld¨ ont´es´ehez az ismert krit´eriumok valamelyik´et haszn´alhatjuk. Tekints¨ uk p´eld´ aul az  π A := n tg n+1 2 pozit´ıv tag´ u numerikus sort. Alkalmazzuk p´eld´ aul a h´ anyadoskrit´eriumot: A   , -

 &I G %0  G   CJ 6 *  ( 1 2

A sz´oban forg´ o sor teh´at konvergens. A Mathematica t¨ obb lehet˝ os´eget is tartalmaz sz´amsor ¨osszeg´enek k¨ ozel´ıt˝ o meghat´aroz´as´ara. Felhaszn´ alhatjuk egyr´eszt az el˝oz˝oekben eml´ıtett  k¨ uls˝ o f¨ uggv´enyt, m´asr´eszt az

3.4. Anal´ızis

189

6 bels˝o f¨ uggv´enyt. K¨ ul¨ onb¨ oz˝o numerikus m´ odszerek term´eszetesen k¨ ul¨ onb¨ oz˝o uggv´enyn´el v´alaszthat´o elj´ ar´ asokat a eredm´enyeket adhatnak. Az 6 f¨ k¨ ovetkez˝ akon mutatjuk be.  o p´2eld´ o ´ert´ek´et az Euler–Maclaurin-f´ele A 1/k sor ¨osszeg´enek egy k¨ozel´ıt˝ m´odszerrel ´ıgy sz´amolhatjuk ki: "0 =I =  6 *  (  @' CJ 6    6  0 : 1.64493406676001

A ki´ert´ekel´eshez a Wynn-f´ele ε-algoritmust ´ıgy v´ alaszthatjuk: "0 =I =  6 *  (  @' CJ "5 !%0  6  0 : 1.643485586660751

Hasonl´ıtsuk most o¨ssze a kapott eredm´enyeket a pontos ´ert´ekkel: "0 =I =  6 *  ( 2 Pi 6  : B 1.6449340668482264365

Az el˝ oz˝oekben ´ertelmezett A konvergens sz´amsor ¨osszeg´enek egy k¨ozel´ıt˝ o ´ert´ek´et teh´at ´ıgy kapjuk meg: "0  =  =  6 *  ( 3.40841

(Az 6 f¨ uggv´eny #8 opci´oja alap´ertelmez´esben . Ez azt jelenti, hogy a program v´ alasztja ki a ki´ert´ekel´esn´el a felhaszn´alt numerikus m´odszert.) A #833 programcsomag

6 f¨ uggv´enye az Euler-f´ele transzform´aci´ os elj´ar´ ast alkalmazza v´ altakoz´ o el˝ ojel˝ u sor ¨osszeg´enek numerikus meghat´ aroz´as´ahoz:

190

3. Fejezetek a matematik´ab´ ol 0! @K%0 K 4"0 CI==G = B 6 *  ( X= &! CJ )B 0 CJ B 4+  0 CJ B 0.785398163397448309615660845791303225402 : C  &) )B -29 -2.8572495647 10

Ezzel a f¨ uggv´ennyel n´eh´ any esetben a pontos o¨sszeget is megkaphatjuk: 4"0 =IC)=GI= C )=IC=GI= = 6 *  ( 4E  CJ     4+  0 CJ N 0 CJ B X= &! CJ 6 *  ( 29 -( ) 4

3.4.3. F¨ uggv´ enyek hat´ ar´ ert´ eke C → C t´ıpus´ u f f¨ uggv´eny x0 pontban vett hat´ ar´ert´ek´et a

*5*,.  2? M, utas´ıt´ assal kaphatjuk meg. Felhaszn´ alhatjuk a bels˝ o  f¨ uggv´enyt ´es u f¨ uggv´eny´et is, amely a 4 33 programcsomag azonos nev˝ nagyobb teljes´ıtm´eny˝ u, mint bels˝ o t´ arsa. Sz¨ uks´eg eset´en olvassuk be ezt a programcsomagot: A!K%0 K

A Mathematica a fenti utas´ıt´ as hat´as´ara szimbolikus algoritmusok alkalmaz´as´aval pr´ ob´ alja megadni a pontos eredm´enyt. Kereshetj¨ uk a hat´ ar´ert´eket adott val´ os vagy komplex pontban: %0 " + C   +  + CJ B 0 %0 I G 6 I) C   CJ 6 I 2

3.4. Anal´ızis

191

+∞-ben, valamint −∞-ben: %0 + C +I %  G +  + CJ 6 *  ( 1 2 %0 "5 +IG+G C"5 +IC+G  + CJ C6 *  ( -2

A f¨ uggv´eny helyettes´ıt´esi ´ert´eke param´etereket is tartalmazhat: %0 C+I  C 0C+I0 + CJ  

 @ : -m + n 2

Egyoldali hat´ ar´ert´eket a

7 opci´o alkalmas megv´alaszt´as´aval vizsg´alhatunk. Ha ennek ´ert´eke @+, akkor ar´ert´eket kapjuk meg: a bal oldali, ha 2+, akkor pedig a jobb oldali hat´ %0 G4+ +  + CJ B D!  CJ  1 %0 G4+ +  + CJ B D!  CJ C 0

Az opci´ o alap´ertelmez´es szerinti ´ert´ek´evel (ez ) a program n´eh´ any esetben a jobb oldali, m´ askor pedig az adott pontbeli hat´ ar´ert´eket adja meg: %0 G4+ +  + CJ B 0 %0 + + CJ B ComplexInfinity

A k¨ ovetkez˝o p´elda azt mutatja, hogy nem kell feladni a rem´enyt akkor, uggv´ennyel nem kapjuk meg a v´ art eredm´enyt: ha a  f¨ * +, - " "5 +G C " "5 + !  * +   CJ  Sqrt[1 + x] Sqrt[x] Sqrt[1 + x] Sqrt[x] + ] Sin[ ] -2 Cos[ 2 2 2 2

192

3. Fejezetek a matematik´ab´ ol %0 : + CJ 6 *  ( 0

K¨ onny˝ u ellen˝ orizni, hogy a k´erdezett hat´ar´ert´ek val´ oban null´ aval egyenl˝ o. Pr´ ob´ aljuk ki ezut´ an a k¨ ovetkez˝o utas´ıt´ ast is: %0 * +  + CJ 6 *  (

A  elj´ ar´ as alap´ertelmez´esben a L’Hospital-szab´aly alapj´ an keresi u opci´ oja a pontos eredm´enyt. Ennek a f¨ uggv´enynek van egy ) nev˝ is. Ha ezt az alap´ertelmez´essel ellent´etben a  ´ert´ekre ´all´ıtjuk, akkor a program a Taylor-sorfejt´est haszn´alva pr´ ob´ alja kisz´ am´ıtani a hat´ ar´ert´eket. A #833 programcsomag

 f¨ uggv´enye a vizsg´alt pont k¨ ornyezet´eb˝ ol v´ alasztott n´eh´ any pontban felvett f¨ uggv´eny´ert´ekb˝ ol numerikus m´ odszer alkalmaz´ as´aval adja meg a hat´ar´ert´ek egy k¨ozel´ıt´es´et. Tekints¨ uk a k¨ ovetkez˝o p´eld´ at: 0! @K%0 K %0 I+GI+GFI+I+ + CJ B 3.47603

A  f¨ uggv´eny egyik attrib´ utuma  & ´es ez azt jelenti, hogy az argumentum´ aban lista (vektor) is szerepelhet. A Mathematica ekkor a  f¨uggv´enyt a vektor minden elem´ere k¨ul¨on-k¨ul¨on alkalmazza. Ez´ert u f¨ uggv´enyek hat´ ar´ert´ek´et: igen egyszer˝ uen sz´amolhatjuk ki C → Cn t´ıpus´ A * x * +, - A@ +   + + x  %0 * +  + CJ B {1, 1, 1}

3.4.4. Differenci´ alsz´ am´ıt´ as A C → C t´ıpus´ u f f¨ uggv´eny x pontban vett deriv´ altj´ at a

7*5*,. , utas´ıt´ as eredm´enye adja meg abban az esetben, ha f -et be´ep´ıtett differenci´alhat´ o f¨ uggv´enyekkel defini´ aljuk:

3.4. Anal´ızis

193

A * * +, - " +I D * +  + 2 2 x Cos[x ]

Ezt az eredm´enyt ´ıgy is megkaphatjuk: *\ + 2 2 x Cos[x ]

D " +I  + 2 2 x Cos[x ]

A Mathematica ismeri ´es alkalmazni is tudja a m˝ uveletek ´es a deriv´alt k¨ oz¨ott fenn´ all´ o o¨sszef¨ ugg´eseket: D * + I +  + f[x]

-1 + g[x] g[x]

f’[x]

-

f[x]

1/g[x]

Log[f[x]] g’[x] 2 g[x]

A program a 7 f¨ uggv´eny m´asodik argumentum´ at´ ol k¨ ul¨ onb¨ oz˝o szimb´olumokat param´eternek tekinti. Sz¨ uks´eg eset´en a kapott eredm´enyt m´as elj´ar´ asok felhaszn´ al´ as´aval egyszer˝ us´ıthetj¨ uk: D $R+ G  "5 IC$I R #!  "5 C$G$ R  @ +  +  "0 *( :  &Y4+  ' :  : Q "5 +, "5 (, CJ "5 + ( 

 @ :  "0 *( : a + b Cosh[x] b + a Cosh[x]

Szakaszonk´ent k¨ ul¨ onb¨ oz˝o formul´ aval ´ertelmezett f¨ uggv´eny deriv´altj´ at is ar´ assal ´ertelmezz¨ uk. meghat´arozhatjuk, ha a f¨ uggv´enyt a S88 elj´  +, - X@!@ +JB +I +B C+I \ + 2 2 Which[x >= 0, 3 x , x < 0, -(3 x )]

194

3. Fejezetek a matematik´ab´ ol

Magasabb rend˝ u deriv´ altat ´ıgy sz´amolhatunk ki: D % + + + > 120 Log[x] 274 6 6 x x

Adott f¨ uggv´eny deriv´ altf¨ uggv´eny´et a

7 elj´ ar´ assal kapjuk meg. Figyelj¨ uk meg, hogy a Mathematica milyen form´ aban adja meg az eredm´enyt (l´ asd a 3.1.4. pontot): @ +, - " + 4+ + D1 1  @ #1 #1 E Cos[#1] + E Sin[#1] &

A deriv´ altf¨ uggv´eny helyettes´ıt´esi ´ert´eke: : + x x E Cos[x] + E Sin[x]

Magasabb rend˝ u deriv´ altf¨ uggv´enyeket is meghat´arozhatunk: D1 1  @ #1 2 E Cos[#1] & @\\ +  D1 1  @ + True

Adott f f¨ uggv´eny n-edik deriv´altj´ anak x0 pontbeli k¨ ozel´ıt˝ o ´ert´ek´et az

7*5*,. -. /. M, utas´ıt´ assal kapjuk meg. Ez az elj´ ar´ as a #833 programcsomagban tal´ alhat´ o: 0! @K%0 K D 4+ " +  +   0 CJ B C  D 4+ " +  +  Q + CJ  2.23989 10

-7

3.4. Anal´ızis

195

• T¨ obbv´ altoz´ os f¨ uggv´ enyek deriv´ altjai uggv´ennyel sz´amolhatunk ki. Adott n > 1 Parci´ alis deriv´ altakat is a 7 f¨ u f f¨ uggv´eny xj v´ altoz´oja szerinti term´eszetes sz´am eset´en a Cn → C t´ıpus´ parci´ alis deriv´ altf¨ uggv´eny´enek (x1 , · · · , xn ) pontbeli helyettes´ıt´esi ´ert´ek´et a

7*5*+.HHH.,. K, utas´ıt´ assal kapjuk meg. P´eld´ aul: D (I> A + G +I) A (  + 3 5 4 x Cos[y] - y Sin[x] D (I> A + G +I) A (  ( 4 4 5 y Cos[x] - x Sin[y]

Magasabb rend˝ u parci´ alis deriv´ altak at ´ıgy hat´ arozhatunk meg: D (I> A + G +I) A (  +  (  2 2 -60 y Cos[x] + 12 x Sin[y]

A Mathematica felt´etelezi azt, hogy a beadott f¨ uggv´eny elegend˝ oen sokszor differenci´alhat´ o ahhoz, hogy a parci´ alis deriv´ altak sorrendje felcser´elhet˝ o legyen. A k¨ ovetkez˝o p´eld´ akban figyelj¨ uk meg azt, hogy a program hogyan jel¨ oli a parci´ alis deriv´ altakat: D * + (  + (1, 0) f [x, y] D  + (   +  (  (2, 3, 0) g [x, y, z]

Cn → C t´ıpus´ u f¨ uggv´eny gradiens´et a 7 elj´ ar´ asnak, valamint a listakezel˝o f¨ uggv´enyeknek a seg´ıts´eg´evel ´ıgy ´ertelmezhetj¨ uk: '  *1 (, 1 =,% - D *1 ( . /  1 =

Itt felhaszn´ altuk a Mathematica tisztaf¨ uggv´eny-fogalm´ at (l´asd a 3.1.4. ponar´ as r¨ovid alakj´ at ($%). Figyelj¨ uk meg azt az ´erdekes t´enyt tot) ´es a # elj´ is, hogy a v´ altoz´ok sz´am´at´ ol f¨ uggetlen¨ ul ´ertelmezt¨ uk a fenti f¨ uggv´enyt.

196

3. Fejezetek a matematik´ab´ ol

A 0 3V4 3 programcsomag : nev˝ u f¨ uggv´enye is ezt a defin´ıci´ ot tartalmazza. Felh´ıvjuk az Olvas´ o figyelm´et arra, hogy a 4 3V )  3 programcsomagban is tau elj´ ar´ as. l´ alhat´ o egy m´asik, az el˝oz˝ot˝ ol k¨ ul¨ onb¨ oz˝o, : elnevez´es˝ Pr´ ob´ aljuk most ki a fenti defin´ıci´ o m˝ uk¨ od´es´et: '  +I C  (I + ( 2 {2 x, -9 y }

'  + ( G +  G (  + (  {y + z, x + z, x + y}

Sz´ am´ıtsuk most ki az f (x, y, z) := sin xyz (x, y, z) ∈ R3 f¨ uggv´eny3 any ment´en vett ir´ anymenti deriv´ altj´ at a nek az s = (−1, 2, 2) ∈ R ir´ P0 (π, 1/2, 1/2) pontban: * +, (, , - " + (    C   4(8=  ,% - "5 &  #$  I 4(8=   1 2 2 {- , , } 3 3 3

'  * + (   + (  Q 4(8=   2 x z Cos[x y z] y z Cos[x y z] 2 x y Cos[x y z] + 3 3 3

: Q + CJ & ( CJ   CJ   "0 *( -1 + 8 Pi 12 Sqrt[2]

(A H jel a 7 f¨ uggv´eny r¨ ovid alakja. Ezzel az elj´ar´ assal sz´amolhatjuk ki k´et val´os vektor skal´aris szorzat´at.) u f = (f1 , · · · , fm ) f¨ uggv´eny (tot´ alisan) Ha a Cn → Cm (n, m ∈ N) t´ıpus´ alis) deriv´altja a differenci´ alhat´ o az a ∈ Cn pontban, akkor az a-beli (tot´ k¨ ovetkez˝o m × n-es (Jacobi-)m´atrix: ⎞ ⎛ ∂f ∂f1 1 (a) · · · (a) ∂xn ⎟ ⎜ ∂x1 ⎟. .. .. ⎜ ⎠ ⎝ . . ∂fm ∂fm (a) · · · (a) ∂x1 ∂xn

3.4. Anal´ızis

197

Ezt a m´atrixot adja eredm´enyk´ent a k¨ ovetkez˝o f¨ uggv´eny: " # $  E % $ D1  +

*1 (,%  1 =,%   ,% - 2  D *1 ( 1 = Q 1 = CJ



Az els˝ o utas´ıt´ asban a transzform´ aci´ os szab´alyt megad´o 9 f¨ uggv´enyt utummal (l´ asd a 2.3.4. pontot). l´ attuk el a  & attrib´ Pr´ ob´ aljuk ki ezt a f¨ uggv´enyt is: D1  + * + (  * + (  * + (  + (  $   +0 f1 f2 f3

(1,0) (1,0) (1,0)

[a, b] [a, b] [a, b]

f1 f2 f3

(0,1) (0,1) (0,1)

[a, b] [a, b] [a, b]

D1  + +I C ( (I C + + + (     +0 : 2 -1 -1 2 1 0

A 0 3V4 3 programcsomagban l´euggv´eny is ezt a m´atrixot sz´ amolja ki. Ilyen elnevev˝ o W&# f¨ z´es˝ u, de az el˝ oz˝ot˝ol k¨ ul¨ onb¨ oz˝o f¨ uggv´eny a 4 3V )  3 programcsomagban is tal´ alhat´ o. • F¨ uggv´ enyek sz´ els˝ o´ ert´ ekei K´et p´eld´ an kereszt¨ ul ´erz´ekeltetj¨ uk azt, hogy az anal´ızis megfelel˝o eredm´enyeinek felhaszn´ al´ as´aval hogyan haszn´ alhatjuk a Mathematic´ a t bizonyos u f¨ uggv´enyek sz´els˝o´ert´ekeinek kisz´amol´as´ahoz. Line´ aris f¨ uggRn → R t´ıpus´ v´enyek line´ aris felt´etelek melletti sz´els˝o´ert´ekhely´enek meghat´aroz´as´ara szolg´al a line´aris programoz´ as, err˝ol a 3.8.9. pontban lesz sz´o. Hat´arozzuk meg el˝osz¨or az f (x) := x3 e−x/2

(x ∈ R)

f¨ uggv´eny lok´ alis sz´els˝o´ert´ekhelyeit. A lok´ alis sz´els˝o´ert´ek l´etez´es´ere vonatkoz´o els˝orend˝ u sz¨ uks´eges felt´etel alapj´ an kapjuk meg a stacion´ arius pontokat:

198

3. Fejezetek a matematik´ab´ ol * +,  +I 4+ C+  " !& =  "1 *\ +  B + {{x -> 0}, {x -> 0}, {x -> 6}}

Ezt a m´odszert azokban az esetekben haszn´alhatjuk, amikor a program (szimbolikusan vagy numerikusan) el˝ o tudja a´ll´ıtani a deriv´ altf¨ uggv´eny z´erushelyeit (l´ asd a 3.3. szakaszt). Alkalmazzuk most a m´asodrend˝ u el´egs´eges felt´etelt: *\\ + Q " !& = 18 {0, 0, - } 3 E

Az x0 = 6 pont az f f¨ uggv´enynek teh´ at lok´alis maximumhelye. Mivel *\\\ + Q " !& = 6 {6, 6, } 3 E

ez´ert az x1 = 0 pontban f -nek nincs lok´ alis sz´els˝o´ert´eke. Sz´ amos esetben a k¨ovetkez˝o f¨ uggv´ennyel is megkaphatjuk az [a, b] intervallumon ´ertelmezett val´os ´ert´ek˝ u folytonos f f¨ uggv´eny abszol´ ut maximum´ anak egy k¨ ozel´ıt˝ o ´ert´ek´et: 1+00 *, , $, ,-BB - +  * . /  $  G = $C  = B



Figyelj¨ uk meg azt, hogy az els˝o argumentumba a f¨ uggv´eny nev´et kell be´ırni, a negyedik (opcion´ alis) argumentumba pedig az intervallum oszt´opontjainak a sz´am´at adhatjuk meg: * +,  "5 +I) C +I G   1+00 * C  3.60555 A * * +,  A + G  A + G  A +  1+00 * B & BB 1.83333

Abszol´ ut minimum kisz´amol´as´ahoz a # f¨ uggv´eny helyett a # bels˝o f¨ uggv´enyt haszn´ alhatjuk. Hat´arozzuk meg most az f (x, y, z) := x3 + y 2 + z 2 + 12xy + 2z f¨ uggv´eny lok´ alis sz´els˝o´ert´ekhelyeit.

((x, y, z) ∈ R3 )

3.4. Anal´ızis

199

A kor´ abbiakban ´ertelmezett   f¨ uggv´enyt haszn´ aljuk a stacion´ arius pontok kisz´ amol´as´ahoz: A * * +, (, , - +I G (I G I G  + ( G   " !& =  "1

'  * + (   + (   B + (  {{z -> -1, y -> -144, x -> 24}, {z -> -1, y -> 0, x -> 0}}

A P1 (24, −144, −1) ´es a P2 (0, 0, −1) pontban lehet az f f¨ uggv´enynek lok´ alis sz´els˝o´ert´ekhelye. A m´asodrend˝ u el´egs´eges felt´etel alkalmaz´as´ahoz el˝o kell a´ll´ıtanunk a stauggv´eny m´asodrend˝ u deriv´ altm´atrix´ at cion´arius pontokban az f : R3 → R f¨ (ezt Hesse-f´ele m´ atrix nak is szok´as nevezni). Ezt sz´amolja ki az al´abbi elj´ ar´ as: 7 + *1 (, 1 =,%   ,% - D1  +

'  *1 ( 1 =  1 = 

A k¨ ovetkez˝o f¨ uggv´ennyel pedig n´egyzetes m´atrix sarokaldatermin´ ansait hat´ arozhatjuk meg: "=#' #, - $    # =

  =  %  @ # 

A P1 pontban a m´ asodrend˝ u el´egs´eges felt´etel ´es a Sylvester-krit´erium alapj´ an ezt kapjuk:   7 + * + (   + (  ) C)) C   +0  144 12 0

12 2 0

0 0 2

"=#'  {144, 144, 288}

A P1 (24, −144, −1) pont az f f¨ uggv´enynek teh´ at lok´alis minimumhelye. A P2 (0, 0, −1) pontban:   7 + * + (   + (  B B C 

200

3. Fejezetek a matematik´ab´ ol  +0  0 12 0

12 2 0

0 0 2

"=#'  {0, -144, -288}

A Sylvester-krit´eriumot teh´ at nem alkalmazhatjuk. P´eld´ aul a f¨ uggv´eny defin´ıci´ o j´ at felhaszn´ alva bizony´ıthatjuk be azt, hogy ez a pont nem lok´ alis sz´els˝o´ert´ekhely. u f¨ uggv´eny egyik Numerikus m´odszerrel keresi Rn → R (n ∈ N) t´ıpus´ lok´ alis minimumhely´enek ´es lok´ alis minimum´ anak egy k¨ ozel´ıt˝ o ´ert´ek´et a

 # f¨ uggv´eny. A  9 elj´ ar´ ashoz hasonl´ oan itt is egy vagy t¨ obb kezd˝ o´ert´ek megad´asa sz¨ uks´eges. Minimumhelyhez k¨ozeli j´ o” kezd˝o´ert´ek(ek) meg” v´ alaszt´as´ahoz a Mathematica rajzol´ o elj´ ar´ asait haszn´alhatjuk. uggv´eny a konjug´ alt gradiens m´ odszert alkalmazza A  # f¨ akkor, amikor egy kezd˝ o´ert´eket adunk meg:  ' 00 C+I 4+ C+  +  {-10.754, {x -> 6.}} 6  0 : {-10.75400676745861, {x -> 5.999999999977617}} * +, (, , - +I G (I G I G  + ( G    ' 00 * + (   + B ( CBB  C {-6913., {x -> 24.001, y -> -144.012, z -> -0.999346}}

A  # f¨ uggv´eny a deriv´ altat nem haszn´ al´ o Brent-f´ele minimaliz´ aci´ os algoritmust alkalmazza (l´asd [40]-et) akkor, amikor k´et kezd˝ o´ert´eket adunk meg:  ' 00 C+IR4+ C+  +   {-10.754, {x -> 6.}} 

' 00 +G(CIC+C(C + B  (   -27 6.48478 10 , {x -> 1., y -> 1.}}

3.4. Anal´ızis

201

3.4.5. Integr´ alsz´ am´ıt´ as Ebben a pontban a programnak azokat a lehet˝ os´egeit ismertetj¨ uk, amelyek u f¨ uggv´enyek primit´ıv f¨ uggv´enyeinek ´es hat´aroC → Cn (n ∈ N) t´ıpus´ zott integr´ alj´ anak szimbolikus vagy numerikus meghat´ aroz´as´ahoz, valamint t¨ obbsz¨ or¨ os integr´ alok kisz´amol´as´ahoz ny´ ujthatnak seg´ıts´eget. • Primit´ıv f¨ uggv´ eny keres´ ese C → C t´ıpus´ u f¨ uggv´eny primit´ıv f¨ uggv´eny´enek szimbolikus meghat´aroz´as´aar´ ast haszn´alhatjuk. A program a meghoz az opci´o n´elk¨ uli  elj´ adott f¨ uggv´eny primit´ıv f¨ uggv´eny´et a be´ep´ıtett matematikai f¨ uggv´enyekkel pr´ ob´ alja kifejezni. Ha ez siker¨ ul, akkor az

*5*,. , utas´ıt´ as eredm´enye az f f¨ uggv´eny egyik primit´ıv f¨ uggv´eny´enek az x pontban vett helyettes´ıt´esi ´ert´eke. P´eld´ aul: 6   +IG+C + 

 @ : Q % +, C % (, CJ % +( -1 + x ] Log[ 2 + x 3 6   "5 C" + I  + Sqrt[1 + Cos[2 x]] Tan[x] Sqrt[2]

Adott felt´etelt kiel´eg´ıt˝ o primit´ıv f¨ uggv´enyt a matematik´ aban megszokott m´odon hat´ arozhatunk meg. P´eld´ aul ´ıgy: * +, - +    $    +,  6   * +  + G ! 0'  "1    $ !  !  0'

     + 2 3 x 23 + 2 2

(Figyelj¨ uk meg, hogy azonnali ´ert´ekad´ assal — l´asd a 3.1.4. pontot — defini´ altuk az F f¨ uggv´enyt.)

202

3. Fejezetek a matematik´ab´ ol

Primit´ıv f¨ uggv´eny meghat´ aroz´as´at t¨obb negat´ıv jelleg˝ u elm´eleti eredm´eny is korl´ atozza. Ismeretes p´eld´ aul az, hogy b´ ar minden folytonos f¨ uggv´enynek van primit´ıv f¨ uggv´enye, azonban van olyan elemi f¨ uggv´eny, amelynek a primit´ıv f¨ uggv´enye nem elemi f¨ uggv´eny. M´ asr´eszt: m´eg elemi f¨ uggv´enyek eset´eben sincs olyan, v´eges sok l´ep´est tartalmaz´o ´ altal´ anos m´ odszer , amellyel a primit´ıv f¨ uggv´eny el˝oa´ll´ıthat´ o lenne. Az anal´ızisben sz´amos, j´ol k¨ or¨ ulhat´ arolt f¨ uggv´enyoszt´alyra dolgoztak ki j´ ol haszn´ alhat´ o m´odszereket. 1969-ben R. Risch [68] publik´ alt sz´am´ıt´ og´epen is megval´os´ıthat´ o ´es el´eg nagy f¨ uggv´enyoszt´alyra eredm´enyt ad´ o algoritmust. M´ odszer´enek alapja az, hogy az adott elemi f¨ uggv´enyt u ´gy bontja fel egyszer˝ u szerkezet˝ u” ” uggv´enye m´ar k¨ onnyen f¨ uggv´enyek ¨ osszeg´ere, hogy az egyes tagok primit´ıv f¨ leolvashat´ o legyen. (Az elj´ ar´ as hasonl´ o ahhoz, ahogyan racion´ alis t¨ ortf¨ uggv´enyeket parci´ alis t¨ ortekre szoktunk bontani.) A Risch-algoritmus k´epezi az alapj´ at a Mathematica primit´ıv f¨ uggv´enyt keres˝o elj´ ar´ as´anak. Err˝ ol r´eszletesebben a [69] dolgozatban olvashatunk. A Risch-algoritmus komplex f¨ uggv´enytani eszk¨oz¨oket haszn´al, ez´ert a beg´epelt egyv´ altoz´os f¨ uggv´enyt C → C t´ıpus´ unak tekinti. Ilyen f¨ uggv´eny primit´ıv f¨ uggv´eny´et k¨ ul¨ onb¨ oz˝o alakokban is el˝ o lehet ´all´ıtani. P´eld´ aul az f (x) :=

x2

1 +1

(x ∈ C \ { − i, i})

f¨ uggv´eny egyik primit´ıv f¨ uggv´enye F1 (x) :=

i−x 1 ln 2i i + x

(x ∈ C \ { − i, i}).

Komplex sz´amok felhaszn´ al´ asa n´elk¨ ul (azaz val´ os alakban”) is megad” hatjuk a fenti f f¨ uggv´eny primit´ıv f¨ uggv´enyeit. P´eld´ aul F2 (x) := arctg x

(x ∈ C \ { − i, i})

ar´ asba be´ep´ıtett algoritmusok azt is egy ilyen f¨ uggv´eny. Az  elj´ az elvet k¨ovetik, hogy ha a beadott f¨ uggv´eny nem tartalmaz komplex sz´amot, akkor az eredm´enyt is ezek haszn´ alata n´elk¨ ul pr´ ob´ alj´ ak megadni: 6   +IGI + x ArcTan[ ] a a

Racion´ alis t¨ ortf¨ uggv´enyek primit´ıv f¨ uggv´eny´et a program abban az esetben adja meg, ha a nevez˝ o z´erushelyeit pontosan el˝ o tudja a´ll´ıtani:

3.4. Anal´ızis

203

6   +I)+I)G>+IG) + 2 ArcTan[x] 8 ArcTan[ ] x + x + 3 3 6   +I>G+G + 1 Integrate[ , x] 5 1 + 3 x + x

Megeml´ıtett¨ uk m´ ar azt a t´enyt, hogy vannak olyan elemi f¨ uggv´enyek, amelyeknek a primit´ıv f¨ uggv´enyei nem elemi f¨ uggv´enyek. Ilyenek p´eld´ aul a k¨ ovetkez˝o f¨ uggv´enyek: 2 sin x , x → e−x , x → sin x2 . x → x Mivel a matematika k¨ ul¨ onb¨ oz˝o fejezeteiben gyakran haszn´ alj´ ak a fenti f¨ uggv´enyek primit´ıv f¨ uggv´enyeit, ez´ert a Mathematic´ a ba be´ep´ıtett´ek ezeket a nem elemi f¨ uggv´enyeket is. P´eld´ aul: 6   " + + + SinIntegral[x]

6   4+ C+I  + Sqrt[Pi] Erf[x] 2

6   " +I  + 2 Pi FresnelS[Sqrt[ ] x] Sqrt[ 2 Pi

A 3.4.1. pont elej´en felsoroltuk a t¨obbi hasonl´ o t´ıpus´ u be´ep´ıtett f¨ uggv´enyt is. Elliptikus integr´ alokat a

4 33 programcsomag  f¨ uggv´eny´evel (ez bels˝o t´ ars´anak a kiterjeszt´ese) sz´amolhatunk ki. P´eld´ aul: 6   "5 C0 " @ I  @ EllipticF[phi, m]

 4 ! BQ> BQ  > 0.5040488135239274

204

3. Fejezetek a matematik´ab´ ol

• Hat´ arozott integr´ al R → C t´ıpus´ u f¨ uggv´eny hat´ arozott integr´ alj´ anak kisz´ amol´as´ahoz t¨ obb elj´ ar´ ast is haszn´alhatunk. Az

*5*,. -. +. (/, utas´ıt´ as hat´ as´ara a program az  x2 f (x)dx = F (x2 ) − F (x1 ) x1

Newton–Leibniz-formul´ at alkalmazza. El˝ osz¨or szimbolikusan meghat´ arozza uaz f f¨ uggv´eny egy F primit´ıv f¨ uggv´eny´et, ezut´an veszi az F (x2 )−F (x1 ) k¨ l¨ onbs´eget. Ha az f f¨ uggv´eny folytonos az [x1 , x2 ] intervallumon ´es a program megtal´alja f egy F primit´ıv f¨ uggv´eny´et, akkor megkapjuk a k´ert eredm´enyt. P´eld´ aul: 6   "5 CA  +  + B BB & 200 Sqrt[2] 6   +I  $ 3 3 a b 3 3

Ha a program nem tudja meghat´ arozni a beadott f¨ uggv´eny primit´ıv f¨ uggv´eny´et, akkor eredm´enyk´ent a beg´epelt sort kapjuk vissza. Ilyenkor az  elj´ ar´ ast alkalmazva az integr´al egy k¨ozel´ıt˝ o ´ert´ek´et kapjuk meg: 6   +  +  + B  General::intinit: Loading integration packages -- please wait. Integrate[x Tan[x], {x, 0, 1}]

 : 0.428088

A sz´oban forg´ o elj´ ar´ ast improprius integr´ alok meghat´aroz´as´an´ al is haszn´ alhatjuk: 6   "5 +  + B  2

3.4. Anal´ızis

205

6   +I + C  Integrate::idiv: Integral does not converge. Indeterminate 6   +I +  6 *  ( 1

Az f f¨ uggv´eny [x1 , x2 ] intervallumon vett hat´ arozott integr´ alj´ anak egy k¨ ozel´ıt˝ o ´ert´ek´et az

*5*,. -. +. (/, utas´ıt´ as eredm´enye szolg´altatja. A Mathematica ebben az esetben el˝osz¨or az f f¨ uggv´eny helyettes´ıt´esi ´ert´ekeit hat´arozza meg az [x1 , x2 ] intervallum bizonyos pontjaiban, majd ezekb˝ ol a f¨ uggv´eny´ert´ekekb˝ol numerikus m´ odszert alkalmazva adja meg az eredm´enyt. Ha az f f¨ uggv´eny folytonos az [x1 , x2 ] intervallumon, akkor minden esetben megkapjuk a hat´ arozott integr´ al egy k¨ozel´ıt˝ o ´ert´ek´et. P´eld´ aul: 6   4I"5 +  +   8.27544

Sok esetben az **,, ´es az  elj´ ar´ as ugyanazt az ´ eredm´enyt adja. Erdemes azonban o¨sszehasonl´ıtani a ki´ert´ekel´eshez sz¨ uks´eges id˝ otartamot is:

0   6   +  +  + B  {29.934 Second, 0.428088}

0  6   +  +  + B  {2.801 Second, 0.428088}

Az  elj´ ar´ assal improprius integr´ alok ´es szakad´asos f¨ uggv´enyek hat´ arozott integr´ alj´ anak k¨ ozel´ıt˝ o ´ert´ek´et is meghat´arozhatjuk: 6   "5 +  + B  2. 6   4+ C+I  + B 6 *  ( 0.89298

Az integrandus szingularit´ as´at az  f¨ uggv´eny csak az intervallum v´egpontjaiban vizsg´alja. Ha olyan f¨ uggv´enyt adunk meg, amelynek az integr´ al´ as intervallum´ anak bels˝ o pontj´ aban van szakad´ asa, akkor a´ltal´ aban figyelmeztet˝ o u ¨zenetek ut´ an kapunk (esetleg rossz) eredm´enyt. Az

206

3. Fejezetek a matematik´ab´ ol

 f¨uggv´eny m´asodik argumentum´aba a szingul´aris helyeket is be´ırhatjuk:

*5*,. -. +. '8+. '8(. HHH. (/, A Mathematica ebben az esetben k¨ ul¨ on¨ os gonddal vizsg´alja az adott f¨ uggv´enyt a jelzett pontok k¨ ornyezet´eben: 6   "5 #$ +  + C B  4.82843

Ugyanezt a m´odszert alkalmazhatjuk akkor is, ha p´eld´ aul szakaszonk´ent k¨ ul¨ onb¨ oz˝o formul´ aval ´ertelmezett f¨ uggv´eny hat´ arozott integr´ alj´ at szeretn´enk kisz´am´ıtani: * +, - X@!@ +B B + +I + + + ) +J B 6   * +  + C B    N 7.33333

Az  f¨ uggv´eny 9 opci´oj´ aval (ezekr˝ol a program az 2   6  

utas´ıt´ as v´egrehajt´ asa ut´ an t´ a j´ekoztat benn¨ unket) avatkozhatunk be a ki´ert´ekel´es folyamat´aba. Megv´alaszthatjuk p´eld´ aul a ki´ert´ekel´es sor´an alkalmazott ´ert´ekes sz´amjegyek sz´am´at ´es a felhaszn´alt numerikus m´ odszert is. M´ odos´ıthatjuk a numerikus algoritmusok bizonyos param´etereit is. Itt csak a #8 opci´o lehets´eges ´ert´ekeit soroljuk fel:

7& : ;

#   '  Ennek az opci´ onak az alap´ertelmez´es szerinti ´ert´eke , ami azt uggv´eny bels˝o algoritmusa v´ alasztja ki a jelenti, hogy az  f¨ ki´ert´ekel´es sor´an alkalmazott numerikus m´ odszert. A fentebb bemutatott p´eld´ ak azt is mutatj´ ak, hogy az opci´ ok alap´ertelmez´es szerinti ´ert´ek´evel sz´amos esetben megfelel˝o eredm´enyt kapunk. Adott hat´ arozott integr´ al j´ o” k¨ ozel´ıt˝ o ´ert´ek´enek kisz´amol´as´ahoz az opci´ok ” alkalmas megv´alaszt´asa sokszor nem egyszer˝ u feladat. Ehhez sok seg´ıts´eget ny´ ujthat a [40] dolgozat, amelyben az opci´ ok jelent´es´er˝ ol ´es haszn´alat´ ar´ ol olvashatunk. A Mathematica t¨ obb m´ odszert k´ın´ al f¨ uggv´eny hat´ arozott integr´ alj´ anak k¨ ozel´ıt˝ o meghat´aroz´as´ahoz abban az esetben, amikor a f¨ uggv´eny helyettes´ıt´esi ´ert´ekeit csak bizonyos diszkr´et pontokban ismerj¨ uk.

3.4. Anal´ızis

207

A k¨ ovetkez˝o pontban ismertetett elj´ ar´ asok valamelyik´evel p´eld´ aul folytonos f¨ uggv´enyt illeszthet¨ unk az adott pontokra, majd alkalmazhatjuk az  f¨uggv´enyt. A #83 3 programcsomagban meglev˝o

  f¨ uggv´enyt is haszn´ alhatjuk. A Mathematica ebben az esetben interpol´ aci´ os polinomot illeszt az adott pontrendszerre, ´es az ´ıgy kapott f¨ uggv´eny hat´ arozott integr´ alj´ at sz´amolja ki: 0! @K% 6  K ' =  $ I  B F {0, 1, 4, 9, 16, 25, 36, 49}

% 6   ' =  343 3

6   +I + B F 343 3

A #8348)0V3 programcsomag

48)0V f¨ uggv´eny´evel improprius integr´ al Cauchy-f´ele f˝ o´ert´ek´enek egy k¨ozel´ıt˝ o ´ert´ek´et hat´ arozhatjuk meg. Tekints¨ uk p´eld´ aul az 1 (x ∈ R \ { − 1, 0}) f (x) := 2 x +x f¨ uggv´enyt. Mivel a  1   −ε1 f (x)dx + f (x)dx lim ε →0+0 1 ε2 →0+0

ε2

−1/2

hat´ ar´ert´ek nem l´etezik, ez´ert a



1 −1/2

f (x)dx

208

3. Fejezetek a matematik´ab´ ol

improprius integr´ al divergens. Bebizony´ıthat´ o azonban az is, hogy   1   −ε f (x)dx + f (x)dx = − ln 2. lim ε→0+0

−1/2

ε

Ez a sz´am a fenti improprius integr´ al Cauchy-f´ele f˝o´ert´eke. Ennek egy k¨ ozel´ıt˝ o ´ert´ek´et ´ıgy kaphatjuk meg: 0! @KA!@(& ! 8K A!@(& ! 8 +IG+ + C B  -0.693147 6  0 : -0.6931471805596515

A Cauchy-f´ele f˝o´ert´ek pontos ´ert´ek´et is meghat´arozhatjuk. P´eld´ aul ´ıgy: A * * +, - +IG+ W$$  6   * +  + !I  Q % +, C % (, CJ % +(    6   * +  + C C!I Q % +, (, CJ % + G % (  $  : Q % +, C % (, CJ % +(  $ G W$$ Q % +, G % (, CJ % + (  %0 : ! CJ B Integrate::gener: Unable to check convergence. 1 Log[ ] 2  :  6  0 -0.6931471805599453

• T¨ obbsz¨ or¨ os integr´ alok u Az el˝ oz˝oekben ismertetett elj´ ar´ asokkal Rn → C (n ∈ N \ {1}) t´ıpus´ f¨ uggv´eny adott tartom´ anyon vett hat´ arozott integr´ alj´ at szimbolikusan ´es numerikusan is meghat´ arozhatjuk. A tartom´ any lehet p´eld´ aul Rn -beli t´egla: 6   + ( " +I G (I  + B "5 &  ( B "5 &  1 2

3.4. Anal´ızis

209

Sz´ am´ıtsuk most ki a k¨ ovetkez˝o hat´ arozott integr´ alt: √ √    2  2y−x2   2  2y−x2  4y − x2 dxdy = 4y − x2 dx dy. 0

0

0

0

6   "5 ) ( C +I  ( B  + B "5 (C(I  Pi 4 + 3 2

Norm´ altartom´ anyon vett hat´ arozott integr´ al kisz´amol´as´an´ al vigy´ azzunk az integr´ al´ as sorrendj´enek a kijel¨ ol´es´ere. Figyelj¨ uk meg, hogy a Mathematica el˝osz¨or az utols´ok´ent megjel¨olt v´ altoz´o szerint v´egzi el az integr´al´ ast. Improprius integr´ alok at is meghat´arozhatunk: 6   +IG(II +  6 *  ( ( C6 *  ( 6 *  ( Pi 4

3.4.6. F¨ uggv´ enyk¨ ozel´ıt´ esek Az approxim´ aci´ oelm´elet foglalkozik megadott f¨ uggv´eny egyszer˝ u szerkezet˝ u f¨ uggv´enyekkel val´ o megk¨ozel´ıt´es´evel. A leggyakrabban haszn´ alt egyszer˝ u szerkezet˝ u f¨ uggv´enyek: az algebrai ´es a trigonometrikus polinomok, a racion´alis f¨ uggv´enyek ´es a spline-f¨ uggv´enyek sz´am´ıt´ og´ep seg´ıts´eg´evel is j´ol kezelhet˝oek. A matematikai programcsomagok ez´ert az ilyen t´ıpus´ u probl´em´ak tanulm´ anyoz´ as´ahoz is sok seg´ıts´eget adhatnak. A legegyszer˝ ubb esetben az approxim´ aland´ o f¨ uggv´eny az [a, b] ⊂ R intervallumon folytonos, val´ os ´ert´ek˝ u f¨ uggv´enyek C([a, b]) szimb´olummal jel¨ olt halmaz´ahoz tartozik. F¨ uggv´enyek t´ avols´ag´ at m´ar ebben a halmazban is t¨obbf´ele m´odon ´ertelmezhetj¨ uk. Egyszer˝ uen bebizony´ıthat´ o p´eld´ aul az, hogy a (f, g ∈ C([a, b])) (1) ∞ (f, g) := max |f (x) − g(x)| x∈[a,b]



´es a 2 (f, g) :=

a

b

|f (x) − g(x)|2 dx

(f, g ∈ C([a, b]))

(2)

f¨ uggv´eny mindegyike metrika a C([a, b]) halmazon. Jel¨olj¨ uk G-vel az egyszer˝ u szerkezet˝ u f¨ uggv´enyek valamely adott halmaz´at. Ez lehet p´eld´ aul legfeljebb n-edfok´ u (algebrai) polinomok halmaza.

210

3. Fejezetek a matematik´ab´ ol

Tekints¨ unk egy  metrik´ at is a C([a, b]) halmazon. Az approxim´ aci´ oelm´elet alapvet˝ o probl´em´ai az im´ent jelzett (speci´alis) esetben a k¨ovetkez˝ok: • Adott f ∈ C([a, b]) f¨ uggv´enyhez l´etezik-e olyan G-beli ϕ(f ) elem, amelyre (f, ϕ(f )) = inf {(f, g) : g ∈ G} =: EG (f ). • Ha f -nek l´etezik a fenti tulajdons´ ag´ u legjobb megk¨ ozel´ıt´ese, akkor az vajon egy´ertelm˝ uen meg van-e hat´ arozva. • L´etez´es ´es egy´ertelm˝ us´eg eset´en hogyan lehet meghat´ arozni vagy jellemezni az f f¨ uggv´enyt legjobban megk¨ ozel´ıt˝ o ϕ(f ) elemet. ol haszn´ alhat´ o als´o ´es fels˝o becsl´est • Hogyan lehet az EG (f ) sz´amra j´ megadni. Alkalmas t´ıpus´ u G halmazok ´es k¨ ul¨ onb¨ oz˝o metrik´ ak megv´alaszt´asa eset´en bizony´ıthat´ o az, hogy minden f ∈ C([a, b]) f¨ uggv´enyhez egy´ertelm˝ uen l´etezik a fenti tulajdons´ ag´ u ϕ(f ) f¨ uggv´eny. Ennek explicit el˝ o´all´ıt´ as´ara nincs a´ltal´ anos m´odszer. Az approxim´ aci´ oelm´eletben sz´amos olyan m´odszert dolgoztak ki, amely seg´ıts´eg´evel adott f¨ uggv´enyt j´ ol k¨ ozel´ıt˝ o G-beli elem explicit m´odon el˝ o´ all´ıthat´ o. Ebben a pontban a Mathematic´ a nak azokat az elj´ ar´ asait soroljuk fel, amelyek seg´ıts´eg´evel adott f¨ uggv´enyhez k¨ ozeli, j´ ol kezelhet˝o f¨ uggv´enyeket uggv´enyeket, illetve (algebrai ´es trigonometrikus polinomokat, racion´ alis f¨ spline-f¨ uggv´enyeket) konstru´ alhatunk . Az approxim´ aci´ oelm´elet megfelel˝o t´eteleinek ´es a Mathematica egy´eb elj´ ar´ asainak felhaszn´ al´ as´aval vizsg´alhatjuk meg azt, hogy a kapott egyszer˝ u szerkezet˝ u f¨ uggv´enyek milyen k¨ ozel vannak a megadott f¨ uggv´enyhez. Ezekkel a k´erd´esekkel a tov´abbiakban nem foglalkozunk. • Polinomapproxim´ aci´ o Elegend˝ oen sokszor differenci´alhat´ o R → R t´ıpus´ u f f¨ uggv´eny a pont k¨ or¨ uli n-edrend˝ u Taylor-polinomj´ at a

*6 *5*,. -. . /, utas´ıt´ as eredm´enye adja meg. P´eld´ aul: 0 " +I+ +   3 2 (-1 + x) + x (-1 + x) + 2

3.4. Anal´ızis

211

A f¨ uggv´enynek ´es k¨ ul¨ onb¨ oz˝o rend˝ u Taylor-polinomjainak a´br´ azol´as´aval gyorsan kaphatunk inform´ aci´ ot a k¨ ozel´ıt´es pontoss´ag´ ar´ ol. Az f (x) := sin x (x ∈ R) f¨ uggv´eny a := 0 pont k¨ or¨ uli harmad- ´es hetedrend˝ u Taylor-polinomjait p´eld´ aul ´ıgy szeml´eltethetj¨ uk: * +,  " +  +B  C & +   &   B F  0 " * +  +  F 5 7 3 x x x + x 6 120 5040   F

  3 x x 6 & * +   F + +B + & E  CJ C  & " ( CJ @!=  BQBBN  D@  BQB> BQB   2 1.5 1 0.5 -4

-2 -0.5

2

4

-1 -1.5 -2

Szint´en a 6 elj´ ar´ assal kaphatjuk meg C → C t´ıpus´ u analitikus f¨ uggv´eny Laurent-sor ´ anak szeleteit: " % G   B ) 2 3 4 1 z z 19 z 3 z 1 5 + + + + O[z] z 2 12 24 720 160 " "    B  1 Series[Sin[ ], {z, 0, 2}] z

212

3. Fejezetek a matematik´ab´ ol " 4+    6 *  (  4 1 1 1 1 + 1 + 2 + 3 + O[ z ] z 2 z 6 z

Hatv´ anysorok kal kapcsolatos vizsg´alatokn´ al a

7 #83963 programcsomag al´abbi f¨ uggv´enyei jelenthetnek seg´ıts´eget:

: 0B6 :

0B6 6 

Tekints¨ uk p´eld´ aul az f (x) :=

x+1 (x − 1)2

(x ∈ R \ {1})

f¨ uggv´enyt. A 0 pont k¨or¨ uli Taylor-sor´ anak egy¨ utthat´ oit a 6  elj´ ar´ as adja meg: " 0 G+C+I + B   "0 *( : 1 + 2 n

Mivel %0  GI  1

CJ 6 *  (

ez´ert a Cauchy–Hadamard-t´etel alapj´an ∞  (2n + 1)xn f (x) =

(x ∈ (−1, 1)).

n=0

ar´ assal sz´amos hatv´ anysor o¨sszegf¨ uggv´eny´et ´all´ıthatjuk A 0B6 elj´ el˝o. P´eld´ aul: &Y"0  G + "0 *( : 1 + x 2 (-1 + x)

 B 

A : k¨ uls˝ o f¨ uggv´ennyel pedig olyan hatv´ anysor o¨szszegf¨ uggv´eny´et kaphatjuk meg, amelynek az egy¨ utthat´ oi rekurz´ıv o¨sszef¨ ug-

3.4. Anal´ızis

213

g´essel vannak megadva. P´eld´ aul: O    !   G  G  G    B     + -3 {{(1 - x) }}

Interpol´ aci´ os polinomok at az

0) bels˝o f¨ uggv´ennyel hat´ arozhatunk meg. Lagrange-f´ele interpol´ aci´ os polinomot p´eld´ aul ´ıgy: 6    &( 0

C     C  C +  "0 *( : 2 3 94 - x - 61 x + 14 x 40

Ellen˝ orizz¨ uk a kapott eredm´enyt:  +,  :   C     1 { , 2, -1, -2} 2

  

  

Hermite-f´ele interpol´ aci´ os polinomokat ´ıgy sz´amolhatunk ki: 6    &( 0 C C>    ) BL FM MB +  "0 *( : 5 3 - 2 x + x

Ezt az eredm´enyt is ellen˝ orizz¨ uk:  +,  :  C -25    {2, 3}

\  

 )  \ )  \\ )  {1019, 1278, 1280}

214

3. Fejezetek a matematik´ab´ ol

A #83  3 programcsomagban tal´ alhat´ o ##  elj´ar´as a Remez-algoritmust alkalmazza adott folytonos f¨ uggv´enyt az (1) metrik´ aban legjobban megk¨ ozel´ıt˝ o algebrai polinom numerikus el˝ o´ all´ıt´ as´ara. Ismeretes, hogy minden f ∈ C([a, b]) f¨ uggv´enyhez egy´ertelm˝ uen l´etezik olyan P ∈ Pn polinom (Pn jel¨ oli a legfeljebb n-edfok´ u algebrai polinomok halmaz´ at), amelyre ∞ (f, P ) = inf {(f, p) : p ∈ Pn }. Ennek a P polinomnak egy k¨ ozel´ıt´es´et kaphatjuk meg a

## *5*,. -. -. &/. . M/, utas´ıt´ assal. P´eld´ aul: 0! @K# +0  K  +# +0  G+ + B   B {{0, 1., 2.}, {0.8571428571428571 0.2857142857142857 x, 0.14285714285714285}}

Figyelj¨ uk meg azt, hogy az eredm´eny k´et list´ab´ ol a´ll´ o lista. Az els˝o lista tartalmazza azokat a pontokat, amelyekben a f¨ uggv´enynek ´es a kapott polinomnak az elt´er´ese maxim´alis. A m´asodik lista els˝ o eleme a keresett polinom, a m´ asodik pedig a f¨ uggv´enynek ´es a k¨ozel´ıt˝ o polinomnak a ∞ t´ avols´aga. Ha az approxim´ al´ o polinom foksz´am´at n¨ ovelj¨ uk, akkor persze jobb k¨ ozel´ıt´est kapunk:  +# +0  G+ + B  B B  % :

 -6 1.0223673529609311 10

A Mathematic´ a nak ez az elj´ar´ asa adott f ∈ C([a, b]) f¨ uggv´enyhez olyan ob´ al meghat´arozni, amelyre Q ∈ Pn polinomot pr´   Q(x)  p(x)  = min max 1 − , max 1 − p∈Pn x∈[a,b] f (x) f (x) x∈[a,b] ez´ert azokban az esetekben, amikor az adott intervallumon az f f¨ uggv´eny nulla ´ert´eket is felvesz, az elj´ar´ as k¨ ozvetlen¨ ul nem haszn´alhat´ o. A [3] referenciak¨ onyvben van p´elda arra, hogy az ilyen f¨ uggv´enyeket hogyan lehet kezelni. Sz¨ uks´eg eset´en innen kaphatunk seg´ıts´eget az elj´ar´ as sz´amos opci´o j´ anak haszn´ alat´ ahoz is.

3.4. Anal´ızis

215

• Racion´ alis approxim´ aci´ o Pad´e-f´ele k¨ ozel´ıt´esek hez a 4 30 3 programcsomagot haszn´alhatjuk. A

0 *5*,. -. . . =/, utas´ıt´ as eredm´enye olyan r = p/q racion´ alis f¨ uggv´eny, amelynek a sz´aml´al´ o ja m-edfok´ u, a nevez˝ o je pedik k-adfok´ u polinom, ´es r kiel´eg´ıti a k¨ ovetkez˝o felt´eteleket: f (i) (a) = r (i) (a)

(i = 0, 1, 2, · · · , m + k).

A k = 0 esetben az f f¨ uggv´eny a pont k¨ or¨ uli m-edfok´ u Taylor-polinomj´ at kapjuk: A!K&'K &' 4+ +  + B    '  "0 *( : 2 3 120 + 60 x + 12 x + x 2 3 120 - 60 x + 12 x - x

A Taylor-polinomokhoz hasonl´ oan ezek a f¨ uggv´enyek is a megadott pontnak csak valamely kis k¨ ornyezet´eben adnak j´ o k¨ ozel´ıt´est. Az approxim´ aci´ o pontoss´ ag´ at tetsz˝oleges intervallumon is n¨ ovelhetj¨ uk, ha az

' 9  f¨ uggv´enyt (ez szint´en a fenti programcsomagban tal´ alhat´ o) haszn´ aljuk: 4! 0'E  # +0  4+ +  + C     '  "0 *( : 2 3 933217 + 466608 x + 93120 x + 7680 x 2 3 933217 - 466608 x + 93120 x - 7680 x

A fenti k¨ ozel´ıt´esek pontoss´ag´ at szeml´eltethetj¨ uk a k¨ ovetkez˝o utas´ıt´ asok seg´ıts´eg´evel: $  & ' C 4+ +  + C 

!= CJ C  Q BICM D ( !  CJ 6'  ( 

216

3. Fejezetek a matematik´ab´ ol $  & ' C 4+ +  + C 

!= CJ C  )Q BICF D ( !  CJ 6'  (  "@Y O @!#( $ $  D ( !  CJ UD ( ! 

Felhaszn´ alhatjuk m´eg a #83  3 programcsomag al´abbbi elj´ ar´ asait is:

:9 :##  ##  9 Interpol´ aci´ os felt´eteleknek eleget tev˝o racion´ alis f¨ uggv´enyt ´ıgy hat´ arozhatunk meg: E  6    A +  +   C& C&) B & &)   : N -18 2 1. - 7.74777 10 x - 0.405285 x -17 2 1. + 4.16334 10 x + 0.0983386 x

Az el˝ oz˝o alpontban ismertetett ##  f¨ uggv´enyt racion´alis f¨ uggv´enyekre is haszn´alhatjuk:  +# +0  A + G ) + B &     :

   N 2 5.00022 - 0.459931 x + 0.162379 x 2 1. - 0.0906869 x + 0.126493 x

• Spline-approxim´ aci´ o Adott s´ıkbeli pontokon a´tmen˝o interpol´ aci´ os spline-f¨ uggv´enyt az

 bels˝o f¨ uggv´ennyel konstru´ alhatunk. Az illeszt´esn´el alkalmazott polinomok aul: foksz´ am´at az   opci´oval adhatjuk meg. P´eld´ ' =  $ + A +  + B N 

3.4. Anal´ızis

217

6    ' = 6    2' CJ  & : +  + B N

Ismeretes, hogy egyn´el nagyobb foksz´ am´ u interpol´ aci´ os spline-f¨ uggv´enyek egy´ertelm˝ u meghat´ aroz´as´ahoz az adott pontokon k´ıv¨ ul tov´ abbi mell´ekfelt´etelek megad´asa is sz¨ uks´eges. A felhaszn´al´ onak nincs lehet˝ os´ege az ´altala alkalmazni k´ıv´ ant mell´ekfelt´etelek k¨ ozvetlen megad´as´ara. A :8 363 programcsomag

6 valamint a #8363 programcsomag

6 f¨ uggv´eny´evel adott s´ıkbeli pontokhoz konstru´ alhatunk egyr´eszt harmadfok´ u term´eszetes, m´asr´eszt Bezier-f´ele splineg¨ orb´ek et. A k´et elj´ar´ as lehet˝os´egei megegyeznek, k¨ ul¨ onbs´eg csup´an a g¨ orb´ek megjelen´ıt´es´enek m´odj´ aban van. P´eld´ aul:  =  BB  C B B O @!K"  K "@Y O @! & " BQB  &  O @! "    = A$!

 = 

0! @K"   K "  1 (  "    = A$! &0 !& "  1 (   B) & E  CJ # A0 ' CJ 

• Trigonometrikus sorok Az R halmazon periodikus, komplex ´ert´ekeket felvev˝o f¨ uggv´eny trigonometrikus Fourier-sor ´ anak tanulm´ anyoz´ as´an´ al az

 bels˝o f¨ uggv´enyeken k´ıv¨ ul a



218

3. Fejezetek a matematik´ab´ ol

4 3 53 programcsomag al´abbi elj´ ar´ asait is haszn´alhatjuk:

4 6 455 4  5 6 6 455 6 66 455 6 5  5 6  4  5  6 5   5 A programcsomagban a fenti elj´ ar´ asok (amelyek a pontos eredm´enyt pr´ ob´ alj´ ak meghat´arozni) numerikus t´ ars´at is megtal´alhatjuk. A felhaszn´ alhat´ o f¨ uggv´enyek nev´et az VR

utas´ıt´ as v´egrehajt´ asa ut´an ismerhetj¨ uk meg. Tekints¨ uk most azt az f : R → R 2π szerint periodikus f¨ uggv´enyt, amelyik a (−π, 0] intervallumon null´ aval, a (0, π] intervallumon pedig πvel egyenl˝ o. Meghat´arozzuk ´es ´abr´ azoljuk az f f¨ uggv´eny Fourier-sor´ anak n´eh´ any r´eszlet¨osszeg´et. A sz´amol´asokat pontosan is elv´egezhetj¨ uk, ha a f¨ uggv´enyt ´ıgy ´ertelmezz¨ uk: A!KD!D K * +, - &R  "  +

Most kisz´ amoljuk az f f¨ uggv´eny Fourier-sor´ anak egyik r´eszlet¨osszeg´et: A!K  *0K  " * +  + C& & > Pi + 2 Sin[x] + 2

2 Sin[3 x] 2 Sin[5 x] + 3 5

A f¨ uggv´enyt ´es Fourier-sor´anak els˝o n´eh´ any r´eszlet¨osszeg´et ´ıgy a´br´ azolhatjuk:

3.4. Anal´ızis

219

 =  $ "0 :

=  =      )  & 41    * +   =  + C& &

!= CJ C& & &

Pi

-Pi

Pi

A Fourier-transzform´ altat az irodalomban k¨ ul¨ onb¨ oz˝o m´odon szok´ as ´ertelmezni. A

 5 k¨ uls˝ o f¨ uggv´eny az f : R → R f¨ uggv´enyhez az  +∞ f (t)eBixt dt F(x) := A −∞

(x ∈ R)

Fourier-transzform´altat sz´amolja ki, ahol az A ´es a B sz´am alap´ertelmez´es szerinti ´ert´eke 1. Ezeket az ´ alland´ okat vagy a

( C +  (\  CBQ+ I ( G BQ+ I C BQB>( G  + B  B ( B  B +  (   B >B

       

Az ´abr´ an j´ ol l´ atszik, hogy egyes id˝ oszakokban nagy k¨ ul¨ onbs´eg van a k´et anyagfajta mennyis´eg´enek deriv´ altja k¨ oz¨ott: & '

  '

   B >B

8 6 4 2

10

20

30

40

50

Ha az el˝oz˝o utas´ıt´ as elej´ere oda´ırjuk m´eg a 0 sz´ot, akkor a megold´asok helyett a trajekt´ ori´ ak at (szelektivit´ asi g¨ orb´ek et) kapjuk meg. M´ asodik p´eld´ ankban egy egyszer˝ u ir´ any´ıt´ asi feladatot oldunk meg. Egy t´ argy h˝ om´ers´eklet´et adott hat´ arok k¨ oz¨ott kell tartani olyan m´ odon, hogy ha az als´o hat´ art el´eri a test h˝om´ers´eklete, akkor bekapcsolunk valamilyen f˝ ut´est, ha pedig el´eri a f¨ ols˝o hat´ art, akkor kikapcsoljuk azt.

3.5. Differenci´alegyenletek

233

A h˝ ul´es folyamat´at a Newton-f´ele h˝o´atad´ asi t¨orv´eny ´ırja le, amely szerint (¨ onk´enyesen, de alkalmasan megv´alasztott ´alland´ oval): T  (t) = −0.1(T (t) − 273). A f˝ ut´es k´et esetben m˝ uk¨ odik: ha a h˝ om´ers´eklet az als´o hat´ ar alatt van, vagy pedig ha a k´et hat´ ar k¨ oz¨ott van ´es m´ar eddig is m˝ uk¨ od¨ ott. ´Irjuk fel a v´egs˝o megold´ast, s majd ut´ olag f˝ uzz¨ unk hozz´ a megjegyz´eseket: D"1 \ CBQR CFQGX@!@

LQ @)Q

JBQ @BQ LQ BQ // @)Q )Q LQ BQ // @BQ BQ 

BQ FQ   BQ NBQ +"  CJ6 *  ( +"  "CJBQB {{T[t] -> InterpolatingFunction[{0., 60.}, ][t]}} & 41  LQ BQ Q :   BQ NBQ 300 295 290 285 280

10

20

30

40

50

60

Tanuls´ agos a l´ep´esek sz´am´at kisebbre vagy a maxim´ alis l´ep´esk¨ozt nagyobbra venni ´es megn´ezni, mi t¨ ort´enik a megold´ assal. Ha a kezdeti felt´etelt magasabbra v´alasztjuk, akkor egy kemenc´eb˝ ol kivett t´ argyra gondolhatunk, amelynek a h˝ om´ers´eklet´et adott hat´ arok k¨ oz¨ott kell tartani. Ez a feladat nyilv´ anval´ oan m´ asutt is alkalmazhat´ o modellk´ent. P´eld´ aul valamilyen gy´ ogyszer szintj´et szeretn´enk adott szinten tartani a v´erben. Ezt nyilv´ an csak adott pontoss´aggal k¨ ovetelhetj¨ uk meg, azaz csak azt ´ırhatjuk el˝o, hogy a szint k´et adott hat´ ar k¨ oz´e ess´ek. Ezt viszont egyszer˝ u esetben a fenti modell j´ ol k¨ ozel´ıti.

234

3. Fejezetek a matematik´ab´ ol

Els˝ o ´altal´ anos´ıt´ ask´ent ´erdemes a Newton-egyenlet helyett nemline´ aris egyenletet venn¨ unk. ´ Ertelmes ´altal´ anos´ıt´ ashoz jutunk, ha a hat´ arokat nem a´lland´ oknak veszsz¨ uk, hanem k´et f¨ uggv´ennyel adjuk meg. Esetleg ezeket a f¨ uggv´enyeket valamilyen differenci´ alegyenlet megold´ asak´ent kapjuk. M´ asik, k´ezenfekv˝ o a´ltal´ anos´ıt´ ashoz u ´gy jutunk, ha differenci´ alegyenletrendszer t tekint¨ unk ´es a megold´ast´ol azt k¨ovetelj¨ uk meg, hogy benne maradjon egy (esetleg id˝ot˝ ol f¨ ugg˝ o) halmazban, ´ıgy bizonyos t´ıpus´ u u ¨ld¨ oz´esi feladatok modellj´ehez jutunk. • Numerikus m´ odszerek uggv´eny t¨ obbl´ep´eses prediktor-korrektor m´odszert haszAz 76 bels˝o f¨ n´ al, amelynek param´eterei az opci´ok seg´ıts´eg´evel m´odos´ıthat´ ok. Amennyiben a program ´erz´ekeli az egyenlet merevs´eg´et, automatikusan implicit differencia-m´odszerre t´er ´at. A Runge–Kutta-m´ odszerrel oldhatjuk meg az egyenletet a

9; f¨ uggv´eny seg´ıts´eg´evel. Ezt a 0 39;3 programcsomagban tal´ alhatjuk meg. A t¨ obbl´ep´eses line´aris Runge–Kutta-t´ıpus´ u m´odszereknek a tanulm´ anyoz´ as´ahoz seg´ıts´eget kaphatunk a

#83L83 programcsomag 9;A f¨ uggv´enyeit˝ol.

3.5.5. Laplace-transzform´ aci´ o A m´ern¨ oki irodalomban a Laplace-transzform´ aci´ ot a leggyakrabban line´aris, a´lland´ o egy¨ utthat´ os k¨oz¨ons´eges differenci´alegyenletekre ´es differenci´alegyenlet-rendszerekre (vagy ilyenekre visszavezethet˝okre) szokt´ak alkalmazni, illetve olyan egyenletekre, amelyek bal oldal´ an egy line´ aris, a´lland´ o egy¨ utthat´ os oper´atornak az ismeretlen f¨ uggv´enyen felvett ´ert´eke, a jobb oldal´ an pedig egy ugyanilyen t´ıpus´ u oper´ atornak egy ismert, u ´gynevezett bemeneti f¨ uggv´enyen felvett ´ert´eke ´all. Az els˝ o k´et t´ıpusra — mint a´ltal´ aban, u ´gy itt is — f¨ ol¨ osleges a Laplace-transzform´aci´ ot alkalmazni, hiszen haszn´ alata a´ltal´ aban semmilyen el˝onnyel nem j´ ar. Kiv´etelt k´epeznek tal´ an

3.5. Differenci´alegyenletek

235

ez al´ol a nem folytonos jobb oldal´ u differenci´alegyenletek (amelyeket p´eld´ aul bekapcsol´ asi jelens´egek modellez´es´ere haszn´alnak). K¨ ovetkezz´ek most egy ilyen p´elda: A!K% !  *0K A!KD!D K (  (\ + G ) ( +    "  +  % !  *0 ( +  4 LaplaceTransform[y[x], x, s] + s LaplaceTransform[y[x], x, s] - y[0] ==

1 s

: Q % !  *0 ( +  +  CJ ]  1 -y[0] + 4 Y[s] + s Y[s] == s

Kaptunk teh´ at egy (egyszer˝ u, algebrai) egyenletet az Y Laplace-transzform´altra. Oldjuk meg: "1 : Q ( B CJ ]  -1 - 2 s )}} {{Y[s] -> -( s (4 + s)

A kapott eredm´enyt vissza kell transzform´alni”: ” 6 1% !  *0 :

     + 7 1 + 4x 4 4E

Integr´ alegyenletekn´el (p´eld´ aul konvol´ uci´ ot tartalmaz´okn´ al) is el˝ ofordul, hogy a megold´ as meghat´aroz´as´aban t´enylegesen seg´ıt a Laplace-transzform´aci´ o. Most megoldunk egy ilyen integr´ alegyenletet:  (  6   4I C     B     (  % !  *0  (   s

-2

==

LaplaceTransform[g[t], t, s] -1 + s

"1

  ( Q % !  *0     CJ O   O  -1 + s {{G[s] -> 2 }} s 6 1% !  *0 :

     1 - t

236

3. Fejezetek a matematik´ab´ ol

V´eg¨ ul pedig megeml´ıtj¨ uk, hogy a parci´ alis differenci´ alegyenletekr˝ ol sz´ol´ o r´eszben is alkalmazzuk majd a Laplace-transzform´ aci´ ot.

3.5.6. Megold´ as hatv´ anysorokkal Ha a kvadrat´ ur´ aval nem tudjuk megkapni egy differenci´ alegyenlet megold´as´at, akkor megpr´ ob´ alkozhatunk azzal, hogy hatv´ anysor alakban keress¨ uk a megold´ast. Ennek az elj´ ar´ asnak az elm´eleti h´ atter´et az az Eulert˝ol sz´armaz´o eredm´eny k´epezi, amely szerint analitikus jobb oldal´ u egyenletnek l´etezik analitikus megold´ asa. A Mathematica seg´ıts´eg´evel egy hatv´ anysor alak´ u megold´ as tetsz˝oleges, de v´eges sok tagja meghat´arozhat´ o. Els˝ o p´eld´ ank Grayt˝ ol [29] sz´armazik. Meg akarjuk oldani hatv´ anysor alakban az y  (x)2 − y(x) = x differenci´ alegyenletet. K¨ ozel´ıts¨ uk egy hatv´ anysor v´eges szelet´evel az y f¨ uggv´enyt; az ismeretlen egy¨ utthat´ okat jel¨ olj¨ uk a[i]-vel: ( +, - "D  + B $     B N '  D ( +  + I C ( +  + 2 (-a[0] + a[1] ) + (-a[1] + 4 a[1] a[2]) x + 2 2 (-a[2] + 4 a[2] + 6 a[1] a[3]) x + 3 (-a[3] + 12 a[2] a[3] + 8 a[1] a[4]) x + 2 4 (9 a[3] - a[4] + 16 a[2] a[4] + 10 a[1] a[5]) x + 5 (24 a[3] a[4] - a[5] + 20 a[2] a[5] + 12 a[1] a[6]) x + 6 O[x] == x

Szeretn´enk az egy¨ utthat´ okra egy egyenletrendszert kapni: @(  %!4+  ' ' 2 -a[0] + a[1] == 0 && -1 - a[1] + 4 a[1] a[2] == 0 && 2 -a[2] + 4 a[2] + 6 a[1] a[3] == 0 && -a[3] + 12 a[2] a[3] + 8 a[1] a[4] == 0 && 2 9 a[3] - a[4] + 16 a[2] a[4] + 10 a[1] a[5] == 0 && 24 a[3] a[4] - a[5] + 20 a[2] a[5] + 12 a[1] a[6] == 0

3.5. Differenci´alegyenletek

237

Ahhoz, hogy ezeket megoldjuk, sz¨ uks´eg¨ unk van m´eg egy kezdeti felt´etelre: @0  "1 @(  B  $     B N {{a[0] -> 1, a[6] -> 0, a[5] -> 0, a[4] -> 0, a[3] -> 0, a[2] -> 0, a[1] -> -1}, 469 41 5 {a[0] -> 1, a[6] -> , a[5] -> , a[4] -> , 11520 960 96 1 1 a[3] -> - , a[2] -> , a[1] -> 1}} 12 2

Helyettes´ıts¨ uk vissza a k´et megold´ast y-ba, hogy megkapjuk a hatv´ anysor alak´ u k¨ ozel´ıt´est: 0  ( + Q @0 O[x] , {1 - x + 7 2 3 4 5 6 x x 5x 41x 469x 7 1 + x + + + +O[x] } 2 12 96 960 11520

Miel˝ ott ´ abr´ azolhatn´ ank, norm´ alalak´ u kifejez´ess´e kell alak´ıtani ezeket: & 41  0 0  + B 

V´eg¨ ul megmutatjuk, hogy hatodrendben” mindk´et f¨ uggv´eny megold´ as: ” ' Q @0 6 6 {x + O[x] == x, x + O[x] == x}

Norm´alform´ aj´ uv´ a alak´ıtva az egyenleteket, pontos egyez´eseket kapunk: 0 : {True, True}

Egyes — k¨ ul¨ on¨ osen kedvez˝o — esetekben el˝ofordulhat, hogy meg tudunk sejteni egy, a hatv´ anysor egy¨ utthat´ oi k¨ oz¨ott fenn´ all´ o rekurz´ıv o¨sszef¨ ugg´est, s ekkor a

7 #83963 programcsomag 96 f¨ uggv´eny´et haszn´alhatjuk. Trivi´ alis p´eld´ at mutatunk. Legyen a megoldand´ o kezdeti´ert´ek-probl´ema: y  (x) = y(x)

y(0) = 1.

( +, - "D  + B $     B )

238

3. Fejezetek a matematik´ab´ ol '  D ( +  + C ( +  B (-a[0] + a[1]) + (-a[1] + 2 a[2]) x + 2 (-a[2] + 3 a[3]) x 3 (-a[3] + 4 a[4]) x + 4 O[x] == 0

Az egy¨ utthat´ okra ezt az egyenletrendszert kapjuk: %!4+  ' ' -a[0] + a[1] == 0 && -a[1] + 2 a[2] == 0 && -a[2] + 3 a[3] == 0 && -a[3] + 4 a[4] == 0

Haszn´aljuk f¨ ol a kezdeti felt´etelt, ´es vegy¨ uk ´eszre”, hogy milyen o¨sszef¨ ugg´es ” van az egy¨ utthat´ ok k¨ oz¨ott: D!  @KE"1K E"1  G  G C   B  B     1 }} {{a[n] -> n!

Verifik´ aljuk, hogy amit kaptunk, az val´ oban megold´ as: * +,  &Y"0  Q : +

  # ' *\ +  * +  * B   True

V´eg¨ ul megeml´ıtj¨ uk, hogy Vvedensky [86] k¨ onyv´eben szingul´ aris feladatok megold´as´ara haszn´ alja a hatv´ anysoros m´odszert. Hatv´ anysor alak´ u megold´ asok keres´es´en´el ´erdemes m´eg gondolni a k¨ ovetkez˝o programcsomagokra:

&36)&63 7 #834&653

3.5.7. Szukcessz´ıv approxim´ aci´ o A szukcessz´ıv approxim´ aci´ o m´odszer´et ink´ abb elm´eleti vizsg´alatokn´ al szok´ as alkalmazni, ´eppen az´ert, mivel a konkr´et feladatok megold´ as´an´ al fell´ep˝ o integr´ al´ asok k´ezzel nehezen v´egezhet˝ok el. Legyen a megoldand´ o egyenletek

3.5. Differenci´alegyenletek ´altal´ anos alakja:

239

x (t) = f (t, x(t)) x(τ ) = ξ,

u folytonos f¨ uggv´eny, τ ∈ R, ξ ∈ Rn . Ezek k¨ oz¨ ul ahol f R×Rn → Rn t´ıpus´ egy olyan esettel foglalkozunk, ahol n = 1; konkr´etan az x (t) = x(t)2

x(0) = 1

egyenlet megold´as´at fogjuk megadni az identit´ asf¨ uggv´enyb˝ ol (Mathematiozel´ıt´esb˝ol kiindulva. (Az cai megfelel˝ oje: * . ,) mint kezdeti k¨ al´ abbiakb´ ol ki fog t˝ unni, hogy programoz´ asi szempontb´ol az ´altal´ anos eset megold´asa semmivel sem nehezebb a speci´alisn´ al.) A kezdeti defin´ıci´ ok ut´ an kisz´am´ıtjuk a pontos megold´ ast:   B =   * , 1, - 1I   ,  D"1

+\   +  I + B   +   

   1 1-z

K¨ ovetkezz´ek a differenci´alegyenlettel egyen´ert´ek˝ u integr´ alegyenlet jobb oldal´ at defini´ al´ o integr´ aloper´ ator: # *, - "0 *(

 !   = G 6   *  *     

Ez az oper´ ator val´ oban f¨ uggv´enyekhez f¨ uggv´enyeket rendel, ez´ert amikor f¨ uggv´eny´ert´ekekre lesz sz¨ uks´eg¨ unk az al´ abbiakban, alkalmazzuk majd a P*', f¨uggv´eny´ert´ek-sz´amol´o”-t. ” Sz´ am´ıtsuk ki az els˝ o¨ ot k¨ ozel´ıt´est:  % #  !     > 

Az eredm´enyb˝ ol hagyjuk el az els˝ o f¨ uggv´enyt, ´es a list´ahoz vegy¨ uk hozz´ a a pontos megold´ ast az ¨osszehasonl´ıt´ o a´br´ azol´as el˝ok´esz´ıt´ese v´egett, majd ´abr´ azoljuk — a´ttekinthet˝o m´odon — az o¨sszes f¨ uggv´enyt: #  '  .  / E :      & 41  :   B BQL & E  C J # & " ( CJ @!=  BQBB  @!=  BQBB  @!=  BQBB  @!=  BQBB) 

240

3. Fejezetek a matematik´ab´ ol @!=  BQBB>  @!=  BQBBN  D@  QB> QB  EOSA  B B 

!= CJ BQ BQM ) B

10 8 6 4

0.2

0.4

0.6

0.8

(Hogyan adhatn´ ank meg eleg´ansabban a vonalvastags´ agokat?) ´ Erdemes arra is gondolnunk, hogy a Mathematica megk¨onny´ıtheti az ilyenkor sz¨ uks´eges becsl´esek elv´egz´es´et is.

3.5.8. Stabilit´ aselm´ elet A Lorenz-egyenlet konkr´et p´eld´ a j´ an elv´egezve a line´aris stabilit´asvizsg´alatot megmutatjuk, hogy ez itt l´enyeg´eben azonos a matematikai k´epletek le´ır´ as´aval. A szok´asosan r-rel jel¨ olt param´etert fogjuk v´ altoztatni, a t¨ obbieknek konkr´et ´ert´eket adunk. Els˝ o l´ep´esben meghat´arozzuk a stacion´ arius pontokat:   B $  M * +, +, +, -  + C +  + C + C + + + + C $ +  !  "1 * + + +  B + + + 

(Ha nem ilyen egyszer˝ u polinommal tal´ alkozunk, akkor ´erdemes visszalapozni az egyenletek megold´as´ar´ ol sz´ol´ o 3.3. szakaszhoz.) A k¨ ovetkez˝o l´ep´es a Jacobi-m´atrixnak ´es saj´at´ert´ekeinek kisz´am´ıt´ asa a stacion´arius pontokban:

3.5. Differenci´alegyenletek

241

W!$ +, +, +, - 2  D * + + +  + + +  4 1 W!$ + + + Q  ! 

A sz´amol´asok eredm´enyeib˝ ol j´ ol l´ atszik, hogy a saj´ at´ert´ekek val´os r´esz´enek el˝ojele mik´ent v´ altozik, ha ism´et a fent eml´ıtett r = 0.9, 1.1, 20, 24.5, 25 param´etersorozaton vizsg´aljuk. Az els˝ o helyen p´eld´ aul azt kapjuk, hogy az els˝o egyens´ ulyi helyzet stabilis, a m´asik kett˝o pedig instabilis: A@  : Q  CJ BQL  $0 -2.66667 -10.9083 -0.0916731 0.169767 -10.9736 -2.86284 0.169767 -10.9736 -2.86284

• A Mihajlov-f´ ele krit´ erium Line´ aris stabilit´asvizsg´alatn´ al a v´egs˝o l´ep´esben azt kell meg´allap´ıtanunk, hogy a lineariz´ alt r´esz karakterisztikus polinomj´anak saj´ at´ert´ekei milyen val´ os r´esz˝ uek. Ezt a legnehezebb a k¨ ozismert Hurwitz-m´odszerrel eld¨ onteni. (B´ar ennek alkalmaz´ as´at megk¨onny´ıti a 3.4.4. pontban defini´ alt 6= 2

 f¨uggv´eny.) Egy kev´es sz´amol´ast ig´enyl˝o elj´ar´ast ad a Mihajlov-m´odszer, amely szerint az n-edfok´ u f polinom stabilit´as´anak sz¨ uks´eges ´es elegend˝o felt´etele az, hogy ω → f (iω) ne menjen a´t az orig´on ´es ker¨ ulje meg azt nπ/2 sz¨ogben pozit´ıv ir´ anyban, mid˝ on ω befutja a [0, ∞) intervallumot. Illusztr´aljuk a krit´eriumot egy p´eld´ an: * , - I> G  I) G F I G M I G B G N =!  &0 !& E * 6 0  60 * 6 0  0 B N

A k¨ ovetkez˝o ´ abr´ an l´ atszik a hossz´ u t´ av´ u viselked´es, de elhelyezt¨ uk benne a kezdeti viselked´est mutat´o r´eszt is: &0 !& E * 6 0  60 * 6 0  0 B N & E  CJ # 0 CJ  & CJ E!   >B BBB BB NBBB =!

242

3. Fejezetek a matematik´ab´ ol

6000

15 10 5

5000 4000

5

3000

10

15

2000 1000 0 0

500

1000

1500

2000

Egy nyilv´ anval´ o potenci´alis alkalmaz´ asi ter¨ uletet a stabilit´ aselm´eleten bel¨ ul csak megeml´ıt¨ unk: igen sok sz´ amol´ast ig´enyel ´altal´ aban, ha adott alak´ u Ljapunov-f¨ uggv´enyt keres¨ unk egy differenci´alegyenlethez. Ehhez esetleg haszn´ alhat´ o lehet az els˝o integr´ al, vagy az´ert, mert deriv´ altja definit, ´es ekkor a stacion´arius pont stabilis, vagy az´ert, mert az egyenlet jobb oldal´ anak egy r´esz´ehez tal´ alunk olyan els˝ o integr´ alt, amely az eg´esz egyenlethez megfelel Ljapunov-f¨ uggv´enynek.

3.5.9. Parci´ alis differenci´ alegyenletek • Els˝ orend˝ u egyenletek Els˝ orend˝ u parci´ alis differenci´ alegyenletek megold´as´ahoz ´altal´ aban ´erdemes azonnal beh´ıvni a 4 3076+3 csomagot: A!K&D"1K

El˝ osz¨or oldjunk meg egy kv´ aziline´ aris egyenletet: D"1 CC+ C ( G  + ( I G +I D  + (  + C D  + (  (   B  + (  + ( {{u[x, y] -> 2 2 x + y - x C[1][x+y] - x y C[1][x+y] )}} - ( -1+ x C[1][x+y]

3.5. Differenci´alegyenletek

243

M´ıg k¨ oz¨ons´eges differenci´alegyenletek eset´en 4*+,. 4*(,. . . . tetsz˝oleges ´alland´ okat jel¨ olt, itt ezek tetsz˝oleges (elegend˝ oen sokszor differenci´alhat´ o) f¨ uggv´enyek. Az eredm´eny pedig az egyenlet ´ altal´ anos megold´ asa. Most meghat´arozzuk egy line´aris, h´ aromv´ altoz´os f¨ uggv´enyre vonatkoz´ o egyenlet ´altal´ anos megold´as´at: D"1 C+ (  G I D Y + (    G (I D Y + (   ( G +I D Y + (   +  B Y + (   + (  x 2 x y z Log[ ] y ) + {{w[x, y, z] -> -( 2 -(x y) + y + x z - y z x 2 x y z Log[ ] 1 1 1 1 z 2 + C[1][ x - y , x - z ]}} -(x y) + x z + y z - z

Az ´altal´ anos megold´as nem mindig adhat´ o meg. Sok esetben viszont megadhat´ o a teljes integr´ al, amelyb˝ ol majdnem minden perem´ert´ek-feladat megold´ asa kvadrat´ ur´ aval el˝ o´ all´ıthat´ o: A0  6 

D  + (  (   + ( G +I D  + (  + I(  + (  + ( {{u[x, y] -> 2 2 B[1] Log[x] Log[x] -B[1] + y B[2] }} 4 2 4

Ha nincs a´ltal´ anos megold´as, akkor o¨n´ all´ oan a teljes megold´as meghat´aroz´as´aval k´ıs´erletezik a program: D"1

C! G $ D  +(  ( G  ( D  +(  + G D  +(  + I  B  +(  + ( DSolve::nlpde: This is a nonlinear partial differential equation. General solution is not available. Trying to build a complete integral instead. 2 ay B[1] c y + x B[1] {{u[x, y] -> b 2b 2 yB[1] + B[2] + y B[2]}} b

244

3. Fejezetek a matematik´ab´ ol

V´eg¨ ul megeml´ıtj¨ uk, hogy a megold´ o algoritmusok azon alapulnak, hogy meghat´arozz´ak k¨ oz¨ons´eges differenci´alegyenlet-rendszerek els˝o integr´ aljait. uggv´eny seg´ıts´eg´eEzek k¨ ozvetlen¨ ul is megkaphat´ ok a   f¨ vel, amelynek haszn´ alat´ ara a k¨ oz¨ons´eges differenci´alegyenletekn´el l´attunk p´eld´ akat. • M´ asodrend˝ u egyenletek El˝ osz¨or megmutatjuk egy olyan (vegyes) feladat megold´as´at, amelyhez a

4 3076+3 csomag nem haszn´alhat´o. Szeretn´enk megoldani a ∂ 2 u(x, t) ∂u(x, t) = ∂t ∂x2 diff´ uzi´ os vagy h˝ ovezet´esi egyenletet az u(x, 0) = 3 sin(2πx)

x ∈ [0, 1]

kezdeti ´es az u(0, t) = u(1, t) = 0 homog´en peremfelt´etel mellett. Alkalmazzuk a Laplace-transzform´aci´ ot: A!K% !  *0K % !  *0

D  +   D  +  +     s LaplaceTransform[u[x, t], t, s] - u[x, 0] == (2, 0) LaplaceTransform[u [x, t], t, s]

(Vegy¨ uk ´eszre, hogy semmilyen u ¨gyesked´esre nem volt sz¨ uks´eg ahhoz, hogy az egyenlet k´et oldal´ at transzform´ aljuk.) Most a transzform´ alt egyenletet ´attekinthet˝obb´e tessz¨ uk: : Q % !  *0  +,    -J  +  % !  *0 D1 1 + ,B  +,    -J D  +  ++   - u[x,0] + s U[x] == U’’[x]

Ez az egyenlet az adott kezdeti felt´etellel k¨onnyen megoldhat´ o: D"1 : Q  +, B CJ  " & +   B  B    B  +  + 3 Sin[2 Pi x] }} {{U[x] -> 2 4 Pi + s

A v´egeredm´enyt inverz transzform´aci´ oval kapjuk:

3.5. Differenci´alegyenletek

245

6 1% !  *0  + Q :  3 Sin[2 Pi x] { } 2 4Pi t E

3.5.10.Vari´ aci´ osz´ am´ıt´ as A Mathematica tartalmaz egy k¨ ul¨ on programcsomagot vari´ aci´ osz´am´ıt´ asi ogz´ıfeladatok megold´ as´ara, ez a 4 3V#8 3. Ez r¨ tett v´egpont´ u probl´em´akat tud megoldani, amelyekn´el azonban a f¨ uggetlen ´es a f¨ ugg˝ o v´ altoz´o is lehet vektor. Mindenekel˝ ott h´ıvjuk be a vari´ aci´ osz´am´ıt´ asi programcsomagot: A!K8   @'K

A minim´ alis felsz´ın˝ u forg´ astest meghat´aroz´as´ahoz hat´ arozzuk meg az  xmax  y(x) 1 + y  (x)2 dx xmin

funkcion´ al els˝o vari´ aci´ oj´ at: '0 *  8  D ( + "5 G(\ + I  ( +  + 2 1 + y’[x] - y[x] y’’[x] 3 2 2 (1 + y’[x] )

Az Euler-f´ele egyenletet — k¨ozvetlen¨ ul is — k¨ onnyen f¨ ol tudjuk ´ırni: 0 *  445   ( + "5 G(\ + I  ( +  + 2 1 + y’[x] - y[x] y’’[x] == 0 3 2 2 (1 + y’[x] )

Val´ os-val´os f¨ uggv´enyek k¨ or´eben a fenti egyenlet nyilv´an egyen´ert´ek˝ u azzal, amelyn´el a fenti bal oldal sz´ aml´al´ oj´ at tessz¨ uk null´ aval egyenl˝ ov´e: D"1 0  :  B ( +  +  +,  :

   Q A  CJ  A  CJ B x -2x E (1+E ) 2

246

3. Fejezetek a matematik´ab´ ol

Tal´an nem meglep˝o, hogy eredm´eny¨ ul a l´ ancg¨orb´et kapjuk. A minim´ alis felsz´ın˝ u forg´ astestet a k¨ovetkez˝ok´eppen lehet megjelen´ıteni: O @!K"*!2*E1  K "*!2*E1   +  + B  E1  #+ CJ  B B

• A Ritz-m´ odszer A vari´ aci´ osz´am´ıt´ as alapvet˝o numerikus m´ odszere a Ritz-m´ odszer . Bizonyos speci´alis esetekben ennek alkalmaz´as´ahoz a VL ´es uggv´eny haszn´ alhat´ o. az VL f¨

3.5.11. Gyakorlatok ´ es feladatok 1. Ha egy vektormez˝o ´ abr´ azol´as´an´ al mindk´et ir´ anyban 30–30 pontot akarunk felvenni ´es azt akarjuk, hogy a vektorok alap´ertelmez´es szerinti hossza 0,3-szeres´ere v´altozz´ek, akkor ezt ´ıgy tehetj¨ uk meg: & 8! ' " + (  A + (  + B & ( B & & &  CJ B "! !  CJ Q./

2. H´ arom dimenzi´ oban is megadhatunk egy potenci´ alf¨ uggv´enyt: & O' 'D + (I I + C  ( C   C  & O' 'D + (I I + B  ( B   B  & O' 'D A + ( I  + BQB BQB> ( BQBL BQ  BQBL BQ 8! 7' CJ 

3. Hat´arozzuk meg az ∂z(x, y) ∂z(x, y) + yz(x, y) = −xy ∂x ∂y egyenlet ´altal´ anos megold´as´at, valamint azt az integr´ alfel¨ uletet, amely orb´en. atmegy a z(x, x2 ) = x3 g¨ ´ xz

3.5. Differenci´alegyenletek

247

´ Utmutat´ as. Hat´arozzuk meg az egyenlet ´altal´ anos megold´as´at: A#   D"1

+  + ( D  + (  + G (  + ( D  + (  (  C+ (  + (  + ( y 2 Sqrt[y] Sqrt[-x - 2 C[1][ ]] x }, {{z[x, y] -> Sqrt[x] y 2 Sqrt[y] Sqrt[-x - 2 C[1][ ]] x {z[x, y] -> }} Sqrt[x]

[ +, (, - :

   [ +, (, - :

   +I  &Y4+  ' "0 *( [ + ( Q ( CJ +I 3 2 x == -(Sqrt[x] Sqrt[-x - 2 C[1][x]]) "1 : A  + 2 3 x (1+x ) }} {{C[1][x] -> 2 "1 +I  &Y4+  ' "0 *( [ + ( Q ( CJ +I  A  + 2 3 x (1+x ) }} {{C[1][x] -> 2

Az Olvas´ora hagyjuk az adott felt´eteleket kiel´eg´ıt˝ o megold´as teljes meghat´ aroz´as´at. 4. Oldjunk meg egy line´ aris ´alland´ o egy¨ utthat´ os rendszert a # f¨ uggv´eny felhaszn´ al´ as´aval.

248

3. Fejezetek a matematik´ab´ ol

3.6. Diszkr´ et matematika A matematik´ anak ez a ter¨ ulete az ut´ obbi ´evtizedekben rendk´ıv¨ ul gyors fejl˝ od´esen ment kereszt¨ ul ´es sz´amos m´as ter¨ ulettel ker¨ ult kapcsolatba. N´eh´ any p´eld´ an kereszt¨ ul bemutatjuk, hogy feladatainak megold´ as´an´ al hogyan haszn´ alhat´ o a Mathematica program. Megeml´ıtj¨ uk, hogy a sz´ amelm´elettel k¨ ul¨ on is foglalkozunk a 3.9. szakaszban, a val´ osz´ın˝ us´egsz´am´ıt´ assal pedig a 3.10. szakaszban. Nem soroltuk fel itt a listakezel˝o f¨ uggv´enyeket (2.3.1. pont ´es 3.1.2. pont) ´es a line´aris algebr´ aban (3.8. szakasz) haszn´alatos f¨ uggv´enyeket, amelyek nyilv´ anval´ oan sok hely¨ utt alkalmazhat´ ok a kombinatorik´ aban. Mind¨ ossze n´eh´ any p´eld´ at adunk ezek alkalmaz´as´ara. Felh´ıvjuk a figyelmet Skiena [76] k¨ onyv´ere, az ´altalunk is bemutatand´ o programcsomag onnan ker¨ ult be a Mathematica programcsomagjai k¨ oz´e. Megadjuk tov´ abb´ a a szerz˝o elektronikus c´ım´et is:

=% & H ) &H  A leg´ ujabb v´ altozat anonim ftp-vel let¨ olthet˝ o a  H ) &H  c´ımr˝ ol. A matematikai fogalmakat illet˝ oen a [23] ´es a [39] jegyzetet aj´anljuk az Olvas´ o figyelm´ebe.

3.6.1. Adott tulajdons´ ag´ u list´ ak N´eh´ any j´ ol haszn´ alhat´ o bels˝o f¨ uggv´enyt sorolunk fel:

      0 9

9  6 6W6)& 6 8W6)&

El˝ osz¨or a kombinatorik´ aban el˝ofordul´ o, adott felt´eteleknek eleget tev˝o objektumokat (list´ akat vagy halmazokat) fogunk el˝ o´all´ıtani, k´es˝obb pedig le fogjuk sz´aml´alni ezeket. Az alkalmazott bels˝ o f¨ ugg´enyek egy r´esze szerepel a list´akn´ al ´es a halmazokn´ al, m´as r´esz¨ uk a line´ aris algebr´ an´ al. Itt most a kombinatorika speci´alis objektumainak megszerkeszt´es´ere ¨osszpontos´ıtunk:

3.6. Diszkr´et matematika

249

  &0       {{1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2, 3, 1}, {3, 1, 2}, {3, 2, 1}}

Meghat´arozhatjuk azt is, hogy az egyes permut´ aci´ ok p´ arosak-e vagy p´ aratlanok, azaz p´ aros vagy p´ aratlan sz´am´ u inverzi´ oval ad´ odnak-e a nagys´ag szerint ( lexikografikusan”) sorba a´ll´ıtott sz´amokb´ ol: ” "    : {1, -1, -1, 1, 1, -1}

V´ alasszuk ki a permut´ aci´ ok k¨ oz¨ ul a p´ arosakat: "!  "   .  / {{1, 2, 3}, {2, 3, 1}, {3, 1, 2}}

A 6 f¨ uggv´eny f¨ olfoghat´ ou ´gy is, mint egy teljesen antiszimmetrikus tenzor, vagy mint a Levi–Civit` a-f´ele, m´as n´even epszilon-szimb´olum. utthat´ o, valamint a Wignert˝ ol Mint ilyennek, rokona a 4& 8:  egy¨ sz´armaz´o 8W6)& ´es a Racah-f´ele 6W6)&. A permut´ aci´ ok a 7 #830 3 programcsomaggal vizsg´alhat´ ok r´eszletesebben. Ebben a k¨ ovetkez˝o f¨ uggv´enyek tal´alhat´ ok:

4)   0

9 0 4)

El˝ osz¨or a´ll´ıtsuk el˝ o 10 sz´am v´eletlen permut´ aci´ oj´ at: D!  @K&0   K E '0&0   B {4, 1, 5, 3, 2, 8, 10, 9, 6, 7}

Bontsuk fel a kapott permut´ aci´ ot ciklusokra:

A(! : {{4, 3, 5, 2, 1}, {8, 9, 6}, {10, 7}}

A ciklusokb´ ol kiindulva viszont megszerkeszthet˝o a megfelel˝o permut´ aci´ o; most p´eldak´ent az eredetit ´all´ıtjuk vissza: 0A(! : 

Tov´abbi, a permut´ aci´ ok tanulm´ anyoz´ as´ara haszn´ alhat´ o f¨ uggv´enyek vannak a 7 #834&3 programcsomagban:

250

3. Fejezetek a matematik´ab´ ol

 0     6&  #480

9 0 9 0+ 9 0( 9=0

´ Ugy is el˝oa´ll´ıthatjuk r¨ ogz´ıtett sz´am´ u elem permut´ aci´ oit, hogy a m´ asodikt´ ol kezdve mindegyik egy transzpoz´ıci´ oval a´ll el˝ o az ˝ot megel˝oz˝ob˝ ol: D!  @KA0$  !K  00A@ &0       {{1, 2, 3}, {2, 1, 3}, {3, 1, 2}, {1, 3, 2}, {2, 3, 1}, {3, 2, 1}}

Ha el´eg sok v´eletlen permut´ aci´ ot vesz¨ unk, akkor nagy val´ osz´ın˝ us´eggel az ¨osszes el˝o fog fordulni k¨ oz¨ott¨ uk: %  @  

$ E '0&0     B 6

Permut´ aci´ ok inverze is megkaphat´ o: 6 1&0  

  >  )   >  ) 

{{1, 5, 3, 4, 2}, {5, 3, 1, 4, 2}}

Az inverzi´ ok sz´ama egy permut´aci´ oban ugyannyi, mint az inverz´eben:    E '0&0   >B  6 1    6 1  6 1&0     {629, 629}

K´et permut´ aci´ o kompoz´ıci´ oj´ anak el˝o´all´ıt´ as´ara mutatunk egy m´ odszert:   E '0&0   > {4, 3, 1, 5, 2}

  E '0&0   > {2, 3, 4, 5, 1}

&  &  . /  E  > {5, 4, 2, 1, 3}

A skatulyaelv seg´ıts´eg´evel bebizony´ıthat´ o [39], hogy n2 + 1 k¨ ul¨ onb¨ oz˝o sz´amb´ ol a´ll´ o sorozatb´ol kiv´ alaszthat´o n + 1 hossz´ us´ ag´ u monoton sorozat. Ezt ´ıgy illusztr´alhatjuk:

3.6. Diszkr´et matematika

251

  E '0&0   F {12, 6, 1, 4, 3, 2, 8, 5, 13, 7, 14, 9, 15, 10, 16, 11, 17} %  6 ! "$5 !  {1, 2, 5, 7, 9, 10, 11, 17}

A leghosszabb monoton cs¨okken˝ o r´eszsorozatot pedig ´ıgy v´ alaszthatjuk ki:   M C  %  6 ! "$5 !  M C : {12, 6, 4, 3, 2}

V´eg¨ ul megeml´ıtj¨ uk a 7 #834&3 programcsouggmag f¨ uggv´enyei k¨ oz¨ ul a :)4 , a ;6&  ´es az 86&  f¨ v´enyt, amelyek adott tulajdons´ ag´ u list´ak el˝o´all´ıt´ as´ara szolg´alnak, s amelyeket r´eszben m´ar m´asutt haszn´ altunk, r´eszben pedig a szakasz v´eg´en fogunk haszn´ alatukra p´eld´ akat mutatni a Gyakorlatok ´es feladatok k¨ oz¨ott.

3.6.2. Lesz´ aml´ al´ as A kombinatorika tipikus feladata a lesz´ aml´ al´ as: adott felt´eteleknek eleget tev˝ o, adott m´eret˝ u objektumok sz´am´at hat´ arozzuk meg ilyenkor. Egy kev´ess´e eleg´ans m´odszer sokszor rendelkez´es¨ unkre a´ll (b´ ar gyakorlatilag esetenk´ent kivitelezhetetlen) lesz´aml´al´ asi feladatok megold´as´ara: megszerkesztj¨ uk a k´ıv´ ant tulajdons´ ag´ u objektumokat, ezut´ an megsz´amoljuk, hogy h´ any van bel˝ ol¨ uk: %  @ &0     6

A lesz´aml´al´ asi feladatokhoz seg´edeszk¨ozk´ent a leggyakrabban a k¨ovetkez˝o bels˝o f¨ uggv´enyeket haszn´aljuk:

 ( : L 8 #

0 0 0 088 6+ 6(

252

3. Fejezetek a matematik´ab´ ol

n elem permut´aci´ oinak sz´ama: n!. A  f¨ uggv´eny (ennek r¨ ovid uggv´eny megfelel˝o ´ert´ek´et adja: alakja ) nem eg´esz sz´amokra a : f¨ B; QN; {265252859812191058636308480000000, 13.3813}

anyf´elek´eppen v´ alaszthatunk ki n elem k¨ oz¨ ul kett˝ ot? Az erre adand´ o nH´ v´ a laszt a Mathematic´ a ban ´ ıgy kaphatjuk meg: 2 S 0   (-1 + n) n 2

Hat piros ´es ¨ot feh´er goly´ ot annyif´elek´eppen rakhatunk sorba, ah´ anyf´ele(6+5)! k´eppen 11 goly´ o k¨ o z¨ u l kiv´ a laszthatunk o ¨ t¨ o t (vagy hatot). Ez a sz´ a m 6!5! 11 vagy 5 , ´ert´ek´et ´ıgy sz´am´ıthajuk ki:   0 N >  S 0  N  {462, 462}

H´ anyf´ele sz´o ´ all´ıthat´ o ¨ossze a Mathematica sz´o bet˝ uib˝ ol?   0        1663200

H´ anyf´elek´eppen lehet 4 t´ argyat u ´gy permut´ alni, hogy egyik se maradjon a hely´en? D!  @KA0$   !  K "$*!  ) 9

6&5*, ´ert´ek´et az n!

n

k k=0 (−1)

k´eplet felhaszn´al´ as´aval sz´am´ıtja a program. Ugyanebben a programcsomagban megtal´aljuk m´eg a szint´en lesz´aml´ al´ ashoz (p´enzv´alt´ asi probl´ema, bolyong´ asok sz´ama, helyes z´ar´ o jelez´esek 4& k¨ u ls˝ o f¨ u ggv´ e nyt, amelynek az ´ert´eke sz´ama stb.) haszn´ a lt 2n 1 , valamint k´ e t rekurz´ ıve defini´ a lt f¨ u ggv´ e nyt, a 2 az n helyen n+1 n &- ´es a 15  -f¨uggv´enyt is. A Fibonacci-sorozattal rokon h Hofstadter-f¨ uggv´eny defin´ıci´ o ja: h(1) := h(2) := 1

h(n) := h(n − h(n − 1)) + h(n − h(n − 2))

Speci´ alis lesz´aml´al´ asi probl´em´ak a sz´ ampart´ıci´ os probl´em´ak is. H´ anyf´elek´eppen lehet f¨ olbontani az 50 sz´ amot pozit´ıv sz´amok, illetve k¨ ul¨ onb¨ oz˝o pozit´ıv sz´amok ¨osszeg´ere?

3.6. Diszkr´et matematika

253

&   & >B  &   ? >B  {204226, 3658}

Tanulm´ anyozzuk az n sz´am felbont´ asainak, illetve az n sz´am k¨ ul¨ onb¨ oz˝o ´ sz´amok ¨osszeg´ere val´o felbont´ asainak sz´am´at! (Erdemes a megadottakt´ol elt´er˝o transzform´ altakkal is k´ıs´erletezni.) % &

$  % &   & I  BB % &

$  % &   ? I  BB % &

$

 4+ % &   ? % &   &   BB >BB  & E CJ#

3.6.3. Egyszer˝ u kombinatorikai azonoss´ agok V´ altoz´okat is tartalmaz´o kombinatorikai kifejez´esek egyszer˝ us´ıt´es´et k¨ ul¨ on programcsomag k¨onny´ıti meg: D!  @KA0$  "0 *!  K  G >; ; (1 + n) (2 + n) (3 + n) (4 + n) (5 + n) S 0  = S 0  =C 1 - k + n k "0 S 0  = RS 0  C =  = B 1 n 4 Gamma[ + n] 2 Sqrt[Pi] Gamma[1 + n]



Az al´ abbi o¨sszef¨ ugg´est (ahol f tetsz˝oleges, nemnegat´ıv eg´eszekre defini´alt f¨ uggv´eny) sem kaptuk volna meg, ha csak a magot haszn´ altuk volna: &'! * =  = B f[1 + n]

G  &'! * =  = B

 

Megjegyzend˝ o, hogy a megfelel˝ o — ¨osszegekre vonatkoz´o — ¨osszef¨ ugg´es as´aval. nem kaphat´ o meg az &36)&63 csomag felhaszn´al´ A programcsomag beh´ıv´ asakor m´odosul a L.  ´es 0  f¨uggv´eny defin´ıci´oja.

254

3. Fejezetek a matematik´ab´ ol

3.6.4. Differenciaegyenletek, gener´ atorf¨ uggv´ enyek Tekints¨ uk a m´ asodik Bernoulli-polinomot az x helyen: S S  + 1 2 - x + x 6

A Bn (x) Bernoulli-polinomok gener´ atorf¨ uggv´enye: ∞ 

Bn (x)

n=0

text tn = t . n! e −1

" 4+ + 4+ C  B ) 2 2 3 1 x x x x x 1 2 3 + )t + ( + )t + 1 + (-( ) + x)t + ( 2 12 2 2 12 4 6 2 3 4 x x x 1 5 4 ) + + )t + O[t] (-( 720 24 12 24

A Bernoulli-polinomok nulla helyen felvett ´ert´ekei a Bn Bernoulli-sz´ amok: S S B  S S B  174611 ), -529.124} {-( 330

Az En (x) Euler-polinomok gener´atorf¨ uggv´enye: ∞  n=0

En (x)

2ext tn = t . n! e +1

"  4+ + 4+ G   B ) 2 2 3 x x x 1 x x 1 2 3 )t + 2( + t + 1 + 2(-( ) + )t + 2(- + 4 2 4 4 48 8 12 3 4 x x 5 x 4 + )t + O[t] 2( 48 24 48

A gener´atorf¨ uggv´enyb˝ ol ´eppen azt kapjuk, mint a be´ep´ıtett  f¨ uggv´eny haszn´ alat´ aval:

3.6. Diszkr´et matematika

255

44  + 2 -x + x 4+  ' ::

  R;  44  + True ; "0 *( A**! ::: I  !  44  + True

Az En Euler-sz´ amok defin´ıci´ oja pedig: 1 En := 2n En ( ) 2 uggv´eny nem rendelkezik a  & attrib´ utummal.) (Az  f¨ 44     ) > N F {0, -1, 0, 5, 0, -61, 0}

A Gn Genocchi-sz´ amok defin´ıci´ oja: G1 := 1,

G2n := 2(1 − 22n )B2n ,

G2n+1 := 0.

 !!@ ,V41 ? -  C I  S S  !!@ ,V2''? - B  !!@     !!@     ) > N F M {1, -1, 0, 1, 0, -3, 0, 17} (m)

(m)

Az els˝ o- (Sn ) ´es m´asodfaj´ u (σn ) Stirling-sz´ amok polinomok k´etf´ele el˝o´ all´ıt´ asa k¨oz¨otti a´tv´ alt´ ashoz haszn´alhat´ o egy¨ utthat´ ok: x(x − 1)(x − 2) . . . (x − n + 1) =

n 

Sn(m) xm

m=0

xn =

n 

σn(m) x(x − 1)(x − 2) . . . (x − m + 1)

m=0

A fenti o¨sszef¨ ugg´eseket azonban u ´gy is felfoghatjuk, mint a Stirling-sz´ amok gener´atorf¨ uggv´enyeinek defin´ıci´ o j´ at. Lesz´aml´al´ asn´ al is el˝ofordulnak, (m) oinak sz´am´at, ameugyanis (−1)n−m Sn megadja n elem azon permut´aci´ (m) lyek pontosan m sz´am´ u ciklust tartalmaznak. σn azt adja meg, hogy

256

3. Fejezetek a matematik´ab´ ol

h´ anyf´elek´eppen lehet egy n elem˝ u halmazt felbontani m sz´am´ u nem u ¨res r´eszhalmazra, teh´at egy halmazpart´ıci´ os feladat megold´ as´at adja:

$ "  " >    > {24, -50, 35, -10, 1} 4+  ' &'! +C  B ) 2 3 4 5 24x - 50x + 35x - 10x + x

Eddig jutottunk bels˝ o f¨ uggv´enyek alkalmaz´as´aval. Most k¨ uls˝ o f¨ uggv´enyekkel el˝ osz¨or differenciaegyenleteket oldunk meg, s a v´eg´en ism´et visszakanyarodunk a gener´ atorf¨ uggv´enyekhez. A 7 #83963 programcsomag elj´ar´ asait haszn´alhatjuk differenciaegyenletek megold´as´ara. Az itt tal´alhat´ o k¨ uls˝ o f¨ uggv´enyek a k¨ ovetkez˝ok:

: 0B6 : 0B6 6  Egy o¨sszetettebb p´eld´ at mutatunk: D!  @KE"1K E"1  G C $ C )    G G $ G G $    B  $ B  B   $  n n (-2) 32 4 + - n, {{a[n] -> -( ) 3 6 2 n (-2) 2 n + - 2 + n}} b[n] -> 3 3

A fenti egyenlet a´lland´ o egy¨ utthat´ os line´aris egyenlet volt. Meg tudunk azonban oldani bizonyos v´ altoz´o egy¨ utthat´ os egyenleteket is. Egyr´eszt olyanokat, amelyek homog´enek, els˝orend˝ uek ´es egy¨ utthat´ oik racion´ alis t¨ ortf¨ uggv´enyek. (Sz¨ ulet´esi-hal´aloz´asi folyamatok stacion´ arius eloszl´asa p´eld´ aul igen gyakran ilyen differenciaegyenletnek tesz eleget.) M´ asr´eszt olyanokat, amelyek ugyan v´ altoz´o egy¨ utthat´ osak, de a megold´as valamely val´ os C ´alland´ o al lassabban n¨ ovekszik ´es a differenciaegyenlethez rendelt mellett C n n!-n´ uls˝ o) f¨ uggv´eny meg tudja oldifferenci´ alegyenletet a 76 (bels˝o vagy k¨ dani. L´ assunk erre is egy p´eld´ at:

3.6. Diszkr´et matematika

257

E"1  G  G  G C  G  G C   B  B        n n 3 (-1) + }} {{a[n] -> n! n!

Ha egy differenciaegyenletben a nemlinearit´ast konvol´ uci´ o okozza, akkor is rem´enykedhet¨ unk: E"1 ! G  "0 ! = ! C=  = B !  Binomial[2 n, n] }} {{c[n] -> 1 + n

  ! B  

Eredm´eny¨ ul ´eppen a Catalan-f´ele sz´amokat kaptuk. uggv´eny´et: Most meghat´arozzuk az an := tn n ∈ N0 sorozat gener´atorf¨ &Y"0 I   1 1 - t z

 B

A Poisson-eloszl´as gener´atorf¨ uggv´enye pedig ´ıgy kaphat´ o meg: &Y"0  I -t + t z E

4IC  ; 

 B

Ismert gener´ atorf¨ uggv´enyb˝ ol a megfelel˝o sorozat tagjait ´ıgy a´ll´ıthatjuk el˝o: A**! % 0 " :  B >   2 3 4 5 t t t t -t t {E , , , , , } t t t t t E 2 E 6 E 24 E 120 E

Most hat´ arozzuk meg az an := n2 sorozat z →

∞ 

n2 z n /n!

n=0

exponenci´ alis gener´ atorf¨ uggv´eny´et: 4+   &Y"0 I   B z E z (1 + z)

258

3. Fejezetek a matematik´ab´ ol

A sorozat defin´ıci´ oj´ aban bizonyos felt´etelek is szerepelhetnek: 4+   &Y"0

I G ) 6* 41  I  I G   E

z

+ E

z

z (1 + z) + 4 (

3z 3z 2E E

 B 3z z 3E z 2z ) + E z + 2z 2

Az itt el˝ ofordul´ o  k¨ uls˝ o f¨ uggv´eny csak abban k¨ ul¨ onb¨ ozik az  bels˝o f¨ uggv´enyt˝ol, hogy szimbolikus argumentumra nem ´ert´ekel˝odik ki. Megkaphatjuk egy differenciaegyenlettel adott sorozat (p´eld´ aul a Fibonacci-sorozat) gener´atorf¨ uggv´eny´et is: O    !     C G  C   B          1 {{ }} 2 1 - z - z

J 

Hasonl´ oan kaphatjuk meg egy differenciaegyenlettel adott sorozat (p´eld´ aul a Bernoulli-sz´amok sorozata) exponenci´alis gener´ atorf¨ uggv´eny´et: 4+   "0 S 6*

z {{ -1 +

O    ! 

0  = S =  = B   S G    B  S    E

z

}}

´ ıtsuk el˝ All´ o az exponenci´ alis gener´ atorf¨ uggv´enyb˝ ol a sorozat tagjait: A**! % 0 "

:

    B B   R $ ;  B B 1 1 1 1 5 1 , 0, -( ), 0, } {1, -( ), , 0, -( ), 0, 2 6 30 42 30 66

Ezek a sz´amok val´oban a Bernoulli-sz´amok:

$ S S   B B 1 1 1 1 5 1 , 0, -( ), 0, } {1, -( ), , 0, -( ), 0, 2 6 30 42 30 66

A : ´altal el˝ o´all´ıtott gener´atorf¨ uggv´eny z helyen vett helyettes´ıt´esi ´ert´ek´ere :5**,,*', n´even, az :2  ´altal el˝o´all´ıtott gener´atorf¨uggv´eny z helyen vett helyettes´ıt´esi ´ert´ek´ere pedig :5**,,*', n´even hivatkozhatunk a k´es˝obbiekben. Ha az egy¨ utthat´ ok t´ ul gyorsan n˝ onek, akkor esetleg saj´at magunknak kell alkalmas m´ odszert v´alasztanunk:

3.6. Diszkr´et matematika

259

0  E"1 B  >  

C G  JB  n 1 {674.699 Second, {{T[n] -> (3 + 2( ) ) n!}}} 2

; 

Ijesztget˝o hiba¨ uzenetek sor´at is megkapjuk ez alatt a hossz´ u id˝ o alatt:

0  E"1 B  >  

C G  JB    @' CJ  @'4O n 1 {34.603 Second, {{T[n] -> (3 + 2( ) ) n!}}} 2

; 

Az 96 ´es a 6  f¨ uggv´enynek sz´amos opci´o ja van, ezek haszn´ alata megk¨onny´ıti a gener´ atorf¨ uggv´enyekkel ´es differenciaegyenletekkel v´egzett munk´at: E"1 & B   &   +  G & G C  G + & G J B &  {{P[n] -> LegendreP[n, x]}}

& C  B 

E"1 & B   &   +  G & G C  G + & G & C  B  J B &   " ! !   CJ  -n + 2K[1] {{P[n] -> Sum[((-2 x) K[1] Binomial[K[1], n-K[1]] Binomial[2K[1], K[1]])/(-4) , {K[1], 0, n}]}}

3.6.5. Gr´ afok ´ es folyamok Gr´ afokkal kapcsolatban legel˝ osz¨or az mer¨ ul fel, hogyan lehet egy algebrai” ” alakban megadott gr´ af s´ıkbeli reprezent´aci´ o j´ at (vagy t´erbeli reprezent´ aci´ oj´ anak vet¨ ulet´et) megrajzolni. Tegy¨ uk fel, hogy adott az ´elekkel ¨osszek¨ot¨ott cs´ ucsok rendezett p´ arjainak list´aja. (Megjegyezz¨ uk, hogy t¨ obbsz¨ or¨ os ´elek nincsenek megengedve.) Ekkor ´ıgy j´ arhatunk el (az eredm´eny¨ ul kapott a´br´ at itt — ´es az al´abbiakban igen gyakran — nem k¨ oz¨olj¨ uk): D!  @KA0$  !K "@YO @ 02''&

      ) )  D! '

260

3. Fejezetek a matematik´ab´ ol

Egy m´ asik megad´asi m´odn´ al minden egyes cs´ ucshoz megadjuk, mely cs´ ucsokkal van o¨sszek¨otve: "@YO @ 0#'W! !(% 

   ) )     D! '

A cs´ ucsokat meg is c´ımk´ezhetj¨ uk: "@Y%$'O @

=O @ E    O  . . /  $ !

Nevezetes gr´ af ok egyszer˝ uen valamely f¨ uggv´eny ´ert´ekeik´ent ad´ odnak.

;*, az n sz¨ogpont´u teljes gr´af: "@YO @ P 

#'W! !(%  P ) 8 ! P >

{{0.309017, 0.951057}, {-0.809017, 0.587785}, {-0.809017, -0.587785}, {0.309017, -0.951057}, {1., 0}}

A legut´ obbi p´elda mutatja, hogy a s´ıkbeli reprezent´aci´ on´ al a program szab´ alyos ¨otsz¨oget haszn´ al. Most hozz´avesz¨ unk egy ´elt egy csillaghoz (a csillag k¨oz´eppontja kapja a legnagyobb sorsz´amot): "@YO @ #''4' "  B   

(A t´ız´ag´ u csillag k¨ oz´eppontja a 11 sz´ amot kapja.) A gr´ afokkal v´egzett t¨obbi szok´asos m˝ uveletek re is egy-egy f¨ uggv´eny a´ll rendelkez´es¨ unkre (A pontos defin´ıci´ okat illet˝oen ism´et Skiena k¨ onyv´ere [76] utalunk, de a [39] bevezet˝ o jegyzet ´es a hozz´a tartoz´o [23] p´eldat´ar t´ argyal´asm´odja is teljesen hasonl´o az itteniekhez. Mivel a programcsomagok olvashat´ o sz¨oveges ´allom´anyokban vannak, ez´ert amikor t¨ obb defin´ıci´ o is forgalomban van, az a´llom´anyb´ ol is kider´ıthet˝ o, hogy melyikre gondoltak a program k´esz´ıt˝ oi.): "@YO @ O @  P   P > > "@YO @ O @&'! P   P > "@YO @

  1A 02''&

     D! '

3.6. Diszkr´et matematika

261

Rendelj¨ unk egy gr´ af ´eleihez cs´ ucsokat, csatlakoz´o ´eleihez pedig az ´eleknek megfelel˝o cs´ ucsokat o¨sszek¨ot˝o ´eleket. A G gr´ afb´ ol ´ıgy sz´armaztatott L(G) uggv´eny adja meg: ´elgr´ af ot a :8 f¨ "@YO @ % O @ P >

Most el˝o´all´ıtunk egy v´eletlen gr´afot, amely a teljes gr´ af ´eleinek fel´et tartalmazza: "@YO @ E '0O @  BQ>

Mivel v´eletlen gr´afot t¨ obbf´elek´eppen is szok´ as defini´ alni, ez´ert ´erdemes f¨ oltenni a QQ9 :8 k´erd´est. A gr´ afelm´eleti szempontb´ol fontos tulajdons´ agok ´ıgy ellen˝ orizhet˝ok: A ! '? D 4' "  B   B False "*A0 0 (? A(! > // "*A0 0 (? & @ ) True #!(!!? E '0O @ F BQ> D! '  D! ' False

El˝ o´all´ıthatjuk az o¨sszef¨ ugg˝ o (gyeng´en, er˝ osen ¨osszef¨ ugg˝ o) komponenseket: A ! 'A0    O @  P   P ) {{1, 2, 3}, {4, 5, 6, 7}}

262

3. Fejezetek a matematik´ab´ ol X=(A ! 'A0    0#'W! !(% 

   ) )     D! ' {{1, 2, 3, 4}}

Fa minden ´ele h´ıd: S' E '0  B {{4, 5}, {4, 7}, {1, 4}, {1, 9}, {2, 8}, {6, 8}, {3, 6}, {3, 10}, {1, 10}}

F´ ak kezel´es´ere van egy k¨ ul¨ on programcsomag, a 7 #833, az al´abbi utas´ıt´ asokkal:

0 #=

 0

Meghat´arozhat´ ok az Euler-f´ele ´es a Hamilton-f´ele k¨or¨ ok is: 4 A(! P ) ) {7, 2, 8, 1, 5, 4, 6, 3, 7, 4, 8, 3, 5, 2, 6, 1, 7} 70   A(! P   {1, 4, 2, 5, 3, 6, 1}

Hajtsuk v´egre a legut´obbi utas´ıt´ ast u ´gy is, hogy m´asodikk´ent az  opcion´ alis argumentumot is be´ırjuk! Meghat´arozhat´ o a minim´ alis ´es a maxim´alis fesz´ıt˝ o fa, a fesz´ıt˝ o f´ ak sz´ama: "@YO @  00" 

   P   )

0$2*"      A(!   P B  & @ N  {3, 100000000, 1}

3.6. Diszkr´et matematika

263

Az 1 jel˝ u forr´ ast´ol a 4 jel˝ u nyel˝ oig az ´aram egy s´ ulyozatlan ´el˝ u ir´ any´ıtott gr´ afban:  Y=Y 0#'W! !(% 

   )  )     ) 1

V´eg¨ ul f¨ olsorolunk n´eh´ any, tov´ abbi b´ uv´ arkod´ asra ¨oszt¨ok´el˝o f¨ uggv´enyt ´es opci´ot a 7 #834&3 programcsomagb´ ol:

8  L== 48& 480) 45 7LK6 7K=   4 4  9 1) 1 7  #   8  8 

W 8 # 8 #4 #  6 #6 #480 #6 #V4 #& 0  0 6 6  6 L ) 

3.6.6. Gyakorlatok ´ es feladatok 1. Vegy¨ uk 6 elem egy v´eletlen permut´ aci´ oj´ at, majd a´ll´ıtsuk (v´eletlen) ennek megfelel˝o sorrendbe 3 elem o¨sszes permut´aci´ oj´ at. 2. Tanulm´ anyozzuk az al´ abbi utas´ıt´ asokat: S    !@  A(! N +0 !@  P N & ? P >  W >  +0 ' 

A k¨ ovetkez˝o utas´ıt´ as eredm´enye egy 5 × 5-¨os Vandermonde-m´ atrix: 1 '0 '  #( + . I.C/ > >  +0 :

amelyre vonatkoz´o ismert ¨osszef¨ ugg´est ´ıgy illusztr´alhatjuk: !  D 1 '0 '

3.8.2. R´ eszm´ atrixok kezel´ ese A 2.3.1. pontban ismertetett m´odon hivatkozhatunk m´ atrix r´eszeire (elem, sor, oszlop), illetve m´odos´ıthatjuk az egyes r´eszeket.

3.8. Line´aris algebra

277

**. K,, **,,   *,**K,,

az m m´atrix (i, j) index˝ u eleme az m m´atrix i-edik sora az m m´atrix j-edik oszlopa

A   *, az m (tetsz˝oleges t´eglalap-) m´atrix transzpon´ altj´ at adja meg. Az m m´atrix j-edik oszlop´at m´eg ´ıgy is megkaphatjuk:

#*P**K,,. , Az m m´atrix i1 , · · · , ir index˝ u sorainak ´es j1 , · · · , js index˝ u oszlopainak k¨ oz¨os r´eszek´ent ad´ od´ o r × s m´eret˝ u r´eszm´atrix´ at a k¨ ovetkez˝o utas´ıt´ assal jel¨ olhetj¨ uk ki:

**-+.HHH./. -K+.HHH.K /,, Az elmondottakat az al´abbi p´eld´ akon mutatjuk be: A 0 0    >  ) F B  +   F  +0 0 2 4 x

3 7 2

5 0 1

1 a 7

0

  2

0

 {2, 3, 5, 1}

V´ altoztassuk most meg az m m´atrix (3, 2) index˝ u elem´et ´es az els˝o sor´at: 0

   C

0

  B  C F

´es ellen˝orizz¨ uk az eredm´enyt:  +0 0 0 4 x

3 7 -1

-2 0 1

7 a 7

278

3. Fejezetek a matematik´ab´ ol

Az al´ abbi utas´ıt´ asok mindegyike az m m´atrix harmadik oszlop´ at adja meg:

   0

 {-2, 0, 1}

 .

 / 0 {-2, 0, 1}

Az m m´atrix egy r´eszm´atrix´ at ´ıgy jel¨ olhetj¨ uk ki: 0

      +0 3 7

-2 0

Ezt a r´eszm´atrixot m´eg ´ıgy is megkaphatjuk: 0

E     E   

A  &3##3 programcsomag t¨ obb lehet˝ os´eget is tartalmaz blokkm´ atrixok k´enyelmes kezel´es´ere. Olvassuk be sz¨ uks´eg eset´en ezt a programcsomagot, ezut´an pr´ ob´ aljuk ki a k¨ ovetkez˝o utas´ıt´ asokat: #       +0 # S  $ $ $ $  +0 S #  'A0  # S   +0 : #  'EY # S   +0 S!= + # S S B B B B  +0 : 0  #( !  )   +0 0

=EY 0  C   +0

=A0  0      +0

= + 0     ) "$ + 0     

3.8.3. M˝ uveletek vektorokkal ´ es m´ atrixokkal Ebben a pontban az aritmetikai m˝ uveletekkel, m´atrixnak a determin´ ans´aval, a rangj´ aval ´es az inverz´evel, valamint m´ atrixv´ altoz´os f¨ uggv´enyekkel foglalkozunk.

3.8. Line´aris algebra

279

• Aritmetikai m˝ uveletek Egyenl˝ o dimenzi´ oj´ u vektorok, illetve m´ atrixok ¨ osszeg´et a matematik´ aban megszokott m´odon kapjuk meg: 1   $ ! 1  + (  1 G 1 {a + x, b + y, c + z} # # 1 2

 G + +

  $   ' S  ! '  *  @ S   +0 c a + d b + e f 3 + g d + h

A  vektornak, illetve az

m´atrixnak a  sz´ ammal vett szorzat´ at a

  vagy a A illetve



vagy a A

utas´ıt´ assal sz´amolhatjuk ki. Egyenl˝ o dimenzi´ o j´ u vektorok skal´ aris szorzat´ anak meghat´aroz´as´ahoz a 7 bels˝o f¨uggv´enyt (ennek r¨ovid alakja a H karakter) haszn´alhatjuk fel. os sz´am vagy val´ os szimHa a + ´es a ( vektor mindegyik komponense val´ b´ olum, akkor ezek skal´ aris szorzata: 1 Q 1 a x + b y + c z

(Komplex esetben a 7 f¨ uggv´eny nem veszi a konjug´ altat.) uggv´ennyel sz´aH´aromdimenzi´ os vektorok vektori´ alis szorzat´at a 4 f¨ m´ıthatjuk ki. Ennek haszn´ alat´ ahoz el˝osz¨or be kell h´ıvni a % #$KA&'! K

programcsomagot. A + ´es ( vektor vektori´ alis szorzata: A 1 1 {-(c y) + b z, c x - a z, -(b x) + a y}

A 4 f¨ uggv´eny ismeri ´es alkalmazni is tudja a skal´ aris ´es a vektori´alis szorzat alapvet˝o tulajdons´ agait. uggv´eny ugyanazt az eredm´enyt adja, amit M´ atrixok szorzat´ ara a 7 f¨ a matematik´ aban sor-oszlopszorz´assal szoktunk megkapni. Ez azt jelenti, hogy a Mathematica kisz´amolja az A ´es a B m´atrix szorzat´at akkor, amikor az A m´atrix oszlopainak a sz´ama (a 7  * , ´altal megadott

280

3. Fejezetek a matematik´ab´ ol

lista utols´ o eleme) megegyezik a B m´atrix sorainak a sz´am´aval (azaz a 72   *L, ´altal megadott lista els˝o elem´evel). Pr´ob´aljuk ki p´eld´aul a k¨ ovetkez˝o utas´ıt´ asokat: A # S #  > C   S   ) C # G S Q # C S # Q # G R# Q S G S Q S

A Mathematica saj´ atos m´odon kezeli vektor ´es m´ atrix szorzat´ at. Sok esetben a matematik´ aban megszokott sor-oszlopszorz´asnak megfelel˝oen ´ertelemszer˝ uen tekint egy vektort sorvektornak vagy oszlopvektornak. Ha p´eld´ aul A # 1 #   $ ! '  *

akkor a program meghat´ arozza a H tekinti):

1  + (

szorzatot (ekkor v-t sorvektornak

1 Q # {a x + d y, b x + e y, c x + f y}

az H utas´ıt´ asra azonban hiba¨ uzenetet k¨ uld. M´ asr´eszt A 1 1  + (  # Q 1 {a x + b y + c z, d x + e y + f z}

(ebben az esetben a program -t oszlopvektornak veszi), ´es most a H utas´ıt´ asra kapunk hiba¨ uzenetet. N´eh´ anyszor azonban matematikai szempontb´ ol ´ertelmetlen eredm´enyt is kaphatunk. Tekints¨ uk p´eld´ aul a k¨ ovetkez˝o egyenl˝ os´eget:        1 2 5 1 2 391 578 (5 6) = . 3 4 6 3 4 897 1326 Nem kapjuk meg az elv´art eredm´enyt akkor, ha a k´et bels˝o t´enyez˝ot vektork´ent defini´ aljuk:    ) Q > N Q > N Q    ) 319 . {{1, 2}, {3, 4}}

Az ilyen esetekben c´elszer˝ u megjel¨olni azt, hogy melyik vektort tekintj¨ uk sorvektornak ´es melyiket oszlopvektornak:

3.8. Line´aris algebra

281

   )Q > NQ > NQ    ) {{391, 578}, {897, 1326}}

Ezzel a m´odszerrel sz´amolhatjuk ki a Mathematic´ a val k´et vektor diadikus szorzat´ at, azaz egy oszlopvektornak ´es egy sorvektornak a m´atrix-szorzat´at: + ( Q  $ !   +0 a x b x c x a y b y c y

Az  bels˝o f¨ uggv´enynek ´es a L=# k¨ uls˝ o f¨ uggv´enynek (ez a  &3##3 programcsomagban tal´alhat´o) felhaszn´ al´ as´aval adhatunk meg olyan u ´j elj´ ar´ ast, ami k´et m´atrix Kroneckerszorzat´ at hat´ arozza meg: % #$K +    K P !=" , $, - S!= + 2 

0  $

Tekints¨ uk ezut´ an a k¨ ovetkez˝o m´atrixokat: #  #(    {{a[1, 1], a[1, 2]}, {a[2, 1], a[2, 2]}} S  #( $   {{b[1, 1], b[1, 2]}, {b[2, 1], b[2, 2]}}

Az indexek u ¨gyesebb elhelyez´es´evel ´attekinthet˝ obb eredm´enyt ´ıgy kaphatunk: P !=" #  , W, CJ $ , W, CJ   +0 a11 b11 a11 b12 a11 b21 a11 b22 a21 b11 a21 b12 a21 b21 a21 b22

S Q "$! '  "5 !0 W  "$! ' $ "5 !0 W  a12 a12 a22 a22

b11 b21 b11 b21

a12 a12 a22 a22

b12 b22 b12 b22

N´egyzetes m´atrix pozit´ıv eg´esz kitev˝oj˝ u hatv´ any´ at a

#0B f¨ uggv´ennyel hat´ arozhatjuk meg. Tekints¨ uk p´eld´ aul a k¨ ovetkez˝o A ∈ R2×2 m´atrixot:

282

3. Fejezetek a matematik´ab´ ol #    C   +0 # 1 1 -1 3

Ennek a n´egyzet´et, azaz az A2 ∈ R2×2 m´atrixot ´ıgy sz´amolhatjuk ki:  +&Y #    +0 0 4 -4 8

Vigy´ azzunk azonban arra, hogy az C( utas´ıt´ ast (ennek teljes alakja: 0B* . (,) is haszn´alhatjuk. Mivel a 0B f¨uggv´eny rendelkezik a  & attrib´utummal, ez´ert a sz´oban forg´o utas´ıt´as eredm´enye nem az

A m´atrix n´egyzete, hanem az elemek n´egyzet´eb˝ ol a´ll´ o m´atrix: #I   +0 1 1 1 9

• N´ egyzetes m´ atrix determin´ ansa Az

n´egyzetes m´atrix determin´ ans´ at ´ıgy kaphatjuk meg:

7* , A Zp v´eges sz´amtestben is dolgozhatunk, ha a

7* . #  2? , utas´ıt´ ast haszn´aljuk. A #  opci´o alap´ertelmez´es szerinti ´ert´eke 0. Ekkor a program a C sz´amtestben v´egzi el a m˝ uveleteket. A k¨ ovetkez˝o p´eld´ akban a m´ atrix elemei pontos numerikus ´ert´ekek, illetve szimb´olumok, ez´ert a determin´ ans pontos ´ert´ek´et kapjuk meg: D  C> >   C > >  CL )> > CF F CF F 1 35 #   $ ! ' C$  ' C! C! C'  $ C' ! C$  D # 

3.8. Line´aris algebra

283

!  : (a

2

+ b

2

+ c

2

2 + d )

2

Az al´ abbi p´eld´ aban a m´ atrix egyik eleme k¨ozel´ıt˝ o numerikus ´ert´ek. A

7 f¨uggv´eny ebben az esetben a k´ert eredm´enynek egy k¨ozel´ıt˝o ´ert´ek´et hat´ arozza meg: S "5 Q  "5   "5 >  "5   "5 N  "5   "5 B  C "5   "5 B   "5 >  > "5 N    "5 N  "5 B  "5 >  D S 9.04581

A program a fenti eredm´enyt g´epi pontoss´ ag´ u sz´amok (l´asd a 3.1.3. pontot) felhaszn´ al´ as´aval sz´am´ıtotta ki. Eml´ekeztet¨ unk arra, hogy a t¨ obbi ´ert´ekes jegyet ´ıgy jelen´ıthetj¨ uk meg: 6  0 : 9.04580658046875

Ha enn´el t¨obb ´ert´ekes jegyre szeretn´enk a determin´ anst meghat´arozni, akuggv´enyt kell alkalmaznunk. kor az  f¨ • M´ atrix rangja Adott m´ atrix rangj´ anak meghat´aroz´as´ahoz a Mathematica t¨ obb be´ep´ıtett f¨ uggv´eny´et is felhaszn´alhatjuk. atrix rangja az r (≤ min {n, m}) term´eszeAz A ∈ Cn×m (n, m ∈ N) m´ tes sz´am, ha A-nak van r-edrend˝ u, null´ at´ol k¨ ul¨ onb¨ oz˝o aldetermin´ ansa, de minden (r + 1)-edrend˝ u aldetermin´ ansa (ha egy´ altal´ an van ilyen) nulla. uggv´eny seg´ıtA fenti tulajdons´ agokkal rendelkez˝ o r sz´amot a # f¨ s´eg´evel kereshet¨ unk. A

# * . =, utas´ıt´ as eredm´enye ugyanis egy olyan m´ atrix, amelynek minden eleme A valamely k × anak determin´ ansa. (Ha A n × m-es, akkor ez  k-s  r´ eszm´atrix´ m´ e ret˝ u .) P´ e ld´ a ul: a m´atrix nk × m k A # #     C C ) C  C C CF > C  C  C> C C 

284

3. Fejezetek a matematik´ab´ ol   # ) {{0, 0, 0, 0, 0}}   #  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {2, 24, 36, 6, 10, 12, -8, -12, 0, 4}, {-4, -48, -72, -12, -20, -24, 16, 24, 0, -8}, {-2, -24, -36, -6, -10, -12, 8, 12, 0, -4}}

Ennek a m´ atrixnak a rangja teh´ at 3. Egy m´ atrix rangj´ at a fentin´el kevesebb sz´amol´ast ig´enyl˝o elj´ ar´ assal is meghat´arozhatjuk. Az ezzel kapcsolatos ´all´ıt´ as azt mondja ki, hogy egy m´atrix rangja nem v´ altozik meg akkor, ha a sorain u ´gynevezett elemi sorm˝ uveleteket hajtunk v´egre. Ilyen m˝ uveletek a k¨ovetkez˝ok: k´et sor felcser´el´ese, egy sornak null´ at´ ol k¨ ul¨ onb¨ oz˝o sz´ammal val´o megszorz´asa, valamelyik sor tetsz˝oleges sz´ammal vett szorzat´anak egy m´asik sorhoz val´ o hozz´aad´ asa. Ilyen a´talak´ıt´ asokat alkalmaz a

9B9  bels˝o f¨ uggv´eny. Az eredm´enyk´ent ad´ od´ o m´atrix rangja (ami megegyezik a kiindul´ asi m´atrix rangj´ aval) sok esetben m´ar k¨ ozvetlen¨ ul leolvashat´ o. P´eld´ aul: EYE'! #   +0 1 0 0 -4 -6 0 1 0 -3 -5 0 0 1 12 18 0 0 0 0 0

A Mathematic´ a nak ezzel az elj´ar´ as´aval illusztr´alhatjuk a m´ atrix rangj´ anak egy m´asik lehets´eges (az el˝oz˝ovel ekvivalens) defin´ıci´ oj´ at is. Nevezetesen: egy m´atrix rangja egyenl˝ o a line´ arisan f¨ uggetlen sorvektorainak a maxim´ alis arisan f¨ uggetlen sz´am´aval. A fentebb megadott m´atrixnak pontosan 3 line´ sorvektora van, ez´ert a rangja 3. A Mathematica 2.2.x v´ altozataiban nincs olyan be´ep´ıtett f¨ uggv´eny, amelyik eredm´enyk´ent m´atrix rangj´ at adja meg. A sokat sejtet˝o  9= bels˝o f¨ uggv´enyt erre nem haszn´ alhatjuk. A legegyszer˝ ubben tal´ an a

6 bels˝o f¨ uggv´eny felhaszn´ al´ as´aval defini´ alhatunk m´ atrix rangj´ at kisz´amol´o

3.8. Line´aris algebra

285

elj´ ar´ ast. Ha A ∈ Cn×m , akkor a 6* , utas´ıt´ as eredm´enye a ker(A) := { x ∈ Cm : Ax = 0 } ⊂ Cm alt´er b´ azisvektorainak list´ aja: " ! # {{6, 5, -18, 0, 1}, {4, 3, -12, 1, 0}}

Bebizony´ıthat´ o az, hogy az A m´atrix rangja (a fenti jel¨ ol´eseket haszn´alva) megegyezik az m − dim ker(A) sz´ammal. Ez´ert m´atrix rangj´ at megad´o f¨ uggv´enyt ´ıgy defini´ alhatunk a Mathematic´ a ban: 0  +, - %  @

   + C %  @ " ! +

A kor´ abban ´ertelmezett m˝ uk¨ od´es´et:

m´atrixot felhaszn´ alva ellen˝ orizz¨ uk az u ´j elj´ ar´ as

0  # 3

• N´ egyzetes m´ atrix inverze Most a n´egyzetes ´es regul´aris (azaz null´ at´ol k¨ ul¨ onb¨ oz˝o determin´ ans´ u) m´ atrix inverz´enek kisz´amol´as´ahoz haszn´ alhat´ o

  f¨ uggv´eny lehet˝ os´egeit ismertetj¨ uk. M´ atrix a´ltal´ anos´ıtott inverz´er˝ol a 3.8.8. pontban lesz sz´ o. A Mathematica a megfelel˝ o m˝ uveleteket a Zp v´eges sz´amtestben v´egzi el, ha a

#  2?  opci´ot (ennek alap´ertelmez´es szerinti ´ert´eke 0) adjuk meg. uggv´enyn´el is a bemen˝o adatok szintaxis´ aval v´ alaszthatjuk Az   f¨ meg a ki´ert´ekel´es szimbolikus (pontos) vagy numerikus (k¨ ozel´ıt˝ o) m´odj´ at. N´ezz¨ uk el˝ osz¨or azt az esetet, amikor a m´atrixot csak pontos numerikus ´ert´ekek, be´ep´ıtett matematikai ´alland´ ok vagy pedig szimb´olumok felhaszn´ al´ as´aval adjuk meg. A program ebben az esetben a pontos eredm´enyt keresi. Ezt illusztr´alj´ ak a k¨ ovetkez˝o p´eld´ ak:

286

3. Fejezetek a matematik´ab´ ol 6 1    ) LinearSolve::nosol: Linear equation encountered which has no solution. Inverse[{{1, 2}, {2, 4}}]

6 1  $ > >$ Inverse::sing: Matrix {{a, b}, {5 a, 5 b}} is singular. Inverse[{{a, b}, {5 a, 5 b}}]

 G "5    C "5    G "5    C "5   6 1 :   +0 -1 + Sqrt[2] 2 - Sqrt[3] 2 2 2 + Sqrt[3 -1 - Sqrt[2] 2 2

Bonyolultabb a helyzet akkor, amikor a m´ atrix elemei k¨oz¨ott szimb´olumok is vannak. Az invert´ alhat´ os´ag probl´em´a j´ anak eld¨ ont´es´ehez ´es az inverz meghat´aroz´as´ahoz ebben az esetben k¨ ul¨ onb¨ oz˝o t´ıpus´ u azonoss´ agok felhaszn´ al´ as´aval kell matematikai kifejez´eseket kezelni, illetve ´atalak´ıtani. Tekints¨ uk p´eld´ aul a k¨ ovetkez˝o m´atrixot: #    " + I   C A  +   +0 : 2 1 2 Sin[x] 1

1 - Cos[2 x]

Mivel cos 2x = 1 − 2 sin2 x (x ∈ R), ez´ert a fenti m´ atrix minden x ∈ R eset´en szingul´aris (azaz nem invert´ alhat´ o). Hajtsuk v´egre az 6 1 #

utas´ıt´ ast, ´es figyelj¨ uk meg, hogy a Mathematica ´altal adott eredm´eny matematikai szempontb´ol ´ertelmetlen (a k´eperny˝ on megjelen˝o t¨ ortek nevez˝o je uggv´eny nem alkalmazta az emugyanis nulla). Vil´ agos, hogy az   f¨ l´ıtett azonoss´agot. Ilyen t´ıpus´ u probl´em´ak kezel´es´ere szolg´al a

Y  opci´o, amelyben kijel¨ olhetj¨ uk a felhaszn´ alni k´ıv´ ant azonoss´ agok k¨ or´et. Ennek az opci´ onak az alap´ertelmez´es szerinti ´ert´eke:

3.8. Line´aris algebra

287

2   6 1 [  {ZeroTest -> (#1 == 0 &)}

Ez azt jelenti, hogy az   f¨ uggv´eny a m˝ uveletek elv´egz´es´en´el csak az o¨sszevon´asok ut´ an 0-nak ad´ od´ o kifejez´eseket tekinti z´erusnak. uggv´eny isEgyszer˝ uen ellen˝ orizhetj¨ uk azt, hogy p´eld´ aul a 65) f¨ meri a fentebb megeml´ıtett azonoss´agot. A k¨ ovetkez˝o m´odon k¨ oz¨olhetj¨ uk al is a Mathematic´ a val azt, hogy az m´atrix inverz´enek meghat´aroz´as´an´ uggvegye figyelembe az ¨osszes olyan azonoss´agot, amelyeket a 65) f¨ v´eny ismer: 6 1 # [  CJ "0 *( .  B / Inverse::sing: 2 Matrix {{1, 2 Sin[x] }, {1, 1 + }} is singular. 2 Inverse[{{1, 2 Sin[x] }, {1, 1 - Cos[2 x]}}, ZeroTest -> (Simplify[#] == 0 &)]

A Y  opci´ot az  ´ert´ekkel is haszn´alhatjuk. Ha a m´atrix elemei k¨oz¨ott k¨ ozel´ıt˝ o numerikus ´ert´ekek is vannak, akkor az inverz´enek is egy k¨ ozel´ıt˝ o ´ert´ek´et kapjuk meg: 6 1 Q >QF )Q >QN {{-0.3252, 0.3310}, {0.2439, -0.06968}}

Nagypontoss´ag´ u sz´amok alkalmaz´asa eset´en a Mathematica bizonyos hibabecsl´est is v´egez. Ezt illusztr´alja a k¨ ovetkez˝o utas´ıt´ assorozat: S  

$ GWC  N W N  >B  S Q 6 1 S 

 {1., 0., 0., 0., 0., 0., 0.} #!!!( : 38

Az   f¨ uggv´eny ezekben az esetekben is ellen˝orzi a megadott m´atrix invert´ alhat´ os´ag´at. A helyzetet itt az a t´eny bonyol´ıtja, hogy invert´ alhat´ o ´es nem invert´alhat´ o m´atrixok k¨ oz¨otti ´eles matematikai k¨ ul¨ onbs´egt´etel csak a val´ os sz´amok ide´ alis vil´ ag´aban l´etezik. Mihelyt a m´ atrixokat kerek´ıt´esi m˝ uveleteknek vetj¨ uk al´ a, a megk¨ ul¨ onb¨ oztet´es sz¨ uks´egk´eppen m´eg zavarosabb lesz. ´Igy bizonyos nem-szingul´aris m´atrixok szingul´ ariss´ a tehet˝ok a kerek´ıt´es ´altal keletkez˝o perturb´ aci´ o r´ev´en. M´eg gyakrabban, egy val´ oban szingul´aris m´atrix a kerek´ıt´es ´altal egy k¨ ozeli, nem-szingul´aris m´atrixba perturb´ al´ odhat.

288

3. Fejezetek a matematik´ab´ ol

• M´ atrixf¨ uggv´ enyek Ismeretes, hogy b´armely A ∈ Cn×n (n ∈ N) m´atrix eset´en a konvergens. Az o¨sszeg´enek kisz´amol´as´ahoz, azaz az ∞  Ak A e := k!



Ak /k! sor

k=0

m´atrix meghat´ aroz´as´ahoz a

# bels˝o f¨ uggv´enyt haszn´ alhatjuk fel. P´eld´ aul: A # #  )  C> N ) CL >  CF  +4+ #   +0 -1 + 3 E 3 E -1 + 3 E

E 3 + E 1 + E

1 - 3 E -3 - 3 E -3 E

A kisz´amol´ashoz sz¨ uks´eges id˝ otartamot is ´erdemes megn´ezni:

0   +4+ 0  {3.296 Second, Null}

3.8.4. Vektornorm´ ak ´ es m´ atrixnorm´ ak A Mathematica bels˝o ´es k¨ uls˝ o f¨ uggv´enyei k¨ oz¨ott nincs olyan, amellyel vektor (m´atrix) valamelyik norm´ aj´ at k¨ ozvetlen¨ ul ki tudn´ ank sz´amolni. Ebben a pontban megmutatjuk, hogyan defini´ alhatunk ilyen f¨ uggv´enyeket. Ismeretes, hogy a k¨ovetkez˝o lek´epez´esek mindegyike norma a Cn (n ∈ N) line´ aris t´eren: x∞ := max { |xk | } 1≤k≤n

(x = (x1 , · · · , xn ) ∈ Cn )

(vektor maximum-norm´ aja), xp :=

n  k=1

aja). (vektor lp -norm´

|xk |p

1/p

(x ∈ Cn , p ≥ 1)

3.8. Line´aris algebra

289

Vektor maximum-norm´ aj´ at kisz´amol´o f¨ uggv´enyt ´ıgy adhatunk meg: 8= +0 +,V8! ? - + #$ +

A NQV mint´ azattal k¨ oz¨olt¨ uk a Mathematic´ a val azt, hogy a O jelsorozat jobb oldal´ an l´ev˝o m˝ uveleteket csak akkor v´egezze el, ha a f¨ uggv´eny argumentum´ aba vektor ker¨ ul. Figyelj¨ uk meg azt is, hogy a dimenzi´ osz´am uggv´eny ugyanis renmegjel¨ol´ese n´elk¨ ul adtuk meg ezt a norm´ at. Az & f¨ utummal: delkezik a  & attrib´ # $  #$ {Listable, Protected}

Ez azt jelenti, hogy ha az argumentum´ aba vektort (list´ at) ´ırunk, akkor a uggv´enyt. program a lista minden elem´ere k¨ ul¨ on-k¨ ul¨ on alkalmazza az & f¨ Pr´ ob´ aljuk most ki ezt az u ´j elj´ ar´ ast: 1  C  1  ) > N F CM 8= +0 1  8= +0 1  {3, 8} 1     8= +0 1 VektorMaxNorma[{1, {1, 3}}]

Vektor lp -norm´ aj´ at adja meg a k¨ ovetkez˝o f¨ uggv´eny (a %% jelsorozat az

) f¨uggv´eny r¨ovid alakja):

8=  0 +,V8! ? ,  J - &  #$ + I I  8=  0 1   8=  0 1   {Sqrt[13], 5}

Tekints¨ uk ezut´ an a k¨ ovetkez˝o m´atrixnorm´ akat: AE :=

n 

|aij |2

1/2

(A ∈ Cn×n )

i,j=1

(m´atrix euklideszi norm´ aja), AS := max

1≤i≤n

(m´atrix sor¨ osszeg-norm´ aja),

n  j=1

|aij |

(A ∈ Cn×n )

290

3. Fejezetek a matematik´ab´ ol

AO := max

1≤j≤n

n 

|aij |

(A ∈ Cn×n )

i=1

(m´atrix oszlop¨ osszeg-norm´ aja). Ezek kisz´amol´as´ahoz haszn´ alhatjuk a k¨ ovetkez˝o f¨ uggv´enyeket:  +40 +, - &    #$ + I I  +"0 +, - + # ( & #$ +    +20 +, - +

# ( & #$

   +  

Ezeknek a f¨ uggv´enyeknek a m˝ uk¨ od´es´et is kipr´ob´ aljuk: #  #( .I G .I/     +0 : 2 9 5 12  +40 #   +"0 #   +20 #  {Sqrt[254], 17, 21}

Az A n´egyzetes m´atrix  ·  m´atrixnorm´ ara vonatkoz´ o kond´ıci´ osz´ ama az −1 os sz´am. Ezt a Mathematic´ a ban p´eld´ aul ´ıgy defini´ alhatjuk: A · A  val´ P '"0 +,

0,- +40 - 0 + 0 6 1 +

A ; 6' f¨ uggv´enyt k´et argumentummal ´ertelmezt¨ uk. Az els˝obe kell be´ırni a m´ atrixot, a m´ asodikba pedig egy kor´ abban m´ ar defini´ alt m´atrixnorma nev´et. Ez ut´ obbi argumentum elhagyhat´ o. Ebben az esetben a program an megadott m´atrixnorm´ aval sz´amolja ki a kond´ıci´ osz´amot: a O jel ut´ P '"0 #  P '"0 #  +40  254 254 , } { 21 21 P '"0 #  +"0  P '"0 #  +20  {17, 17}

3.8. Line´aris algebra

291

3.8.5. A Gram–Schmidt-f´ ele ortogonaliz´ aci´ os elj´ ar´ as V´eges dimenzi´os euklideszi terekben v´egezhet¨ unk bizonyos sz´ amol´asokat a  &38'3 programcsomag al´abbi f¨uggv´enyeivel:

:68  '

0K

Az alap´ertelmez´es az (Rn , ·, ·) euklideszi t´er, ahol n adott term´eszetes sz´am ´es ·, · a szok´asos skal´aris szorzat: x, y :=

n 

xk yk

(x, y ∈ Rn ),

k=1

ami az

  n  |xk |2 x2 := 

(x ∈ Rn )

k=1

euklideszi norm´at induk´ alja. Olvassuk be a sz´oban forg´ o programcsomagot: % #$K2 @   K

Adott v ∈ Rn vektor eset´en a '*, utas´ıt´ as eredm´enye olyan R -beli vektor, amelynek euklideszi norm´aja 1: n

1      0 1 1 1 1 1 { , , , } 2 2 2 2

A 0K*+. (, utas´ıt´ as a v1 ∈ Rn vektornak a v2 ∈ Rn vektor ir´ any´ aba es˝o mer˝oleges vet¨ ulet´et, azaz a v1 , v2  · v2 v2 , v2  vektort adja meg. P´eld´ aul: 1     1  C  CN &W!  1 1 30 90 15 } { , - , 41 41 41

292

3. Fejezetek a matematik´ab´ ol

Az f1 , f2 , · · · , fm ∈ Rn vektorok a´ltal meghat´ arozott alt´erben a Gram– Schmidt-f´ele ortogonaliz´aci´ os elj´ar´ assal ad meg egy ortonorm´alt b´ azist a

:68 *-5+. 5(. HHH. 5/, utas´ıt´ as. Ugyanezt norm´al´ as n´elk¨ ul ´ıgy kapjuk meg: *     C *    C>  *    M CF O0"!@0' * * * 0' CJ  {{1, 2, 2, -1}, {2, 3, -3, 2}, {2, -1, -1, -2}}

Az el˝ oz˝oekben ismertetett m˝ uveleteket m´asik skal´aris szorzattal ell´atott euklideszi t´erben is elv´egezhetj¨ uk. A skal´ aris szorzatot az

0  opci´oval defini´ alhatjuk. A felsorolt f¨ uggv´enyek mindegyike rendelkezik ezzel az opci´oval, ami alap´ertelmez´esben a pont elej´en megadott skal´ aris szorzat. Ezt a Mathematica ´ıgy fejezi ki: 0  2? 7, ami ekvivalens a k¨ ovetkez˝ovel: 0  2? P+HP( . Egyetlen p´eld´ an mutatjuk meg skal´ aris szorzat megad´as´anak m´ odj´ at. oli a legfeljebb n-edfok´ u Tekints¨ uk a (Pn , ·, ·I ) euklideszi teret, ahol Pn jel¨ val´ os algebrai polinomok line´ aris ter´et, ´es a skal´aris szorzatot ´ıgy ´ertelmezz¨ uk:  1 f (t)g(t) √ dt (f, g ∈ Pn ). f, gI := 1 − t2 −1 Ismeretes, hogy ha p´eld´ aul az fi (x) := xi (x ∈ R, i = 0, 1, · · · , 4) polinomokra a Gram–Schmidt-f´ele elj´ ar´ ast alkalmazzuk, akkor a megfelel˝o index˝ u els˝ofaj´ u Csebisev-polinomokat kapjuk: O0"!@0'  + +I +I +I) 0' CJ  6 &'! CJ 6   . ."5 C+I  + C  / 1 2 -3 x 3 1 2 4 + x , - x + x } {1, x, - + x , 2 4 8

Az els˝ ofaj´ u Csebisev-polinomok be´ep´ıtett f¨ uggv´enyk´ent is szerepelnek a Mathematic´ a ban. N´ezz¨ uk meg most ezeket is:

$ A@$(@1 = +  = B ) 2 3 2 4 {1, x, -1 + 2 x , -3 x + 4 x , 1 - 8 x + 8 x }

3.8. Line´aris algebra

293

3.8.6. Line´ aris egyenletrendszerek megold´ asa Ebben a pontban a line´ aris egyenletrendszerek megold´as´ahoz seg´ıts´eget ad´o

6 6

9  6

bels˝o f¨ uggv´enyek, valamint a  &3 3 programcsomagban megl´ev˝o

 6 k¨ uls˝ o f¨ uggv´eny a´ltal ny´ ujtott lehet˝ os´egeket ismertetj¨ uk. utthat´ om´atrixszal ´es a Tekints¨ uk el˝ osz¨or az A ∈ Cm×n (m, n ∈ N) egy¨ n b ∈ C vektorral megadott Ax = b

?(x ∈ Cn )

line´ aris egyenletrendszert. uggv´eny (l´ asd a 3.3.1. pontot) line´ aris egyenletrendszerek megA 6 f¨ old´ as´ahoz az LU-algoritmust alkalmazza. Ha az egyenletek megad´as´an´ al pontos numerikus ´ert´ekeket haszn´alunk, akkor a pontos megold´ ast kapjuk meg: (  +G(G )+G>(GN F+GM(G) "1 ( + (  35 34 , z -> 0}} {{x -> - , y -> 3 3

Az egyenletrendszert ´ıgy is megadhatjuk: #     ) > N F M  $    ) A +  +  + + + "1 # Q +  $ + 35 34 , x3 -> 0}} {{x1 -> - , x2 -> 3 3

A 6 f¨ uggv´eny a matematik´aban megszokott m´odon oldja meg az egyenletrendszert akkor is, amikor annak v´egtelen sok megold´asa van: #   C  C) B  C    B C B CF   $  ) C  C

294

3. Fejezetek a matematik´ab´ ol A +  +  + + + +) 0  "1 # Q +  $ + {{x1 -> -8, x3 -> 6 + 2 x4, x2 -> 3 + x4}}

Ennek az egyenletrendszernek az a´ltal´ anos megold´asa:  0  0

  0

  0

  +) {-8, 3 + x4, 6 + 2 x4, x4}

¨ Ures list´at kapunk eredm´enyk´ent abban az esetben, ha az egyenletrendszernek nincs megold´ asa: #   C   C>  ) CF  $  L C) > A +  +  + + + "1 # Q +  $ + {}

A 6 bels˝o f¨ uggv´eny szint´en az LU-algoritmust haszn´alja line´ aris egyenletrendszerek megold´as´ahoz: % "1 # $ 34 35 , 0} {- , 3 3 % "1 # $ {-8, 3, 6, 0} % "1 # $ LinearSolve::nosol: Linear equation encountered which has no solution. LinearSolve[{{2, -1, 3}, {3, -5, 1}, {4, -7, 1}}, {9, -4, 5}]

A m´asodik p´eld´ aban figyelj¨ uk meg azt is, hogy ezzel az elj´ar´ assal abban az esetben is csak egyetlen megold´ast kapunk meg, amikor az egyenletrendszernek v´egtelen sok megold´asa van. aris egyenletrendszer Ismeretes, hogy az Ax = 0 (∈ Cn ) homog´en line´ azis´ at megold´asainak a halmaza a Cn t´er egy altere. Ennek az alt´ernek egy b´ as eredm´enyek´ent. P´eld´ aul: kapjuk meg a 6* , utas´ıt´ " ! # {{0, 1, 2, 1}}

3.8. Line´aris algebra

295

Tridiagon´ alis m´ atrixszal megadott egyenletrendszert megoldhatjuk az im´ent megeml´ıtett f¨ uggv´enyek seg´ıts´eg´evel is, de haszn´alhatjuk a hat´ekouls˝ o f¨ uggv´enyt is. Olnyabb algoritmust tartalmaz´ o  6 k¨ vassuk be az ezt tartalmaz´o programcsomagot: % #$K ' K

Tekints¨ uk a k¨ ovetkez˝o tridiagon´ alis m´atrixot:  $ !  F   ) M   > L  #  $ "Y !@

WC C 

W  B $

W   !

WC  , B   ) W )   +0 # 4 7 0 0

5 8 1 0

0 9 2 11

0 0 3 12

Oldjuk most meg az Ax = r egyenletrendszert:     ) >

' "1  $ !  {-

5 20 28 26 , , , } 9 9 27 81

V´eg¨ ul hasonl´ıtsuk o¨ssze a k¨ ul¨ onb¨ oz˝o elj´ ar´ assal v´egzett ki´ert´ekel´eshez sz¨ uks´eges id˝ otartamokat: A +  +  + + + +)

0  "1 # Q +   +  {4.723 Second, Null}

0  % "1 #   {2.472 Second, Null}

0 

' "1  $ !   {0.55 Second, Null}

Param´etereket tartalmaz´o egyenletrendszereket is megoldhatunk. P´eluggv´eny a param´eterek ¨osszes lehets´eges komplex ´ert´ek´et d´ aul a 9  f¨ figyelembe v´eve adja meg a megold´ast.

296

3. Fejezetek a matematik´ab´ ol

Oldjuk meg p´eld´ aul a tx + y + z = 1 x + ty + z = t

?((x, y, z) ∈ C3 )

x + y + tz = t2 egyenletrendszert, ahol t tetsz˝oleges komplex param´eter: E'! R+G(G +G R(G  +G(G R I + (  x == 1 - y - z && t == 1 || -1 + t != 0 && 2 + t != 0 && 1 -1 - t && y == && x == 2 + t 2 + t 2 1 + 2 t + t z == 2 + t

A kapott eredm´eny teh´ at azt jelenti, hogy ha t ∈ C \ {1, −2}, akkor az egyenletrendszernek egyetlen megold´asa a  t + 1 1 (t + 1)2  , , − t+2 t+2 t+2 vektor. Ha t = 1, akkor az (1 − y − z, y, z)

(y, z ∈ C)

sz´amh´ armasok mindegyike kiel´eg´ıti a fenti egyenleteket. A t = −2 esetben az egyenletrendszernek nincs megold´asa. Val´oban:  C E'! R+G(G +G R(G  +G(G R I + (  False

3.8.7. M´ atrix saj´ at´ ert´ ekei ´ es saj´ atvektorai A λ0 ∈ C sz´amot az A ∈ Cn×n (n ∈ N) m´atrix saj´ at´ert´ek´e nek nevezz¨ uk, n ha l´etezik olyan nemnulla s ∈ C vektor (az ilyen s-re azt mondjuk, hogy at´ert´ek´ehez tartoz´ o saj´ atvektora), amelyre az As = λ0 s az A m´atrix λ0 saj´ at´ert´ekhez tartoz´o saj´atvektorokhoz a nulegyenl˝ os´eg teljes¨ ul. Ha a λ0 saj´ la vektort is hozz´ avessz¨ uk, akkor a Cn t´er egy alter´et kapjuk. Ennek az at´ert´ek geometriai multiplicit´ asa. alt´ernek a dimenzi´ o ja a λ0 saj´

3.8. Line´aris algebra

297

Ismeretes, hogy a λ0 sz´am pontosan akkor saj´ at´ert´eke az A m´atrixnak, ha λ0 megold´asa a det (A − λIn ) = 0

?(λ ∈ C)

os egys´egm´atrixot jel¨ olt¨ uk), amelyet az A egyenletnek (In -nel az n-dimenzi´ m´atrix karakterisztikus egyenlet´e nek szok´as nevezni. Azt mondjuk, hogy at´ert´ek algebrai multiplicit´ asa l, ha λ0 a karakterisztikus egyena λ0 saj´ letnek l-szeres gy¨oke. Egyszer˝ uen bebizony´ıthat´ o, hogy b´ armely A m´atrix at´ert´ek´enek geometriai multiplicit´asa nem nagyobb, mint az algebrai λ0 saj´ multiplicit´ asa. A Mathematica egyenletmegold´o algoritmusait haszn´alja az

 f¨ uggv´eny n´egyzetes m´atrix saj´ at´ert´ekeinek meghat´aroz´as´ahoz. A 3.3. szakaszban le´ırtaknak megfelel˝oen, ha a m´ atrixot csak pontos numerikus ´ert´ekekkel vagy be´ep´ıtett matematikai ´alland´ okkal adjuk meg, akkor ez az elj´ ar´ as a pontos saj´at´ert´ekeket pr´ ob´ alja meghat´arozni. Az al´ abbi p´eld´ akban figyelj¨ uk meg azt is, hogy az eredm´enyk´ent ad´ od´ o list´aban minden saj´ at´ert´ek annyiszor szerepel, amennyi annak az algebrai multiplicit´ asa: #  B   C B  C C B 4 1 # {0, -I Sqrt[14], I Sqrt[14]} #   C C  C) C  C) B 4 1 # {-5, 2, 2} #   C C  C C C   4 1 # {1, 1, 1}

Szimbolikus sz´amol´asok eredm´enyei esetenk´ent nehezen a´ttekinthet˝ oek. Ezt is illusztr´alja a k¨ ovetkez˝o utas´ıt´ assorozat, amelynek eredm´eny´et itt nem k¨ oz¨olj¨ uk: #)  B>BBBB B)BBB BBBB BBBB BBBB BBBBB 4 1 #)

Ilyen esetekben az  bels˝o f¨ uggv´enyt alkalmazva a saj´ at´ert´ekek egy k¨ ozel´ıt˝ o ´ert´ek´et kapjuk meg:

298

3. Fejezetek a matematik´ab´ ol  : )  A@ {-1.889, 1.889, -0.6167, 0.6167, -3.324, 3.324}

A program figyelmeztet˝o u ¨zenetet k¨ uld akkor, ha nem tal´ alja meg a karakterisztikus egyenlet pontos megold´as´at: #>  > )    ) N B )   B F N >  ) N M F   > F L 4 1 #> Eigenvalues::eival: Unable to find all roots of the characteristic polynomial. Eigenvalues[{{5, 4, 3, 2, 1}, {4, 6, 0, 4, 3}, {3, 0, 7, 6, 5}, {2, 4, 6, 8, 7}, {1, 3, 5, 7, 9}}]  : B {22.4068753075804106731, 7.5137241542053727579, 4.8489501203161481508, 1.32704559955676522789, -1.09659518165869680963}

Az  f¨ uggv´eny numerikus m´odszert alkalmazva hat´arozza meg a saj´at´ert´ekek egy k¨ ozel´ıt˝ o ´ert´ek´et abban az esetben, ha a m´atrix elemei k¨oz¨ott k¨ ozel´ıt˝ o numerikus ´ert´ekek is szerepelnek: 4 1 Q Q) >QN FQM {9.97083, -0.970832}

Szimb´ olumot tartalmaz´o m´atrix saj´ at´ert´ekeit is meghat´arozhatjuk: 4 1 B  C B {-I a, I a}

Saj´ atvektorok kisz´amol´as´an´ al az

 f¨ uggv´eny szint´en a bemen˝o adatok szintaxis´ at´ol f¨ ugg˝ oen v´ alasztja meg a ki´ert´ekel´es szimbolikus (pontos) vagy numerikus (k¨ ozel´ıt˝ o) m´odj´ at. (Az 2  )  f¨uggv´eny a saj´at´ert´ekeket ´es a saj´atvektorokat is megadja.) P´eld´ aul: 4 1!  Q Q) >QN FQM {{-0.361441, -0.932395}, {-0.842853, 0.538144}}

3.8. Line´aris algebra

299

4 1!  # {{1, 3, 2}, {1, 0, 1}, {2, 1, 0}}

4 1!  # {{1, 0, 1}, {1, 1, 0}, {0, 0, 0}}

Az F m´atrixnak egyetlen h´ aromszoros saj´at´ert´eke van, ennek algebrai multiplicit´ asa teh´at 3. Az ehhez tartoz´o line´ arisan f¨ uggetlen saj´ atvektorok sz´ama, azaz a saj´at´ert´ek geometriai multiplicit´asa azonban 2. A harmadik p´eld´ aban figyelj¨ uk meg azt, hogy a Mathematica ezt a t´enyt nulla vektor ki´ır´ as´aval jelzi.

3.8.8. M´ atrix felbont´ asa M´ atrix felbont´ as´ahoz ´es ´altal´ anos´ıtott (vagy Moore–Penrose-f´ele) inverz´enek meghat´ aroz´as´ahoz az al´abbi bels˝ o f¨ uggv´enyek a´llnak rendelkez´es¨ unkre:

1 W 7  !7  0   

97  687  6V

Felhaszn´ alhatjuk m´eg a  &348 =)3 programcsomag

48 =)7  f¨ uggv´eny´et, valamint a  &3: 3 programcsomag

! f¨ uggv´eny´et is. A fentiek k¨ oz¨ ul r´eszletesebben csak a t´eglalapm´atrixokra alkalmazhat´ o

6V bels˝o f¨ uggv´enyt tanulm´ anyozzuk, amely m´ atrix szingul´ aris felbont´ as´ at szolg´altatja.

300

3. Fejezetek a matematik´ab´ ol

Legyen n, m ∈ N (n ≤ m), ´es tekints¨ unk egy A ∈ Cn×m m´atrixot: #   B   B  C B   B 

Jel¨olje A∗ az A m´atrix transzpon´ altj´ anak a komplex konjug´ altj´ at: #!  A W 

   # {{1, 0, 1}, {0, 1, 1}, {1, -1, 0}, {1, 0, 1}}

´es r az A m´atrix rangj´ at:   %  @ " !

# 2

Ismeretes, hogy A-hoz l´etezik olyan U ∈ Cr×n ,

D ∈ Cr×r ,

valamint

V ∈ Cr×m

m´atrix, amelyre a k¨ ovetkez˝ok teljes¨ ulnek: atrix nul• a D m´atrix diagon´ alis, ´es f˝oa´tl´ o j´ aban az AA∗ hermitikus m´ l´ at´ ol k¨ ul¨ onb¨ oz˝o (teh´ at pozit´ıv) saj´ at´ert´ekei ´allnak (Ezeknek a n´egyzetgy¨okei A szingul´ aris ´ert´ekei.); • az U ´es a V m´atrix sor-ortonorm´ alt; • A = U ∗ DV . as eredm´enye a fenti felt´eteleket kiA 6V ** ,, utas´ıt´ el´eg´ıt˝ o U , D ´es V m´atrixot (ebben a sorrendben) tartalmaz´ o lista. A D diagon´ alis m´ atrixot a program csak a f˝ o´atl´ oban lev˝ o elemek ki´ır´ as´aval jelzi. Felh´ıvjuk a figyelmet arra, hogy a f¨ uggv´eny argumentum´ aba az A m´atrix egy k¨ozel´ıt˝ o numerikus ´ert´ek´et (l´asd a 3.1.3. pontot)´ırtuk be. Ez a f¨ uggv´eny ugyanis csak k¨ ozel´ıt˝ o numerikus ´ert´ekeket tartalmaz´o m´atrix felbont´ as´at adja meg. ´ ıtsuk most el˝ All´ o a fenti A m´atrix egy szingul´ aris felbont´ as´at (A D-t a 7 v´altoz´oval fogjuk jel¨olni.): *$   " 8  # -16 {{{-0.707107, 1.51097 10 , -0.707107}, {0.408248, -0.816497, -0.408248}}, {2.23607, 1.73205}, {{-0.632456, -0.316228, -0.316228, -0.632456}, -16 {-1.12989 10 , -0.707107, 0.707107, -17 -8.09818 10 }}}

3.8. Line´aris algebra

301

A t´enyez˝oket ebb˝ ol ´ıgy v´ alaszthatjuk ki:   *$ 

  D  D  + *$ 

  8  *$ 

 

Ellen˝ orizz¨ uk a kapott eredm´enyt: 3  A W 

    Q D Q 8  A@  #  3 True

A 6V f¨ uggv´eny numerikus m´odszerek felhaszn´al´ as´aval hat´ arozza meg a szingul´aris felbont´ ast. A v´egeredm´eny ´ert´ekes jegyeinek sz´am´at a  opci´oval ´es az  bels˝o f¨ uggv´ennyel (l´asd a 3.1.3. pontot) szab´alyozhatjuk. P´eld´ aul ´ıgy: " 8  # >B

Komplex elem˝ u t´eglalap alak´ u A ∈ Cn×m m´atrix a´ltal´ anos´ıtott (vagy Moore–Penrose-f´ele) inverz´et, azaz a (fenti jel¨ ol´eseket haszn´alva) az A+ := V ∗ D−1 U ∈ Cm×n m´atrixot ´ıgy kapjuk meg a Mathematic´ a ban:

0   * , Az al´ abbi p´elda mutatja, hogy itt pontos numerikus ´ert´ekekkel is dolgozhatunk: &'6 1 # 1 1 1 4 1 }, {{ , 0, }, {- , , 5 5 15 3 15 1 1 1 1 4 }} { , - , - }, { , 0, 15 3 15 15 15

3.8.9. Line´ aris programoz´ as A gyakorlat sz´amos olyan probl´em´at vet fel, amelyben val´ os ´ert´ek˝ u f¨ uggv´eny sz´els˝o´ert´ekhelyeit (optimumhelyeit) ´es az ezekben felvett f¨ uggv´eny´ert´eket (optimumot) kell meghat´ arozni. A matematika ´ altal´ anos m´ odszerek kidolgoz´ as´aval igyekszik v´ alaszt adni ilyen jelleg˝ u k´erd´esekre.

302

3. Fejezetek a matematik´ab´ ol

Ha a sz´oban forg´ o f¨ uggv´eny p´eld´ aul differenci´alhat´ o, akkor felhaszn´ alhatjuk az anal´ızis megfelel˝o eredm´enyeit. Ezekkel a m´odszerekkel sok esetben lok´ alis optimumokat tudunk egyszer˝ uen meghat´ arozni. A gyakorlat azonban glob´ alis (abszol´ ut) sz´els˝o´ert´ekek keres´es´et is ig´enyelheti. Az anal´ızis m´odszereivel ez t¨obb esetben nem egyszer˝ u feladat. Az alkalmaz´ asok szempontj´ab´ ol fontos feladatoszt´alyok eset´eben a glob´ alis sz´els˝o´ert´ek-probl´em´akat a line´ aris algebra m´odszereivel is vizsg´alhatjuk. Ezek k¨ oz¨ ul a legegyszer˝ ubb feladatt´ıpusnak, a line´ aris programoz´ as feladat´ anak megold´as´ahoz ny´ ujtanak seg´ıts´eget a Mathematica al´ abbi f¨ uggv´enyei:

4  # 4  #

0

A line´ aris programoz´ as ´altal´ anos feladat´anak l´enyege az, hogy az Rn t´er bizonyos r´eszhalmaz´an ´ertelmezett val´os ´ert´ek˝ u line´ aris f¨ uggv´eny abszol´ ut sz´els˝o´ert´ekeit keress¨ uk. A sz´ oban forg´ o f¨ uggv´eny ´ertelmez´esi tartom´any´ at a v´ altoz´okra vonatkoz´ o egyenl˝ otlens´egrendszerrel adjuk meg. Pontosabban: legyen adott az n, az m, az r1 ´es az r2 (r1 < r2 < m) term´eszetes sz´am, olje D az az A = (aij ) ∈ Rm×n m´atrix, a b ∈ Rm ´es a c ∈ Rn vektor. Jel¨ at, amelyekre teljes¨ ulnek a Rn t´er azon x = (x1 , · · · , xn ) pontjainak halmaz´ k¨ ovetkez˝o felt´etelek: (j = 1, 2, · · · , n), 0 ≤ xj n  aij xj ≤ bi (i = 1, 2, · · · r1 ), j=1 n  j=1 n 

aij xj = bi

(i = r1 + 1, r1 + 2, · · · r2 ),

aij xj ≥ bi

(i = r2 + 1, r2 + 2, · · · m).

j=1

Hat´arozzuk meg az L : D −→ R,

L(x) :=

n 

cj xj

j=1

f¨ uggv´eny abszol´ ut sz´els˝o´ert´ekhelyeit ´es az itt felvett f¨ uggv´eny´ert´ekeket. A D defin´ıci´ oj´ aban szerepl˝ o 0 ≤ xj felt´eteleket nem kell a programmal k¨ ul¨ on k¨ oz¨olni. Alap´ertelmez´esben nemnegat´ıv koordin´ at´aj´ u pontok k¨ or´eben keresi a megold´ast.

3.8. Line´aris algebra

303

Minimum keres´es´ere vonatkoz´o feladatot ´ıgy oldhatunk meg: A   ' + G ( C+ G (   + G (  L + G ( J  + ( 9 9 { , {x -> , y -> 0}} 2 2

Maximumot pedig ´ıgy hat´ arozhatunk meg: A   '+ + G ( C+ G (   + G (  L + G ( J  + ( {7, {x -> 2, y -> 5}}

Figyelmeztet˝o u ¨zenetet kapunk akkor, ha a vizsg´ alt f¨ uggv´eny ´ertelmez´esi tartom´any´ at megad´o felt´etelek az u ¨ res halmazt hat´ arozz´ak meg: A   '+ + +   + J  + ConstrainedMax::nsat: Specified constraints cannot be satisfied.

Megjegyezz¨ uk m´eg azt is, hogy a Mathematica fenti f¨ uggv´enyeinek m´aaci´ os jelet is haszsodik argumentum´ aban a > (?) jel helyett a > (?) rel´ ´ n´ alhatjuk. Erdemes megfigyelni, hogy a program hogyan kezeli az ilyen feladatokat: A   '+ + +   + {1, {x -> 1}]

A 0 f¨ uggv´enyt is az el˝ oz˝oekben ismertetett feladatt´ıpus megold´ as´ahoz haszn´ alhatjuk. Itt csak a probl´em´at meghat´aroz´o m´atrixot ´es vektorokat kell megadnunk. A

0*.

. &,

utas´ıt´ as eredm´enye az L(x) := c, x,

x ∈ {x ∈ Rn : x ≥ 0, A · x ≥ b}

ut minimumhely´et tartalmaz´o lista. f¨ uggv´eny (c ∈ Rn adott vektor) abszol´ % &00     C     C L  9 { , 0} 2

304

3. Fejezetek a matematik´ab´ ol

3.9. Sz´ amelm´ elet A sz´amelm´elet a matematik´anak egy olyan ter¨ ulete, amely r´eg´ota komoly feladatokat ad a sz´ am´ıt´ astechnik´ anak: feladatainak megold´ asa ´altal´ aban igen hossz´ u id˝ ot vesz ig´enybe. M´ asr´eszt ez a t´eny a hat´ekony algoritmusok fejleszt´es´ere k´enyszer´ıt˝ o er˝ovel hat. A Mathematic´ a ban szerepl˝ o sz´amelm´eleti algoritmusok t¨obb ´ertelemben uggv´eny is val´ osz´ın˝ us´egi jelleg˝ uek. Az egyik lehet˝os´egre p´elda a 0 f¨ ´ert´ekeit (, ha az argumentum pr´ımsz´am,   egy´ebk´ent) kisz´amol´o algoritmus, amely kis sz´amokra biztosan, nagyobbakra nagy val´ osz´ın˝ us´eguls˝ o gel ad j´ o v´ alaszt. Az egy t´enyez˝ot lev´alaszt´o 4# k¨ o v´ af¨ uggv´eny (&8)34#3) viszont biztosan j´ laszt ad, de ezt (amint az a v´alasz megad´as´ahoz sz¨ uks´eges id˝ otartamb´ ol is kit˝ unik) v´eletlen algoritmussal teszi. A sz´amelm´elet ´es az algoritmusok szempontj´ab´ ol is igen hasznos Wagon [87] k¨ onyve. V´eg¨ ul m´eg egy ´altal´ anos megjegyz´es: nehezen v´ alaszthat´o sz´et a sz´amelm´elet a diszkr´et matematik´at´ol. Ez azzal j´ ar, hogy esetenk´ent a´tfed´esek fordulnak el˝ o, illetve esetenk´ent egyes f¨ uggv´enyeket nem azon a helyen ismertet¨ unk, ahov´ a azok a program k´esz´ıt˝ oinek sz´and´ekai szerint ker¨ ultek. • Sz´ amok alakjai A sz´amok k¨ ul¨ onf´ele alak´ u reprezent´ al´ as´ar´ ol m´ar sz´oltunk a 3.1.3. szakaszban. A sz´ amelm´elet els˝osorban eg´esz sz´amokkal foglalkozik. Azt, hogy az x sz´am eg´esz-e, t¨obbf´elek´eppen d¨ onthetj¨ uk el. Ha az, akkor  *, ´ert´eke , 1 *, ´ert´eke pedig  lesz. Ha azt akarjuk kik¨otni, hogy a tov´ abbiakban x eg´esz sz´am legyen, akkor ezt ´ırhatjuk: +- 6 ? +  

Ett˝ ol m´eg x feje nem lesz , ha nem adunk neki ´ert´eket: 7' + Symbol

Ha pedig egy val´ os sz´amb´ ol eg´eszet akarunk csin´ alni, akkor a 4. . 9 kerek´ıt˝o f¨uggv´enyek valamelyik´et haszn´alhatjuk.

3.9. Sz´amelm´elet

305

3.9.1. Sz´ amrendszerek A k¨ ul¨ onb¨ oz˝o sz´amrendszerek k¨oz¨otti a´tv´ alt´ as igen k¨onnyen v´egezhet˝o el.

L *++F. (, megadja a t´ızes sz´amrendszerbeli 113 sz´am kettes sz´amrendszerbeli alakj´ at. Az F A0F16 (tizenhatos sz´amrendszerbeli) sz´amot decim´alisba pedig egyszer˝ u (az al´ abbi szintaxisnak megfelel˝ o) beg´epel´es eredm´enyek´ent kapjuk: NII*B* 64015

Sokszor sz¨ uks´eg¨ unk van az n eg´esz sz´am sz´amjegyeinek list´aj´ ara. Ezt uggv´eny, a 97 *, pedig szolg´altatja az 7 *, f¨ megadja az x val´ os sz´am sz´amjegyeit, valamint a tizedespont el˝ott a´ll´ o sz´amjegyek sz´am´at. Ha ennek a k´et f¨ uggv´enynek m´ asodik argumentumk´ent a b sz´amot is megadjuk, akkor az adott sz´ am b alap´ u sz´amrendszerbeli alakj´ anak anal´ og o¨sszetev˝oit ( jegyeit”) kapjuk. ” Tanuls´ agos ´atv´ altani arab sz´amokat r´ omai sz´amm´a. L´ep´esenk´ent oldjuk meg a feladatot. Bizonyos oszt´opontok” fontos szerepet j´ atszanak az ´atv´ alt´ asn´ al; el˝ osz¨or ” ezek halmaz´at ´ep´ıtj¨ uk fel:   E1 &Y B E  B   $  E1     L E   > E   ) E   B 

Most ´ all´ıtsuk el˝ o az oszt´opontoknak megfelel˝o r´ omai sz´amokat: 0  "     A D AD A 3A % 3% 3 63 8 68 6 

F¨ uggv´eny¨ unk neve 9 lesz. Egyszerre akarjuk megadni az ¨osszes oszt´ opontban felvett ´ert´ek´et, ehhez kell, hogy list´ara lehessen alkalmazni: " # $  E0  % $   @' " D(' E0 $  0 

A defin´ıci´ o l´enyeges r´esz´et rekurz´ıve adjuk meg: * +,  B+)BBB -  "! $ .+/   E0 +,6   B+)BBB - "5 !0

E0 * +  E0 +C* +

306

3. Fejezetek a matematik´ab´ ol

Alkalmazzuk f¨ uggv´eny¨ unket 2 n´eh´ any hatv´ any´ ara: E0

 $ I  B 

{I, II, IV, VIII, XVI, XXXII, LXIV, CXXVIII, CCLVI, DXII, MXXIV, MMXLVIII, toRoman[4096]}

Ezek ut´ an az Olvas´ o megpr´ ob´ alkozhat azzal is, hogy r´ omai sz´amokat alak´ıt arab sz´amokk´a.

3.9.2. Oszthat´ os´ ag Az oszthat´os´aggal kapcsolatos k´erd´esek vizsg´alat´ ahoz leggyakrabban a k¨ ovetkez˝o f¨ ugv´enyeket haszn´aljuk:

7     :47 :47 9 

4# # 

0B# 

Az  *, kifejez´es ´ert´eke , ha n p´ aros sz´am, az 

*, kifearatlan sz´am. jez´es´e pedig akkor , ha x p´ # *. , megadja az m sz´am oszt´asi marad´ek´at n-nel val´o oszt´as anyados eg´esz r´esz´et. Az ut´ an, *. , pedig a h´ 0 

?  0

G ' 0



kifejez´es ´ert´eke minden konkr´et m ´es n eg´esz sz´am mellett . Ugyanez ´all az 0

 OAD 0

%A 0



rel´ aci´ ora, ugyanis :47 a legnagyobb k¨ oz¨os oszt´ot (greatest common divisor), 4# pedig a legkisebb k¨oz¨os t¨obbsz¨or¨ost (least common multiple) adja meg (nemcsak k´et, hanem ak´arh´ any argumentum eset´ere). ´Igy teh´ at m ´es n pontosan akkor relat´ıv pr´ım, ha OAD 0



1

Ha az ab hatv´ any n-nel val´ o oszt´asi marad´ek´at akarjuk kisz´ am´ıtani, akkor uk meg, hanem (ab kisz´am´ıezt nemcsak # *C&. , seg´ıts´eg´evel tehetj¨ t´ asa n´elk¨ ul, teh´ at gyorsabban) ´ıgy is: 0B# *. &. ,.

3.9. Sz´amelm´elet

307

0  ' BIBBBBB F 

0  &Y' B BBBBB F  -14 {{33.285 Second, 2},{2.59237 10 Second, 2}}

Negat´ıv eg´esz b sz´amokkal pedig modul´ aris inverz meghat´aroz´as´ara haszuggv´eny, ilyenkor ugyanis olyan k sz´amot ad eredn´ alhat´ o a 0B# f¨ ul: m´eny¨ ul (ha van ilyen), amelyre # *=$C&. ,+ teljes¨ &Y'  C F 5

´ val´ Es oban: '  : F 1

Az   :47*. , kifejez´es ´ert´eke egy olyan {d, {r, s}} lista, amelynek els˝o eleme a d legnagyobb k¨ oz¨os oszt´o, tov´ abb´ a d = rm + sn. uggv´eny, amely (Lenstra, Tov´abbi a´ltal´ anos´ıt´ ast jelent a 9  f¨ Lenstra ´es Lov´asz algoritmusa [50] alapj´an) eg´esz koordin´ at´aj´ u vektorok list´aj´ ahoz speci´alis tulajdons´ ag´ u b´ azist a´ll´ıt el˝ o az eg´esz sz´amok f¨ ol¨ ott: % !E'!  B B )> B  B )> B  B )> {{-1, 0, 1, 9}, {9, 1, -10, 0}, {85, -143, 59, 6}}

A majdnem p´ arhuzamos, hossz´ u vektorokb´ ol majdnem mer˝ oleges, r¨ovid vektorokb´ ol a´ll´ o b´ azist kaptunk. Egydimenzi´ os vektorokhoz a f¨ uggv´eny — nem t´ uls´ agosan meglep˝o m´odon — a legnagyobb k¨ oz¨os oszt´ot rendeli: % !E'! )M B {{24}}

Ha az n sz´am pozit´ıv oszt´oinak list´a j´ at akarjuk megkapni, ezt a 72

 *, utas´ıt´as kiad´as´aval ´erhetj¨uk el.

Amennyiben egy nagy” binomi´ alis egy¨ utthat´ o adott pr´ımsz´am melletti ” oszt´asi marad´ek´at akarjuk kisz´ amolni, akkor a term´eszetesen ad´od´ o megold´ as helyett haszn´alhatjuk a &8)3L3 csomag megfelel˝o utas´ıt´ as´at; ez ´altal´ aban (de nem mindig) gyorsabban vezet c´elhoz: 0$ @(KS 0K 0  ' S 0 BBB>BB L 

0  S 0' BBB>BBL  {{1.483 Second, 0}, {0.33 Second, 0}}

308

3. Fejezetek a matematik´ab´ ol

J´ o tudni, hogy ugyanitt tal´ alhatunk egy  L ´es egy  2  f¨uggv´enyt is. • Polinomok Polionomok t´enyez˝ore bont´ asa, oszthat´os´aggal kapcsolatos vizsg´alata — az al´ abbi f¨ uggv´enyek felhaszn´ al´ as´aval — hasonl´ oan v´egezhet˝o, mint az eg´esz sz´amok´e:

   6 6      0):47

0)4# 0)# 0) 0)  0)9  9 

A fenti f¨ uggv´enyek n´emelyik´evel m´ar foglalkoztunk a 3.2.1. pontban, most n´eh´ any tov´ abbi p´eld´ at mutatunk: &( 0E0 ' +I + G  +  &( 0?  +I + G  +  {1, -1 + x}

Az eredm´enyek term´eszetesen f¨ uggnek att´ ol, hogy mit tekint¨ unk f¨ uggetlen v´ altoz´onak: &( 0E0 ' + G ( + C ( +  &( 0?  + G ( + C ( (  {2y, 2x}

A legnagyobb k¨ oz¨os oszt´ot ´ıgy kaphatjuk meg: &( 0OAD C+I G+ G+ C+ G+ G+ (1 - x) (2 + x)

Hat´arozzuk meg egy polinom egy¨ utthat´ oit modulo 2: &( 0' 4+  ' G+IN   1 + x

2

+ x

4

+ x

6

Bontsuk t´enyez˝okre az eredm´enyt az eg´esz sz´amok f¨ ol¨ ott:

3.9. Sz´amelm´elet

309

!  : 2 4 (1 + x )(1 + x )

Ha a polinomok egy¨ utthat´ oit modulo 2 tekintj¨ uk, akkor a felbont´ ast tov´abb folytathatjuk: !  : ' CJ  6 (1 + x)

(V´eletlen, hogy az eredeti polinomot kaptuk vissza?) uggv´eny csak szorz´asokat ´es kivon´asokat v´egez, m´ıg A 0)# f¨ azza az al´abbi eredm´ea 0)9  oszt´asokat is; ez magyar´ nyeket: &( 0' +I + G   &( 0E0 ' +I + G  +  2 1 {x , } 4

3.9.3. L´ anct¨ ortek Tetsz˝oleges val´os sz´amot l´anct¨ortekkel k¨ ozel´ıthet¨ unk a

&8)34  3 k¨ onyvt´ ar f¨ uggv´enyeivel. Az x val´ os sz´am l´ anct¨ ortbe fejt´ese: 1 . a0 + 1 a1 + a2 + . . . alis h´ anyadosok. Racion´ alis sz´amoknak v´eAz itt szerepl˝o ai sz´amok a parci´ ges sok parci´alis h´ anyadosuk van, m´ıg irracion´ alis sz´amok l´anct¨ortbe fejtett arozott pn /qn racion´ alis alakja v´egtelen. Az a0 , . . . an sz´amok ´altal meghat´ sz´am az n-edik szelet. A szeletek bizonyos ´ertelemben egy adott val´ os sz´am kis nevez˝o j˝ u legjobb racion´ alis k¨ ozel´ıt´es´et szolg´altatj´ ak: 0$ @(KA  '!  K A  '!   "5 )LL  >B  B ContinuedFractionForm[{22, 2, 1, 21, 1, 2, 44, 2, 1, 21, 1, 2, 44, 2, 1, 21, 1, 2, 44, 2, 1, 21, 1, 2, 44, 2, 1, 21, 1, 2}]

310

3. Fejezetek a matematik´ab´ ol

Az eredm´eny tipikus: pozit´ıv eg´esz sz´am n´egyzetgy¨ok´enek l´anct¨ort alakj´ aban ism´etl˝ od˝ o peri´ odusok vannak. (Bizony´ıtsuk be!) ´ hogyan ´ırjuk f¨ Es ol mag´at a l´ anct¨ortet? P´eld´ aul ´ıgy: ! +, , - 7'0  G+  !   , -    G ' ! %    E E1 E    !   $ ! '  * 1 a + 1 b + 1 c + 1 d + 1 e + f  !  A  '!  "5   N

 1

1 +

1

2 +

1

2 + 2 +

1 2 +

1 2

Tipogr´ afiai szempontb´ ol a l´ anct¨ortek legk´enyelmesebb jel¨ol´ese: 1 1 1 ... . a0 + a1 + a2 + +an Megpr´ ob´ alhatjuk ezt is el˝ o´ all´ıtani programmal. Fejts¨ uk l´ anct¨ortbe az aranymetsz´est megad´o ar´ anyt ´es sz´am´ıtsuk ki a k¨ ozel´ıt˝ o t¨ orteket. Egy lehets´eges megold´as: A  '!   O' E  )B  B ContinuedFractionForm[{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}]

Teh´at az ¨osszes szerepl˝o egy¨ utthat´ o ´ert´eke 1.

$ 0 A  '!  0

$      3 5 8 13 21 34 55 89 144 , , , , , } {1, 2, , , , 2 3 5 8 13 21 34 55 89

Az is j´ol l´ athat´ o, hogy a t¨ ortek — amelyek a szomsz´edos Fibonacci-sz´amok h´ anyadosai — tartanak az aranymetsz´es ´ert´ek´ehez:

3.9. Sz´amelm´elet

311

: C  O' E  {-0.618034, 0.381966, -0.118034, 0.0486327, -0.018034, 0.00696601, -0.00264937, 0.00101363, -0.00038693, 0.000147829, -0.0000564607}

Racion´ alis sz´ammal val´o k¨ ozel´ıt´est v´egez a 9' f¨ uggv´eny, amely erre a c´elra a l´ anct¨orteket haszn´alja.  F B 0.428571428571428571428571428571

megadja 3/7 ´ert´ek´et 30 jegy pontoss´ aggal. Ha ezut´ an adjuk ki a 92 '*TT, parancsot, akkor az el˝oz˝o ´ert´ek racion´alis k¨ozel´ıt´esek´ent ´eppen 3/7-et kapunk. E    4 2.71828

a szok´asos 6 jegynyi pontoss´ aggal szolg´altatja az e sz´am racion´alis k¨ ozel´ıt´es´et (´es nem tal´al jobbat, mint e kerek´ıtett alakja). E    4  BIC) 193/71

olyan k¨ ozel´ıt´est ad, amelynek hib´ a ja nem nagyobb, mint 10−4 . Ha a hibahat´ art 0-nak v´ alasztjuk, akkor csak a bemen˝ o ´ert´ek pontoss´aga korl´ atozza a racion´ alis k¨ ozel´ıt´es pontoss´ag´ at. Javasoljuk az Olvas´ onak, hogy hat´ arozza meg az e−2 sz´am l´anct¨ortekkel val´ o k¨ ozel´ıt´es´et j´ on´eh´ any (p´eld´ aul 40) jegyre. Az eredm´eny azt sugallja, hogy az egym´as ut´ an k¨ ovetkez˝o sz´amok: 1, 2, 1, 1, 4, 1, 1, 6, 1, · · ·, 1, 2n, 1. Ez a megd¨obbent˝ o a´ll´ıt´ as Perron t´etelek´ent ismert. ´ Erdemes m´eg belen´ezni a &8)39'3 programcsoulmagba, ahol az 559' ´es a 0K9' k¨ s˝o f¨ uggv´enyt tal´ aljuk; tov´ abb´ a kipr´ ob´ alni a &8)39'3 programcsomag 9' f¨ uggv´eny´et is.

3.9.4. Pr´ımsz´ amok. A sz´ amelm´ elet alapt´ etele A pr´ımsz´amokkal kapcsolatos vizsg´alatokban haszn´alt bels˝o f¨ uggv´enyek:

0. 00. 0

312

3. Fejezetek a matematik´ab´ ol

A 0 *, kifejez´es ´ert´eke , ha n pr´ımsz´am, egy´ebk´ent pedig 2 . (Nagy sz´amok eset´en el˝ofordulhat, hogy ezt a kifejez´est ki tudja ´ert´ekelni a program, annak ellen´ere, hogy n-et t´enyez˝okre bontani nem tudja.) A k-adik pr´ımsz´amot adja meg 0*=,, m´ıg 00*, az x val´ os sz´amn´ al nem nagyobb pr´ımsz´amok sz´am´at adja meg. Tanulm´ anyozhatjuk a pr´ımsz´amok elhelyezked´es´et:

'', - % &

$ = &0 =  = ''

Az al´ abbi defin´ıci´ oval megadott f¨ uggv´enyt tal´ an m´eg ´erdekesebb: * '', - % &

$ = % = &0& = = = '' * >BB 1.26 1.24 1.22 100

200

1.18

300

400

500

1.16 1.14

1.12

Jones ´es munkat´ arsai [37] szerint a pr´ımsz´amok halmaza megegyezik azon pozit´ıv eg´eszek halmaz´aval, amelyeket az eg´esz koordin´ at´aj´ u pontokban ´ert´ekk´ent felvesz az al´abbi 25-¨ odfok´ u 26-v´ altoz´os polinom: 9  , $, !, ', , *, , @, , W, =, , 0, , , , 5, , , , , 1, Y, +, (, , - =GCY G@GWC5IC =GG=G@GWG@CI C G G5GCICN=GI =G GIGC*II CI GGIGCIICIC(IGC+II CNI (I)ICGCII CGIICIC G)' (IGC+G! II C GG1C(ICICIGC0IIC G=GCCI C GC CG$ GC IC CC0I C5G(C CG GC IC CC+I CG C G  C ICC 0I

Ellen˝ orizz¨ uk az a´ll´ıt´ ast n´eh´ any helyen:

3.9. Sz´amelm´elet

313

D &    $ E '0 6  CB B  N  & 1W@  9      6* 1W@JB & &0? 1W@  B

A &8)3&8) 3 programcsomag 2 0 f¨uggv´enye az argumentum´at k¨ovet˝o legkisebb pr´ımsz´amot adja meg. Az n sz´am pr´ımt´enyez˝os felbont´ as´at a *, olyan lista form´a j´ aban adja meg, amelynek elemei az n felbont´ as´aban szerepl˝ o pr´ımekb˝ ol ´es azok kitev˝o j´eb˝ ol a´ll´ o list´ak. H´ uszn´ al kevesebb jegy˝ u sz´amokn´ al az utas´ıt´ as biztosan eredm´enyre vezet. Nagyobb sz´ amokn´ al egy alkalmas opuk, hogy csak egyetlen ci´o-be´all´ıt´ assal (42? ) el´erhetj¨ t´enyez˝ot keressen meg a program, s ezzel esetleg t¨obb l´ep´esben elv´egezhetj¨ uk a t´enyez˝okre bont´ ast. A Gauss-eg´eszek feletti (egy´ebk´ent szint´en egy´ertelm˝ u) felbont´ ast egy opci´o megfelel˝ o be´all´ıt´ as´aval kaphatjuk meg:

*. :  2?, (A program a nem val´ os t´enyez˝oknek csak a fel´et adja meg, a t¨ obbit az el˝o jelek megfelel˝o megv´altoztat´ as´aval kapjuk meg, m´egpedig komplex konjug´ altak k´epz´es´evel.) ! 6   O 6  CJ  {{-I, 1}, {1 + I, 2}}

Tegy¨ uk fel, hogy egy nagy sz´ amr´ol akarjuk meg´allap´ıtani, hogy milyen uggv´enyt. Ha kider¨ ul, t´enyez˝okb˝ ol a´ll. Els˝ o l´ep´esben haszn´aljuk a 0 f¨ hogy a sz´am nem pr´ım, akkor m´ asodik l´ep´esben alkalmazhatjuk a 2 &8)34#3 k¨onyvt´ar 4# f¨uggv´eny´et: 0$ @(K! 6 4AK &0? INF G  False ! 6 4A INF G  3

Alkalmazzuk ugyanezt a f¨ uggv´enyt k´et nagy pr´ımsz´am szorzat´ara:  &0 BI> &0 BIN 20127115513867

&0? False

314

3. Fejezetek a matematik´ab´ ol ! 6 4A 1299709

A pr´ımsz´amokkal kapcsolatos vizsg´alatokhoz a k¨ovetkez˝o k¨ uls˝ o f¨ uggv´enyek tal´ alhat´ ok a &8)30 3 programcsomagban:

0 45 0 4548= 0&0 a &8)3&8) 3 programcsomagban pedig a 0.

3.9.5. Sz´ amelm´ eleti f¨ uggv´ enyek Az eg´eszr´esz ´es a t¨ortr´esz f¨ uggv´eny a sz´amelm´eletben is fontos szerepet j´ atszik. Kiindul´ ask´ent v´ alaszoljuk meg azt a j´ol ismert k´erd´est, hogy 100! h´ any null´ ara v´egz˝odik. K¨ onnyen ´ırhatunk ezut´ an f¨ uggv´enyt annak meghat´ aroz´as´ara, hogy az n! sz´am t¨orzst´enyez˝os felbont´ as´aban a p pr´ımsz´am milyen kitev˝ovel szerepel: * , , -   = 1 , , - # (

& +'& % * . /   = 1 BB > 24

Az n sz´am pozit´ıv oszt´oinak list´aj´ at 7  *, ´all´ıtja el˝ o, teh´at n (pozit´ıv) oszt´oinak sz´am´at p´eld´ aul ´ıgy hat´ arozhatjuk meg: ' , - %  @ D1

Ugyanerre a c´elra egy m´asik megold´as: ' , - #

(

0    ! 6 

 G

A harmadik megold´ ast pedig ' , - D1"0 B



adja, ugyanis 7 6*=. , az n term´eszetes sz´am pozit´ıv oszt´oi k-adik hatv´ anyainak o¨sszege. A pozit´ıv oszt´ok o¨sszege teh´at 7 2 6*+. ,. A Moebius-f´ele µ f¨ uggv´eny 0 ´ert´eket vesz fel azokon az n sz´amokon, amelyek oszthat´ok egy 1-n´el nagyobb sz´ am n´egyzet´evel; azokon a sz´amokon

3.9. Sz´amelm´elet

315

pedig, amelyek n´egyzetmentesek, ´ert´eke (−1)k , ahol k az n sz´am t¨orzst´enyez˝oinek sz´ama. (Speci´alisan teh´at µ(1) = 1.) Egyszer˝ uen alkalmazhat´ o ez a f¨ uggv´eny a n´egyzetmentess´eg vizsg´alat´ ara: Z( 0  , - $ ; B

(A Mathematic´ a ban az ilyen f¨ uggv´enyeket szok´as egysorosk´ent eml´ıteni, b´ ar itt a r¨ ovids´eg oka nem valamilyen m´ely programoz´ asi ismeret, hanem valamilyen matematikai ´ all´ıt´ as.) A n´egyzetmentess´eg ellen˝orz´es´ere egy term´eszetesebbnek t˝ un˝ o defin´ıci´ ot ´ıgy kaphatunk: ( 0  , - +

   ! 6 

   

J B

V´eg¨ ul megeml´ıtj¨ uk, hogy a &8)3&8) 3 csomagban k´eszen is megtal´alhat´ o a 6 f¨ uggv´eny. Itt jegyezz¨ uk meg, hogy az anal´ızis Newton–Leibniz-f´ele alapt´etel´enek sz´amelm´eleti megfelel˝oje a Moebius-f´ele megford´ıt´ asi (inverzi´ os) formula, amely szerint, ha  f (d), ∀n ∈ N g(n) = d|n

akkor ∀n ∈ N

f (n) =



µ(d)g(n/d).

d|n

(Ekkor azt mondjuk, hogy a g f¨ uggv´eny f ¨ osszegz´esi f¨ uggv´enye.) Az Euler-f´ele ϕ f¨ uggv´eny megadja a 1, 2, . . . , n sorozat n-hez relat´ıv pr´ım ´ ekeit az 2 elemeinek sz´am´at minden pozit´ıv eg´esz n sz´am eset´ere. Ert´ 08 bels˝o f¨uggv´eny sz´amolja ki. Sz´ amos tov´abbi hasznos sz´amelm´eleti f¨ uggv´eny tal´ alhat´ oa

&8)3&8) 3 programcsomagban, p´eld´ aul:

48 9 8 4   4 &  9  Ezek n´emelyik´evel m´eg fogunk tal´ alkozni.

09 6# 6

316

3. Fejezetek a matematik´ab´ ol

3.9.6. Kongruenci´ ak • Els˝ ofok´ u kongruenci´ ak Az ax ≡ 1 (mod m) alak´ u kongruenci´ akat m´ar megoldottuk, a megold´ ast 0B# *. 2+. , adja. Az ax + by = c line´aris k´etv´altoz´os diophanc c toszi egyenlet egy megold´as´at - . / adja, ha d

d

4+  ''OAD  $ {d, {r, s}}

Mivel az ax ≡ b (mod m) els˝ofok´ u egyismeretlenes kongruencia azt jelenti, hogy l´etezik olyan y ∈ Z, amellyel ax − b = my, vagyis ax − my = b, ez´ert az ilyen kongruenci´ ak megold´as´at visszavezett¨ uk az el˝ oz˝o feladatra. • Els˝ ofok´ u kongruenciarendszerek (szimult´ an kongruenci´ ak) onyvt´ arban tal´ alhat´ o az A &8)3&8) 3 k¨ a k¨ uls˝ o f¨ uggv´eny (48 9 8), amely megadja azt a legkisebb sz´ amot, amelynek egy adott lista elemeivel vett oszt´asi marad´eka megegyezik egy m´asik adott lista elemeivel. Ha az els˝o lista elemei relat´ıv pr´ımek, akkor ilyen sz´am biztosan l´etezik. Haszn´ alat´ at a k¨ ovetkez˝o k¨ ozismert feladaton mutatjuk be. Karcsi Mikul´ as-zacsk´okat t¨ olt¨ ott meg di´ oval. Ha mindegyik zacsk´oba 9 darabot tett, akkor az utols´ oba csak 8 darab ker¨ ult, ha mindegyikbe 8 szemet tett, akkor az utols´oba 7 szem jutott, ha hetet tett egy-egy zacsk´ oba, akkor az utols´ oba 6 darab ker¨ ult, amikor hatos´ aval osztotta sz´et a di´ okat, akkor az utols´ oba 5 maradt. H´ any darab di´ oja volt Karcsinak, ha 600-n´ al kevesebb di´ ot sz´ant az aj´ and´ekoz´asra? (Ez a feladat el szokott hangzani sorba´all´ıtott o´lomkaton´akkal ´es k¨ ul¨ onf´elek´eppen u ¨ltetett gyerekekkel is.) 0$ @(K0$ @( !  K A@ E0 ' @0 N F M F M L 503

Mivel ' >B N F M L {5, 6, 7, 8}

ez´ert 503 t´enyleg j´o megold´as.

3.9. Sz´amelm´elet

317

• Magasabb fok´ u kongruenci´ ak, binom kongruenci´ ak Ezek megoldhat´ ok egy v´eges algoritmussal: be kell helyettes´ıten¨ unk egy mod m teljes marad´ekrendszer elemeit a kongruencia bal oldal´an a´ll´ o polinomba. Vannak egyszer˝ us´ıt´esi m´odszerek, p´eld´ aul binom kongruenci´ ak megu kongruenci´ at old´ as´ara. (Binom kongruenci´ anak az axk ≡ b (mod m) alak´ nevezz¨ uk. — Amint m´ ar eml´ıtett¨ uk, a b = 1 speci´alis eset megold´as´at 02 B# megadja.) Az a´ltal´anos eset l´atsz´olag nagyon egyszer˝uen kezelhet˝o: uggv´enynek megadhatjuk egyenletk´ent a modulus ´ert´ek´et, vagy a 6 f¨ assal el´erhetj¨ uk, hogy a program maga kea # 2?#  opci´o-be´all´ıt´ ressen alkalmas modulust, amely mellett van az egyenletnek megold´asa: "1 >G+GF+IGF+IGN+I)G+I>B 'L + {{Modulus -> 19, x -> -18}, {Modulus -> 19, x -> -16}, {Modulus -> 19, x -> -12}, {Modulus -> 19, x -> -7}, {Modulus -> 19, x -> -1}} "1 +I G   B +I G   B + ' CJ ' {{Modulus -> 2, x -> -1}}

L´assunk egy p´eld´ at ellen˝orz´essel egy¨ utt: * +, (,  +I G )+ G F "1 * + (  D * + (  +  B + ' CJ ' {{Modulus -> 8059, x -> 1001}} * + (  D * + (  +  Q : {{1003007022, 3006007}} ' : MB>L {{0, 0}}

• Kvadratikus reciprocit´ as A m´asodfok´ u kongruenci´ ak vizsg´alat´ ahoz haszn´ alatos Jacobi-f´ele ( m n ) szimaratlan pr´ımsz´am, b´ olumot W&6)&*., sz´amolja ki. Amikor n p´ akkor ´ert´eke a Legendre-f´ele szimb´ olumra specializ´al´ odik. A kvadratikus reciprocit´ asi t´etel szerint, ha p ´es q p´ aratlan pr´ımsz´amok, akkor p−1q−1 q p 2 . ( ) = ( )(−1) 2 q p

318

3. Fejezetek a matematik´ab´ ol

El˝ osz¨or oldjunk meg k´etf´elek´eppen egy kvadratikus kongruenci´ at: "1 +I   '   + {{Modulus -> 11, x -> -6}, {Modulus -> 11, x -> -5}}

Val´ oban: ' NI  3 ' >I  3

A m´asik megold´asi m´od: 0$ @(K0$ @( !  K "5 '   5

Ha a modulus nem pr´ımsz´am, akkor a 6 f¨ uggv´eny nem tal´ alja meg a megold´ast: "1 +I   '  I + Roots::modp: Value of option Modulus -> 1331 should be a prime number. 2 {ToRules[Modulus == 1331 && Roots[x == 3, x, Modulus -> 1331]]}

A k¨ uls˝ o 6# f¨ uggv´eny ilyenkor is bev´alik: "5 '  I 578

Most tanulm´ anyozzuk a Legendre-szimb´olumot: ' E  > CI > {0, 1, 4, 4, 1} 9!$"(0$ E  > C > {0, 1, -1, -1, 1}

3.9. Sz´amelm´elet

319

3.9.7. Tov´ abbi fejezetek V´egezet¨ ul n´eh´ any tov´ abbi sz´amelm´eleti ´erdekess´egre h´ıvjuk fel a figyelmet. • A Collatz-f¨ uggv´ eny A Collatz-f´ele f¨ uggv´ennyel — amelynek ´ert´eke az 1 helyen 1, p´aros helyen az argumentum fele, p´aratlan helyen pedig az argumentum h´ aromszorosa plusz 1 — is k´ıs´erletezhet¨ unk, ugyanis t¨ obb helyen is megtal´alhatjuk. Az  34'3 programcsomagban tal´aljuk a 4' valamint a 6 f¨uggv´enyt, a 0 34'3 csomagban pedig a 4'.  # ´es a 6 f¨ uggv´enyt. • Ramanujan A &8)39K3 programcsomagot teljes eg´esz´eben Ramanujan munk´ ass´aga induk´ alta. Ebben a k¨ ovetkez˝o f¨ uggv´enyeket tal´aljuk:

9K 9K786 9K:

9K8 9KY

• Sz´ ampart´ıci´ ok A sz´amelm´elet ´es a diszkr´et matematika nehezen sz´etv´ alaszthat´o ter¨ uletek, ez´ert nem meglep˝o, hogy az el˝obbi ir´ ant ´erdekl˝od˝ ok sz´amos hasznos ´es ul¨ onb¨ oz˝o ´erdekes dolgot fognak tal´ alni a 7 #8 programcsomag k¨ uben: k¨ onyvt´ araiban, p´eld´ aul a 34&3 elnevez´es˝

4   7   6&  &5&

0 0 9 & &

320

3. Fejezetek a matematik´ab´ ol

3.9.8. Gyakorlatok ´ es feladatok 1. Hat´arozzuk meg az Avogadro-f´ele ´alland´ o karakterisztik´a j´ at ´es mantissz´a j´ at: ! K&@(!  K  4+   #1'A    {0.6022136699999999, 24}

2. Hat´arozzuk meg az n-edik sz´amjegy´et annak a sz´amnak, amelyet u ´gy kapunk, hogy egym´ as mell´e le´ırjuk a term´eszetes sz´amokat: *    * , -   # @ , - *



0  @ >B {1.483 Second, 3}

 ' * C  6 D 

=    = , - =   #  , -  =



0   >B {0.824 Second, 3}

 ' = C  6 D  

(A m´asodik f¨ uggv´eny nagyobb sz´ amokra gyorsabban sz´ amol.) u f¨ uggv´enyt, amely a  utas´ıt´ as 3. ´Irjunk olyan = nev˝ eredm´eny´et a szok´ asos form´aban adja meg, teh´ at p´eld´ aul = ! 6  ) 3 2 · 3

4. Hasonl´ıtsuk o¨ssze az oszt´ok sz´am´at sz´amol´o h´ arom f¨ uggv´eny gyorsas´ag´ at. 5. Hat´arozzuk meg az x pozit´ıv val´ os sz´amhoz azokat a legkisebb p ´es q pozit´ıv eg´esz sz´amokat, amelyekre a p/q t¨ ort ε-n´ al kisebb hib´ aval k¨ ozel´ıti az x sz´amot: E    &  BIC. /  E  B M 22 22 355 355 355 355 104348 104348 , , , , , , , } {3, 7 7 113 113 113 113 33215 33215

3.9. Sz´amelm´elet

321

6. H´ any sz´amjegyet ´ırunk le, ha a pozit´ıv eg´eszeket 1-t˝ol 1996-ig bez´ ar´ olag fel´ırjuk 10-es sz´ amrendszerben? ´ Utmutat´ as. Nyilv´ an a´ltal´ anosabb feladatot old meg az al´abbi f¨ uggv´eny.  =, $, - "0 %  @ 6 D   $   =  . B /  L LL LLN {9, 189, 6877}

´ ıtsuk 7. Tegy¨ uk fel, hogy adott egy sz´ am b-alap´ u sz´amjegyeinek list´aja. All´ el˝o a sz´am t´ızes sz´amrendszerbeli alakj´ at! ´ Utmutat´ as. J. Adams egysorosa: '  0$  , $, - ' .R$G./ B    '  0$   >  F 527

2 ≤ b ≤ 10 eset´en ´ertelmes bemen˝o adatokra m˝ uk¨ odik. Milyen ellen˝ orz´esre lenne sz¨ uks´eg? Hogyan lehetne kiterjeszteni 10 < b ≤ 36 eset´ere? 8. ´Irjunk olyan f¨ uggv´enyt, amely el˝o´all´ıtja az x ∈ [0, 1) t´ızes sz´amrendszerbeli sz´am faktori´ alisos sz´amrendszerbeli alakj´ anak els˝o n´eh´ any jegy´et. Az x sz´am el˝oa´ll´ıt´ asa faktori´ alisos sz´amrendszerben ([81]): x=

∞  αn (n!)2 n=2

0 ≤ αn ≤ n2 − 1.

9. ´Irjunk olyan f¨ uggv´enyt, amely el˝o´all´ıtja az x ∈ [0, 1) t´ızes sz´amrendszerbeli sz´am Cantor-f´ele felbont´ as´at. (Tekints¨ uk pozit´ıv eg´eszek egy qn ≥ 2 n ∈ {1, 2, . . . } sorozat´at. Az x sz´am Cantor-f´ele felbont´ asa [66]: x=

∞ 

αn /(q1 q2 . . . qn ) 0 ≤ αn ≤ qn − 1.)

n=1

10. ´Irjunk k¨ ul¨ on f¨ uggv´enyt a h´ettel val´o oszthat´os´ag ellen˝orz´es´ere: 0  2*"1 ? ,6  - '  F B

´ 11. Allap´ ıtsuk meg egy pozit´ıv eg´eszekb˝ol a´ll´ o lista elemeir˝ol, hogy p´ aronk´ent relat´ıv pr´ımek-e. Egy lehets´eges megold´as:

322

3. Fejezetek a matematik´ab´ ol D!  @0 !KA0$  !K =  , - P"$      ) N L +  OAD  =   J  True

Tanuls´ agos a feladatot megoldani hagyom´anyos programoz´ asi st´ılusban is, felt´etelekkel ´es ciklusokkal, majd az eredm´eny gyorsas´ag´ at nagy list´ akra o¨sszevetni az itt adott megold´assal. uggv´eny gyorsas´ag´ at az al´abbiakban de12. Hasonl´ıtsuk o¨ssze a :47 bels˝o f¨ fini´ alt, az euklideszi algoritmusra ´ep¨ ul˝ o egysoros´eval (J. Adams):  = , $, - 6* $B   = $ '  $   =  ) 6

(L´enyeg´eben ez a megold´as szerepel a programoz´asi tank¨ onyvekben is a rekurz´ıv algoritmus mintap´eld´ ajak´ent.) od˝ o ´es nem rel folytat´ od´ o 13. Alkalmazzuk az ¨osszes ral kezd˝ nev˝ u f¨ uggv´enyt a 4+  '  G+I G+ G+

polinomra! 14. Legyen az f f¨ uggv´eny o¨sszegz´esi f¨ uggv´enye g. Ellen˝ orizz¨ uk az al´abbi f¨ uggv´enyp´ arokra az inverzi´ os formul´ at n n´eh´ any ´ert´ek´ere. a) Ha ∀n f (n) = 1, akkor ∀n g(n) = d(n). b) Ha ∀n f (n) = n, akkor ∀n g(n) = σ(n). c) Ha ∀n f (n) = µ(n), akkor ∀n g(n) = δ1,n , ahol δn,m a Kronecker-f´ele szimb´olumot jel¨ oli. uggv´eny felhaszn´ al´ as´aval sz´am´ıtja 15. ´Irjunk olyan f¨ uggv´enyt, amely a :47 f¨ ki az Euler-f´ele ϕ f¨ uggv´eny ´ert´ek´et.

3.9. Sz´amelm´elet

323

16. Ellen˝ orizz¨ uk az Euler–Fermat-f´ele t´etelt, amely szerint ' I4&@  1



minden olyan a sz´amra, amely relat´ıv pr´ım n-hez. 17. Oldjuk meg a 176x ≡ 118

(mod 206) kongruenci´ at.

18. H´ anyf´elek´eppen a´ll´ıthat´ o el˝o az n pozit´ıv eg´esz sz´am k´et n´egyzetsz´am osszegek´ent, ha az el˝ojelekre ´es a sorrendre is tekintettel vagyunk? ¨ ´ Utmutat´ as. J. Adams egysoros megold´asa: 02*"5 , - 6* 41 ?  02*"5   6* 6I C6 B )&  60 6ID1  sumOfSquares /@ {1, 2, 3, 4, 5}

19. H´ anyf´elek´eppen a´ll´ıthat´ o el˝o az 50 pozit´ıv eg´esz sz´am k´et n´egyzetsz´am osszegek´ent, ha az el˝ojelekre ´es a sorrendre nem vagyunk tekintettel? ¨ ´ Utmutat´ as. L´ep´esenk´ent f¨ ol´ep´ıt¨ unk egy egysorost (A MathUser alapj´ an.): D1 >B O 6 CJ  {1, 1 + I, 1 + 2 I, 1 + 3 I, 1 + 7 I, 2, 2 + I, 2 + 4 I, 3 + I, 3 + 4 I, 4 + 2 I, 4 + 3 I, 5, 5 + 5 I, 5 + 10 I, 5 + 15 I, 6 + 8 I, 7 + I, 8 + 6 I, 10, 10 + 5 I, 10 + 20 I, 15 + 5 I, 20 + 10 I, 25, 25 + 25 I, 50} "! D1 >B O 6 CJ   #$ . I>B/ {1 + 7 I, 5 + 5 I, 7 + I}  E .  60 . / "! D1 >B O 6 CJ   #$ . I>B/ {{1, 7}, {5, 5}, {7, 1}}    " E .  60 .  / "! D1 >B O 6 CJ   #$ . I>B/ {{1, 7}, {5, 5}}

324

3. Fejezetek a matematik´ab´ ol "02* Y"5 , -    " E .  60 .  / "! D1  O 6 CJ   #$ . I / 

$0

$ 6* "02* Y"5 ;   "02* Y"5    BB >B

20. Hat´arozzuk meg azon tagok szorzat´anak a maximum´ at, amelyeket egy adott n pozit´ıv eg´esz sz´am pozit´ıv eg´eszek ¨osszeg´ere val´o felbont´ asakor kapunk. ´ Utmutat´ as. (Nem a felbont´ast adjuk meg.) D!  @KA0$  !K W  , - +  # (

0 . / &    W    ) M N {2, 4, 18, 324}

T¨om¨orebben: W  , - +  0  ./  &    W    ) M N {2, 4, 18, 324}

21. (Armstrong-f´ele sz´amok.) Hat´arozzuk meg azokat a h´aromjegy˝ u sz´amokat, amelyeknek a jegyeit k¨ obre emelve ´es ¨osszeadva eredm´eny¨ ul mag´ at a sz´amot kapjuk. ´ Utmutat´ as. Procedur´ alis nyelvekhez ill˝ o megold´ast adunk: D D D

6* BB+GB(G+IG(IGI & + (    B L  ( B L  + B L 000 001 153 370 371 407

Oldjuk meg a feladatot n´egyjegy˝ u sz´amokkal ´es negyedik hatv´anyokkal ´es ´ıgy tov´ abb. Ezut´ an a´ltal´ anos´ıtsuk a feladatot arra az esetre, amikor tetsz˝oleges alap´ u sz´amrendszerben fel´ırt sz´amokr´ ol van sz´ o.

3.10. Val´ osz´ın˝ us´egsz´am´ıt´ as

325

3.10. Val´ osz´ın˝ us´ egsz´ am´ıt´ as A val´ osz´ın˝ us´egsz´am´ıt´ as Kolmogorov-f´ele fel´ep´ıt´ese halmazelm´eleti eszk¨ oz¨oket haszn´ al. Ezekkel kapcsolatos tov´abbi p´eld´ akat a 3.1.2. szakaszban megadottakon t´ ul nem adunk. A diszkr´et val´ osz´ın˝ us´egi mez˝okn´el fell´ep˝ o probl´em´ak lesz´aml´al´ assal, kombinatorikai ismeretekkel oldhat´ ok meg; erre mutatunk majd n´eh´ any p´eld´ at. A val´ osz´ın˝ us´egsz´ am´ıt´ as ´es az anal´ızis hat´ arter¨ uletein (a val´ osz´ın˝ us´egi v´altoz´ok jellemz˝oi, val´ osz´ın˝ us´egi v´altoz´ok f¨ uggv´enyeinek jellemz˝oi, peremeloszl´asok kisz´am´ıt´ asa, gener´atorf¨ uggv´enyek, karakterisztikus f¨ uggv´enyek stb.) lehet tal´ an a legjobban alkalmazni a Mathematic´ a t; ezekre fogunk els˝ osorban koncentr´ alni. ´Igy teh´ at itt fogjuk t´ argyalni t¨ obb szempontb´ ol is a

6  34 7 & 3 ´es a 6  37 7 & 3 programcsomag f¨ uggv´enyeit is. V´eletlent˝ol f¨ ugg˝ o jelens´egek ´es id˝obeli folyamatok szimul´ al´ asa: ez olyan ter¨ ulet, amely sz´am´ıt´ og´ep n´elk¨ ul nem is tanulm´ anyozhat´ o. Meg fogjuk mutatni, hogyan gener´ alhat´ ok adott (ismert vagy felt´etelekkel meghat´arozott) eloszl´as´ u v´eletlen sz´amok (ha sz¨ uks´eges — mint p´eld´ aul u ´j statisztikai m´odszerek tanulm´ anyoz´ as´an´ al —, reproduk´ alhat´ o m´odon). Egyszer˝ ubb, diszkr´et ´es folytonos idej˝ u Markov-folyamatokat is fogunk tanulm´ anyozni, illetve megmutatjuk azt is, hogy line´ aris algebrai ´es gr´afelm´eleti m´odszereket hogyan lehet ezek le´ır´ as´an´ al ig´enybe venni.

3.10.1. Klasszikus val´ osz´ın˝ us´ egi mez˝ ok A lesz´aml´al´ asi feladatokhoz felhaszn´alhat´ o f¨ uggv´enyeket a diszkr´et matematik´ ar´ ol sz´ol´ o 3.6. szakaszban m´ar f¨ olsoroltuk. Ezek a magon k´ıv¨ ul els˝ osorban az al´abbi programcsomagokban tal´ alhat´ ok:

7 #834& 3 7 #834&653 7 #834&3 7 #830 3

326

3. Fejezetek a matematik´ab´ ol

L´ assunk n´eh´ any p´eld´ at. Mi annak a val´ osz´ın˝ us´ege, hogy egy, az 1, 2, 3, 4 sz´amokb´ ol alkotott n´egyjegy˝ u sz´am egyetlen jegye sincs a hely´en? D!  @KA0$   !  K "$*!  ) ); 3/8

Kilenc vend´eg rendel egy-egy t´etelt, ¨osszesen kett˝o u ¨veg s¨ort, n´egy s¨ utem´enyt ´es h´arom k´ av´et. Mi annak a val´ osz´ın˝ us´ege, hogy a feled´ekeny pinc´er helyesen osztja sz´et, amit hozott?   0   )   .  / 0.00079

Mennyi annak a val´ osz´ın˝ us´ege, hogy k´et, egym´ast´ol f¨ uggetlen¨ ul kit¨ olt¨ ott lott´ oszelv´eny k¨ oz¨ ul legal´ abb az egyik n´egytal´alatos?  S 0 > ) S 0 M>  S 0 LB >   C I  0.000019

1000 villanyk¨ orte k¨ oz¨ ul egyenl˝ o val´ osz´ın˝ us´eggel lehet 0, 1,. . . , 5 darab selejtes. Ha m´ar 100 k¨ ort´et megvizsg´altunk az 1000-b˝ ol, ´es j´onak tal´ altuk mindet, mi annak a val´ osz´ın˝ us´ege, hogy mind az 1000 j´ o? Alkalmazzuk Bayes-t´etel´et a k¨ ovetkez˝o szereposzt´assal. Legyen • A az az esem´eny, hogy 100 k¨ ort´et megvizsg´altunk, ´es mind j´ o volt; oz¨ott i darab hib´ as van. • Ci az az esem´eny, hogy az 1000 k¨ osz´ın˝ us´eFeltev´eseink szerint P (Ci ) = p (i = 0, 1, . . . , 5), ´es a P (C0 |A) val´ get kell kisz´amolnunk a P (C0 |A) =

P (A|C0 )P (C0 ) 5  P (A|Ci )P (Ci ) i=0

k´eplet alapj´ an. Legyen qi := P (A|Ci ). 5 , - S 0 BBB C  BB S 0 BBB BB '  QBR "0 R5    B >  0.213485

A klasszikus val´osz´ın˝ us´egeloszl´asok legt¨obbje megtal´ alhat´ oa

6  37 7 & 3

3.10. Val´ osz´ın˝ us´egsz´am´ıt´ as

327

programcsomag f¨ uggv´enyei k¨ oz¨ott:

L7 & L7 & 7 !57 & :7 & 1)7 & L7 & 0 7 & H´ıvjuk be ezt a programcsomagot ´es v´alasszunk egy binomi´ alis eloszl´ast: "   !KD! D $  K $  S 0D $  ) BQ   $ 10.2

A medi´ant k´etf´elek´eppen is el˝ oa´ll´ıthatjuk: ?  $ BQ>  ' $  {10.2, 10.2}

Ezek az eloszl´asok szimbolikusan is haszn´alhat´ ok:  .  &D . = / S 0D $   {n p, If[0 Pi

A program csak a sz´amol´asban seg´ıtett, a diszkusszi´oban term´eszetesen √ nem. A pontos v´ alasz: b tetsz˝oleges val´os sz´am, a pozit´ıv sz´am, A = a/π.

330

3. Fejezetek a matematik´ab´ ol

K¨ ovetkez˝o k´erd´es¨ unk hasonl´ o: eloszl´asf¨ uggv´eny-e az x → exp(− exp(−x))

x∈R

f¨ uggv´eny? Meg kell vizsg´ alnunk, hogy • monoton n¨ ov˝ o-e, • balr´ ol folytonos-e, • hat´ ar´ert´eke −∞-ben nulla-e ´es +∞-ben 1-e? Az igenl˝ o v´ alaszt al´at´ amasztj´ak a k¨ ovetkez˝o sz´amol´asok: * +,  4+ C4+ C+  %0 * +  + CJ C6 *  (  %0 * +  + CJ 6 *  (  {0, 1}

*\ + -x -E - x E

Ismeretes, hogy ha a ξ val´ osz´ın˝ us´egi v´altoz´o s˝ ur˝ us´egf¨ uggv´enye f , U pedig szigor´ uan monoton f¨ uggv´eny, akkor az U ◦ ξ val´ osz´ın˝ us´egi v´altoz´o g aul ξ adott  pas˝ ur˝ us´egf¨ uggv´enye g = (f /U  ) ◦ U −1 . Legyen p´eld´ ram´eter˝ u exponenci´ alis eloszl´as´ u val´ osz´ın˝ us´egi v´altoz´o, ´es hat´arozzuk meg n´egyzetgy¨ok´enek s˝ ur˝ us´egf¨ uggv´eny´et: (=*1 (,  &Y4+  '

&D 4+   D $  0  (I R D "5 +  + Q + CJ (I 2 param y 2 param y E

3.10.4. Karakterisztikus f¨ uggv´ enyek K¨ onnyen kisz´ am´ıthatjuk egy eloszl´ as karakterisztikus f¨ uggv´eny´et: A@!  ! !  A!@(D $  B   E

-(t Sign[t])

Az itt haszn´alt 48  f¨ uggv´eny szint´en a

3.10. Val´ osz´ın˝ us´egsz´am´ıt´ as

331

6  34 7 & 3 programcsomagban tal´ alhat´ o. A centr´ alis momentumok ´es a karakterisztikus f¨ uggv´eny deriv´altjai k¨ oz¨otti n´eh´ any o¨sszef¨ ugg´est ´ıgy illusztr´alhatunk a standard norm´ alis eloszl´as p´eld´ a j´ an: '  0D $  B  !0 , - D A@!  ! !  '    CJB

$ !0    )  '  8 ! '  "=Y  '  P  ' 

 Q

{0, 1, 0, 3} {0, 1, 0, 3}

3.10.5. Hat´ areloszl´ as-t´ etelek A Moivre–Laplace-t´etel szerint a binomi´ alis eloszl´as j´ ol k¨ ozel´ıthet˝ o vele azonos v´arhat´ o ´ert´ek˝ u ´es sz´or´ as´ u norm´ alis eloszl´assal. Illusztr´aljuk ezt egy p´eld´ an. El˝ osz¨or a´br´ azoljuk a (10, 0.5) param´eter˝ u binomi´ alis eloszl´ast: $   S 0D $  B BQ>  $ 0 +, - &D $  + $  % &

   E  B B 

$ $ 0 +  + B B   & " ( CJ #$ & " 

Most ´ att´er¨ unk a k¨ ozel´ıt˝ o norm´ alis eloszl´as ´abr´ azol´as´ara:      $   "5 8 ! $     0D $      = +, - &D  + =  & = +  + B B & " ( CJ @!=  BQBB 

Tekints¨ uk meg egy¨ utt a k´et ´abr´ at: "@Y $  =

332

3. Fejezetek a matematik´ab´ ol

3.10.6. V´ eletlensz´ am-gener´ al´ as Enn´el a t´emak¨orn´el els˝osorban k´et bels˝o f¨ uggv´enyre van sz¨ uks´eg¨ unk, ezek: 9  ´es 6 9 . Kezdj¨ uk egy megjegyz´essel. Azt gondoln´ank, hogy az x − x kifejez´es ´ert´eke mindig nulla. Ha azonban x egy val´ osz´ın˝ us´egi v´altoz´o ´ert´eke, akkor ez nem igaz: + - E '0 +C+ -0.319965

Ha viszont azonnali ´ert´ekad´ assal sz´am´ıtjuk ki x ´ert´ek´et, akkor nem sz´ amol´ odik u ´jra minden haszn´ alatn´ al: (  E '0 0.799367

( C ( 0.

A [0, 1] intervallumban egyenletes eloszl´ as´ u v´eletlen sz´amokb´ ol a´ll´ o 3 elem˝ u list´at ´ıgy kaphatunk:

$ E '0   {0.5886454, 0.567327, 0.970526}

Ha a gener´alt val´ os t´ıpus´ u [0, 1]-beli v´eletlen sz´amokat 25 jegy pontoss´ aggal akarjuk megkapni, akkor ezt ´ırhatjuk:

$ E '0 E B  >   

A v´eletlensz´am-gener´ator term´eszetesen itt is determinisztikus algoritmust haszn´ al. Az eredm´enyek reproduk´ alhat´ ok lesznek (erre sz¨ uks´eg¨ unk lehet p´eld´ aul akkor, ha egy statisztikai m´ odszert akarunk ellen˝ orizni), ha uggv´enyt azonos (eg´esz) argugener´al´ as el˝ott megh´ıvjuk a 6 9  f¨ mentummal. Ezt most a komplex s´ık −1 − i ´es 1 + i pontok mint a´tellenes cs´ ucsok ´altal meghat´ arozott n´egyzet´eb˝ ol egyenletes eloszl´as szerint vett mint´ an mutatjuk meg: "'E '0 )M>F

$ E '0 A0 + CC6 G6    {-11. + 1. I, -6.37 + 0.795 I}

3.10. Val´ osz´ın˝ us´egsz´am´ıt´ as

333

"'E '0 )M>F

$ E '0 A0 + CC6 G6    {-11. + 1. I, -6.37 + 0.795 I}

Szab´ alyos p´enz´erm´evel v´egzett p´enzfeldob´ asok egy 17 elem˝ u sorozat´ at p´eld´ aul az al´ abbi m´ odon szimul´ alhatjuk:

$ 6* E '0 6  BTTT6T  F {F, F, I, F, I, F, F, F, F, F, F, I, F, I, I, F, F}

Egyenletes eloszl´as´ u v´eletlen sz´amokat arra is szok´as haszn´alni, hogy seg´ıts´eg¨ ukkel valamely sokdimenzi´os t´er egys´egkock´aj´ an defini´ alt f¨ uggv´eny hat´ arozott integr´ alj´ at sz´am´ıtjuk ki olyan m´ odon, hogy megsz´ amoljuk, az egys´egkock´ab´ ol v´eletlen¨ ul v´ alasztott pontok h´ anyad r´esze esik a megadott f¨ uggv´eny grafikonja al´ a. El˝ osz¨or kisz´am´ıtjuk az integr´ al pontos ´ert´ek´et: ) 6    + B  ( B "5  C +I  Pi

Egy procedur´alis st´ılus´ u sorsol´ o modult k´esz´ıt¨ unk:  , - ' = W  B D 6* +I G (I   WGG W  = &  ) W  BBB



3.196

Eleg´ ansabb (´es gyorsabb) megold´as ugyanerre a feladatra:  , -  %  @ "! ) A

$

E '0  E '0    .I G .I  / 

$     BB BB 4., 3.08911, 3.28358, 3.20266, 3.19202, 2.99401, 3.09484 3.17832, 3.14107, 3.10766, 3.0969

Ez a p´elda term´eszetesen csak egyszer˝ u illusztr´aci´ o; ahhoz, hogy p´eld´ aul parci´ alis differenci´ alegyenleteket tudjunk megoldani Monte–Carlo-m´ odszerrel, j´ oval bonyolultabb algoritmusra van sz¨ uks´eg¨ unk, l´ asd ehhez a megfelel˝ o szakirodalmat. Az ilyen egyszer˝ u p´eld´ akat, ahol az integr´ al ´ert´eke m´as m´odszerrel egyszer˝ uen kisz´ am´ıthat´ o, ´eppen a v´eletlensz´am-gener´ator ellen˝orz´es´ere szok´ as felhaszn´ alni. Felmer¨ ul az a k´erd´es, hogy a gener´ alt sz´amok f¨ uggetleneknek, illetve egyenletes eloszl´ as´ u aknak tekinthet˝ ok-e. Ezekre a k´erd´esekre a matematikai statisztika m´odszereivel kaphatunk v´ alaszt.

334

3. Fejezetek a matematik´ab´ ol

Tetsz˝oleges eloszl´as´ u v´eletlensz´amokat k´etf´ele m´odon gener´ alhatunk. Az egyik lehet˝os´eg: a 9 *, olyan v´eletlensz´amot ad, amelynek eloszl´ asa a megadott  eloszl´as. A m´asik (gyakran alkalmazott) lehet˝ os´eg: uggv´eny´eegyenletes eloszl´as´ u v´eletlensz´amokra alkalmazzuk  eloszl´asf¨ nek inverz´et. Ez ut´ obbi elj´ ar´ ashoz rendelkez´es¨ unkre a´llnak a

6  3 6  3 programcsomag f¨ uggv´enyei:

 L9'  5

 5  :9'

Standard norm´ alis eloszl´as´ u v´eletlensz´amokat teh´at ´ıgy gener´ alhatunk:   ''  0D $  B 

$ E '0   ''  > 

Exponenci´ alis eloszl´as´ uak gener´ al´ as´ara is alkalmazhatjuk a fenti m´ odszert: +   4+   D $  

$ E '0 +   > 

T´amaszkodhatunk arra a t´enyre is, hogy az exponenci´ alis eloszl´as a Γeloszl´as speci´alis esete: +   O00D $   

$ E '0 +   > 

Most alkalmazzuk a m´ asodikk´ent le´ırt m´ odszert: "   !K6 1"   ! !  K $  $ E '0  >   6 1S E' B .   / $ {0.618788, 0.797721, 0.44583, 0.482795, 0.483111}

3.10.7. Markov-l´ ancok Diszkr´et idej˝ u, diszkr´et ´allapotter˝ u Markov-l´ ancok kezel´es´ere a line´aris algebra (3.9. szakasz) ´es a gr´afelm´elet (3.6. szakasz) eszk¨ozeit szok´ as haszn´ alni. Egy egyszer˝ u p´eld´ at mutatunk.

3.10. Val´ osz´ın˝ us´egsz´am´ıt´ as

335

Legyen egy Markov-l´anc a´tmenetval´osz´ın˝ us´egi m´atrixa ⎛

1/2 P1 = ⎝ 1/3 1

1/2 0 0

⎞ 0 2/3 ⎠ 0

´es rajzoljuk meg a l´anc gr´ afj´ at:     B  B   B B "!  

$  W   W      

. . J B/  ./ {{1, 1}, {1, 2}, {2, 1}, {2, 3}, {3, 1}} "@YO @ 02''& :  D! '

Hat´arozzuk meg az egyes ´allapotok val´ osz´ın˝ us´eg´et az ¨ot¨odik id˝ opontban, ha a rendszert az els˝ o a´llapotb´ ol ind´ıtottuk:  +&Y  > Q  B B 79 149 259 , , } { 288 432 144

Sz´ am´ıtsuk ki a l´ anc hat´ areloszl´as´at: %0  +&Y   CJ6 *  ( 2 3 6 2 3 6 2 3 6 , }, { , , }, { , , }} {{ , 11 11 11 11 11 11 11 11 11

(Ismeretes, hogy azonos, a stacion´arius eloszl´asb´ol a´ll´ o sorokat kapunk.)

3.10.8. Folytonos idej˝ u Markov-folyamatok A (skal´ aris) tiszta ugr´o Markov-folyamatok k¨ oz¨ ul a sz¨ ulet´esi-hal´aloz´asi t´ıpus´ uak stacion´ arius eloszl´asa igen gyakran explicite megoldhat´o differenciaegyenletnek tesz eleget. Tekints¨ uk p´eld´ aul azt a folyamatot, amelynek infinit´ezim´alis a´tmenetval´osz´ın˝ us´egei: n → n + 1 k1 nh + o(h) n → n − 1 k2 n(n − 1)h + o(h). o Ekkor a (pn ) stacion´arius eloszl´asra vonatkoz´

336

3. Fejezetek a matematik´ab´ ol

0 = k1 (n − 1)pn−1 + k2 (n + 1)npn+1 − (k1 n + k2 n(n − 1))pn egyenlet (amint ez teljes indukci´oval l´ athat´ o) egyen´ert´ek˝ u a k¨ ovetkez˝ovel: k1 pn = k2 (n + 1)pn+1 . Oldjuk meg ezt az egyenletet: D!  @KE"1K E"1 =  =  G n k1 ( ) p[0] k2 }} {{p[n] -> n!

G  

L´athat´ o, hogy ez, a felt´etelek figyelembev´etel´evel, ´eppen Poisson-eloszl´ as: #$K"(0$!"0K "1 "0 :

     B 6 *  (   B  :: Q : n k1 ( ) k2 {{p[n] -> }} k1 E k2 n!

Folytonos idej˝ u, folytonos a´llapotter˝ u folyamatok k¨ oz¨ ul tekints¨ unk most egy olyat, amelynek az abszol´ ut eloszl´asf¨ uggv´enye f (x, t) = √

  (x − m(t))2 1 exp − . 2σ(t)2 2πσ(t)

Az m ´es a σ f¨ uggv´eny alkalmas megv´ alaszt´as´aval tanulm´ anyozhatjuk a val´ osz´ın˝ us´egi s˝ ur˝ us´egf¨ uggv´eny sz´etken˝od´es´et. Ebb˝ ol kider¨ ul, hogy a folyamat a legnagyobb val´ osz´ın˝ us´eggel a v´arhat´ o ´ert´ekhez k¨ozel tart´ozkodik, de az is j´ ol l´ athat´ o, hogy az id˝ o m´ ult´ aval egyre pontatlanabb j´ osl´asokat tehet¨ unk csak az ´ert´ek´ere, mivel sz´or´ asa v´egtelenhez tart. Ez a viselked´es tipikusnak tekinthet˝ o: 0 , -  " 0 , - "5 * , +, - 4+ C+ C 0 I 0 I "5  & 0 

3.10. Val´ osz´ın˝ us´egsz´am´ıt´ as

337

& D *  +   BQBB )& G BQBB + CQ> Q> & &  CJ B

0.3 0.2 0.1

1 0 0 5 10

-1

3.10.9. Gyakorlatok ´ es feladatok 1. Hat´arozzuk meg az m v´ arhat´ o ´ert´ek˝ u σ sz´or´ as´ u norm´ alis eloszl´as s˝ ur˝ us´egf¨ uggv´eny´enek inflexi´os pontjait. Mi annak a val´ osz´ın˝ us´ege, hogy az adott s˝ ur˝ us´egf¨ uggv´eny˝ u val´ osz´ın˝ us´egi v´altoz´o ´ert´eke a k´et inflexi´ os pont abszcissz´a ja k¨ oz´e esik? 2. Milyen m ´ert´ekekre lesz az ⎛ 1 f (x) := √ 2 2π

⎞ 2 2 (x − m) (x + m) − ⎝e− ⎠ 2 2 +e

s˝ ur˝ us´egf¨ uggv´enynek k´et maximuma? 3. Szimul´ aljuk a Galton-deszka m˝ uk¨ od´es´et.

(x ∈ R)

338

3. Fejezetek a matematik´ab´ ol

3.11. Matematikai statisztika A statisztikai programcsomagok ´altal´ aban j´ o numerikus elj´ ar´ asokat tartalmaznak, de nem j´ol programozhat´ ok, nem interakt´ıvak, grafikai k´epess´egeik gyeng´ek, szimbolikus sz´am´ıt´ asokat nem lehet vel¨ uk v´egezni ´es az u ´j m´ odszereket neh´ez bel´ej¨ uk illeszteni. A Mathematica teh´ at akkor lehet igaz´an seg´ıts´eg¨ unkre, ha a probl´em´ak megold´asa sor´an az eml´ıtett akad´ alyokba u ¨tk¨ oz¨ unk. Az al´ abbiakban amellett, hogy bemutatjuk a szok´ asos m´odszerek alkalmaz´ as´anak m´ odj´ at, els˝ osorban arra o¨sszpontos´ıtunk, hogy megmutassuk a Mathematica el˝onyeit a fentiekben v´azolt k¨ or¨ ulm´enyek k¨ oz¨ott. Itt is felh´ıvjuk a figyelmet arra, hogy a MathLink seg´ıts´eg´evel C nyelven meg´ırt f¨ uggv´enyt f¨ olhaszn´ alhatunk a Mathematic´ a ban. A MathLink for Excel pedig arra ad m´ odot, hogy az Excel t´ abl´ azatkezel˝ovel begy˝ ujt¨ ott adatokra az Excelen bel¨ ul haszn´ alhassuk a Mathematica f¨ uggv´enyeit. (Az Excel ´ altal elk´esz´ıtett adat´ allom´ anyokat minden el˝ ok´esz¨ ulet n´elk¨ ul be tudjuk olvasni.)

3.11.1. Az adatok el˝ ok´ esz´ıt´ ese A tulajdonk´eppeni statisztikai elemz´es elkezd´ese el˝ott ´altal´ aban t¨ obbf´ele el˝ok´esz¨ uletre van sz¨ uks´eg. • Adatbevitel A statisztikai adatfeldolgoz´ asn´ al t¨ obbnyire sok adattal van dolgunk, amelyeket k¨ uls˝ o´ allom´anyokban t´ arolunk, ahov´ a azok esetleg m´as programokb´ ol ´ vagy m´er˝oberendez´esb˝ol ker¨ ultek. Allom´ anykezel´esr˝ol m´ar m´asutt (2.4.1. szakasz) esett sz´o, itt most csak a hi´anyz´ o adatok statisztikai szempontb´ ol ´erdekes eset´enek kezel´es´et mutatjuk meg. Az adatokat igen gyakran sz¨ oveges ´allom´anyba gy˝ ujtj¨ uk. Egy sorba ker¨ ul egy egyed ¨osszes adata, ezt nevezik ´altal´ aban rekordnak; egym´as alatt helyezkednek el az azonos jelent´es˝ u (k¨ ul¨ onb¨ oz˝o egyedekre vonatkoz´o) mez˝ o k. allom´anyban hi´ anyz´ o adatok vannak, amit megtekint´eskor Ha a & ´ is l´ athatunk: ;;$0  2.1 77 51 2.2 49 1.9 80

3.11. Matematikai statisztika

339

akkor a beolvas´askor a k¨ ovetkez˝ok´eppen j´ arhatunk el. El˝ osz¨or megnyitunk ´ır´ as c´elj´ ab´ ol egy bemen˝ o´ aramot: $*  2  E' T$0 T 

Ezut´ an rekordonk´ent beolvassuk a t´ abl´ azatot, figyelve a kihagyott ´ert´ekeket (Ez az´ert fog sikerrel j´ arni, mert az adatokat tabul´ ator karakter v´ alasztja el egym´ ast´ol.): E'% $* X' E!'%  CJ  X' CJ   4+  {{2.1, 77, 51}, {2.2, Null, 49}, {1.9, 80, Null}}

V´eg¨ ul pedig lez´ arjuk a bemen˝ o ´aramot: A $0  

• Az adatok rendezget´ ese El˝ ofordulhat, hogy az adatokb´ ol bizonyosakat akarunk csak haszn´ alni, illetve hogy m´ar beolvas´as ut´ an azonnal el akarunk k´esz´ıteni n´eh´ any elemi statisztik´at. Ehhez ny´ ujtanak seg´ıts´eget a (line´ aris algebra feladataihoz is hasznos)

6  37#3 programcsomag f¨ uggv´enyei:

L6 4 47 4W 4= 46 7

74  8S8  9BW =S8

Ezek n´emelyik´ere — mint azt a nevek is el´arulj´ ak — az´ert van sz¨ uks´eg, mert a m´atrixokat a program olyan listak´ent kezeli, amelynek elemei a sor okat tartalmaz´o list´ak. A statisztik´ aban (´es az adatb´azis-kezel´esben) viszont t¨ obbnyire egy m´ atrix sorai jellemeznek egy egyedet, amint f¨ontebb eml´ıtett¨ uk, a vizsg´ aland´ o val´ osz´ın˝ us´egi vektorv´altoz´o egy koordin´ at´aj´ anak ´ert´ekei teh´at egy oszlopban helyezkednek el.

340

3. Fejezetek a matematik´ab´ ol

N´eh´ any egyszer˝ u p´eld´ at mutatunk a fentiek k¨ oz¨ ul az adatmanipul´ aci´ os f¨ uggv´enyek alkalmaz´as´ara: "   !KD     K '    $ N ! ) '   > * )    A0 '   {3, 6, 4, i, 5, 4} W'  D  0!   {3, 6, 4, 5, 4}

=X@   0$? {3, 6, 4}

´ azol´ • Abr´ as Statisztikai c´el´ u sz´am´ıt´ asok megkezd´ese el˝ott szinte mindig aj´ anlatos az adatokat k¨ ul¨ onf´ele m´odokon a´br´ azolni, hogy valamilyen el˝ ozetes elk´epzel´es¨ unk legyen arr´ ol, milyen sz´am´ıt´ ast ´erdemes v´egezn¨ unk. Ilyenkor a A A f¨ uggv´enyek valamelyike lehet a seg´ıts´eg¨ unkre: '  BQ BQ) BQ BQL BQ) QB BQF Q QB Q Q Q Q BQM Q BQ % & '  & " ( CJ #$ & "    % & '  & E  CJ B Q> & 9 ' CJ  #+2 CJ QM Q) #+%$ CJ TT T@T

´ k´epzelj¨ Most az  hoz egy kis zajt adunk. Ugy uk, hogy az els˝o koordin´ ata pontosan be´ all´ıtott, a m´ asodik pedig a sz´ amunkra ´erdekes, m´ert mennyis´eg: 1'  

.

  .

 G E '0 E CBQ> BQ> / '  0'=  % & 1'  & 9 ' CJ  & " ( CJ D@  BQB BQB

Javasoljuk az Olvas´ onak, hogy n´ezze meg egy¨ utt a k´et ´abr´ at: "@Y  0'= #+%$ CJ T'T T =T #+2 CJ B  & E  CJ B QM B QM & %$ CJ T2@  T

3.11. Matematikai statisztika

341

Vektorv´ altoz´ ok alkalmaz´ as´ara is l´ assunk p´eld´ akat. Kezdj¨ uk u ´gy a vizsg´ alatot, hogy a koordin´ at´ ak o¨sszef¨ ugg´eseit p´aronk´ent a´br´ azoljuk: 1= '  $ + E '0  C+I +I + B  BQB> 

Milyen viszonyban van egym´ assal az els˝o k´et koordin´ ata? % &  = .  /  1= '  0 CJ  & " ( CJ #$ & "   EOSA B  B 

Benyom´asunk val´ osz´ın˝ uleg az lesz, hogy a m´asodik f¨ uggetlen az els˝ot˝ol, ezt f¨ uggetlens´egvizsg´ alattal ak´ ar ellen˝orizhetn´enk is. Most elk´esz´ıtj¨ uk a hasonl´ o a´br´ akat az ¨osszes koordin´ atap´ arra, de az a´br´ at nem jelen´ıtj¨ uk meg azonnal, amit a 7 ) opci´o ´ert´ek´enek alkalmas megv´alaszt´as´aval ´er¨ unk el: =W 

$ % &  .

  .

W / 1= '  0 CJ  0 != CJ   # ! E  CJ  & " ( CJ #$ & "   EOSA GW B WGW  D ( !  CJ 6'  (   ) W )

Megn´ezz¨ uk egyszerre az a´br´ akat: "@Y O @!#( =W  D ( !  -J UD ( ! 

Az ´atl´ os elemek term´eszetesen ´erdektelenek.

342

3. Fejezetek a matematik´ab´ ol

3.11.2. Statisztik´ ak A leggyakrabban haszn´ alt statisztikai f¨ uggv´enyek vagy statisztik´ ak kisz´am´ıt´ as´ahoz haszn´ alhatunk n´eh´ any bels˝o f¨ uggv´enyt:

4 4   # #

6 6 = !

Tov´abbi gazdag v´ alaszt´ekot k´ın´ al a

6  37 6  3 programcsomag, amelyben az al´abbi f¨ uggv´enyek tal´alhat´ ok:

4# 7  9 :# 1#   9 ;  ;   9 # #7 #  # 7 #  0 6=B +

0 6=B (  7  6=B 9#6 69 689 6=B 6  7  # V V# V56#

A 6  37#3 programcsomagban is tal´ alhatunk m´eg n´eh´ any hasznos f¨ uggv´enyt:

46 



Megjegyzend˝ o, hogy a k¨ ul¨ onb¨ oz˝o programcsomagokban azonos n´even szerepl˝o f¨ uggv´enyek nem teljesen azonos m´odon m˝ uk¨ odnek.

3.11. Matematikai statisztika

343

L´ assunk n´eh´ any p´eld´ at. Egy minta a´tlag´at a # f¨ uggv´eny sz´amolja ki: '  Q Q) >Q QN Q) BQ) ' T"   !KD! 1"   !KT  ' 2.55

Vektorv´ altoz´okra ez csak ´ertelemszer˝ u m´ odos´ıt´ assal alkalmazhat´ o. A fenti =  sorai egy val´osz´ın˝us´egi vektorv´altoz´ora vonatkoz´o minta egyes elemei:       1= ' 0.5, 0.50373, -0.341667, 0.2625

A kiugr´ o adatok t´ ol ´ıgy szabadulhatunk meg: =  QF QM Q> QN QL QL QN QN QF Q

00' = BQ 1.65

(A terjedelem 0,3 r´esz´et mind a k´et oldalon lev´agtuk a mint´ ab´ ol.) Gyakran haszn´ alt mintajellemz˝ ok a centr´ alis momentumok: ha ´ert´ek¨ uk k¨ ozel van a megfelel˝ o elm´eleti ´ert´ekhez, akkor ´erdemes alaposabban megvizsg´alni az adott minta eloszl´as´at: A 0

QF QM Q> QN QL QN QN QF Q  -0.00545953

Az eloszl´as alakj´anak sz´amos jellemz˝oj´et egyszerre megkaphatjuk ´ıgy: D  E  .  %!  E  .  "@ E  . / = {Variance -> 49.665, StandardDeviation -> 7.04734, SampleRange -> 22.7, MeanDeviation -> 4.01, MedianDeviation -> 0.1, QuartileDeviation -> 0.1}, {Mean -> 3.85, HarmonicMean -> 1.76206, Median -> 1.65}, {Skewness -> 2.27381, QuartileSkewness -> 0.5, KurtosisExcess -> 3.56113}}

Mivel az eredm´eny transzform´ aci´ os szab´alyok o¨sszess´ege, ez´ert egyes r´eszeire a szok´asos m´odon hivatkozhatunk: *'  "=Y  Q : 2.27381

344

3. Fejezetek a matematik´ab´ ol

A fenti eredm´eny¨ ul kapott transzform´ aci´ os szab´alyok bal oldal´ an a´ll´ o azonos´ıt´ ok o¨n´ all´ oan is haszn´ alhat´ ok f¨ uggv´enyekk´ent: "=Y  = 2.27381

A k¨ ovetkez˝okben s˝ ur˝ us´eghisztogramot k´esz´ıt¨ unk. Beh´ıvjuk az adatgener´ al´ ashoz ´es az ´abr´ azol´ashoz sz¨ uks´eges csomagokat:  ' T"   !KA  D $  KT T"   !KD     KT TO @!KO @!KT

Adatokat gener´ alunk: '   

$ E '0 0D $  C   B 

$ E '0 0D $     B 

Elk´esz´ıtj¨ uk a rendezett mint´ at, majd ezek felhaszn´ al´ as´aval meghat´arozzuk, hogy a terjedelem egyes r´eszintervallumaiba az adatok k¨ oz¨ ul mennyi esik. uggv´eny nem a´ll´ıtja el˝ o a minta terjedelm´et, Megjegyzend˝ o, hogy a 9 f¨ o: erre a 69 val´  '  " '   (=0  M     '    %  '  @  "0 E  '  (=0 (=  S A  '    @ {3, 3, 4, 11, 7, 2, 5, 4}

(A rendezett minta els˝ o elem´et a L4 f¨ uggv´eny figyelmen k´ıv¨ ul hagyta.) Ez a r´eszeredm´eny term´eszetesen esetenk´ent ett˝ol elt´erhet az aktu´ alisan el˝ofordul´ o v´eletlensz´amok miatt: SA@

   (= E   G @  @ 

(Figyelj¨ uk meg, hogyan v´ altozik az ´abra, ha nyolc oszt´ opont helyett t¨ obbet ¨ vagy kevesebbet vesz¨ unk.) Osszek¨otj¨ uk” a pontokat interpol´ aci´ oval: ” @0    '  *1  6   

   @0 

A '  +,  .C@  +  .G@ @R%  @ ' / @0  

3.11. Matematikai statisztika

345

   *1

  & *1 +  +   != CJ CC Q Q) 0.4 0.3 0.2 0.1

-3

-2

-1

1

2

3.11.3. Becsl´ esek Megmutatjuk — els˝osorban folytonos eloszl´asokon —, hogy hogyan lehet param´etereikre pontbecsl´eseket konstru´ alni a leggyakoribb m´ odszerek alapj´ an. Ezut´ an a´tt´er¨ unk az intervallumbecsl´esek, vagy m´ask´eppen megb´ızhat´ os´ agi (konfidencia-) intervallumok megszerkeszt´es´ere. • A legnagyobb val´ osz´ın˝ us´ eg (maximum likelihood) elve Mutatunk egy p´eld´ at arra, hogy hogyan szerkeszthet¨ unk becsl´est a legnagyobb val´ osz´ın˝ us´eg elve alapj´an. F¨ uggetlen, nulla v´ arhat´ o ´ert´ek˝ u norm´ alis eloszl´as´ u koordin´ at´akkal b´ır´ o pont t´ avols´aga az orig´ot´ ol Rayleigh-eloszl´ as u ´. Ha (egyetlen pozit´ıv) param´eter´et σ-val jel¨ olj¨ uk, akkor s˝ ur˝ us´egf¨ uggv´eny´enek ´ert´eke az x ∈ R+ helyen x 2 /2σ 2 2 . x e σ uggv´eny — Reproduk´alhat´ o m´odon — err˝ ol gondoskodik a 6 9  f¨ sorsolunk ilyen pontokat: "'E '0 BB  ' =  $ E '0 E(@D $  QB  B

Meg szeretn´enk szerkeszteni a log-likelihood f¨ uggv´enyt, ehhez sz¨ uks´eg¨ unk

346

3. Fejezetek a matematik´ab´ ol

van arra, hogy a  f¨ uggv´eny rendelkezz´ek a val´os sz´amokn´ al megszokott tulajdons´ agokkal:   ! %  % , $, - %  G % $  % ,I$, -  $ %   & ! %  0+1 0,  # ( & 

% &D E(@D $  0  . / ' = 78.44 - 40 Log[sigma] 16.42972 sigma

A Mathematic´ a ban haladottabbak ink´ abb ´ıgy sz´amolnak: 0+1 0,  &   % &D E(@D $  0  . /  ' =

Durv´ an sz´olva azt a σ param´eter´ert´eket szeretn´enk elfogadni, amelyn´el az adott minta bek¨ ovetkez´es´enek a val´ osz´ın˝ us´ege maxim´alis. A sz´amol´as el˝ott ´abr´ azoljuk a likelihood-f¨ uggv´enyt: & 0+1 0  0 QB FQB

-35 -40 -45 -50 -55 1

2

3

4

5

6

7

A deriv´ altat null´ aval tessz¨ uk egyenl˝ ov´e, ehhez a deriv´ altat szimbolikusan sz´amoljuk. A kapott egyenleteket m´ar numerikusan oldjuk meg: "1 D 0+1 0  0  B 0 {{sigma -> -1.78056}, {sigma -> 1.78056}}

Term´eszetesen a pozit´ıv ´ert´eket v´alasztjuk. Vajon a kapott pontok k¨ oz¨ ul az ´ertelmes m´asodikban a m´ asodik deriv´ alt negat´ıv-e, vagyis t´enyleg maximumhoz jutottunk?

3.11. Matematikai statisztika

347

D 0+1 0  0  Q :

 -25.23359660282691

Az utols´ o el˝otti l´ep´esben haszn´alhatjuk a  # f¨ uggv´enyt is; erre r´ a is k´enyszer¨ ul¨ unk, amikor a deriv´ altat nem tudjuk szimbolikusan meghat´ arozni. M´ asr´eszt ehhez a sz´amol´ashoz f¨ ol tudunk haszn´ alni egy, az a´br´ ar´ ol leolvashat´ o, j´ o kezdeti becsl´est:  ' 00 C0+1 0  0 QB {30.038, {sigma -> 1.78056}}

Tanuls´ agos megvizsg´alni, hogy a becsl´es a minta elemsz´am´anak n¨ ovel´es´evel hogyan javul. • Becsl´ es a momentumok m´ odszere alapj´ an A momentumok m´odszere alapj´an u ´gy becs¨ ulhet¨ unk param´etereket, hogy egyenl˝ ov´e tessz¨ uk az elm´eleti ´es az adatokb´ol becs¨ ult momentumokat, majd ezeket az egyenl˝os´egeket megoldjuk az eloszl´as ismeretlen param´etereire. Alkalmazzuk a m´odszert a fenti feladat megold´as´ara: "1  E(@D $  0   ' =  0 {{sigma -> 1.767684646314304}}

L´athat´ o, hogy a kapott becsl´es el´eg j´ol megegyezik az el˝oz˝ovel. Ezzel a m´odszerrel gyorsabban jutunk eredm´enyhez, m´ıg a legnagyobb val´ osz´ın˝ us´eg elve alapj´an meghat´arozott param´etereknek statisztikai szempontb´ol bizony´ıtottan j´ o tulajdons´ agaik vannak. • A legkisebb n´ egyzetek m´ odszere Ennek alapj´ an a param´etereket u ´gy v´ alasztjuk meg, hogy a bel˝ ol¨ uk sz´amolt, valamint a m´ert f¨ uggv´eny´ert´ekek n´egyzetes elt´er´ese a lehet˝o legkisebb legyen. Err˝ ol a m´odszerr˝ ol a regresszi´or´ ol sz´ol´ o r´eszn´el fogunk r´eszletesebben sz´olni. (Itt is megpr´ ob´ alkozhatn´ ank azzal, hogy a — valamilyen o¨nk´enyes feloszt´assal sz´amolt — empirikus s˝ ur˝ us´egf¨ uggv´eny ´es az elm´eleti s˝ ur˝ us´egf¨ uggv´eny n´egyzetes elt´er´es´et minimaliz´aljuk, de a s˝ ur˝ us´egf¨ uggv´enyek becsl´es´ere enn´el sokkal jobb m´ odszerek vannak.)

348

3. Fejezetek a matematik´ab´ ol

• Megb´ızhat´ os´ agi intervallumok Sok eszk¨oz ´all rendelkez´es¨ unkre megb´ızhat´os´agi intervallumok szerkeszt´es´ere: "   !KA *' !6 1K '   Q Q Q> )Q )Q QM QL Q> QM

A Student-f´ele t-eloszl´as alapj´ an 95%-os szint˝ u megb´ızhat´os´agi intervallumot kaphatunk a v´ arhat´ o ´ert´ekre:  A6 '  {1.72263, 2.91737}

A tov´ abbi felt´etelek ´es v´altoztat´ asi lehet˝os´egek innen l´ athat´ ok, ´epp´ ugy, ahogyan az is, mik´ent kell norm´ alis eloszl´ast felt´etelezve elk´esz´ıteni a megb´ızhat´ os´agi intervallumot: 2    A6 {ConfidenceLevel -> 0.95, KnownStandardDeviation -> None, KnownVariance -> None}

Term´eszetesen ´ıgy is ugyanazt kapjuk: " ' A6  '   "  ''42*"0  '   %  @ '  C  {1.72263, 2.91737}

Az utols´ o param´eter a szabads´ agfok. K´et popul´ aci´ o v´ arhat´ o ´ert´ek´enek a k¨ ul¨ onbs´eg´ere is kaphatunk megb´ızhat´ os´agi intervallumot • ismert sz´or´ asokat haszn´alva a norm´alis eloszl´as, • egyenl˝o, de ismeretlen sz´or´ asokat felt´etelezve a t-eloszl´as, • becs¨ ult sz´or´ asokat felt´etelezve pedig a Welch-f´ele eloszl´as alapj´ an: '   Q )Q) Q Q )Q) Q Q Q Q  D** !A6 '  '  458 ! CJ  {-1.3841, 0.64632}

Ha nem felt´etelezhetj¨ uk, hogy azonosak a sz´or´ asok, akkor term´eszetesen nagyobb intervallumot kapunk:  D** !A6 '  '  {-1.42443, 0.686655}

3.11. Matematikai statisztika

349

Kider¨ ul, hogy a megb´ızhat´ os´agi szint is v´ altoztathat´ o: 2    D** !A6

Egy popul´ aci´ o sz´or´ asn´egyzet´ere a χ2 -eloszl´as alapj´ an kaphatunk megb´ızhat´ os´agi intervallumot: 8 !A6 '  {0.32992, 2.32411}

8 !A6 '  {0.705401, 5.6745}

K´et sz´or´ asn´egyzet h´anyados´ ara 90%-os megb´ızhat´os´agi intervallumot ´ıgy kaphatunk: 8 !E A6 '  '  A *' !%1 CJ BQL {0.113119, 1.45662}

Ha olyan intervallumot keres¨ unk, amelyre nagyobb annak a val´ osz´ın˝ us´ege, hogy tartalmazza a sz´or´ asn´egyzetek h´anyados´ at, akkor az term´eszetesen nagyobb lesz: 8 !E A6 '  '  A *' !%1 CJ BQL> {0.103512, 1.85008}

Ha valamilyen ismert eloszl´as´ u statisztik´ ara akarunk megb´ızhat´os´agi intervallumot szerkeszteni, akkor el˝ obb alkalmazzuk az eredeti adatokra valamelyik le´ır´ o statisztikai f¨ uggv´enyt, majd az al´abbi f¨ uggv´enyek k¨ oz¨ ul v´ alogathatunk: 4. 6 4. 4864. 94.

3.11.4. Hipot´ ezisvizsg´ alat A matematikai statisztika tipikus feladata az, amelyn´el azt akarjuk eld¨ onteni, hogy valamely feltev´es (hipot´ezis) a m´er´esi adatoknak ellentmond-e ´ vagy nem. Altal´ aban azt vizsg´aljuk teh´ at, hogy ha sokszor v´egezn´enk el a m´er´eseinket, az esetek h´anyad r´esz´eben kapn´ ank az adott esethez hasonl´o jelleg˝ u eredm´enyeket a tett hipot´ezis mellett. Ha az esetek nagy r´esz´eben ilyen t´ıpus´ u eredm´enyt kapunk, akkor azt mondjuk, hogy adataink nem mondanak ellent a tett hipot´ezisnek, m´ıg ha val´ osz´ın˝ utlen az eredm´eny, akkor a hipot´ezist elvetj¨ uk.

350

3. Fejezetek a matematik´ab´ ol

K¨ ul¨ on programcsomag a´ll rendelkez´es¨ unkre hipot´ezisvizsg´alat c´elj´ ara, ennek neve:

6  31)8   3 Fontosabb f¨ uggv´enyei:

4860V 90V #755  # 

0V 6 0V V9  V 

K´etoldali ellenhipot´ezissel szemben ellen˝orizni szeretn´enk, hogy k´et minta azonos sz´or´ as´ unak tekinthet˝ o-e: "   !K7(  @  K 8 !E   '  '  

Y"'' CJ  E  CJ  {FullReport -> Ratio TestStat NumDF DenDF, 0.451024 0.451024 9 8 FRatioDistribution, TwoSidedPValue -> 0.257104}

Megkaptuk teh´ at a sz´or´ asn´egyzetek ar´any´ at, a pr´ oba alapj´ aul szolg´al´ o statisztik´at (ez ´eppen az ar´ any), a sz´ aml´al´ o ´es a nevez˝o szabads´ agi fok´ at, azt, hogy milyen eloszl´ast haszn´al a program a pr´ ob´ ahoz, v´eg¨ ul azt a val´ osz´ın˝ us´eget, amilyen szinten a k´et sz´or´ asn´egyzet megegyez´es´enek hipot´ezis´et, a nullhipot´ezist, el kell vetn¨ unk. Vagyis az esetek mintegy 25,7 %-´aban sz´ am´ıthatunk arra, hogy ilyen sz´ or´ asn´egyzetar´anyt kapunk, annak ellen´ere, hogy a k´et sz´or´ asn´egyzet megegyezik. Term´eszetesen ugyanarra az eredm´enyre jutunk, ha a sz´ or´ asn´egyzeteket, valamint a sz´aml´al´ o ´es a nevez˝o szabads´ agfok´ at magunk szolg´altatjuk: E &8 8 ! '  8 ! '   %  @ '  C  %  @ '  C 

Y"'' CJ  TwoSidedPValue -> 0.257104

3.11.5. Korrel´ aci´ o- ´ es regresszi´ oanal´ızis. Sz´ or´ asanal´ızis. Val´ osz´ın˝ us´egi v´altoz´ok k¨ oz¨otti o¨sszef¨ ugg´esek elemz´es´ere szolg´al a c´ımben eml´ıtett ter¨ ulet.

3.11. Matematikai statisztika

351

• Line´ aris regresszi´ o Ha csak line´ aris param´eterbecsl´est akarunk v´egezni a legkisebb n´egyzetek m´odszere alapj´ an (azaz felt´etelezz¨ uk, hogy az illesztend˝o f¨ uggv´eny param´etereiben line´ aris, ´es nem akarjuk az eredm´enyeket k¨ ul¨ on¨ osebb statisztikai elemz´esnek al´avetni), akkor elegend˝ o ennyit ´ırnunk: '  BQ >B BQ)M ML BQ> > BQM ) BQBL LF BQNF ) BQ F BQB>> LB BQM) BL BQM BF  '   + +I + 2 70.9638 + 196.053 x + 965.336 x

Ez a feladat teh´ at a  bels˝o f¨ uggv´ennyel megoldhat´ o. • Sz´ or´ asanal´ızis M´ od van azonban arra is, hogy r´eszletesebb elemz´est: sz´ or´ asanal´ızist v´egezz¨ unk. Ehhez (valamint az ezzel rokon k´ıs´erlettervez´eshez) a

6  39 3 programcsomag al´abbi f¨ uggv´enyei haszn´ alhat´ ok:

7 # 7  9

9

Vegy¨ uk el˝ o m´eg egyszer a fenti p´eld´ at: "   !K% E K E '   + +I + ParameterTable -> Estimate SE 1 70.9638 10.7948 x

196.053

115.029

TStat 6.5739

PValue, 0.000311792

1.70437 0.132087

2 x 965.336 280.95 3.43597 0.0108966 RSquared -> 0.985311, AdjustedRSqured -> 0.98111114, EstimatedVariance -> 52.429,

352

3. Fejezetek a matematik´ab´ ol ANOVATable ->

Model

DoF SoS 2 24617.1

MeanSS 12308.5

Error

7

367.003

52.429

Total

9

24984.1

FRatio 234.766

PValue 0

A t´ abl´ azat n´eh´ any elem´enek jelent´ese nyilv´ anval´ o, a t¨ obbiek jelent´es´et illeuggv´eny t˝ oen a matematikai statisztika tank¨onyveire utalunk. A 9 f¨ ut, amellyel a s´ ulyoz´ ast ´alsz´amos opci´o ja k¨ oz¨ ul kiemelj¨ uk a S8 nev˝ l´ıthatjuk be statisztikai modell¨ unknek megfelel˝ oen. uggv´eny k´ıs´erlettervez´eshez A 7  9 ´es a 7 # f¨ haszn´ alhat´ o. Amennyiben az illesztend˝o f¨ uggv´eny m´eg param´etereiben sem line´aris, a

6  33 programcsomag  f¨ uggv´enye lehet seg´ıts´eg¨ unkre. Illessz¨ unk u f¨ uggv´enyt el˝ oz˝o adatainkra (A fut´ asi eredm´enyeknek x → a+bx+ecx alak´ csak az utols´o l´ep´es´et k¨oz¨olj¨ uk.):    '   G $ + G 4+ ! +  +  FB $ BB !  "@Y& CJ  #!!!(O CJ > &! O CJ > ... Iteration:13 ChiSquared:577.2309320244032 Parameters: {53.395, 442.14, 11.0429} {a -> 53.395, b -> 442.14, c -> 11.0429}

3.11.6. Id˝ osorok Id˝ oben v´ altoz´o v´eletlen folyamatok k¨ oz¨ ul a legegyszer˝ ubb, leg´ attekinthet˝ obb szerkezet˝ uek tal´ an a diszkr´et idej˝ u, stacion´ arius id˝ osor ok. Elm´elet¨ uket illet˝oen a [82] cikkgy˝ ujtem´enyre utalunk, alkalmaz´ asukra Cs´aki P. p´eld´ a j´ at [82, 79–83. oldal] mutatjuk meg. A Drosophila melanogaster t¨ orzs albumin szekr´eci´o j´ at 60 gener´aci´ on kereszt¨ ul m´ert´ek. Ez a sorozat az ¨or¨ okl˝ od´esi szab´alyok miatt egy els˝orend˝ u autoregressz´ıv folyamat realiz´ aci´ o j´ anak tekinthet˝o 1/2 autoregresszi´os egy¨ utthat´ oval ´es 5 v´arhat´ o ´ert´ekkel:

3.11. Matematikai statisztika ' @  )QFN >QB >QLN )QNFF )Q)M) NQLN NQM>L NQ))N >QFL NQB) )QNFL )QMB >QF >QNB )QM NQN )QLF Q>L QM> QLML NQL FQB)N >QFB) )QLF>

353

>QN )QBN >QB) NQ>LF >QLMF QNN Q)MM >Q>BB QBN )QMF >QNFM )QL

Q>M >QF >QL)B >QFN >QF )Q) Q)> )QM>F QN QFL) )QF)F QMM

NQBBM )QFNF NQLM) NQBF >QB >QM>B QF )Q>> )QFN >QFL >QF )QBB)

Levonjuk a v´ arhat´ o ´ert´eket, hogy egy nulla v´ arhat´ o ´ert´ek˝ u folyamatot kapjunk: ' @  ' @ C >

´ azoljuk a m´ert ´ert´ekeket: Abr´ $  % & ' @ & 9 ' CJ  $  % & ' @ & " ( CJ #$ & "  $  & >    NB & " ( CJ @!=  BQB "@Y $ $ $ 7 6 5 4 3 2 1 10

20

30

40

50

60

354

3. Fejezetek a matematik´ab´ ol  %  @ ' @ 60

Meghat´aroztuk a nemzed´ekek sz´am´at. Szeretn´enk meghat´ arozni a legfontosabb jellemz˝oket: "   !KD! 1"   !K . ' @ /    8 ! 8 !%4 {4.89887, 1.48025, 1.45558}

Az ut´ obbi a korrig´ alt tapasztalati sz´ or´ asn´egyzet. Most kisz´am´ıtjuk az empirikus autokovariancia-f¨ uggv´enyt: !  $  "0

' @

 C  ' @ R ' @

G= C  ' @    C =  = B M {1.45558, 0.859109, 0.44711, 0.28646, 0.140774, 0.0508499, 0.011371, -0.0191493, -0.163013}

Ebb˝ ol az empirikus autokorrel´ aci´ os f¨ uggv´eny egyszer˝ uen ad´ odik:   !!

 

´ azoljuk is ezt a f¨ Abr´ uggv´enyt.    % &

   E  B M    & 9 ' CJ  & " ( CJ @!=  BQBBM    % &

   E  B M    & " ( CJ #$ & "  "@Y     1 0.8 0.6 0.4 0.2

2

4

6

8

3.11. Matematikai statisztika

355

K¨ ovetkezz´ek az autokorrel´ aci´ os m´atrix:  =0 +  $

$ E  E@

=  =  W  W B =C  =  M

Most sz´am´ıtsuk ki a parci´ alis autokorrel´ aci´ os f¨ uggv´enyt:  =  $

D #  ' D  =0 +

=  C  E

=  = G   D  =0 +

=  =  M {0.590216, -0.0632035, 0.047947, -0.0349174, -0.00855083, -0.0023358, -0.0101465, -0.0922125}

A mint´ ab´ ol becs¨ ult els˝ o parci´ alis autokorrel´ aci´ o ´ert´eke 0,59, a nagyobb index˝ uek´e beleesik a nulla k¨ or¨ uli megb´ızhat´os´agi intervallumba, azaz nem t´er el szignifik´ ansan a null´ at´ol. A Yule–Walker-egyenletek eset¨ unkben ´ıgy ´ırhat´ ok fel: ( , - #  '

$

!

=G  "0   !

=GC    =  =    !

  "0   !

G     G 1 (  {0.859109 == 1.45558 a[1], 1.45558 == var + 0.859109 a[1]}

Most pedig n´eh´ any p ´ert´ekre megoldjuk az egyenleteket: "1 (      1 {a[1] -> 0.590216, var -> 0.948524} "1 (         1 {a[1] -> 0.590216, a[2] -> -0.0411863, var -> 0.966939} "1 (            1 {a[1] -> 0.590216, a[2] -> -0.0411863, a[3] -> 0.039814, var -> 0.955533}

A p´elda f˝ o tanuls´ aga, hogy a matematikai k´epleteket szinte v´altoztat´ as n´elk¨ ul be´ırhattuk a programba. A legk´ezenfekv˝ obb, amit egy v´eletlen hib´ aval terhelt m´er´esi sorozattal tehet¨ unk, hogy sim´ıtjuk. Ez a 6  3# 3 programuggv´eny´evel v´egezhet˝o, ak´ ar szimbolikusan is: csomag #  f¨

356

3. Fejezetek a matematik´ab´ ol '   $ ! '   * 1 #1 '   a+b+c b+c+d c+d+e d+e+f , , , } { 3 3 3 3

Vektor´ert´ek˝ u sorozatokra a #  f¨ uggv´eny ugyan´ıgy haszn´alhat´ o. Az adatokat u ´gy kell elhelyezn¨ unk, hogy az egy id˝ oponthoz tartoz´ o ´ert´ekek az adatm´atrix oszlopait alkoss´ak.

¨ 3.11.7. Osszetett feladatok, u ´j m´ odszerek N´eh´ any olyan o¨sszetett feladatot sorolunk fel, amelyeknek a megold´ asa megtal´ alhat´ o valamelyik programcsomagban vagy id´ezett cikkben. Tukey eredm´enyei alapj´ an nemparam´eteres sim´ıt´ asra vonatkoz´ o elj´ ar´ asokat tartalmaz´o programcsomagot ´ır le [88, 331. oldal]. Ugyanott megad egy genetikai algoritmust a t˝ ozsd´en szerezhet˝o haszon maximaliz´al´ as´ara. Martin fejlettebb m´ odszereket le´ır´ o cikk´eben [55] bemutatja a s˝ us˝ us´eguggf¨ uggv´enyek Edgeworth-f´ele sorfejt´es´et, ahol j´ ol haszn´ alhat´ o a 6 f¨ v´eny a sz¨ uks´eges szimbolikus sz´amol´asok elv´egz´es´ehez. Megmutatja, hogy hogyan lehet finom´ıtani a nemline´ aris param´eterbecsl´es eredm´enyek´ent kapott param´eteregy¨ uttest, ´es hogy mik´ent kell ´ert´ekelni az eredm´enyeket. Ismertet egy programot a g¨ orb¨ uleten alapul´ o diagnosztik´ ara is, amely Bates ´es Watts egy 1980-as cikk´en alapul. Ezut´ an t´ argyal robosztus becsl´eseket, a medi´an fogalm´ anak (nemtrivi´ alis) k´etdimenzi´os ´altal´ anos´ıt´ as´at, valamint egy m´odszert, amely adatok t´erbeli elhelyezked´es´et vizsg´alja statisztikai szempontb´ol, ´ıgy ak´ ar a t´erinformatik´ ahoz t¨ ort´en˝ o statisztikai hozz´a j´ arul´ asnak is tekinthet˝o.

3.11.8. Gyakorlatok ´ es feladatok ´ azoljuk az u-pr´ 1. Abr´ oba er˝ of¨ uggv´eny´et a param´eter ´es a mintaelemsz´am f¨ uggv´eny´eben. 2. ´Irjunk f¨ uggv´enyt, amellyel a Sarkadi-pr´oba [85, 137. oldal] alapj´ an adott mint´ ar´ ol eld¨onthet˝ o, hogy valamely minta norm´ alis eloszl´asb´ol sz´armaz´onak tekinthet˝ o-e, ha sem a sz´or´ ast, sem a v´arhat´ o ´ert´eket nem ismerj¨ uk. 3. D¨ onts¨ uk el v´eletlen´ıtett (randomized) pr´ oba alapj´ an, hogy egy k ´es egy l elem˝ u minta k¨ oz¨ ul melyik a ”nagyobb”.

4. A Mathematica programoz´as´ar´ ol

Megeml´ıtett¨ uk m´ ar azt, hogy a Mathematica magasszint˝ u programoz´ asi nyelvnek is tekinthet˝ o. Az el˝oz˝o fejezetben sz´amos p´eld´ at l´ attunk arra, hogy a bels˝o ´es a k¨ uls˝ o f¨ uggv´enyek ¨osszekapcsol´as´aval hogyan defini´ alhatunk u ´j elj´ ar´ ast, azaz hogyan ´ırhatunk programot. Ebben a fejezetben azt szeretn´enk kihangs´ ulyozni, hogy a Mathematica haszn´ alhat´ o k¨ ul¨ onb¨ oz˝o st´ılus´ u programok k´esz´ıt´es´ere. • ´Irhatunk programokat a hagyom´ anyos procedur´ alis (vagy imperat´ıv) programoz´ asi nyelvek (Basic, C, FORTRAN, Pascal) st´ılus´ aban, szekvenci´ akat, elj´ ar´ asokat, ciklusokat, blokkokat ´es felt´eteles utas´ıt´ asokat haszn´ alva. • Ut´ anozhatjuk a logikai vagy szab´ alyalap´ u nyelvek (PROLOG) logik´ aj´ at, transzform´ aci´ os szab´alyok megad´as´aval ´es mint´azatok illeszt´es´evel. • Funkcion´ alis programoz´ asi nyelvek (APL, LISP, LOGO, Miranda) st´ıatorokkal, rekurlus´ aban is´ırhatunk programokat f¨ uggv´enyekkel, oper´ zi´oval ´es a programszerkezetet befoly´asol´o m˝ uveletekkel. (A funkcion´ alissal majdnem azonos jelent´es˝ u a listakezel˝ o.) • Objektum-orient´ alt programoz´ asi nyelvek (C++, SIMULA, SMALLTALK, Actor, a Turbo Pascal 5.5 ut´ ani v´ altozatai) eszk¨ozeit (oszt´alyok, polimorfizmus, o¨r¨ okl˝ od´es) is alkalmazhatjuk. Az els˝ o h´ arom programoz´ asi st´ılust be´ep´ıtett bels˝o ´es k¨ uls˝ o f¨ uggv´enyek t´ amogatj´ ak. Ha objektum-orient´ alt st´ılusban szeretn´enk programjainkat meg´ırni, akkor ehhez a MathSource-on a 0200–293 ´es a 0205–186 sz´am alatt tal´ alhat´ o kieg´esz´ıt´eseket haszn´alhatjuk, vagy a [29] k¨ onyv 9. fejezet´ere t´amaszkodhatunk. A p´eldak´ent eml´ıtett programnyelvek ´altal´ aban nem k´epviselik tiszt´ an valamelyik programoz´ asi st´ılust, hanem egyik vagy m´ asik st´ılus jellegzetess´egei domin´ alnak benn¨ uk. B´ ar a Mathematic´ a r´ ol azt mondtuk, hogy ebben mindegyik st´ılus teljes eg´esz´eben megval´os´ıthat´ o, ez l´enyeg´et tekintve (t¨obb odszert ´eppen maszerz˝o szerint) funkcion´ alis programoz´ asi nyelv . Ezt a m´ tematikai feladatok hat´ekony megold´as´ara fejlesztett´ek ki [8], hiszen

358

4. A Mathematica programoz´ as´ar´ ol f¨ ol¨ osleges r´eszeikre szedni a matematikai objektumokat, csak az´ert, hogy azut´ an u ´jra o¨sszerakjuk ˝oket.

(L´ asd [29], 8. fejezet.) K¨ ul¨ onb¨ oz˝o st´ılusban meg´ırt elj´ ar´ asok ki´ert´ekel´es´ehez sz¨ uks´eges id˝ otartamok l´enyegesen k¨ ul¨ onb¨ oz˝ok lehetnek, adott feladat megold´ as´ahoz a leghat´ekonyabb st´ıluselemek kiv´alaszt´asa sokszor nem egyszer˝ u feladat. Ehhez a programcsomagok sz¨oveges ´allom´ anyainak tanulm´ anyoz´ asa adhat seg´ıts´eonyvt´ arakban tal´ alhat´ o get. Az  ´es a    alk¨ r¨ ovid programcsomagokb´ ol sokat mer´ıthet az ´erdekl˝od˝ o Olvas´ o. R. Maeder [51] k¨onyv´eb˝ ol l´ep´esr˝ol l´ep´esre tanulhatjuk meg nagyobb programok ´ır´ as´anak fort´elyait. J. W. Gray [29] k¨ onyve pedig k¨ ul¨ onb¨ oz˝o st´ılus´ u programok ´ır´ as´ara mutat be sz´amos p´eld´ at. A MathSource-r´ ol megszerezhet˝o dokumentumok (p´eld´ aul a 0203–904, 0203–926, 0205–748 sz´am alattiak) is sz´amos hasznos inform´ aci´ ot tartalmaznak a Mathematica programoz´ as´aval kapcsolatosan. A programoz´ asn´ al is nagy jelent˝ os´ege van annak, hogy szimb´ olumokat is tudunk kezelni, nem csak sz´amokat. A meg´ırt programok t¨ obbf´elek´eppen futtathat´ ok: beg´epel´es ut´an azonnal (hiszen a Mathematica alapvet˝oen ´ertelmez˝o m´odban, m´ ask´eppen interakt´ıvan m˝ uk¨ odik), a´llom´anyb´ ol k¨ otegelt u ¨zemm´odban, valamint a meg´ırt programr´eszeket elrakt´arozhatjuk b´ armikor felhaszn´ alhat´ o programcsomaod van arra is, hogy a Mathematica nyelv´en ´es m´as nyelven gokban is. M´ meg´ırt programjainkat o¨ssze´ep´ıts¨ uk a MathLink program felhaszn´ al´ as´aval. Oktat´ asi szempontb´ol k¨ ul¨ on¨ os jelent˝os´ege van annak, hogy a Mathematic´ a n bel¨ ul mindegyik programoz´ asi st´ılus teljes eg´esz´eben bemutathat´ o.

4.1. Programnyelvi elemek Az al´ abbiakban felsoroljuk a Mathematic´ a nak mint programoz´ asi nyelvnek az elemeit: • • • • • •

karakterk´eszlet, alapszavak, adatt´ıpusok (f¨ uz´erek, sz´amok, szimb´olumok; adatellen˝ orz´es), adatszerkezetek (kifejez´es, lista, f¨ uggv´eny, t¨ omb), transzform´ aci´ os szab´alyok, mint´ azatok, adatszerkezetek ´atalak´ıt´ asai (´ert´ekad´ as, listam˝ uveletek),

4.1. Programnyelvi elemek

359

• programszerkezetek (szekvencia, el´agaz´as, ciklus; blokk, modul, programcsomag), • nyomk¨ ovet´es ( ,  , ,  ,  ,   ), • u ¨zenetek (,  ). Ezek egy r´esz´evel a 2. fejezetben m´ar foglalkoztunk. A tov´ abbiakban csak az eddig nem t´argyalt elemekr˝ol sz´olunk. • Szekvencia P´eld´ aul a Pascal nyelvben szerepl˝ o ¨osszetett utas´ıt´ asnak felel meg a Mathematic´ a ban a szekvencia fogalma. Ha arra van sz¨ uks´eg¨ unk, hogy egym´ as ut´ an v´egrehajtand´ o utas´ıt´ assorozatot egyetlen utas´ıt´ asnak tekints¨ unk, akkor az utas´ıt´ asokat egym´ast´ol pontosvessz˝ovel v´ alasztjuk el, ´es g¨omb¨ oly˝ u z´ar´ o jelek k¨ oz´e tessz¨ uk:

   Ez r¨ ovid alakja a

  !" " # kifejez´esnek. (A  egy´ebk´ent a    $  

f¨ uggv´eny r¨ ovid, infix alakja.) • El´ agaz´ as Sz´ amos eszk¨oz ´all rendelkez´es¨ unkre alternat´ıv´ ak kezel´es´ere. El˝ ofordul, hogy egy logikai kifejez´es ´ert´ek´et˝ol szeretn´enk f¨ ugg˝ ov´e tenni, hogy h´ arom kifejez´es k¨oz¨ ul melyiket ´ert´ekelje ki a program. Erre szolg´ al a legegyszer˝ ubb a felt´eteles utas´ıt´ as:

%!"  &"  "  ' # Ha a  ´ert´eke igaz ( ), akkor a  & utas´ıt´ as, ha a (  ´ert´eke hamis (), akkor a   utas´ıt´as, ha pedig a (  ´ert´eke nem sz´am´ıthat´o ki (p´eld´aul az´ert, mert a benne szerepl˝o v´alas hajt´ odik v´egre. A toz´ok nem kaptak ´ert´eket), akkor az  '  utas´ıt´ f¨ uggv´eny utols´ o vagy utols´ o k´et argumentuma (´ertelemszer˝ u hat´ asokkal) elhagyhat´ o:        8

360

4. A Mathematica programoz´ as´ar´ ol            3

Ha t¨obbir´ any´ u el´ agaz´assal van dolgunk, akkor is haszn´ alhatjuk az % f¨ uggv´enyt, de ebben az esetben bonyolult kifejez´esekhez jutunk. Ez elker¨ ulhet˝ o, ha a

) !&" " &" " ***# konstrukci´ ot alkalmazzuk. Ekkor az els˝ o olyan utas´ıt´ as hajt´ odik v´egre, amelyik el˝ ott igaz ´ert´eket felvev˝o logikai kifejez´es ´all. P´eld´ aul:            # $   %

!  " 

{16, 1, 12}

+ , ´ert´eke pontosan akkor  , amikor argumentuma p´aros. — A fenuggv´eny a Collatz-f´ele probl´ema (vagy 3a + 1 probl´ema) vizsg´alat´ an´ al ti  f¨ haszn´ alhat´ o; l´ asd m´eg az  ´es a    (egyu prgoramcsomagj´ at. m´ast´ol k¨ ul¨ onb¨ oz˝o!)  & nev˝ Ha egy (nem felt´etlen¨ ul logikai) kifejez´es ´ert´ek´et˝ol akarunk f¨ ugg˝ ov´e tenni uggv´enyt: egy kifejez´est, akkor haszn´ aljuk a -  f¨ - ! "  " "  " " ***# Oldjuk meg az el˝ obbi feladatot ezzel a konstrukci´ oval is:   &'     (     (       "   # $   % {16, 1, 12}

L´athat´ o, hogy az . jelet itt is tetsz˝oleges kifejez´es jel¨ol´es´ere haszn´altuk. El˝ ofordul az is, hogy egy ´ altal´ anos´ıtott list´ab´ ol szeretn´enk kiv´alasztani az els˝o n´eh´ any olyat, amely kiel´eg´ıt egy bizonyos krit´eriumot (logikai ´ert´ekeket felvev˝ o f¨ uggv´enyt). Ilyenkor ezt ´ırjuk:

! "  " 

 '#

4.1. Programnyelvi elemek

361

P´eld´ aul: &) $     * *% +,-!  {3, 4}

Ha viszont egy (´altal´ anos´ıtott) lista adott mint´azatnak megfelel˝ o elemeit akarjuk kiv´ alasztani, akkor a

! "  &# utas´ıt´ asra van sz¨ uks´eg¨ unk: .//$ 0   0%   1 {-4, -2} .// " 20 34&   **203   1 {-4, -2}

Az adott mint´ azatnak megfelel˝ o listaelemek sz´am´anak meghat´aroz´as´ara k´et p´elda: .( $   * *% * 2 .( $   * *% *5 3

Itt a

  ! "  &# szerkezetet haszn´altuk, ´es a m´asodik esetben utaltunk a kitev˝ o alap´ertelmez´esbeli ´ert´ek´ere. • Ciklus A szok´asos ciklusutas´ıt´ asok mindegyike haszn´ alhat´ o a Mathematic´ a ban. A assunk egy p´eld´ at: legegyszer˝ ubb k¨ oz¨ ul¨ uk tal´ an a / . L´ 6  +6(7 8(9!  ::  : 6 : 6  $  % a=1 L[a]=0 a=2 L[a]=0.693147 a=3 L[a]=1.09861

362

4. A Mathematica programoz´ as´ar´ ol

L´athat´ o, hogy a ciklus t¨ orzs´et jelent˝o utas´ıt´ as ´all el¨ ol, m´ asodikk´ent pedig a ciklusv´altoz´ot, kezd˝ o- ´es z´ar´ o´ert´ek´et tartalmaz´o list´at kell ´ırnunk. ant el¨ oltesztel˝ o, a´ltal´ anos alakjuk: A  ´es a )  egyar´

 ! " &" + '"  &# ) !&"  &# Pr´ ob´ aljuk ki p´eld´ aul a k¨ ovetkez˝o k´et parancsot: ;(!     *1 ""  * "  9!   1 + x

2 2

2

2 + (1 + x ) 2 3 + 2 + (1 + x )

2

2

¨ Ugyelj¨ unk a k¨ ul¨ onf´ele ´ır´ asjelekre!   9(  (/  0.739085

4.1. Programnyelvi elemek

363

M´ asodikra szimul´alunk egy szimmetrikus v´eletlen bolyong´ ast: -()(7/  ;()>6 / 9)/ 1 -)?>(, 0 $% 6 / 9)( -()(7/1  9)( @( > 0A !

Harmadikk´ent bemutatjuk Novak megold´ as´at a Gram–Schmidt-f´ele ortogonaliz´al´ asra, amely a 0  3 2 4 

 &

4 csomagj´ aban is szerepel. A p´elda r´eszletes elemz´es´et az Olvas´ora hagyjuk.  /   2 5 3 2 53 ) / ! / B (!) /   9)/ ## 2 / C D # B (!) / 3 E!,&, > , !   ;()>@( C $C 0 ) / ! /C C % D $ % , ! 

• Lok´ alis v´ altoz´ ok haszn´ alata uggv´enyek lehet˝ov´e teszik lok´alis A ) , a  $ ´es a 5  bels˝o f¨ ´alland´ ok ´es lok´ alis nev˝ u, illetve lok´ alis ´ert´ek˝ u v´ altoz´ok haszn´ alat´ at. Ezek a konstrukci´ ok a struktur´ alt nyelvekben megszokott blokk oknak felelnek meg. Lok´ alis v´ altoz´okat haszn´ alhatunk a 5  ´es a  $ szerkezetben. A modul haszn´ alat´ at az indokolhatja, hogy • ne u ¨tk¨ ozzenek a v´ altoz´ ok; • egyszer kisz´amolt ´ert´eket t¨obbsz¨ or akarunk haszn´ alni; • n¨ ovelni akarjuk a program a´ttekinthet˝ os´eg´et. o el˝onyben. Ha viszont A kett˝ o k¨ oz¨ ul a´ltal´ aban a  $ r´eszes´ıtend˝ alata. interakt´ıv sz´amol´asokra k´esz¨ ul¨ unk, akkor aj´ anlatosabb a 5  haszn´ Ezzel elker¨ ulhetj¨ uk a v´ altoz´onevek u ¨tk¨ oz´es´et. Tekints¨ uk az al´abbi utas´ıt´ assorozatot: ,  * 2 i F)(B$  % " , 2 a + a G(>)$  % " , 2 a + i

364

4. A Mathematica programoz´ as´ar´ ol

L´athat´ o, hogy az els˝o esetben a blokk lok´ alis v´ altoz´o ja az 6  kifejez´es ki´ert´ekel´es´eben v´egig szerepet j´atszik. A modul ki´ert´ekel´es´en´el a lok´alis v´ altoz´ora vonatkoz´ o ´ert´ekad´ as csak a ki´ert´ekelend˝o 6  kifejez´esben explicite szerepl˝o helyre vonatkozik. Ez´ert mondjuk azt, hogy az els˝ o szerkezetben lok´ alis ´ert´ek˝ u, m´ıg a m´asodikban lok´ alis nev˝ u v´ altoz´o szerepel. uggv´enynek k´et argumentuma van. Az els˝ o a lok´ alis v´ altoA  $ f¨ z´ok list´a ja, amelyben esetleg kezdeti ´ert´ekad´ as is szerepel. A m´asodik argumentum (´ altal´ aban o¨sszetett) kifejez´es. Az eredm´eny az utols´ o utas´ıt´ as osebb, mint a " jel, elt´er˝oen v´egeredm´enye. Figyelj¨ unk arra, hogy a  jel er˝ a legt¨obb m´ as nyelvben megszokottakt´ ol. A k¨ ovetkez˝o p´eld´ aban lok´ alis ´ alland´ o szerepel, azaz olyan azonos´ıt´ o, amelyhez egyetlen egyszer rendel¨ unk hozz´ a valamilyen ´ert´eket (Ez´ert azt o a  $ konstrukci´ onak speci´alis mondhatjuk, hogy a )  konstrukci´ esete: mintha csak a kezdeti ´ert´ekad´ as hajt´ odn´ek v´egre.):

 < 17 '   $   " % " * ' 3 1 + a + (1 + a)

17

Teh´at a program k¨ ul¨ onbs´eget tett  k´et k¨ ul¨ onb¨ oz˝o el˝ofordul´ asa k¨oz¨ott, a glob´ alis  ´ert´ek´et megtartotta. Programjainkban haszn´ alhatjuk a m´ as nyelvekben megszokott megszak´ıt´ asokat ´es visszat´er´eseket is:

5    

  7 

02 8  -

4.2. Gyorsas´ ag, gyors´ıt´ as Ebben a szakaszban azzal fogunk foglalkozni, hogy milyen gyorsan sz´ amol ki valamit a Mathematica, ´es hogy ez a sz´amol´asi id˝ o milyen m´odszerekkel r¨ ovid´ıthet˝ o.

4.2. Gyorsas´ag, gyors´ıt´ as

365

4.2.1. Tipikus m˝ uveletek id˝ oig´ enye Miel˝ ott r´ at´ern´enk a programok gyors´ıt´ as´anak m´ odszereire, ´erdemes t´a j´ekoz´od´ asul n´eh´ any id˝ oadatot megn´ezn¨ unk. Ezek ´ert´ekel´es´en´el figyelembe kell venni, hogy nemcsak a Mathematica aktu´ alisan haszn´ alt v´ altozat´ anak sz´am´at´ ol ´es az adott g´ep konfigur´ aci´ o j´ at´ol f¨ uggenek, hanem m´eg att´ol is, hogy az adott alkalmon bel¨ ul az adott m˝ uvelet mikor, milyen el˝ozm´enyek ut´ an ker¨ ult sorra. A t´ abl´ azat bemutat´ asa el˝ott, annak meg´ert´es´ehez ´es reproduk´ al´ as´ahoz n´emi seg´ıts´eget adunk. Ha meg akarjuk tudni, hogy mennyi ideig dolgozik a k¨ ozponti egys´eg az 700 polinom kifejt´es´en, akkor a k¨ ovetkez˝ot kell be´ırnunk: (a + bx) , 7H>2 " - 3*2 " - 3*2 "  " I3*1 

Fibonacci20 a rekurzi´ oval a k¨ ovetkez˝o pontban defini´ alt Fibonacci-sorozat 20-adik tagj´ at jelenti. A megadott faktoriz´aland´ o sz´amok pedig olyan nagy sz´ amok, amelyeknek legkisebb pr´ımt´enyez˝o j¨ uk is nagy, ezeket szok´as g´epek gyorsas´ag´ anak ellen˝ orz´es´ere haszn´alni. A m´er´eseket IBM PC t´ıpus´ u g´epeken v´egezt¨ uk; egy-egy adatot k¨ozl¨ unk:

366

4. A Mathematica programoz´ as´ar´ ol

Feladat

Id˝ otartam (sec) G´ep I. G´ep II. 486 386SX 50 MHz 20 MHz 8 MB 10 MB

1111111

0.879

13.566

(a + bx)100 (a + bx)500 (a + bx)700 (a + bx)1000 (a + bx)2000

0.164 0.934 1.373 2.032 4.944

2.472 13.787 18.894 25.43 59.594

(1/(i + j − 1))5×5 (1/(i + j − 1))−1 10×10 −1 (1/(i + j − 1))20×20 −1 (1/(i + j − 1))30×30

0.604 0.659 8.128 54.156

2.087 9.777 143.19 856.171

(3x + 4y + 5z)10 szorzatt´a (3x + 4y + 5z)20 szorzatt´a (3x + 4y + 5z)30 szorzatt´a

2.636 7.58 27.792

19.553 114.904 396.119

−1

Fibonacci10 Fibonacci20 Fibonacci25 Fibonacci50 FactorInteger[267 − 1] FactorInteger[2201 − 1]

0.055 0.055 −1.1279910−13 0.109

0.494 0.824 0.22 1.098

10.82 Nem bontja f¨ ol

140.333 Nem bontja f¨ ol

Ha azt gyan´ıtjuk, hogy valaminek a kisz´ amol´asa sok id˝ot fog ig´enybe venni, akkor ´erdemes a k¨ovetkez˝ok´eppen elj´ arni. K´esz´ıt¨ unk egy olyan f¨ uggv´enyt, amelyben a feladat m´erete az egyetlen v´altoz´o, ´es k¨ ul¨ onb¨ oz˝o m´eretek uggv´eny felhaszn´ al´ as´aval megm´erj¨ uk, hogy a feladat v´egeset´en a   f¨ rehajt´ as´anak id˝ otartama hogyan f¨ ugg a m´erett˝ol. Sajnos, b´ ar ez nem meglep˝ o, az ´erdekes esetekben azt fogjuk tapasztalni, hogy a v´egrehajt´ asi id˝ oa m´eretnek exponenci´ alis f¨ uggv´enye. Az el˝ozetes k´ıs´erletez´esbe fektetett munka ekkor sem volt f¨ol¨ osleges, mert extrapol´aci´ oval megbecs¨ ulhetj¨ uk, hogy az igazi m´eret mellett feladatunk elfogadhat´ o id˝ on bel¨ ul megoldhat´ o-e. K¨ ul¨ on¨ osen sok´aig tart az ´ abr´ ak ´es hangok el˝oa´ll´ıt´ asa; ilyen p´eld´ at nem szerepeltett¨ unk a t´ abl´ azatban.

4.2. Gyorsas´ag, gyors´ıt´ as

367

4.2.2. Gyors´ıt´ as eml´ ekez˝ o f¨ uggv´ enyekkel Ha a szok´ asos m´odon, a /'$ (r¨ oviden: 9:) utas´ıt´ as felhaszn´ al´ as´aval adunk meg egy f¨ uggv´enyt, akkor annak ´ert´ek´et minden megh´ıv´ as alkalm´ aval kisz´amolja a program. El˝ ofordul viszont, hogy egy f¨ uggv´enynek egy adott helyen f¨ olvett ´ert´ek´et sokszor akarjuk f¨ olhaszn´ alni. Ekkor a Mathematica r´ avehet˝o arra, hogy megjegyezze a m´ar egyszer kisz´amolt ´ert´eket. Ez a technika k¨ ul¨ on¨ osen j´ ol haszn´ alhat´ o rekurz´ıv m´odon defini´ alt f¨ uggv´enyekn´el:  -7(!/   -7(!/   -7(!/ 0  "  -7(!/ 0   -7(!/1   -7(!/   , 7 -7(!/ {0.329 Second, 233}

Ha most kiadjuk a ; 2 '  k´erd´est, akkor a v´ alasz mutatja, hogy val´ oban, az argumentum 12 ´ert´ek´eig a program megjegyezte a kisz´am´ıtott f¨ uggv´eny´ert´ekeket. Ha m´eg egyszer megk´erdezz¨ uk a 12. tagot, sokkal gyorsabban kapunk v´ alaszt: , 7 -7(!/ {0. Second, 233}

A fenti megold´ ast Gray igen tal´ al´ oan dinamikus programoz´ asnak nevezi.

4.2.3. Gyors´ıt´ as a    f¨ uggv´ ennyel Tetsz˝oleges argumentumra defini´ aljuk a f¨ uggv´eny-t az al´abbi m´ odon: 77   & 

vagyis argumentuma lehet val´ os vagy komplex sz´am, lista, kifejez´es stb. Ha nem kell az o¨sszes lehet˝os´egre f¨olk´esz¨ ulni, hanem feltehet˝o, hogy az argumentum csak g´epi pontoss´ ag´ u sz´am (vagy logikai ´ert´ek) lehet, akkor a ki´ert´ekel´es jelent˝osen meggyors´ıthat´ o. A gyors´ıt´ as k¨ ul¨ on¨ osen akkor jelent˝os, ha a f¨ uggv´eny ´ert´ek´et sz´amol´o k´epletben sok egyszer˝ u (p´eld´ aul aritmetikai) m˝ uvelet van: 7  ; (  &  Function[x, x Sin[x]]

368

4. A Mathematica programoz´ as´ar´ ol 7.  .(,H )   &  CompiledFunction[{x}, x Sin[x], -CompiledCode-]

K´esz´ıts¨ unk most egy-egy t´abl´ azatot mindk´et f¨ uggv´enyb˝ ol: , 7 -)7  $ 15 5 151%  {1.044 Second, Null}

, 7 -)7.  $ 15 5 151%  {0.714 Second, Null}

N´ezz¨ unk meg egy m´asik p´eld´ at is: )9.  .(,H ) ) 67>!91  2 4 CompiledFunction[{x}, (-63 + 3465 x - 30030 x + 6 8 10 90090 x - 109395x + 46189x )/256, -CompiledCode-] , 7 -)67>!91   $ 15 5 151%  {4.285 Second, Null} , 7 -))9.1   $ 15 5 151%  {0.934 Second, Null}

Ezzel szemben, ha olyan f¨ uggv´ennyel van dolgunk, amilyen p´eld´ aul a 5( < vagy az  +, akkor nem tapasztalunk jelent˝os gyors´ıt´ast, mivel a sz´amol´asi id˝ o nagy r´esze a Mathematica bels˝o algoritmusainak v´egrehajt´ as´aval telik, amire a ford´ıt´ as (ford´ıtsuk ´ıgy a compilation sz´ot) nincs hat´ assal. Most arra mutatunk egy p´eld´ at, hogy hogyan gyors´ıthat´ o meg az ´ abr´ aas felhaszn´ al´ as´aval. Az al´ abbi f¨ uggv´enyt szeretn´enk zol´ as a    utas´ıt´ ´abr´ azolni: , (   J-/ " *20 2< 9  " 9 .(/ 33 " *20 2< 9  "  9 .(/ 33  , 79()!9)( , (  $  09  9 % 9)( !7 0A J)) {583.743 Second, Graphics}

Ez igen sok´ aig tartott. A defini´ alt f¨ uggv´eny t´ ul sokat tud: argumentuma lehet val´ os sz´am, eg´esz sz´am, szimbolikus kifejez´es stb. Nek¨ unk viszont a rajzol´ ashoz elegend˝o egy olyan f¨ uggv´eny, amely csak val´ osakra van ´erteluggv´eny rendelkezik a = $3 attrib´ utummal, ez´ert mezve (A    f¨ uggv´enyt.): kell alkalmaznunk az + f¨

4.2. Gyorsas´ag, gyors´ıt´ as

369

, (.  .(,H )$$  ?)%% ) , (  , 79()!9)( , (.H  $H  09  9 % 9)( ?7 0A J)) {4.449 Second, Graphics}

2

1

-2 -1.5

-1 -0.5

0.5

1

1.5

-1

-2

Most rajzoljunk Mandelbrot-halmazt: ,>)-!( .  .(,H )$  ) ,% G(>)$I   1% I   "   )J-/I  51 DD  ) , I  I* " 2 " 3 ""    8/ 9)( 0,>)-!( .1  $055% $055% 9)( 9(  / 0A 1 G/ 0A ;)/

V´eg¨ ul megeml´ıtj¨ uk, hogy sz´ amos be´ep´ıtett f¨ uggv´eny rendelkezik a  (  $ opci´oval, amelynek ilyenkor az alap´ertelmez´es szerinti ´ert´eke  . Egy´ebk´ent amikor csak lehets´eges, be´ep´ıtett f¨ uggv´enyt ´erdemes haszn´alnunk, mert a legt¨ obb esetben ´ıgy kaphatjuk meg a leggyorsabb megold´ ast.

4.2.4. Gyors´ıt´ as listam˝ uveletekkel Az al´ abbiakban egy lista minden elem´ehez t¨obbf´ele m´odon hozz´ a fogjuk adni az 1 sz´amot. Kider¨ ul majd, hogy a m˝ uvelet id˝ oig´enye jelent˝osen f¨ ugg att´ ol, hogy mennyire haszn´ aljuk ki a Mathematica lehet˝os´egeit: ) /   -)?>(,  7! $ 1%  $111%  , 7K) /   $% ;(!    67 ) /   "" JHH> (K) /  ) /  " 

370

4. A Mathematica programoz´ as´ar´ ol {70.304 Second, Null}

M´ asodik megold´ ask´ent a 2 utas´ıt´ assal hozunk l´etre egy u ´j list´at: , 7K) /   -)) /  "  $   67 ) /  %  {6.92 Second, Null}

M´eg gyorsabban jutunk c´elhoz, ha nem hivatkozunk az egyes elemekre, uggv´enyt: hanem alkalmazzuk a  f¨ , 7   "  K) /   GH ) /   {4.394 Second, Null}

Mivel a  f¨ uggv´eny list´ara alkalmazhat´ o (rendelkezik a 0 2 attrib´ utummal), ez´ert a legegyszer˝ ubb (´es leggyorsabb) megold´ast ´ıgy kapjuk: , 7K) /   ) /  "  {2.252 Second, Null}

Term´eszetesen mindig ugyanazt az eredm´enyt kaptuk: K) /   K) /   K) /   K) /  True

V´eg¨ ul m´eg egy (kezdetben ijeszt˝onek hat´ o) p´eld´ at eml´ıt¨ unk. A Mathematica bizonyos be´ep´ıtett f¨ uggv´enyei k¨ oz¨ott is vannak egyenl˝ obbek” (Az ” al´ abbi sz´amol´asokat nem ugyanolyan g´epen v´egezt¨ uk, mint a f¨ ontebbieket, ez´ert csak az egym´as k¨oz¨otti ar´ anyokra ´erdemes figyelni, illetve azokra az id˝ oadatokra, amelyeket az Olvas´o saj´at g´ep´en kapott.): , 7 -) * $  111%  {0.15 Second, Null}

, 7?7111 * {0.0833333 Second, Null}

, 7C*D # ?7111  {0.06666667 Second, Null}

Ezek szerint teh´ at az el˝oz˝o p´eld´ aban a   el˝o´all´ıt´ as´anak c´elszer˝ u m´odja a k¨ ovetkez˝o: ) /   ?>(,  7! $ 1% D # ?7111

Vizsg´aljuk meg, hogy a m´ert id˝ oadatok al´ at´ amasztj´ak-e a fenti felt´etelez´est!

4.3. Tan´acsok programok k´esz´ıt´es´ehez

371

4.3. Tan´ acsok programok k´ esz´ıt´ es´ ehez B´ar a Mathematica magja ´es programcsomagjai ¨osszesen t¨obb, mint k´etezer bels˝o ´es k¨ uls˝ o f¨ uggv´enyt tartalmaznak, a felhaszn´ al´ o gyakran tal´ alkozik olyan feladattal, amelyet nem tud egyetlen f¨ uggv´eny seg´ıts´eg´evel megoldani. A tov´ abbiakban az ilyen esetekhez szeretn´enk tan´ acsokat adni. Egy procedur´ alis nyelven meg´ırt program minden neh´ezs´eg n´elk¨ ul a´t´ırhat´ o a Mathematica programnyelv´ere. J. W. Gray [29] k¨ onyv´eben a 8.4. szakaszban mutat p´eld´ akat C ´es Pascal nyelv˝ u programok k¨ ozvetlen ´at´ır´ as´ara. A szerz˝o ugyanitt azt is megmutatja, hogy a Mathematica funkcion´ alis st´ıluselemeit felhaszn´alva hogyan lehet a feladatot j´ oval r¨ ovidebben megoldani. Itt ism´et kiemelj¨ uk azt, hogy a feladatokat a´ltal´ aban k¨ ul¨ onb¨ oz˝o st´ıluselemeket haszn´alva is megoldhatjuk. A ki´ert´ekel´eshez sz¨ uks´eges id˝ otartamok azonban l´enyegesen k¨ ul¨ onb¨ oz˝ok lehetnek; tapasztalatunk az, hogy a´ltal´ aban a funkcion´ alis st´ılus´ u ´ır´ asm´odot t´ amogatja a legjobban a program. Amikor g´epid˝ oig´enyes feladatunk van, akkor ´erdemes szem el˝ott tartani a gyors´ıt´ as´ar´ ol fentebb mondottakat. Adunk n´egy k¨ ul¨ onb¨ oz˝o megold´ast Novak [60] alapj´ an a faktori´ alis kisz´am´ıt´ as´ara: H!(>!) /  G(>)$7K ( >% +(   7! DD 9(/   ? !:L -/ -, :  7K (   >    ) >   7K (  7K (4 > >  > "   ? !7K ( H!(-  $    0 M5% H!(>!) / # H!(- {1, 2, 6, 24, Hibas bemenet, Hibas bemenet} B () /     ? !  ? ! B () / 0  B () / # H!(- {1, 2, 6, 24, 1, 621344.}

/I-)(/   /I-)(/  7!N9(/    /I-)(/ 0  /I-)(/ # H!(- {1, 2, 6, 24, szabalyos[-5], szabalyos[9.2]}

372

4. A Mathematica programoz´ as´ar´ ol (B   7!N9(/   ,/ ## ?7 (B # H!(- {1, 2, 6, 24, fofunkci[-5], fofunkci[9.2]}

Hasonl´ıtsuk o¨ssze az id˝oeredm´enyeket! , 7H!(>!) / # ?711  {17.852 Second, Null}

, 7B () / # ?711  {17.026 Second, Null}

, 7/I-)(/ # ?711  {15.434 Second, Null}

, 7(B # ?711  {1.428 Second, Null}

Ez el´eg meggy˝oz˝o lehet! Fontoljuk meg azonban azt is, hogy milyen v´ alaszt ¨ v´ arunk, ha a bemenet nem pozit´ıv eg´esz sz´am. Ugyelj¨ unk arra is, hogy a cs´ab´ıt´ oan t¨ om¨or ´es eleg´ans funkcion´ alis st´ılus´ u programokat is el kell l´ atnunk ellen˝ orz´esekkel ´es v´edelemmel.

4.4. Saj´ at programcsomagok k´ esz´ıt´ ese Ha hosszabb ideig ´es gyakran haszn´ aljuk a Mathematic´ a t, akkor felmer¨ ulhet benn¨ unk az ig´eny saj´ at programcsomagok k´esz´ıt´es´ere. Ennek egyik c´elja az lehet, hogy a saj´ at magunk a´ltal defini´ alt gyakran haszn´ alt f¨ uggv´enyeket ugyan´ ugy szeretn´enk haszn´ alni, mint a Mathematica k¨ uls˝ o f¨ uggv´enyeit, m´asik c´elja pedig az lehet, hogy alkot´ asainkat k¨ ozkinccs´e szeretn´enk tenni p´eld´ aul a MathSource-on, vagy valamelyik foly´ oiraton, p´eld´ aul a Mathematica Journalon kereszt¨ ul. Ebben az esetben a fent le´ırtakb´ ol levonhat´ o tanuls´ agokon k´ıv¨ ul a leghasznosabb, ha valamelyik programcsomagot tanulm´ anyozzuk. K¨ ul¨ on felh´ıvjuk a figyelmet az



  

k¨ onyvt´ arakban tal´ alhat´ o csomagokra. A m´asik j´ ol haszn´ alhat´ o mank´ o pedig az eml´ıtett u ´js´ag szerz˝oi utas´ıt´ asai, ahol tov´ abbi formai ´es tartalmi tan´ acsok tal´ alhat´ ok.

5. Matematik´an k´ıv¨ uli alkalmaz´asok

M´ ar az eddigiekb˝ol is kit˝ unhetett, hogy a Mathematica program a matematik´ an k´ıv¨ ul is sz´amos ter¨ uleten alkalmazhat´ o. Ebben a fejezetben azt k´ıv´ anjuk a´ttekinteni ´es n´eh´ any p´eld´ aval illusztr´alni, hogy melyek azok a bels˝o ´es k¨ uls˝ o f¨ uggv´enyek, amelyek ilyen c´elokra k¨ ozvetlen¨ ul alkalmazhat´ ok. A legtipikusabb ´es leggyakoribb (nem t´ ul m´elyen sz´ant´ o) felhaszn´ al´ asi lehet˝os´eg a fizika, f¨ oldrajz ´es k´emia ter¨ ulet´en u ´gy ad´ odik, hogy k´ezik¨ onyvek ´es t´abl´ azatok helyett a megfelel˝o programcsomagokb´ ol olvassuk ki a sz¨ uks´eges adatokat. Igazi, komplex alkalmaz´ asokat itt nem adunk, ezekr˝ ol egy gondolat´ebreszt˝o bevezet˝o k¨ onyv: [18]. Megeml´ıtj¨ uk, hogy a Mathematica (k´ezenfekv˝ o) term´eszet- ´es m˝ uszaki tudom´ anyos alkalmaz´asain k´ıv¨ ul k¨ ozgazdas´ agi alkalmaz´ asair´ol [84] vagy o k¨ onyv d¨ ont´est´amogat´o rendszerekkel kapcsolatos felhaszn´al´ asair´ol [43] sz´ol´ is jelent m´ ar meg.

¨ 5.1. Uzleti grafika A t´ abl´ azatkezel˝okh¨ oz vagy a hagyom´ anyos programoz´asi nyelvek u ´jabb, mindennel felszerelt v´ altozat´ ahoz szokott felhaszn´al´ o elv´arja, hogy rendelkez´es´ere ´alljanak azok a grafikai eszk¨ oz¨ok, amelyekkel az u ¨zleti ´es a politikai ´eletben megszokott ´abr´ ak elk´esz´ıthet˝ ok. A Mathematica k´esz´ıt˝ oi a

7  47  4 programcsomag jelent˝os r´esz´et ennek a feladatnak a megold´ as´ara szentelt´ek. Az al´ abbi f¨ uggv´enyekre gondolunk:

5   7   &$5      5  

   $5  

374

5. Matematik´ an k´ıv¨ uli alkalmaz´ asok

A 7  47  /4 programcsomag tartalmazza a k¨ovetkez˝o, hasonl´ o c´ellal k´esz´ıtett f¨ uggv´enyeket:

5  /

7  

A felsorolt f¨ uggv´enyek sz´amos opci´oval rendelkeznek. A lehet˝os´egek illusztr´al´ as´ara l´ assunk n´eh´ any p´eld´ at: E!H /OE!H /O 8 /H) (7 !J!! 9 .! $15 15 15% 9 6-)/ 0A $:: : : :P:%  9 .! $15 15 15% 9 H)(>> 0A J)) 9)( 6-) 0A :G :  9 .! $15 15 15% 9 H)(>> 0A $$ 15%% 9 & ) 0A $E!6)15  E!6)15  E!6)15 %

Mi En

1

1 Te

O

2

3

2

3

Tortadiagramokat teh´at ak´ ar a Mathematic´ a val is elk´esz´ıthet¨ unk. K´etdimenzi´os oszlopdiagramot szolg´altatnak az al´abbi utas´ıt´ asok: F!.! $   0  % F!& ) 0A 2 CA  ?EF.()(!1  1  C1 ?EF.()(! 1 1  ! ?EF.()(!  1 D3 E! >6 / 0A J (,  9! )F!.! $  0   5 % $0   % F!& )0A $?EF.()(!1  1  ?FE.()(!  1 % F!P!   ( 0A L(! I( ) J/ 0A ;)/ ;!, 0A

H´ aromdimenzi´ os oszlopdiagramot ´ıgy k´esz´ıthet¨ unk: E!H /OE!H /8O F!.! 8$$  % $   %% F(> 0A ;)/ J/ 0A ;)/ ;E! >/ 0A J)) 9)( ?7 0A J))

!

5.2. Hang

375

A k¨ ovetkez˝o utas´ıt´ as eredm´enye pedig azt mutatja, hogy f¨ uggv´enyek egy diszkr´et param´etert˝ol f¨ ugg˝ o sorozata hogyan a´br´ azolhat´ o c´elszer˝ uen: (I,  -) 9)( 111B, 2 " B, 113* >( $ >(  1% 8 /H); ( 0A >   $B,  1  % &('& BE!H /(I,

5.2. Hang A matematikai programcsomagok k¨oz¨ott sem gyakori, hogy egy programban hanggal kapcsolatos f¨ uggv´enyek is vannak (procedur´ alis nyelvekben — Pascal, BASIC — ink´ abb). A magban a k¨ ovetkez˝o f¨ uggv´enyeket tal´aljuk:

' $  $ 

$  $0    $

A    43$ 4 programcsomag f¨ uggv´enyei:

3 $ $

   ' $

0 )+ 

8$  $  )+ "

376

5. Matematik´ an k´ıv¨ uli alkalmaz´ asok

tov´ abb´ a a    4 4 csomag f¨ uggv´enyei:

  = & = &  



a hang finomabb m´ odos´ıt´ as´at ´es zenei hat´asok el´er´es´et seg´ıtik. (A hangseoval m´asutt — a bess´eggel — $  $ — mint fizikai a´lland´

   4' 

 4 programcsomagban — tal´alkozunk.) Ahhoz, hogy a k¨ ul¨ onb¨ oz˝o hangokat lej´ atszhassuk, kell, hogy a sz´am´ıt´ og´epben alkalmas hangk´ artya legyen. Els˝ o p´eldak´ent g´epelj¨ uk be a k¨ ovetkez˝oket: 9)& 11 "  &  11  $  1 %

Kett˝os eredm´enyt kapunk: megkapjuk a lej´ atszand´ o f¨ uggv´eny k´ep´et, valauggv´eny els˝o mint azt a hangjelens´eget, amelynek amplit´ ud´ o j´ at a ' f¨ argumentuma ´ırja le. K¨ ovetkezz´ek egy f´elelmetesebb, ¨osszetett hanghat´ast mutat´ o p´elda: 9)& 2&  * & &Q!  " 1 3 4 & &Q!  "  * & 111  $  1 1%

Ha u ´jra meg szeretn´enk hallgatni, akkor kattintsunk k´etszer a k´epet tartalmaz´o cell´ anak arra a r´esz´ere, ahol a kicsi hangsz´ or´ o l´ athat´ o. K´etsz´ olam´ u zene el˝o´ all´ıt´ as´ahoz k´etelem˝ u list´at kell megadnunk a ' f¨ uggv´eny argumentum´ aul. Adott alak´ u hanghull´ amokat ´ıgy a´ll´ıthatunk el˝ o: G /))(/OJ> (O /Q! 1  (!,&Q! 1 15 P! (/ 0A {-Sound-}

(A n´egyzetalakon k´ıv¨ ul m´eg n´eh´ any tov´ abbi is v´ alaszthat´o:   "   $" -

.) Amit kaptunk, az egy hangobjektum (hasonl´o, mint az ´abr´ azol´asn´ al szok´asosan el˝oa´ll´ o 7   objektum), megsz´olaltatni is hasonl´ oan lehet, mint a grafikus objektumokat megtekinteni: &('/Q! 1 {-Sound-}

Saj´ at magunk is alkothatunk egy hangszert”: ”

5.3. Id˝ o

377

7/I!  $$ % $5 15% $5 15M% $5 15% $5  15 % $5 15% $5 15) ( 1 11    ;!QG(>) (1 $$11 11% $11 11%%  H 0A 9!))) %  &(' Graphics

K¨ ovetkezz´ek egy d´ ur sk´ ala: G /))(/OG/ O &)@/ GK(! 1   &(' -Sound-

V´ alaszthatunk pitagoraszi, temper´ alt stb. sk´ al´ at is. Most egy tiszta kvintet fogunk hallani: 9)&  9 J) " &  9 )   $  1 15% -Sound-

Term´eszetesen a Mathematica lehet˝os´egeinek f¨olhaszn´ al´ as´aval — nem kev´es munk´ aval — zen´et is szerezhet¨ unk, ak´ ar megadott st´ılusban.

5.3. Id˝ o Az al´ abbi bels˝ o f¨ uggv´enyek a d´ atum ´es az id˝opont megad´ as´ahoz ´es k¨ ul¨ onb¨ oz˝o ´ atsz´am´ıt´ asokhoz haszn´alhat´ ok:

32   /  /

 >

  /

378

5. Matematik´ an k´ıv¨ uli alkalmaz´ asok

A    4 $ 4 programcsomag f¨ uggv´enyei a napt´ arakkal kapcsolatos sz´amol´asokhoz haszn´alhat´ ok:

 $   /') /'5- /'

  $'   $'7   $  ?- 1-@

A (mindenf´ele) sz´am´ıt´ asok elv´egz´es´ehez sz¨ uks´eges id˝ otartammal kapcsolatosak a

 

   

  $

A B   B$  

bels˝o f¨ uggv´enyek ´es a 2.4.2. pontban m´ ar t´ argyalt B   4 - 4 programcsomag. A mai d´ atumot — ahogyan azt a sz´ am´ıt´ og´ep oper´ aci´ os rendszere megadja — ´ıgy kaphatjuk meg: 8  {1995, 12, 10, 19, 32, 33}

Az id˝ oz´on´ at a  >

 f¨ uggv´eny szolg´altatja. A Jap´ anban haszn´ alt id˝ o a +9-es z´on´ anak felel meg, ez´ert az ottani id˝ o: 8 M {1995, 12, 11, 1, 34, 42}

Szeretn´enk megtudni, hogy h´ any m´ asodperc telt el 1900. janu´ ar elseje ´ota, a Mathematica mostani ind´ıt´ asa ´ota, ´es hogy a mostani alkalommal mennyi id˝ ot dolgozott a k¨ ozponti egys´eg (CPU): $J-/()  ,  &// ( , 

,R/> %

{3124160301, 456.78, 23.5}

K´erdezz¨ uk meg ugyanezt 10 m´asodperc v´ arakoz´as ut´ an, vagyis !C# kiad´ as´aval, ´es figyelj¨ uk meg, hogy a k¨ ozponti egys´eg a sz¨ unet k¨ ozben nem dolgozott. uggv´eny ad, az Az abszol´ ut id˝ ob˝ ol szok´asos alak´ u d´ atumot a  / f¨ uggv´eny feladata. ellenkez˝o ir´ any´ u a´talak´ıt´ as a  / f¨

5.4. Fizika (m´ert´ekegys´egek)

379

A    4B 4 programcsomagban az id˝ o legk¨ ul¨ onb¨ oz˝obb m´ert´ekegys´egei tal´ alhat´ ok meg. N´eh´ any p´elda:

     

 $ 

$   @

S ha nem lenne el´eg, akkor u ´jat is defini´ alhatunk: , ))  ,  5 G )) ,

5.4. Fizika (m´ ert´ ekegys´ egek) A fizik´ aban el˝ofordul´ o m´ert´ekegys´egek k¨ oz¨ ul neh´ez olyat megnevezni, amelyik ne lenne haszn´ alhat´ o, ez´ert megel´egsz¨ unk csup´ an a m´ert´ekegys´egek csoportjainak felsorol´ as´aval: az er˝o egys´egei a t´ avols´ag reciprok´anak egys´egei t´erfogategys´egek viszkozit´asegys´egek f´enyenergia- ´es intenzit´ asegys´egek a sug´ arz´as egys´egei sz¨ogek a teljes´ıtm´eny egys´egei

ter¨ uletegys´egek anyagmennyis´eg gravit´aci´ os gyorsul´ as m´agneses egys´egek egys´egszorz´ok nyom´ asegys´egek energiaegys´egek frekvenciaegys´eg sebess´egegys´eg

Mindezek — az ´atalak´ıt´ asaikhoz haszn´alhat´ o



+  

+    7 f¨ uggv´enyekkel egy¨ utt — a

   4B 4 programcsomagban tal´ alhat´ ok.

 T!> % {{453.592 Gram, 0.45359237 Kilogram, 0.45359237 Kilogram}, {91.44 Centimeter, 0.9144 Meter, 0.9144 Meter}, {2.54 Centimeter, 0.0254 Meter, 0.0254 Meter} .(! G  9(> 0.9463 Pound

K¨ ul¨ on f¨ uggv´eny kell a h˝ om´ers´eklet egys´egeinek ´atsz´am´ıt´ as´ahoz, mert ott a kapcsolatok a´ltal´ aban nem homog´en line´ arisak: .(! ,H! !11 ;!  C D # $.)/ / ?B  ?,!% {37.7778, 559.67, ConvertTemperature[310.928, Kelvin, Reaumur]}

A R´eaumur-f´ele sk´ al´ at teh´at nem ismeri a program. Tartalma miatt nem meglep˝o, hogy n´eh´ any k´emiaik´ent besorolt f¨ uggv´enyt, amelyek a    4   4 csomagba tartoznak, is itt aduk meg:

/  ' =

=D 

   2%    

$ + '

Tekints¨ uk a k¨ ovetkez˝o p´eld´ akat: L P;/ (+ !(7 0.72 Joule Kilo Mole 8/ + !(7 Density::temp: Returned density is for Nitrogen at 21 Kelvin. 1026. Kilogram 3 Meter

5.5. F¨ oldrajz (t´erk´epek)

381

A    4' 

 4 programcsomag sokf´ele fizikai (´es n´eh´ any k´es˝obb megeml´ıtend˝ o k´emiai) ´alland´ ot tartalmaz:

3 

/ 7 + ' 3 B +  3+ $ 

  5  8$  5 &



    

8$     8$  

  

 

)+  

7 

     

  $'

     

  7 + 



  =22

 

%    ,    7

    D   

   

 8$$    

 8'$2 

    

    8$  $0  $  $  

   

 

)  3 

Fejezz¨ uk ki a F¨ old t¨ omeg´et, a Planck-f´ele t¨omeget ´es a proton t¨ omeg´et az elektron t¨omeg´evel: G /))(/O9/ ).(/  /O $! G// 9)BG// 9!( (G//%) !(G// 54 22 {6.56026 10 , 2.38952 10 , 1836.15}

Az utols´ o sz´am feltehet˝oleg mindenkinek ismer˝ os.

5.5. F¨ oldrajz (t´ erk´ epek) A geogr´afia v´ altozni nem sz˝ un˝ o tud´ asanyag´ anak egy r´esz´et is megtal´aljuk a Mathematic´ a ban — az ´eppen aktu´ alis a´llapotnak megfelel˝oen. A v´ arosokra vonatkoz´ o adatokat a    4 '/4 programcsomag al´ abbi f¨ ugv´enyeivel ´all´ıthajuk el˝ o:

 '/  '/  

 ' 

A ' $

382

5. Matematik´ an k´ıv¨ uli alkalmaz´ asok

K¨ ul¨ onb¨ oz˝o m´odokon megadott t´erk´epeket tal´ alunk a

   4) $ 4 programcsomagban, amelynek f¨ uggv´enyeit az al´abbiakban adjuk meg:

   ) $/

) $7   ) $ 

´ Az orsz´agok k¨ oz¨ott megtal´ alhatjuk (ilyen csoportos´ıt´ asban) Eszak-Ame´ ´ rika, Eur´ opa, D´el-Amerika, Oce´ania (ebbe bele´ertik Ausztr´ali´ at), Azsia, K¨ ozel-Kelet ´es Afrika orsz´agait. Els˝ osorban ide tartoznak a   (

4' 

 4 csomag bizonyos ´alland´oi:

3 

/ 7 + ' 3 B + 

 

V´eg¨ ul megeml´ıtj¨ uk m´eg a    47 $'4 programcsomagot, mint rokon vonatkoz´ as´ ut. Hat´arozzuk meg Budapest ´eszaki sz´eless´eg´et ´es keleti hossz´ us´ ag´ at: G /))(/O. 8 O . 8 :F>H/ : {{CityPosition, {{47, 30}, {19, 5}}}}

Mennyi Budapest ´es Boston t´avols´aga? . 8 / :F>H/ : :F(/ (: 6707.98

A m´ert´ekegys´egr˝ol nem esik sz´o. Az al´ abbiak szerint val´ osz´ın˝ u, hogy m´erf¨ old: . 8 / :F>H/ : C D # $:U : :9!7: :!/':% {217.773, 445.438, 545.69}

´ azol´as c´elj´ Abr´ ab´ ol kiv´ alaszthatunk f¨ oldr´eszeket ´es orsz´agokat is. A sokf´ele lehet˝os´eg illusztr´al´ as´ara itt csak az al´abbi p´eld´ akat k¨ oz¨olj¨ uk: G /))(/O(!)>9)( O !B(!/I7  &' (!/I7 :+ 7! : E!6)15  :&(  J! : E!6)15M   E!6)15

5.6. K´emia (elemek)

383

(!)>9)( $J!  !B% (!)>9!(K ( 0A & /( >)

K¨ ul¨ onb¨ oz˝o st´ılus´ u vil´ agt´erk´epeket ´ıgy k´esz´ıthet¨ unk: (!)>9)( $(!)> ?>(,E!/% (!)>9)( $(!)> ?>(,E!/% (!)>?(  ( 0A $M1 1 1% (!)>?7 0A $$1 M1% $0 1  1%% (!)>9!(K ( 0A 6,-!JI , )

5.6. K´ emia (elemek) J´ ol tanulm´ anyozhat´ ok a k´emiai elemek a

   4   4 programcsomag f¨ uggv´enyeivel:

322 + 

3  12 3  ) 

5    /  ' 



  

384

5. Matematik´ an k´ıv¨ uli alkalmaz´ asok





  

    =

=D 

    

$ + ' 2%  

Szeretn´enk megtudni n´eh´ any fontos adatot a hidrog´enr˝ ol, a k´ aliumr´ ol ´es a n´ atriumr´ ol: G /))(/O., )), /O $J (,  7 C  L P;/ (C  8/ C  !,).(>  C  ) !(.( 7! (;(!, C %D # $L>!(7 9( // , &(> ,% Density::temp: Returned density is for Hydrogen at 11 Kelvin. ThermalConductivity::form: Returned thermal conductivity is for the gaseous form of Hydrogen. {{1.00794,

0.1815 Watt 0.12 Joule Kilo 76. Kilogram , , , 3 Mole Kelvin Meter Meter

1 1s }, 2.4 Joule Kilo 862. Kilogram 102.4 Watt , , , 3 Mole Kelvin Meter Meter 2 2 6 2 6 1 1s 2s 2p 3s 3p 4s },

{{39.0983,

2.64 Joule Kilo 971. Kilogram 141. Watt , , , 3 Mole Kelvin Meter Meter 2 2 6 1 1s 2s 2p 3s }}

{{22.98977,

Irodalomjegyz´ek

[1] Abell, M. L. and Braselton, J. P., Differential Equations with Mathematica, Academic Press, New York, 1993. [2] Adamchik, V., Finite and Infinite Series, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0204–006). [3] Adamchik, V. et al., Guide to Standard Mathematica Packages (Version 2.2.), Technical Report, Wolfram Research, Inc., 1993. [4] Andr´ asfai B., Ismerked´es a gr´ afelm´elettel, Tank¨ onyvkiad´ o, Budapest, 1971. [5] Andr´ asfai B., Gr´ afelm´elet, folyamok, m´ atrixok , Akad´emiai Kiad´o, Budapest, 1983. [6] Arnold, V. I., K¨ oz¨ ons´eges differenci´ alegyenletek , M˝ uszaki K¨ onyvkiad´ o, Budapest, 1987. [7] Becker, T. and Weispfenning, V. (In Cooperation with H. Kredel), Gr¨ obner Bases (A Computational Approach to Commutative Algebra), Springer-Verlag, 1993. [8] Bird, R. and Wadler, P., Introduction to Functional Programming, Prentice Hall, New York, 1988. [9] Blachman, N., Mathematica: Quick Reference, Version 2 , Variable Symbols, Inc., Oakland, CA, 1992. [10] Bocharov, A. V., Solving Equations Symbolically with Mathematica, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0204–017). [11] Bocharov, A.V., Solving Nonlinear Differential Equations with DSolve, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–960).

386

Irodalomjegyz´ek

[12] Braden, B., Krug, D.K., McCartney, P.W. and Wilkinson S., Discovering Calculus with Mathematica, John Wiley & Sons, New York etc. 1992. [13] Bressoud, D., Factorization and Primality Testing, Springer-Verlag, 1989. [14] Buchberger, B., An Algorithm for Finding a Basis for the Residue Class Ring of a Zero-Dimensional Polynomial Ideal, Ph.D. Thesis. Math. Inst. Univ. of Innsbruck, Austria, 1965. [15] Castillo, E., Solving a Functional Equation, The Mathematica Journal, Volume 5, Issue 1 (1995) 82–86. [16] Coombs, K. R., Differential equations with Mathematica, John Wiley and Sons, New York etc., 1995. [17] Coxeter, H. S. M., A geometri´ ak alapjai , M˝ uszaki K¨ onyvkiad´ o, Budapest, 1973. [18] Crandall, R. E., Mathematica for the Sciences, Addison-Wesley, New York, 1991. [19] Cs´asz´ar, A., Jicsinszky, L. and Tur´ anyi, T., Generation of Model Reactions Leading to Limit Cicle Behavior , React. Kinet. Catal. Let. 18(1–2), (1981), 65–71. ´ Val´ [20] Cs´asz´ar A., os anal´ızis I.-II., Tank¨ onyvkiad´ o, Budapest, 1983-84. [21] Davies, B., Porta, H. and Uhl, J., Calculus&Mathematica, Addison Wesley, New York, 1994. [22] De´ak I., V´eletlensz´ am-gener´ atorok ´es alkalmaz´ asuk , Akad´emiai Kiad´ o, Budapest, 1986. [23] Elekes Gy., Kombinatorika feladatok , (Egyetemi jegyzet), ELTE Budapest, 1992. [24] Ellis, W. Jr. and Lodi, E., A Tutorial Introduction to Mathematica, Brooks/Cole, 1991. [25] Feagin, J. M., Quantum Methods with Mathematica, Springer-Verlag, 1994. [26] Gaylord, R. J., Kamin, S. N., and Wellin, P. R., Introduction to Programming with Mathematica, Springer-Verlag, 1993. [27] Gaylord, R. J. and Wellin, P. R., Computer Simulations with Mathematica, Springer-Verlag, 1994.

Irodalomjegyz´ek

387

[28] Geddes, K.O., Czapor, S.R. and Labah, G., Algorithms for Computer Algebra, Kluwer Academic Publishers, Boston, 1992. [29] Gray, J.W., Mastering Mathematica, (Programming Methods and Applications), Academic Press, New York Professional, Boston, 1994. [30] Gray, T.W. and Glynn, J., Exploring Mathematics with Mathematica, Addison-Wesley, New York, 1991. [31] Haj´ os Gy., 1964.

Bevezet´es a geometri´ aba,

Tank¨ onyvkiad´ o, Budapest,

[32] Halmos, P. R. – Sigler, L.E., Elemi halmazelm´elet – Halmazelm´eleti feladatok , M˝ uszaki K¨ onyvkiad´ o, Budapest, 1981. [33] Harper, D., Waoff, Ch., Hodgkinson, D., A Guide to Computer Algebra Systems, J. Wiley & Sons, Chichester, New York, Brisbane, Toronto, 1991. [34] Heck, A., Introduction to Maple, Springer-Verlag, 1993. [35] Helzer, G., Gr¨ obner Bases, The Mathematica Journal, Volume 5, Issue 1 (1995) 67–73. [36] Hironaka, H., Resolution of Singularities of an Algebraic Variety over a Field of Characteristic Zero, Ann. Math. 79 (1964) 109–326. [37] Jones, J.P., Sato, D., Wada, H. and Wiens, D., Diophantine Representation of the Set of Prime Numbers, Amer. Math. Monthly 83 (6) (1976), 449–464. [38] Kamke, E., Differentialgleichungen (L¨ osungsmethoden und L¨ osungen), Leipzig, 1959. [39] Katona Gy. Y. ´es Recski A., Bevezet´es a v´eges matematik´ aba, (Egyetemi jegyzet), ELTE Budapest, 1992. [40] Keiper, J., Mathematica Numerics: Controlling the Effects of Numerical Errors in Computation, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–937). [41] Keiper, J., The N Functions of Mathematica, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–948). [42] Klincsik M. ´es Mar´oti Gy., Maple 8 t´etelben, Novadat, 1995. [43] Korsan, R. J., Decision Support Systems in Mathematica, SpringerVerlag, 1994. onyvkiad´ o, [44] K´osa A., Ismerked´es a matematikai anal´ızissel, M˝ uszaki K¨ Budapest, 1981.

388

Irodalomjegyz´ek

[45] Kuros, A. G., Fels˝ obb algebra, Tank¨ onyvkiad´ o, Budapest, 1967. [46] Lavrov, I. A., Makszimova, L. L., Halmazelm´eleti, matematikai logikai ´es algoritmuselm´eleti feladatok , M˝ uszaki K¨ onyvkiad´ o, Budapest, 1987. ´ ´es Sz´ava G., Numerikus anal´ızis p´eldat´ [47] Ledneczkin´e V´arhelyi A. ar szem´elyi sz´ am´ıt´ og´epekhez , (Egyetemi jegyzet), ELTE Budapest, 1990. [48] Leindler L. ´es Schipp F., Anal´ızis I., (Egyetemi jegyzet), ELTE Budapest, 1994. [49] Lenstra, H.W., Factoring Integers with Elliptic Curves, Annals of Mathematics, 126 (1987). [50] Lenstra, H.W.Jr., Lenstra, A.K., Lov´ asz, L., Factoring polynomials with rational coefficients, Math. An. 261 (1982), 515–534. [51] Maeder, R., Programming in Mathematica, Second Edition, AddisonWesley, New York, 1991. [52] Maeder, R., Programming in Mathematica, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–904). [53] Maeder, R., The Mathematica Programmer , Academic Press, New York Professional, Cambridge, 1994. [54] Martin, E., Introductory Statistics, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–915). [55] Martin, E., Advanced Statistics, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–916). [56] Moln´ arka Gy., Gerg´ o L., Wettl F., Horv´ ath A. ´es Kall´os G., A MapleV ´es alkalmaz´ asai , Springer Hungarica Kiad´ o Kft., Budapest, 1996. [57] M´ ori T. F. ´es Sz´ekely J. G. (szerk.), T¨ obbv´ altoz´ os statisztikai anal´ızis, o, Budapest, 1986. M˝ uszaki Kiad´ [58] Nakos, G. and Glinos, N., Computing Gr¨ obner Bases over the Integers, The Mathematica Journal, Volume 4, Issue 3 (1994) 70–75. [59] Niven, I., Zuckerman, H. S., Bevezet´es a sz´ amelm´eletbe, M˝ uszaki K¨ onyvkiad´ o, Budapest, 1978. [60] Novak, J.M., Mathematica Programming Style, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–926). [61] P´ al J., Simon P. ´es Schipp F., Anal´ızis II., (Egyetemi jegyzet), ELTE Budapest, 1994.

Irodalomjegyz´ek

389

[62] Pontrjagin, L. Sz., K¨ oz¨ ons´eges differenci´ alegyenletek , Akad´emiai Kiad´ o, Budapest, 1972. [63] Press, W. H., Flannery, B. P., Teukolsky, S. A. and Vetterling, W. T., Numerical Recipes in Pascal, Cambridge University Press, Cambridge, 1992. [64] Pr´ekopa A., Val´ osz´ın˝ us´egelm´elet m˝ uszaki alkalmaz´ asokkal, M˝ uszaki K¨ onyvkiad´ o, Budapest, 1974. [65] Ralston, A., Bevezet´es a numerikus anal´ızisbe, M˝ uszaki K¨ onyvkiad´ o, Budapest, 1972. [66] R´enyi A., A sz´ amjegyek eloszl´ asa val´ os sz´ amok Cantor-f´ele el˝ o´ all´ıt´ asaiban, Mat. Lapok 7 (1956) 77–100. [67] R´enyi A., Val´ osz´ın˝ us´egsz´ am´ıt´ as, Tank¨ onyvkiad´ o, Budapest, 1966. [68] Risch, R., The Problem of Integration in Finite Terms, Trans. Amer. Math. Soc. 139 (1965) 167–189. [69] Roach, K., Indefinite and Definite Integration, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0203–993). [70] Ross, C. C., Introductory Ordinary Differential Equations with Mathematica, Springer-Verlag, 1994. [71] R´ozsa P., Line´ aris algebra ´es alkalmaz´ asai , M˝ uszaki K¨ onyvkiad´ o, Budapest, 1974. [72] Rudin, W., A matematikai anal´ızis alapjai, M˝ uszaki K¨ onyvkiad´ o, Budapest, 1978. [73] Simon P., Ismerked´es a numerikus anal´ızissel, ELTE TTK Tov´ abbk´epz´esi Csoportj´anak kiadv´ anya, Budapest, 1990. [74] Simonovits M., Sz´ am´ıt´ astechnika, Tank¨ onyvkiad´ o, Budapest, 1983. [75] Skeel, R. D. and Keiper, J. B., Elementary Numerical Computing with Mathematica, McGraw-Hill, 1993. [76] Skiena, S., Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica, Addison-Wesley, New York, 1991. [77] Stroyan, K. D., Calculus Using Mathematica (Preliminary Edition), Academic Press, New York, 1992. [78] Todd, J., Basic Numerical Mathematics, Vol. 1, Vol. 2 , Academic Press, New York, 1980. [79] T¨or¨ ok T., Sz´ am´ıt´ og´ep a matematika´ or´ an, 1994.

TYPOTEX, Budapest,

390

Irodalomjegyz´ek

[80] Trott, M., The Mathematica Guidebook , Springer-Verlag, 1994. [81] Tur´ an P., Faktori´ alisos” sz´ amrendszerbeli sz´ amjegyek” eloszl´ as´ ar´ ol, ” ” Mat. Lapok 7 (1956) 71–76. [82] Tusn´ ady G. ´es Ziermann M. (szerk.):, Id˝ osorok anal´ızise, Kiad´ o, Budapest, 1986.

M˝ uszaki

[83] Varga T., Matematikai logika 1.-2., Tank¨ onyvkiad´ o, Budapest, 1966. [84] Varian, H. (et. al), Economic and Financial Modeling with Mathematica, Springer-Verlag, 1993. [85] Vincze I., Matematikai statisztika ipari alkalmaz´ asokkal, M˝ uszaki K¨ onyvkiad´ o, Budapest, 1968. [86] Vvedensky, D., Partial Differential Equations with Mathematica, Addison-Wesley, New York, 1993. [87] Wagon, S., Mathematica in Action, W. H. Freeman, New York, 1991. [88] Withoff, D., Statistics Examples, Reprint from The Mathematica Conference, Boston, 1992 (MathSource 0201–508). [89] Wolfram, S., Mathematica: A System for Doing Mathematics by Computer , Second edition, Addison-Wesley, New York, 1993. [90] Wu, Wen–Tsun, Basic Principles of Mechanical Theorem Proving in Elementary Geometries, J. Automated Reasoning 2 (1986) 221–252.

T´argymutat´ o

; (CompoundExpression) 22 % (Out[]) 23 %n (Out[n]) 23 ? (Names) 24 ?? (Information) 25 (*...*) (komment´ ar) 22 && (And) 70 | (Alternatives) 70 || (Or) 70 ! (Not) 70 + (Plus) 87 - (Subtract) 87 * (Times) 22, 87 / (Divide) 87 ^ (Power) 87 . (Dot) 279 ’ (Derivative) 194 ! (Factorial) 23, 252 !! (Factorial2) 23, 252 ^^ 91 = (Set) 22, 36 := (SetDelayed) 22, 37 == (Equal) 22 === (SameQ) 22 != (Unequal) 22 =!= (UnsameQ) 22 < (Less) 84 (Greater) 84 >= (GreaterEqual) 84 {...} (List) 22 [...] 22 [[...]] (Part) 22, 31 & (Function) 107 # (Slot) 107 ## (SlotSequence) 108 _ (Blank) 37 __ (BlankSequence) 39 ___ (BlankNullSequence) 39 ? (PatternTest) 109 -> (Rule) 35

:> (RuleDelayed) 36 @ (f¨ uggv´enyalkalmaz´ as) 110 @@ (Apply) 72, 77, 289 /@ (Map) 34, 77 //@ (MapAll) 34, 77 /. (ReplaceAll) 35, 155 //. (ReplaceRepeated) 36, 155 /; (Condition) 39, 109 Abs 89, 100 AccountingForm 49, 92 Accuracy 94 alapszavak 23 AlgebraicRules 144 Alternatives 70 And 70 Apart 146 Apply 72, 77, 289 approxim´ aci´ o Pad´e 215 polinom 210 racion´ alis 215 spline 216 Arg 89, 101 ArithmeticGeometricMean Array 34, 274 atom 30 Attributes 44 Automatic 43 BaseForm 90 be´ep´ıtett f¨ uggv´eny 23 bels˝ o f¨ uggv´eny 23 BesselZeros 183 Binomial 251 Cancel 146 CartesianMap Cases 361

131

186

392 Catalan 89 Cauchy-f´ele f˝ o´ert´ek 207 CauchyPrincipalValue 207 Ceiling 98 CForm 50 Circle 264 Clear 45 ClearAll 45 ClearAttributes 45 Close 51 Coefficient 137 CoefficientList 137 Collect 137 ColumnForm 272 Complement 77 Complex 88 ComplexExpand 148 ComplexMap 131 ComposeList 113 Composition 112 computer algebra systems 14 Condition 109 Conjugate 89 ConstrainedMax 302 ConstrainedMin 302 ContourPlot 123 CopyDirectory 58 Count 38, 361 CountRoots 166 Cuboid 264 CylindricalPlot3D 130 D 192 Decompose 113, 140 Denominator 146 DensityPlot 124 Derivative 194 Descartes-szorzat 82 Det 282 DiagonalMatrix 275 Dimensions 272 DiracDelta 77 Dirichlet-mag 157 $DisplayFunction 122 DisplayFunction 122 Do 361 Dot 279 Drop 77 DSolve 229

T´argymutat´ o E 22, 89 Eigenvalues 297 Eigenvectors 298 Eliminate 145 elj´ ar´ as 23 EllipticIntegrate 203 EngineeringForm 92 Equal (==) 22, 70 EulerGamma 89 Euler–Maclaurin-f´ele m´ odszer EulerSum 189 Evaluate 48 EvenQ 90 Expand 136 ExpandAll 146 ExpandDenominator 146 ExpandNumerator 146 ExpPlot 32 ´ert´ekad´ as azonnali 36 glob´ alis 36 k´esleltetett 36 lok´ alis 35

189

Factor 138, 308 Factorial (!) 23, 251 Factorial2 (!!) 23, 251 FactorInteger 313 FactorList 140, 308 FactorSquareFree 138, 308 FactorSquareFreeList 140, 308 FactorTerms 137, 308 FactorTermsList 140, 308 felhaszn´ al´ oi fel¨ ulet 20 FindMinimum 200 FindRoot 179 First 33 Fit 220 FixedPoint 113 FixedPointList 113 Flat 44 Flatten 34 FlattenAt 34 Floor 98 Fold 310 For 362 FortranForm 50 Fourier 220 Fourier-transzform´ alt 219

T´argymutat´ o FreeQ 77 FullForm 30 FullOptions 43 Function 106 f¨ uggv´enyek be´ep´ıtett 23 bels˝ o 23 k¨ uls˝ o 23 matematikai 100 Mathematica 30 megad´ asa 103 primit´ıv 201 speci´ alis 181 sz´els˝ o´ert´ekei 197 tiszta 106 f¨ uggv´enyjel¨ ol´esi m´ odok

393

110

GaussianIntegers 90 GCD 306 Get 51 g´epi pontoss´ ag´ u sz´ amok 93 GoldenRatio 89 grafikus direkt´ıv´ ak 264 elemek 264 objektumok 264 Graphics 264 GraphicsArray 132 GroebnerBasis 143, 171 Gr¨ obner-b´ azisok 141, 170 hat´ ar´ert´ek sorozat´e 185 f¨ uggv´eny´e 190 hatv´ anyhalmaz 83 Head 30 Hesse-f´ele m´ atrix 199 Hold 48 HoldAll 48 HoldFirst 48 HoldForm 49 HoldRest 48 I 89 Identity 107 IdentityMatrix 275 If 359 igazs´ agt´ abl´ azat 71 Im 89, 149

ImplicitPlot 128 Implies 70 Indeterminate 185 inform´ aci´ oszerz´es 24 Infinity 89 Inner 34 InString 51 Integer 88 IntegerDigits 91 IntegerQ 90 Integrate 201, 204 InterpolatingPolynomial 213 Interpolation 216 Interval 85 IntervalIntersection 86 IntervalMemberQ 86 IntervalUnion 86 Inverse 285 InverseFourier 220 InverseFunction 114 Jacobi-m´ atrix 196 jegyzetf¨ uzet (notebook) 20 Join 33 JordanDecomposition 299 karakterk´eszlet 22 kernel (mag) 20 ki´ert´ekel´es elvei 95 szab´ alyos 47 k¨ ul¨ on¨ os 48 kifejez´es matematikai 135 Mathematica 29 k¨ ozel´ıt˝ o aritmetika 92 k¨ ozel´ıt˝ o numerikus ´ert´ek 88 k¨ uls˝ o f¨ uggv´eny 23 kvadratikus reciprocit´ as 317 $Language 49 LatticeReduce 307 LCM 306 LeafCount 59, 135 odszere legkisebb n´egyzetek m´ Length 272 Less (