Recenze softwaru SpaceTime

Recenze softwaru SpaceTime | foto: Mobil.iDNES.cz

Sen každého studenta: sinus, cosinus, deskriptiva

  • 5
Uživatel Windows Mobile nemusí být zrovna vědeckým výpočtářem nebo matematickým nadšencem, aby dospěl k závěru, že standardní aplikace kalkulačky nepatří mezi příliš povedené. Program SpaceTime, který si dnes podrobněji představíme, stojí na pólu přesně opačném.

Výkonný grafický kalkulátor, který si hravě poradí s vykreslením téměř libovolné funkce a zvládne i diferenciální počet funkcí jedné či dvou proměnných, je jistě snem snad každého studenta střední či vysoké školy technického typu. Není divu, grafy složitějších funkcí již nejsou tak snadné pro představu a bleskově vypočtený integrál zase poslouží jako kontrola.

Ne každému se však chce investovat nemalé peníze do kalkulačky, která si s uvedenými partiemi matematiky poradí. Majitelé Pocket PC, kteří po podobném nástroji pokukují, však tento problém mohou klidně pustit z hlavy – elegantním a ne tolik nákladným řešením je totiž program SpaceTime. Program, který toho dokáže víc, než si dokážete představit.

Po spuštění programu lze začít s prováděním matematických operací prakticky ihned, žádné zbytečné zdlouhavé nastavovaní tady nehrozí. Obrazovka je rozdělena na tři části. Vrchní lišta slouží ke snadnému přepínaní mezi moduly (výpočty, grafy,zápisník,...), prostřední část je vyhrazena pro zobrazování vlastních operací a spodní polovina patří klávesnici, přičemž jejíž levý sloupec slouží k přepínání mezi jednotlivými oddíly (základní výpočty, diferenciální počet, matice…).

V horní liště se nachází celkem devět ikonek, jejichž funkce jsou zřejmé na první pohled. První ikonka patří těm nejzákladnějším algebraickým výpočtům. V tomto módu tak lze provádět triviální výpočty (sčítání, odčítání, násobení, dělení, mocnina, odmocnina, převrácená hodnota daného čísla). Najdeme zde však i tlačítka pro goniometrické funkce. Poklepáním na tlačítko 2nd se rozvine nabídka dalších funkcí. Goniometrické funkce vystřídají funkce cyklometrické, nabízí se operace s logaritmy (dekadické i přirozené) či absolutní hodnotou čísla. Tlačítka re a im zase patří komplexním číslům, která je možno převádět na jednotlivé tvary. Složené závorky zase oceníte nejen při operacích maticového počtu. Ale nepředbíhejme...

Operace s polynomy
Funkce Apart (polynom/polynom) převede danou racionální funkci na parciální zlomky. Tento velmi nepříjemný a leckdy zdlouhavý úkol, který často předchází integraci, tak mohou uživatelé tohoto programu pustit z hlavy. Úkon Degree (polynom, proměnná) již tak užitečný a potřebný není, protože vrací pouze nejvyšší stupeň proměnné v daném polynomu. Další funkcí je Expand ((polynom)∙(polynom)), která provede roznásobení a úpravu daných výrazů. Možnost Factor (polynom) provede rozklad daného polynomu v součin kořenových činitelů.

SpaceTime_základní výpočty

SpaceTime - základní výpočty  SpaceTime - dělení polynomů  SpaceTime - úpravy výrazů

SpaceTime - rozklad na parciální zlomky  SpaceTime - řešení rovnic 1. až 3. stupně  SpaceTime - součin kořenových činitelů

Dělení mnohočlenu mnohočlenem je další nepříjemnou procedurou, v níž je snadné chybovat. Naštěstí je zde SpaceTime a jeho funkce PolyDivide (dělenec, dělitel), která si s tímto problémem poradí s elegancí sobě vlastní. Výsledek se pak vrací ve tvaru (polynom, zbytek). Funkce Quotient respektive Remainder se zadává ve stejné formě, ovšem výsledek se zobrazuje beze zbytku, resp. je vrácen pouze zbytek při dělení. Poslední funkcí této partie je uvedení daných lomených výrazů na společného jmenovatele, čehož docílíme pomocí operace Together (výrazy).

Program nabízí i řešení lineárních, kvadratických a kubických rovnic. S rovnicemi vyššího stupně si ale neporadí. Výpočet provádíme formulkou Solve (rovnice, proměnná).

Diferenciální počet
Limity a derivace
Ocitáme se v kruzích vyšší matematiky a ukážeme si, jak program dokáže pracovat s limity, derivacemi a integrály. Limity se zadávají ve tvaru Limit (funkce, proměnná, bod, směr), přičemž bod volíme v závislosti konvergence proměnné (k nule, k nekonečnu…). Položka směr pak udává, zda se proměnná blíží k dané hodnotě zprava respektive zleva (volíme 1 resp. -1).

Derivace elementárních funkcí nejsou záležitostí nikterak složitou, problém ale může nastat při derivování funkcí složených. Představme si nějakou sympatickou funkci skládající se z kombinace polynomů, výrazů pod odmocninou či v exponentu a ještě kořeněnou hrstkou cyklometrických funkcí. No, tady už první derivace nebude až tolik triviální. A derivace vyššího stupně? Ty už skoro nepřichází v úvahu. Ukažme si ale, jak se těmito nástrahami prokouše dnes recenzovaný program.

Tlačítko k provádění této operace najdeme, podobně jako limity a integrály, v prvním řádku oddílu pro diferenciální počet. Funkce zadáváme v podobě D (funkce, proměnná, stupeň derivace). Pokud přitom proměnnou a stupně derivace nevyplníme, automaticky se provede první derivace té proměnné, která se ve funkci vyskytuje. Parciální derivování se provádí analogicky, pouze je nutno specifikovat, podle které proměnné se má počítat.

SpaceTime_časový průběh funkce

SpaceTime - derivace složených funkcí  SpaceTime - derivace složených funkcí  SpaceTime - parciální derivace

SpaceTime - limity ve vlastních bodech  SpaceTime - parciální derivace  SpaceTime - Taylor a Fourierovy řady

S derivacemi přímo souvisí aproximace dané funkce pomocí Taylorova rozvoje v určitém bodě, což se provádí následovně: Series (funkce, proměnná, bod, stupeň výsledné rovnice). Obdobná filosofie se použije i v případě rozkladu funkce do Fourierovy řady (FSeries (funkce, proměnná, stupeň). Příkazem Sum (funkce, proměnná, počátek, konec) se provede součet dané řady příslušné proměnné v daných mezích.

Integrály
Dostáváme se k možnostem integrace, což je proces ještě složitější, než v předchozím případě. Možnosti integrování jsou velmi rozmanité. Škoda jen, že zde není možnost sledovat výpočet krok za krokem, kterou některé vyspělé kalkulátory nabízejí. Výsledek tak může sloužit především jako kontrola.

Zadávání provádíme ve tvaru ∫(funkce, proměnná, horní mez, spodní mez), což znamená, že lze počítat i určité integrály. U běžných příkladů není nutno zadávat proměnnou – pokud omylem zadáte dvě různé proměnné, program na to upozorní. Fakt, že software vrací výsledky ve správné formě matematických symbolů (tedy například namísto čísla 1,41 se objeví odmocnina ze dvou) oceníte právě v těchto režimech, kde bývají výsledky velmi složité. Pravdou však je, že ne vždy jsou výsledky v základním tvaru a často je možné je ještě dále upravovat. 

SpaceTime_výpočet neurčitých integrálů

SpaceTime - některé integrály nepočítá  SpaceTime - dvojný integrál  SpaceTime - dvojný integrál

 SpaceTime - Hessián a Jacobián  SpaceTime - operátory  SpaceTime - výpočet určitých integrálů  

Je zajímavé, že si software s některými i velmi jednoduchými příklady neví rady a to i při různých způsobech zadávání. Pokud se s podobným problémem setkáte, kontaktujte výrobce. Aktualizace vycházejí poměrně často, jsou samozřejmě majitelům licence volně dostupné a zjištěné chyby bývají postupně odstraňovány.

Na řadu přichází další etapa, kterou jsou matematické operátory diferenciálního počtu funkce jedné a dvou proměnných. Jsou jimi gradient, divergence a rotace a najdeme je ve stejné nabídce jako předcházející funkce. Začněme gradientem, což je vektor parciálních derivací. Zapisujeme ve tvaru Gradient (funkce), následně obdržíme výsledek ve vektorovém tvaru. Shodným způsobem se zadává funkce Hessian, která vrátí výsledek ve formě matice. Dalším operátorem je divergence. Po zadání kýžené funkce ve tvaru Divergence ({f(x),f(y),f(z)}) program vrátí výsledek ve formě součtu jednotlivých parciálních derivací (při zápisu nezapomenout hranaté závorky – program při jejich absenci nepracuje). Stejná zásada platí u operátoru Curl (rotace) a výpočtu Jacobovy matice (Jacobianu).

Operace s maticemi a vektory
Na řadu přichází významná partie lineární algebry, kterou je maticový počet a záležitosti s ním spojené. Matice zadáváme v podobě a={{1,2,3},{4,5,6},{7,8,9}} (do paměti tak lze naprogramovat až několik desítek matic a s nimi pak pohodlně pracovat). Po stisknutí volby Solve se jednotlivé koeficienty matice vepíší do tabulky a matici tak vidíme v celé její kráse. Determinant snadno vyřeší funkce Det (a). Pokud zvolíme možnost Transpose (a), potom program vrátí transponovanou matici (zamění řádky za sloupce).

SpaceTime_výpočet determinantu matice

SpaceTime - hledání inverzní matice  SpaceTime - mocnina čtvercových matic  SpaceTime - výpočet soustavy lineárních rovnic

 SpaceTime - transponování matice  SpaceTime - vlastní hodnoty matice  SpaceTime - operace s vektory 

Hledání inverzní matice je jasně nejzdlouhavějším úkonem, ve kterém se velmi snadno chybuje. Vývojáři programu naštěstí i na tuto nepříjemnost pamatovali a tak stačí zvolit Inverse (a) a rázem je po složitém a únavném počítání – hledanou inverzní matici vidíme na displeji. MatrixPower (a,x) provede x-tou mocninu dané čtvercové matice. S maticemi přímo souvisí řešení soustav algebraických rovnic. Postup je takový, že danou soustavu zapíšeme jako matici a následně zvolíme funkci RowReduce (a), která vrátí výsledek ve formě tabulky.

Významnou funkcí je i výpočet vlastních hodnot (čísel) dané matice, čehož docílíme zadáním formulky Eigenvalues (a). Nutno podotknout, že zde je limitujícím rozměrem matice 3x3. Zbývá nepříliš užitečná funkce Identity (rozměr matice), která vrátí jednotkovou matici daného rozměru.

Mezi nejčastější vektorové operace patří jejich vektorový součin, určení úhlu mezi vektory a výpočet délky vektoru (jeho normy). Vektorový součin se zapisuje funkcí Cross ( {1,2,3},{3,2,1}). Stejným způsobem pomocí příkazu VectorAngle program určí úhel mezi zadanými vektory. Velikost vektoru pak pomocí funkce VectorNorm({3,2,1}).
Další sekcí je mód pravoúhlého trojúhelníka, který nabízí operace nejen s goniometrickými, cyklometrickými, hyperbolickými funkcemi a jejich inverzemi. Tlačítko xyz slouží k ukládání zadaných proměnných, což mohou být nejen konkrétní čísla, ale i nejrůznější výrazy nebo celé matice. Poslední partií ve výpočetním režimu je statistika, která nabízí ty nejpoužívanější statistické metody.

Grafy funkcí
Nejúčinnější zbraní SpaceTime je vykreslování grafů a to od těch nejběžnějších elementárních funkcí, až po těžko představitelné časové závislosti funkcí dvou proměnných. Zapisování funkcí je v tomto režimu velmi intuitivní a tak by neměly nastat problémy.


Grafy funkcí jedné proměnné
Nový graf přidáváme klepnutím na tlačítko +, pomocí - pak lze danou závislost odebrat. Před zápisem samotné funkce se program dotáže, jaký typ funkce chcete zobrazit. Na výběr jsou funkce explicitní, dané parametricky, v polárních souřadnicích, histogram a statistické funkce. Najednou můžete zobrazit až osm grafů libovolných funkcí. U každé z nich je přitom možnost funkci nezobrazovat.

SpaceTime_časový průběh funkce

SpaceTime - graf funkce sin2x  SpaceTime - graf funkce s absolutní hodnotou  SpaceTime - graf funkce y=abs(x)

 SpaceTime - časový průběh funkce y=tan(x)  SpaceTime - časový průběh funkce y=tan(x)  SpaceTime - průběh logaritmu a jeho inverze

Obrovskou výhodou je možnost zoomu a posunu v reálném čase, tedy žádné zdlouhavé překreslování, jak jej známe z klasických kalkulátorů. Možnost zvolit barvu čáry/pozadí, viditelnost os a dalších estetických záležitostí je zde samozřejmost. Vítanou funkcí je rovněž možnost nalézt průsečíky daných funkcí, případně inflexní body.

Grafy funkcí dvou proměnných
Grafické schopnosti však nejvíce oceníte v případě zobrazování grafu funkce dvou proměnných. Zde program nabízí zcela bezkonkurenční služby, za které lze považovat zejména časové průběhy (tedy vlastně 4-rozměrné grafy). V případě, že zadáte nějakou časovou závislost (například z=sin(x*T)+cos(x*T)), pak se při vykreslování objeví v dolní části displeje ovládací lišta, sloužící k regulaci rychlosti průběhu. Zajímavostí je soutěž pořádaná serverem Aximsite o nejzajímavěji namodelovaný 3D objekt, jejíž výsledky najdete přímo na oficiálních stránkách programu.

SpaceTime_časový průběh funkce f(x,y)

SpaceTime - graf sférické funkce  SpaceTime - časový průběh  SpaceTime - síť parabolického kelímku

 SpaceTime - síť   SpaceTime - časový průběh funkce sinus  SpaceTime - časový průběh funkce složené funkce 

Pátá ikonka z horní lišty patří zápisníku, kam je možno ručně zapisovat důležité poznámky. Ale přiznejme si, příliš praktické a užitečné to není. Výbornou funkcí je naopak možnost pořizovat obrázky právě vypočtených příkladů nebo vynesených grafů. Stačí zvolit odkládací adresář, jméno obrázků a tlačítko pro spoušť. Poslední ikonka se symbolem slunce slouží ke změně vzhledu programu. Na výběr je tedy původní s bílým pozadím, nebo méně přehlednější design oděný do černého hávu.

Tento stručný výčet schopností a funkcí programu není kompletní, účelem recenze bylo zmínit především ty běžnější a nejčastěji používané matematické úkony a výpočty.

Závěr
Jistě budete souhlasit, když tento program v kategorii softwaru pro Windows Mobile označíme za revoluční. Je tomu skutečně tak a podobný program se srovnatelnými možnostmi pro tuto platformu v současnosti neexistuje. Nic ale není bezchybné a drobné nedostatky najdeme i zde. Především jsou to problémy při počítání jednodušších integrálů s odmocninou ve jmenovateli. Také by neškodila možnost řešení rovnic vyššího stupně než tři a soustav algebraických rovnic pomocí příkazu Solve() namísto zdlouhavého zapisování do matice. Na posledních dvou nedostatcích však hlavní programátor usilovně pracuje a tak bychom se jejich eliminace mohli dočkat již při nejbližší aktualizaci.

Cena softwaru byla stanovena na necelých 50 USD. Tato částka je vzhledem k obrovským možnostem programu velmi přijatelná a případný uživatel bude s jeho službami dozajista spokojen. SpaceTime 2.0 je určen pro zařízení se systémem Pocket PC 2002,WM 2003/2003 SE a WM 5.0 a těší se i plné podpoře rozlišení VGA. Verze pro smartphony je zatím ve stádiu vývoje.

Oficiální stránky programu: SpaceTime Mobile