Maple je integrovaný matematický systém. Patří do "rodiny" systémů, s jejichž jmény jste se možná již
někdy setkali (Mathematica, REDUCE aj.). Umí provádět analytické výpočty se vzorci, ale stejně dobře zvládne
i numerický výpočet, grafické zobrazení výsledků, a umožňuje uživateli souběžně dokumentovat svou postupující práci až
po vytvoření článku v LATEXu nebo HTML dokumentu v podobě webovské stránky. Jedním příkazem zjistíte, že
derivace funkce sin(x) je cos(x), druhým, že hodnota této funkce v bodě Pí / 4 je 0.7071067810,
navíc s "libovolnou" přesností, a třetím získáte její graf např. v intervalu <-Pí, Pí> . Čtvrtý povel vám animací
zobrazí měnící se podobu "cosinového kopce" v tomto intervalu v závislosti na časovém parametru, kterým funkci cos(x)
například vynásobíte. V Maple jsou k dispozici tisíce příkazů a funkcí v tzv. jádru a ve více než sedmdesáti tématicky
specializovaných sadách. Spočítané algebraické výrazy můžete přeložit do fortranu nebo céčka. Maple má
pro zájemce vlastní pokročilý programovací jazyk, v němž se dají psát i velmi rozsáhlé aplikace. Vytvořený zdrojový kód
můžete zkontrolovat po syntaktické stránce aplikací Mint, při ladění algoritmu vám pomůže mapleovský ladící
prostředek (Maple debugger). Existuje celá řada formátů, v nichž můžete výsledky své práce ukládat, od nejběžnějšího
formátu mapleovského pracovního listu (Maple worksheet format), v němž během mapleovské seance pracujete, přes formát
LATEXu, RTF, jehož volba vygeneruje soubor dále zpracovatelný nějakým textovým procesorem, např. MS
Wordem, až po formát HTML. Systém byl vyvinut převážně v Kanadě na University of Waterloo, a proto dostal
jméno Maple (javor).
2. KDE MAPLE POUŽÍVAT
Maple poskytuje dvě aplikace, standardní verzi (pouze pro interakci), která nabízí uživateli pokročilé
grafické rozhraní s možností plného využití všech prostředků systému, a řádkovou verzi (pro interakci i dávkové
úlohy), přes kterou je "rychlý přístup k matematice", ale dostupná je v ní jen primitivní znaková grafika.
Pro používání Maple máte v principu dvě možnosti:
Jste jako uživatelé zavedeni na linuxových serverech cedr (Cukrovarnická) a sosna (Slovanka)
a/nebo na superpočítači luna. Přihlásit se do systému na některém z těchto počítačů a spustit standardní verzi s
grafickým rozhraním můžete z počítače, na němž je nainstalováno prostředí X11 Release 5 nebo vyšší (např. PC
s Linuxem nebo PC s MS Windows, kde běží nějaká z emulací X terminálu, např. eXceed
aj.).
Nainstalujete si (buď sami nebo za pomoci pracovníka SAVT) z ústavem zakoupených CD Maple na vlastním pécéčku.
Kontrola požadových výpočetních zdrojů pro úspěšný běh Maple je prvním krokem instalačního postupu.
Aktuální stav verzí Maple na serverech ve správě SAVT:
Číslo verze
Počítač
Operační systém
Povel pro standardní verzi
Povel pro řádkovou verzi
12
cedr
SUSE Linux Enterprise Server 10
xmaple
maple
11
cedr
SUSE Linux Enterprise Server 10
xmaple11
maple11
10
apollo2 až apollo8
Linux Fedora Core 4
xmaple
maple
9.5.1
luna1 a luna2
Solaris 9
xmaple
maple
10
cedr (sie127)
SUSE Linux Enterprise Server 10
xmaple10
maple10
10
sosna (sie154b)
SUSE LINUX 10
xmaple
maple
9.5
cedr
SUSE Linux Enterprise Server 10
xmaple95
maple95
9.5
sosna
SUSE LINUX 10
xmaple95
maple95
9
cedr
SUSE Linux Enterprise Server 10
xmaple9
maple9
9
sosna
SUSE LINUX 10
xmaple9
maple9
3. PŘÍKLADY
Protože jednou vidět je lepší než stokrát jen číst, uvádíme zde stručný příklad, který vás samozřejmě nechce
Maple naučit, ale chce vám poskytnout základní pohled na něj. HTML stránka
lyžařka je výsledkem exportu pracovního listu (mapleovského grafického okna,
v němž interaktivně řešíte a dokumentujete svou práci) do formátu HTML. Zadání příkladu je poměrně stručné: Lyžařka
vystoupila na vrcholek kopce, který je posán funkcí f. Chce sjet nejstrmější cestou. Nalezněte pro ni tuto cestu!
Stránka po nadpisu a jménu autora začíná popisem problému, následuje 3D zobrazení kopce pro základní představu. V
následujícím odstavci se počítají parciální derivace (algebraicky) a řeší soustava rovnic; výsledkem je nalezení (numerických)
souřadnic nejvyššího bodu.
Dále spočítáme souřadnice startovního bodu lyžařky "kousek" pod vrcholkem (posun o +(0.05,0.05)). Potom začneme hledat dráhu
sjezdu. Nejprve si pomocí 2D grafu zobrazíme vrstevnice kopce. V dalším odstavci provedeme potřebné deklarace a inicializace.
Samostatný odstavec ukazuje použití for, což je příkaz cyklu v mapleovském programovacím jazyku (Maple
Programming Language). Pomocí těchto
prostředků aproximujeme dráhu sjezdu pomocí 25 bodů. Vrátíme se k vizualizaci: kopec jsme tentokrát zobrazili v "kostce" s popsanými
osami, přikreslili jsme žlutě startovní bod lyžařky a červeně dráhu jejího sjezdu. Na závěr jsme ještě přidali 2D animaci,
zobrazující posloupnost řezů kopcem vedených rovnoběžně s osou x.
Podrobný popis tohoto příkladu i množství dalších informací o systému Maple naleznete v příručce
L1 Maple 8, kterou si můžete stáhnout v postscriptovém nebo pdf formátu ze stránky
učební texty.
Maple umožňuje také rozsáhlou škálu 3D animací, tedy animací "v prostoru". I při nich je možné
využít např. přes 30 různých systémů souřadnic (vzorce pro přepočítávání souřadnic zvoleného systému do systému
souřadnic kartézských naleznete na stránce přímého systému nápovědy, kterou získáte příkazem ?coords (viz kap. 6)).
Ukázky těchto animací si můžete prohlédnout přes stránku příklady 3D animací.
Dále máte k dispozici např. volbu počtu rámců, které se mají při výstupu animace do jediného výstupního pole zobrazovat,
počet a výběr barev pro zobrazovaný objekt, způsob osvětlení, styl zobrazení, typ os, škálu projekce, míru průhlednosti,
otáčení nebo posouvání objektu aj. Řadu těchto manipulací můžete provádět pomocí tzv. kontextově závislého menu,
které vyvoláte kliknutím pravého tlačítka myši na grafický výstup. Do jedné stránky jsme soustředili několik příkladů použití
těchto manipulací, přístup k nim je opět přes stránku příklady 3D animací.
4. ORGANIZACE SYSTÉMU
Maple je rozčleněn na jádro a knihovnu:
Jádro se zavede do operační paměti při zahájení mapleovské seance (např. povelem xmaple ). Obsahuje základní příkazy pro mapleovský
interpret jazyka (který překládá zadávané příkazy do strojových instrukcí, jimž "rozumí" procesor počítače), příkazy pro
numerické výpočty a příkazy pro zobrazování výsledků a provádění dalších vstupních a výstupních operací. Jádro sestává z
vysoce optimalizovaného kódu jazyka C a představuje zhruba jen 10% velikosti celého systému. Záměrně malá velikost
jádra umožňuje pracovat se systémem rychle a efektivně.
Knihovna obsahuje zbývajících 90% mapleovských matematických dovedností a je již naprogramována v jazyku Maple.
Knihovna je rozdělena do dvou částí: první tvoří hlavní knihovna a druhou tzv. sady:
Hlavní knihovna obsahuje nejčastěji používané mapleovské příkazy (procedury, funkce), samozřejmě odlišné od
těch, které jsou v jádře. Tyto příkazy se zavedou do paměti na základě jejich požadavku, takže na jejich zavedení nemusíte
vykonávat nějakou explicitní akci. Jazyk Maple produkuje velmi úsporné rutiny, které jsou načítány bez pozorovatelného
zdržení, takže si zřejmě ani nepovšimnete, které příkazy jsou obsaženy v jádře a které jsou zaváděny z hlavní knihovny.
Sady obsahují zbývající příkazy mapleovské knihovny. V každé sadě jsou příkazy tématicky sdružené; např. sada
LinearAlgebra obsahuje příkazy pro práci s maticemi a vektory. Nejběžnějším zpřístupněním všech prostředků dané
sady je použití příkazu with, např. tedy with(LinearAlgebra) zpřístupní všechny prostředky sady
LinearAlgebra. Přehled sad v nejnovější verzi systému naleznete v tabulce sady. Kompatibilita se staršími verzemi zůstává obvykle dlouho zachována.
5. TYPICKÉ ZPŮSOBY POUŽITÍ MAPLE
S Maple si každý uživatel najde svůj způsob jeho použití, který mu bude vyhovovat. Zde uveďme několik
typických ukázek:
Rychlý superkalkulátor - Chcete např. zjistit integrál funkce sin(x)*cos(x), určit hodnotu determinantu
matice se symbolickými výrazy, spočítat, kolik je 2 na 357, určit hodnotu čísla Pí na dvacet míst, nebo logaritmickou
hodnotu čísla 123.456789. V těchto situacích používejte řádkovou verzi systému.
Rozsáhlejší matematický problém - Ať už se týká pouze algebraických nebo numerických výpočtů nebo grafických
2D či 3D zobrazení nebo jakékoli kombinace těchto oblastí, budete se k výpočtům vracet, měnit vstupní
parametry a podobu výstupů. Použijte standardní verzi a pracujte uvnitř mapleovských pracovních listů (Maple worksheets).
Můžete je jako soubory snadno ukládat a jste v interaktivním prostředí, které vám umožňuje veškerý grafický komfort.
Tvorba vědeckého dokumentu - Vytváříte strukturovaný text, obsahující "aktivní matematiku", s níž lze provádět
změny výrazů a aktualizovat hodnoty řešení problému. V rámci vysvětlujícího textu vkládáte algebraické výrazy ve dvojrozměrné
podobě, jak je v matematických textech běžné. Do dokumentu zařazujete rozmanité grafy. V dokumentu používáte různé styly,
fonty, hyperlinky, tabulky, palety a další prostředky. Někdy si přejete výstupy své práce převést do LATEXu nebo HTML
dokumentu. Ve všech těchto případech používejte standardní verzi.
Velmi rozsáhlý problém s velkými nároky na paměť a čas procesoru - Využijte vlastního programovacího jazyka
Maple a možnosti volat řádkovou verzi z dávkových úloh, obvykle s přesměrováním standardního vstupu (z něj se budou
číst mapleovské příkazy, které chcete provést), standardního výstupu (do něj se budou zapisovat výsledky) i chybového souboru
(zprávy o případných chybách). Dávkovou úlohu pak zadáte např. povelem at .
Povel maple má mnoho voleb. O všech těchto volbách se můžete dozvědět zadáním příkazu ?maple (po zavolání
systému).
6. INFORMACE
Informace o Maple lze získávat převážně z následujících zdrojů:
Přímý systém nápovědy, který poskytuje samotný Maple. Je vhodný pro zjištění správné syntaxe
mapleovských příkazů a pro postupné seznamování se s prostředky systému Maple. Mezi způsoby, jak informace v přímém
systému nápovědy zpřístupnit, patří příkaz help (informace o něm: za mapleovský prompt napište ?help ) nebo
prvek Help (poslední v první liště okna, které se vám otevře po zadání povelu xmaple ); kliknutí na tento prvek
vám zpřístupní bohaté menu.
Sada manuálů, které si lze půjčit u operátorek (Cukrovarnická, linka 423). Ke každé verzi to obvykle bývá Learning
Guide, Introductory Programming Guide a Advanced Programming Guide.
Výpočty v oblasti počítačové algebry bývají často náročné na výpočetní zdroje. Jejich dalším
charakteristickým rysem je to, že jejich nároky v těchto směrech mohou prudce expandovat. Pokud spustíte příliš náročný
výpočet na svém pécéčku, které v důsledku toho "zamrzne", obvykle se nic příliš "tragického" nestane; vždy je po ruce
jako poslední krok reboot. Pokud ovšem sdílíte počítač s dalšími uživateli, může se dosažení takového stavu stát
kritickým. Na serverech cedr a sosna je pro příkazy volání řádkové i standardní verze nastaveno omezení
na čas centrální jednotky 96 hodin (takže POZOR: Pokud váš výpočet trvá déle, automaticky se ukončí !), limit na operační paměť
je 1 gigabajt, velikost souboru core, který se vytváří např. při přerušení výpočtu v důsledku nejrůznějších chyb, by
neměla přesáhnout 10 megabajtů. NEPŘEKRAČUJTE, PROSÍM, TYTO HODNOTY! Během práce s grafikou se vám také může při některých
(nejčastěji mnohokrát opakovaných) příkazech stát, že se spustí příliš velké množství procesů najednou (někdy až mnoho
stovek; jedná se obvykle o javu). Při ladění grafických výpočtů je dobré čas od času počet svých běžících procesů
zkontrolovat (např. povelem ps -u uživatel | wc -l , který napíšete za linuxový prompt).
Na superpočítači luna zatím podobná omezení nastavena nejsou.
8. KDYŽ JSOU S MAPLE PROBLÉMY
Pokud narazíte při práci s Maple na nějaký problém nebo máte nějaký dotaz, obraťte se prosím na kontaktního pracovníka ze SAVT, nejlépe e-mailem: cejchan@fzu.cz . Ten se vám pokusí poradit nebo váš problém pošle
distributorovi Maple pro ČR jako reklamaci. Aktuální stav vyřizování reklamací naleznete zde.