Mathematica

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 11. srpna 2022; ověření vyžaduje 1 úpravu .
Mathematica
Typ Systém počítačové algebry
Vývojář Wolfram Research
Zapsáno v C , C++ [1] , Java [1] a Wolfram
Rozhraní Qt
Operační systém Windows , macOS , Linux
První vydání 23. června 1988
Nejnovější verze
Čitelné formáty souborů .nb, .m, .cdf a další
Stát V aktivním vývoji
Licence Proprietární software , komerční
webová stránka wolfram.com/mathematica
 Mediální soubory na Wikimedia Commons

Mathematica  je proprietární systém počítačové algebry široce používaný pro vědecké, inženýrské a matematické výpočty. Systém vyvinul v roce 1988 Stephen Wolfram , dalšímu vývoji se věnuje společnost Wolfram Research , kterou založil spolu s Theodorem Grayem .

Je vybaven jak analytickými schopnostmi, tak poskytuje numerické výpočty; výsledky jsou zobrazeny jak v alfanumerické podobě, tak ve formě grafů. Výpočetní a analytické funkce zajišťuje backend , ke kterému se mohou připojit různá uživatelská rozhraní . Tradičním rozhraním dodávaným se systémem je počítačový notebook , ale je možné pracovat s backendem z integrovaných vývojových prostředí, jako je Eclipse a IntelliJ IDEA ; Od roku 2002 existuje bezplatný nástroj JMath poskytující rozhraní příkazového řádku pro Mathematica prostřednictvím rozhraní MathLink [3] .

Funkce

Hlavní analytické schopnosti:

Systém také provádí numerické výpočty: určuje hodnoty funkcí (včetně speciálních ) s libovolnou přesností , provádí polynomiální interpolaci funkce z libovolného počtu argumentů pomocí sady známých hodnot a vypočítává pravděpodobnosti.

Číselné teoretické možnosti - definice prvočísla jeho pořadovým číslem, určení počtu prvočísel, která nepřesahují dané; diskrétní Fourierova transformace ; rozklad čísla na prvočinitele , nalezení GCD a LCM .

Systém má také lineární algebraické schopnosti - práce s maticemi (sčítání, násobení, hledání inverzní matice , násobení vektorem, výpočet exponentu, převzetí determinantu ), hledání vlastních čísel a vlastních vektorů .

Systém prezentuje výsledky jak v alfanumerické podobě, tak ve formě grafů. Zejména je implementována konstrukce grafů funkcí , včetně parametrických křivek a ploch ; konstrukce geometrických tvarů ( křivky , kruhy , obdélníky a další); konstrukce a manipulace s grafy . Navíc je implementována reprodukce zvuku , jejíž graf je nastaven analytickou funkcí nebo množinou bodů.

Systém zajišťuje automatické generování programového kódu v jazyce C a jeho propojení ; přičemž vygenerované programy lze používat autonomně. Použití SymbolicC je podporováno pro vytváření, zpracování a optimalizaci C-kódu . Programy mohou využívat externí dynamické knihovny , včetně integrace s CUDA a OpenCL .

Programovací jazyk Wolfram

Wolfram je interpretovaný funkcionální programovací jazyk , který tvoří lingvistický základ systému a umožňuje vám rozšířit jeho možnosti; navíc je Mathematica z velké části napsána v jazyce Wolfram, i když některé funkce, zejména ty, které se týkají lineární algebry , jsou implementovány v C pro účely optimalizace .

Jazyk podporuje jak procedurální programování pomocí standardních příkazů pro řízení provádění programu (smyčky a podmíněné skoky), tak objektově orientovaný přístup , který umožňuje líné vyhodnocování . Také v systému Mathematica můžete nastavit pravidla pro práci s určitými výrazy.

Příklad kódu - Seznam prvočísel je vybrán v blocích pomocí úrovní prvočísel:

V [ 1 ] := tm = 2 ; p = {}; k = 1 ; Proveďte [ Proveďte [ If [ t > 0 , For [ i = 1 , ( s = p [[ i ]]) <= t + 1 , i ++ , If [ GCD [ k - s , 2 s - 1 ] != 1 , Přejít na [ l ]]]]; p = AppendTo [ p , k ]; Štítek [ l ]; k ++ , { 4 ( t + 1 )}], { t , 0 , tm }]; p *= 2 ; p -- ; p [[ 1 ]] ++ ; p Out [ 1 ] = { 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 }

Rozšíření

Existuje mnoho rozšíření systému, která řeší specializované třídy problémů. Například rozšíření AceFEM je navrženo pro řešení fyzikálních a matematických problémů pomocí metody konečných prvků , rozšíření Analog Insydes je pro modelování, analýzu a vytváření elektrických obvodů, Derivatives Expert je pro analýzu cenných papírů a derivátů , Fuzzy Logic je pro vytváření, úpravy a vizualizace fuzzy množin . Pro řešení geometrických úloh existují rozšíření Geometrica (geometrická encyklopedie s možností přesného sestavení geometrických objektů a kontrolních příkazů) a Geometry Expressions (symbolická geometrie). Kromě rozšíření jsou implementovány generátory kódu pro C++ a Fortran 90 a integrační balíčky pro interakci s Excelem a LabView .

Poznámky

  1. 1 2 Softwarové inženýrství Mathematica - 2012.
  2. https://www.wolfram.com/mathematica/quick-revision-history.html
  3. JMath: Frontend pro Mathematica založený na GNU Readline  ( 15. února 2002). Získáno 5. května 2022. Archivováno z originálu dne 7. dubna 2022.

Literatura

  • Aladiev V. Z. , Shishakov M. L. Úvod do prostředí balíčku Mathematica 2.2. - M. : Informační a nakladatelství "Filin", 1997. - 368 s.
  • Dyakonov V.P. Mathematica 5/6/7. Kompletní průvodce. - M. : "DMK Press" , 2009. - 624 s. - ISBN 978-5-94074-553-2 .
  • Charles Henry Edwards, David E. Penny. Differential Equations and Boundary Value Problems: Computing and Modeling with Mathematica, Maple and MATLAB = Differential Equations and Boundary Value Problems: Computing and Modeling. - 3. vyd. - M .: "Williams", 2007. - ISBN 978-5-8459-1166-7 .
  • Šmidskij Jakov Konstantinovič. Mathematica 5. Tutoriál. Systém symbolických, grafických a numerických výpočtů. - M. : "Dialektika", 2004. - 592 s. — ISBN 5-8459-0678-4 .
  • Glushko V. P., Glushko A. V. Kurz rovnic matematické fyziky pomocí balíčku Mathematica. - Petrohrad. : "Laň" , 2010. - 320 s. — ISBN 978-5-8114-0983-9 .
  • Aladiev V. Z. , Grin D. S. Rozšíření funkčního prostředí systému Mathematica. - Cherson: Oldi Plus, 2012. - 552 s. — ISBN 978-966-2393-72-9 .
  • Aladiev V. Z. , Vaganov V. A. , Grin D. S. Vybrané systémové problémy v prostředí softwaru Mathematica. - Cherson: Oldi Plus, 2013. - 556 s. — ISBN 978-966-289-012-9 .

Odkazy