Mathematica је програм за симболичко математичко рачунање, некад називан и програм за рачунарску алгебру, коришћен у пољима науке, инжењерства, математике и рачунања. Творац овог програма је Стивен Волфрам, а на развоју програма ради Wolfram Research из места Шампејн, Илиноис.Stephen Wolfram: Simple Solutions; The iconoclastic physicist's Mathematica software nails complex puzzles, BusinessWeek, October 3, 2005."Contact Wolfram Research". Језик Wolfram је програмски језик коришћен у програму Mathematica."Stephen Wolfram’s new programming language: Can he make the world computable?"
Одлике мини|521x521п|Динијева површина нацртана са прилагодљивим параметрима Одлике програма Mathematica:"Wolfram Language & System Documentation Center". Библиотеке са простим и сложеним математичким функцијама Алати за манипулацију матрицама и подацима укључујући подршку за проређене низове Подршка за комплексан број, произвољну прецизност, аритметику интервала и симболичко рачунање Алати за анимацију и визуелизацију 2D и 3D података и функција Методе за решавање система једначина, Диофантових једначина, обичних диференцијалних једначина, парцијалних диференцијалних једначина, диференцијалних алгебарских једначина, стохастичких диференцијалних једначина и диференцних једначина Нумеричких и симболичких алата за дискретна и континуална израчунавања Мултиваријантне статистичке библиотеке које укључују тестирање хипотеза и израчунавање вероватноће над преко 140 дистрибуција. Подршку за цензурисане податке, привремене податке, временске низове и податке засноване на јединицама Израчунавања и симулације над произвољним процесима и редовима Алатке за машинско учење података, слика и звукова Рачунарска геометрија у 2D, 3D и више димензија Анализа коначног броја елемената укључујући 2D и 3D генерацију адаптивне мреже Ограничена и слободна локална и глобална оптимизација Програмски језик који подржава процедуралне, функционалне и објектно-оријентисане конструкције Алатке за додавање корисничких сучеља у израчунавања и апликације Алат за 2D и 3D обраду снимака и морфолошку обраду слике укључујући препознавање слике Алате за визуелизацију и анализу усмерених и неусмерених графова Алате за проблеме у области комбинаторике Алати за интелектуалну анализу текста укључујући обичне изразе и семантичку анализу Алате за анализу података, нпр. анализа груписања, поравнавање секвенци и поклапање узорака Библиотеку функција теорије бројева Алате за израчунавање у пољу финансија укључујући везе, ренте, изводе, опције итд. Функције теорије група и симболичких тензора Библиотеке за обраду сигнала укључујући анализу таласића звука, слике и података Библиотеке линеарних и нелинеарних контролних система Континуалне и дискретне трансформације интеграла Увоз и извоз филтера за податке, слике, видео, звук, CAD, GIS,Mathematica 6 Labs Review Cadalyst Feb 1, 2008 документе и биомедицинске формате Колекцију базе података за математичке, научне и социо-економске информације као и приступ WolframAlpha подацима и израчунавањима Техничку обраду речи укључујући измену формула и аутоматско генерисање извештаја Алате за повезивање са системима који су засновани на језицима: DLL, SQL, Java, .NET, C++, Fortran, CUDA, OpenCL, и http Алате за паралелно програмирање Паралелно коришћење „слободне форме лингвистичког уноса“ (корисничко сучеље природног језика)"The Free-Form Linguistics Revolution in Mathematica". "Free-Form Linguistic Input". и Wolfram језика у радној свесци ако је корисник повезан са Интернетом
Сучеље Програм Mathematica је подељен на два дела, језгро и предњи крај. Језгро интерпретира изразе (код Wolfram језика) и даје резултирајуће изразе.
Предњи крај, који је дизајнирао Теодор Греј, поседује графички кориснички интерфејс, који дозвољава стварање и измену докумената који садрже програмски код са prettyprinting-ом, форматирани текст заједно са резултатима укључујући математику, графику, компоненте графичког корисничког сучеља, табеле и звуке. Сав садржај и сво форматирање се може алгоритамски генерисати и интерактивно изменити. Већина стандардних могућности за измену текста су подржане. Такође садржи проверу спеловања, али то не ради паралелно док корисник уноси текст.
Документи се могу структурирати помоћу хијерархије ћелија, које дозвољавају дељење и скицирање документа и подржавају аутоматско бројевно индексирање. Документи се могу приказати као „слајдшоу“ за презентације. Радне свеске и њихови садржаји су приказани као изрази у програму Mathematica који се могу стварати, модификовати или анализирати од стране Mathematica програма. Ово дозвољава конверзију у друге формате попут формата TeX или XML.
Предњи део садржи алатке за развој попут дебагера, допуне уноса и аутоматског бојења синтаксе.
Међу алтернативним предњим крајевима је Wolfram Workbench, интегрисано развојно окружење засновано на Eclipse-у, први пут приказано 2006. Оно пружа алате за развој кода програма Mathematica засноване на пројекту, укључујући управљање ревизијом, дебаговање, профилисање и тестирање."Wolfram intros Workbench IDE for Mathematica" . Mathematica Kernel такође поседује командну линију за предњи крај.Using a Text-Based Interface documentation at wolfram.com Остала сучеља укључују JMath,"JMath: A GNU Readline based frontend for Mathematica". заснован на GNU readline-у и MASH"Directory listing:". , који покреће самосталне Mathematica програме (са аргументима) из UNIX командне линије.
Wolfram Research је објавио низ упутстава за почетнике који упознавају корисника са корисничким сучељем и покретачем.Cliff Hastings.
Рачунање са високим перформансама Протеклих година, способности за рачунање високих перформанси су проширене појавом поравнања структуре података (верзија 4, 1999)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. и проређених матрица (верзија 5, 2003),Mathematica 5.1: additional features make software well-suited for operations research professionals by ManMohan S. Sodhi, OR/MS Today, December 1, 2004. и усвајањем GNU више-прецизне библиотеке за врло прецизну процену рачуна.
У верзији 5.2 (2005) је додат „multi-threading“ у случају да се израчунавања врше на вишејезгарним рачунарима.The 21st annual Editors' Choice Awards, Macworld, February 1, 2006. Ова верзија је садржала оптимизоване библиотеке за различите моделе процесора. Притом, програм Mathematica је подржан од неких произвођача хардвера, као што је ClearSpeed."ClearSpeed Advance(TM) Accelerator Boards Certified by Wolfram Research; Math Coprocessors Enable Mathematica Users to Quadruple Performance."
Године 2002 је настао програм gridMathematica, који дозвољава паралелно програмирање на корисничком нивоу над хетерогеним групама и мултипроцесорским системима,gridMathematica offers parallel computing solution by Dennis Sellers, MacWorld, November 20, 2002. а 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 апликацију али неће дозволити ни увид у код ни измену кода.Mathematica Player Pro - new Application Delivery System for Mathematica www.gizmag.com Бесплатна верзија, Wolfram CDF Player, је обезбеђена за покретање Mathematica програма који су сачувани у CDF формату."Computable Document Format (CDF) for Interactive Content". Такође може да прегледа стандардне Mathematica датотеке, али не и да их покреће. Садржи „плагинове“ за обичне интернет претраживаче на оперативним системима Windows и Macintosh. webMathematica дозвољава интернет претраживачу да се понаша као предњи крај за удаљени Mathematica сервер. Дизајниран је тако да дозвољава приступ апликацији написаној од стране корисника из претраживача са било које платформе. Не може се користити за давање пуног приступа програму Mathematica. Код Wolfram језика се може претворити у C код или у аутоматски генерисан DLL. Код Wolfram језика се може покренути са Wolfram сервиса на облаку као интернет-апликација или као API
Везе са осталим апликацијама Комуникација са осталим апликацијама се одвија преко протокола који се назива MathLink. Он дозвољава комуникацију између језгра програма Mathematica и предњег краја, и ствара сучеље између језгра и осталих апликација. Wolfram Research бесплатно дистрибуира комплет за програмере за повезивање апликација написаних у језику C са језгром програма Mathematica кроз MathLink.New Mathematica: faster, leaner, linkable and QuickTime-compatible: MathLink kit allows ties to other apps. Користећи J/Link.,Mathematica 4.2 by Charles Seiter, Macworld, November 1, 2002. Java програм може упитати програм Mathematica даизвршава израчунавања; слично, програм направљен у програму Mathematica може да учитава Java класе, манипулише Java објектима и извршава позиве функција. Слична функционалност је постигнута користећи .NET /Link,. али са .NET програмима уместо Java програма. Остали језици који могу да се повежу са програмом Mathematica су Haskell,"mathlink: Write Mathematica packages in Haskell - Hackage". AppleScript,S.Kratky. Racket,"MrMathematica: Calling Mathematica from Scheme". Visual Basic,"Mathematica for ActiveX -- from Wolfram Library Archive". Python"erocarrera/pythonika". "PYML (Python Mathematica interface) -- from Wolfram Library Archive". и Clojure."Clojuratica - Home".
Доступне су везе ка многим пакетима математичких софтвера укључујући OpenOffice.org Calc,CalcLink Lauschke Consulting Microsoft Excel,"Mathematica Link for Excel: Bringing the Power of Mathematica to Excel". MATLAB,R. Menon, Sz. Horvát. Ben Barrowes (10 June 2010). "MaMa: Calling MATLAB from Mathematica with MathLink -- from Wolfram Library Archive". R,RLink Mathematica Documentation Sage,A Mathematica notebook to call Sage from Mathematica. SINGULAR,Manuel Kauers and Viktor Levandovskyy of the Johannes Kepler University in Austria Wolfram SystemModeler, and Origin.* Interface Links Origin And Mathematica Software Electronic Design Математичке једначине се могу заменити са другим рачунарским софтверима путем језика MathML.
Комуникација са базама података SQL се остварује помоћу уграђене подршке за JDBC.Mathematica 5.1 Available , Database Journal, Jan 3, 2005. Mathematica такође може инсталирати интернет сервисе са WSDL описом.Mathematical Web Services: W3C Note 1 August 2003Introduction to Web Services, Mathematica Web Services Tutorial Он може приступити HDFS подацима путем пројекта Hadoop."shadanan/HadoopLink".
Mathematica може снимати податке у реалном времену помоћу везе са платформом LabVIEW,Mathematica Link to Labview BetterView Consulting из извора финансијских податакаDDFLink Lauschke Consulting и директно из хардверских уређаја помоћу GPIB (IEEE 488),GITM SourceForge. USBBTopTools A commercial interface to USB devices и серијских сучеља."Interfacing Hardware with Mathematica -- from Wolfram Library Archive". Она аутоматски детектује и чита HID уређаје.
Подаци за израчунавање