Mathematica

програм за симболичко математичко рачунање

Mathematica је програм за симболичко математичко рачунање, некад називан и програм за рачунарску алгебру, коришћен у пољима науке, инжењерства, математике и рачунања. Творац овог програма је Стивен Волфрам, а на развоју програма ради Wolfram Research из места Шампејн, Илиноис.[2][3]  Језик Wolfram је програмски језик коришћен у програму Mathematica.[4]

Mathematica
Прво издање23. јун 1988. год.; пре 35 година (1988-06-23)[1]
ПлатформаВишеплатформни софтвер
ТипРачунарски алгебарски систем
ЛиценцаВласнички софтвер
Веб-сајтwww.wolfram.com/mathematica/

Одлике уреди

 
Динијева површина нацртана са прилагодљивим параметрима

Одлике програма Mathematica:[5]

Сучеље уреди

Програм Mathematica је подељен на два дела, језгро и предњи крај. Језгро интерпретира изразе (код Wolfram језика) и даје резултирајуће изразе.

Предњи крај, који је дизајнирао Теодор Греј, поседује графички кориснички интерфејс, који дозвољава стварање и измену докумената који садрже програмски код са prettyprinting-ом, форматирани текст заједно са резултатима укључујући математику, графику, компоненте графичког корисничког сучеља, табеле и звуке. Сав садржај и сво форматирање се може алгоритамски генерисати и интерактивно изменити. Већина стандардних могућности за измену текста су подржане. Такође садржи проверу спеловања, али то не ради паралелно док корисник уноси текст.

Документи се могу структурирати помоћу хијерархије ћелија, које дозвољавају дељење и скицирање документа и подржавају аутоматско бројевно индексирање. Документи се могу приказати као „слајдшоу“ за презентације. Радне свеске и њихови садржаји су приказани као изрази у програму Mathematica који се могу стварати, модификовати или анализирати од стране Mathematica програма. Ово дозвољава конверзију у друге формате попут формата TeX или XML.

Предњи део садржи алатке за развој попут дебагера, допуне уноса и аутоматског бојења синтаксе.

Међу алтернативним предњим крајевима је Wolfram Workbench, интегрисано развојно окружење засновано на Eclipse-у, први пут приказано 2006. Оно пружа алате за развој кода програма Mathematica засноване на пројекту, укључујући управљање ревизијом, дебаговање, профилисање и тестирање.[10] Mathematica Kernel такође поседује командну линију за предњи крај.[11] Остала сучеља укључују JMath,[12] заснован на GNU readline-у и MASH[13] , који покреће самосталне Mathematica програме (са аргументима) из UNIX командне линије.

Wolfram Research је објавио низ упутстава за почетнике који упознавају корисника са корисничким сучељем и покретачем.[14]

Рачунање са високим перформансама уреди

Протеклих година, способности за рачунање високих перформанси су проширене појавом поравнања структуре података (верзија 4, 1999)[15] и проређених матрица (верзија 5, 2003),[16] и усвајањем GNU више-прецизне библиотеке за врло прецизну процену рачуна.

У верзији 5.2 (2005) је додат „multi-threading“ у случају да се израчунавања врше на вишејезгарним рачунарима.[17] Ова верзија је садржала оптимизоване библиотеке за различите моделе процесора. Притом, програм Mathematica је подржан од неких произвођача хардвера, као што је ClearSpeed.[18]

Године 2002 је настао програм gridMathematica, који дозвољава паралелно програмирање на корисничком нивоу над хетерогеним групама и мултипроцесорским системима,[19] а 2008. године технологија паралелног израчунавања је постала доступна у свим лиценцама програма Mathematica укључујући подршку за технологију мреже као што је Windows HPC Server 2008, Microsoft Compute Cluster Server и Sun Grid.

Подршка за CUDA и OpenCL GPU хардвер је додата године 2010. Такође, све верзије после осме могу генерисати C код, који је аутоматски компајлиран од стране системског C компајлера, као што је GCC или Visual Studio 2010.

Покретање уреди

Постоји неколико начина за покретање апликација написаних у програму Mathematica:

  • Mathematica Player Pro је верзија програма Mathematica који ће покренути било коју Mathematica апликацију али неће дозволити ни увид у код ни измену кода.[20]
  • Бесплатна верзија, Wolfram CDF Player, је обезбеђена за покретање Mathematica програма који су сачувани у CDF формату.[21] Такође може да прегледа стандардне Mathematica датотеке, али не и да их покреће. Садржи „плагинове“ за обичне интернет претраживаче на оперативним системима Windows и Macintosh.
  • webMathematica дозвољава интернет претраживачу да се понаша као предњи крај за удаљени Mathematica сервер. Дизајниран је тако да дозвољава приступ апликацији написаној од стране корисника из претраживача са било које платформе. Не може се користити за давање пуног приступа програму Mathematica.
  • Код Wolfram језика се може претворити у C код или у аутоматски генерисан DLL.
  • Код Wolfram језика се може покренути са Wolfram сервиса на облаку као интернет-апликација или као API

Везе са осталим апликацијама  уреди

Комуникација са осталим апликацијама се одвија преко протокола који се назива MathLink. Он дозвољава комуникацију између језгра програма Mathematica и предњег краја, и ствара сучеље између језгра и осталих апликација. Wolfram Research бесплатно дистрибуира комплет за програмере за повезивање апликација написаних у језику C са језгром програма Mathematica кроз MathLink.[22] Користећи J/Link.,[23] Java програм може упитати програм Mathematica даизвршава израчунавања; слично, програм направљен у програму Mathematica може да учитава Java класе, манипулише Java објектима и извршава позиве функција. Слична функционалност је постигнута користећи .NET /Link,[24] али са .NET програмима уместо Java програма. Остали језици који могу да се повежу са програмом Mathematica су Haskell,[25] AppleScript,[26] Racket,[27] Visual Basic,[28] Python[29][30] и Clojure.[31]

Доступне су везе ка многим пакетима математичких софтвера укључујући OpenOffice.org Calc,[32] Microsoft Excel,[33] MATLAB,[34][35][36] R,[37] Sage,[38][39] SINGULAR,[40] Wolfram SystemModeler, and Origin.[41] Математичке једначине се могу заменити са другим рачунарским софтверима путем језика MathML.

Комуникација са базама података SQL се остварује помоћу уграђене подршке за JDBC.[42] Mathematica такође може инсталирати интернет сервисе са WSDL описом.[43][44] Он може приступити HDFS подацима путем пројекта Hadoop.[45]

Mathematica може снимати податке у реалном времену помоћу везе са платформом LabVIEW,[46] из извора финансијских података[47] и директно из хардверских уређаја помоћу GPIB (IEEE 488),[48] USB[49] и серијских сучеља.[50] Она аутоматски детектује и чита HID уређаје.

Подаци за израчунавање уреди

Mathematica includes collections of curated data provided for use in computations. Mathematica is also integrated with Wolfram Alpha, an online service which provides additional data, some of which is kept updated in real time. Some of the data sets include astronomical, chemical, geopolitical, language, biomedical and weather data, in addition to mathematical data (such as knots and polyhedra).[51]

Дизајн уреди

Wolfram Research обезбеђује документацију[52] са листом алгоритама коришћеном за имплементацију функција у програму Mathematica.

Повезани производи уреди

Производи Wolfram Research-а повезаних са програмом Mathematica укључују следеће:[53]

  • webMathematica – позива програм Mathematica кроз интернет сервер
  • gridMathematica – покреће програм Mathematica преко паралелне мреже
  • Mathematica додаци[54] – решења и алати за израчунавање
  • Мобилне апликације – мобилна апликација Wolfram|Alpha и остале рачунарске апликације
  • Wolfram|Alpha[55] – програм за знање и одговоре
  • Wolfram Knowledgebase[56] – спремиште рачунарског знања са подацима и методама за израчунавање, које користи Wolfram|Alpha, а приказује се користећи Wolfram Data Framework (WDF)
  • Wolfram SystemModeler – платформа за инжењеринг и моделовање, као и симулација заснована на језику Modelica
  • Wolfram Finance Platform[57] – пренос података у реалном времену, израчунавања, извештаји и трговина алгоритмима за финансијске апликације
  • Wolfram Workbench[58]интегрисано развојно окружење саграђено на основи Eclipse за развој програма Mathematica и осталих производа из Wolfram Research-а
  • Wolfram Development Platform[59] – стварање и покретање апликација на Wolfram језику у облаку
  • Wolfram Cloud[60] – инфраструктура за Mathematica Online, Wolfram Development Platform, Wolfram Discovery Platform и Wolfram Data Science Platform
  • Wolfram Programming Lab[61] – за интерактивно учење Wolfram језика
  • Wolfram Data Framework (WDF)[62] – пружа стандардизовану репрезентацију и семантички оквир за конструкције и податке у реалном времену
  • Computable Document Format (CDF) – формат за документе намењен за динамички генерисан интерактивни садржај
  • Wolfram Discovery Platform (у развоју)[63] – истраживање и развој тока рада користећи Wolfram језик и CDF
  • Wolfram Data Science Platform (у развоју)[64] – анализа научних података и њихова визуелизација користећи Wolfram језик и Wolfram Data Framework (WDF)

Лиценцирање и доступност по платформама уреди

Mathematica је власнички софтвер са лиценцом чија се цена креће у зависности од тога где се користи (комерцијална, едукациона или друга употреба).[65]

Програм Mathematica 10 је подржан на разним верзијама оперативних система Microsoft Windows (Vista, 7, 8 и 10), Apple-ов OS X, Linux, Raspbian и као сервис на мрежи.[66] Све платформе су подржане са 64-битним имплементацијама. [67] Програм Mathematica је пре верзије 10 за OS X захтевао Java SE 6 који је застарела компонента Mavericks-а. Раније верзије програма Mathematica до верзије 6.0.3 су подржавале и друге оперативне ситеме, укључујући Solaris, AIX, Convex, HP-UX, IRIX, MS-DOS, NeXTSTEP, OS/2, Ultrix и Windows Me.[68]

Историјат верзија уреди

Mathematica је направљен на идејама Wolfram-овог ранијег програма Symbolic Manipulation Program.[69][70] Име програма, „Mathematica“, је предложено од стране кооснивача Apple-а Стива Џобса иако је Стивен Волфрам то име имао у виду и раније га одбацио.[71]

Wolfram Research је ибацио наредне верзије програма Mathematica:[72]

Види још уреди

Референце уреди

  1. ^ Wolfram, Stephen (23. 6. 2008), Mathematica Turns 20 Today, Wolfram, Приступљено 16. 5. 2012 
  2. ^ Stephen Wolfram: Simple Solutions; The iconoclastic physicist's Mathematica software nails complex puzzles, BusinessWeek, October 3, 2005.
  3. ^ "Contact Wolfram Research".
  4. ^ "Stephen Wolfram’s new programming language: Can he make the world computable?"
  5. ^ "Wolfram Language & System Documentation Center".
  6. ^ „Review: Mathematica 7.”. Архивирано из оригинала 16. 11. 2011. г. Приступљено 08. 01. 2016. 
  7. ^ Mathematica 6 Labs Review Архивирано на сајту Wayback Machine (25. март 2022) Cadalyst Feb 1, 2008
  8. ^ "The Free-Form Linguistics Revolution in Mathematica".
  9. ^ "Free-Form Linguistic Input".
  10. ^ "Wolfram intros Workbench IDE for Mathematica" Архивирано на сајту Wayback Machine (2. јул 2006).
  11. ^ Using a Text-Based Interface documentation at wolfram.com
  12. ^ "JMath: A GNU Readline based frontend for Mathematica".
  13. ^ "Directory listing:".
  14. ^ Cliff Hastings.
  15. ^ Math software packs new power; new programs automate such tedious processes as solving nonlinear differential equations and converting units by Agnes Shanley, Chemical Engineering, March 1, 2002.
  16. ^ Mathematica 5.1: additional features make software well-suited for operations research professionals by ManMohan S. Sodhi, OR/MS Today, December 1, 2004.
  17. ^ The 21st annual Editors' Choice Awards, Macworld, February 1, 2006.
  18. ^ "ClearSpeed Advance(TM) Accelerator Boards Certified by Wolfram Research; Math Coprocessors Enable Mathematica Users to Quadruple Performance." Архивирано на сајту Wayback Machine (25. јануар 2016)
  19. ^ gridMathematica offers parallel computing solution Архивирано на сајту Wayback Machine (2. децембар 2005) by Dennis Sellers, MacWorld, November 20, 2002.
  20. ^ Mathematica Player Pro - new Application Delivery System for Mathematica www.gizmag.com
  21. ^ "Computable Document Format (CDF) for Interactive Content".
  22. ^ New Mathematica: faster, leaner, linkable and QuickTime-compatible: MathLink kit allows ties to other apps.
  23. ^ Mathematica 4.2 Архивирано на сајту Wayback Machine (21. новембар 2007) by Charles Seiter, Macworld, November 1, 2002.
  24. ^ . [1]
  25. ^ "mathlink: Write Mathematica packages in Haskell - Hackage".
  26. ^ S.Kratky.
  27. ^ "MrMathematica: Calling Mathematica from Scheme".
  28. ^ "Mathematica for ActiveX -- from Wolfram Library Archive".
  29. ^ "erocarrera/pythonika".
  30. ^ "PYML (Python Mathematica interface) -- from Wolfram Library Archive".
  31. ^ "Clojuratica - Home".
  32. ^ CalcLink Архивирано на сајту Wayback Machine (6. јануар 2016) Lauschke Consulting
  33. ^ "Mathematica Link for Excel: Bringing the Power of Mathematica to Excel".
  34. ^ R. Menon, Sz. Horvát.
  35. ^ Ben Barrowes (10 June 2010).
  36. ^ "MaMa: Calling MATLAB from Mathematica with MathLink -- from Wolfram Library Archive".
  37. ^ RLink Mathematica Documentation
  38. ^ „Calling Sage from Mathematica”. Архивирано из оригинала 8. 7. 2012. г. Приступљено 8. 1. 2016. 
  39. ^ A Mathematica notebook Архивирано на сајту Wayback Machine (19. јул 2011) to call Sage from Mathematica.
  40. ^ Manuel Kauers and Viktor Levandovskyy of the Johannes Kepler University in Austria
  41. ^ * Interface Links Origin And Mathematica Software Архивирано на сајту Wayback Machine (20. март 2007) Electronic Design
  42. ^ Mathematica 5.1 Available Архивирано на сајту Wayback Machine (23. фебруар 2012) , Database Journal, Jan 3, 2005.
  43. ^ Mathematical Web Services: W3C Note 1 August 2003
  44. ^ Introduction to Web Services, Mathematica Web Services Tutorial
  45. ^ "shadanan/HadoopLink".
  46. ^ Mathematica Link to Labview BetterView Consulting
  47. ^ DDFLink Архивирано на сајту Wayback Machine (6. јануар 2016) Lauschke Consulting
  48. ^ GITM SourceForge.
  49. ^ BTopTools Архивирано на сајту Wayback Machine (21. фебруар 2012) A commercial interface to USB devices
  50. ^ "Interfacing Hardware with Mathematica -- from Wolfram Library Archive".
  51. ^ "Scientific and Technical Data", Mathematic Guide Архивирано на сајту Wayback Machine (10. мај 2012), Wolfram Research, retrieved 16 May 2012
  52. ^ "Wolfram Language & System Documentation Center – Some Notes on Internal Implementation".
  53. ^ "Wolfram Products & Services".
  54. ^ "All Mathematica Applications" Архивирано на сајту Wayback Machine (5. јануар 2016).
  55. ^ "What is Wolfram|Alpha?" Архивирано на сајту Wayback Machine (27. јануар 2016)
  56. ^ "Wolfram Knowledgebase™".
  57. ^ "Wolfram Finance Platform™".
  58. ^ "WolframWorkbench™2".
  59. ^ "Wolfram Development Platform™".
  60. ^ "Wolfram Cloud™".
  61. ^ "Wolfram for Education".
  62. ^ "Wolfram Data Framework™ (WDF)".
  63. ^ "Wolfram Discovery Platform™" Архивирано на сајту Wayback Machine (5. јануар 2016).
  64. ^ "Wolfram Data Science Platform™".
  65. ^ "Wolfram Mathematica License Agreement" (PDF).
  66. ^ Raspberry Pi Includes Mathematica for Free The Verge
  67. ^ "Wolfram Mathematica".
  68. ^ „Mathematica 6 Platform Availability”. Архивирано из оригинала 28. 9. 2011. г. Приступљено 8. 1. 2016. 
  69. ^ Math, the universe, and Stephen: the author of Mathematica created a whirlwind of scientific controversy this year when, after more than 10 years of research, he published his treatise on the ability of simple structures to create unpredictable complex patterns. (2002 Scientist Of The Year).
  70. ^ A Top Scientist's Latest: Math Software by Andrew Pollack, The New York Times, June 24, 1988.
  71. ^ Wolfram, Stephen (6 Oct 2011), STEVE JOBS: A FEW MEMORIES, Wolfram Alpha, retrieved 16 May 2012
  72. ^ "Mathematica Latest Version and Quick Revision History".

Спољашње везе уреди