Mathematica

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

Mathematica je program za simboličko matematičko računanje, nekad nazivan i program za računarsku algebru, korišćen u poljima nauke, inženjerstva, matematike i računanja. Tvorac ovog programa je Stiven Volfram, a na razvoju programa radi Wolfram Research iz mesta Šampejn, Ilinois.[2][3]  Jezik Wolfram je programski jezik korišćen u programu Mathematica.[4]

Mathematica
Prvo izdanje23. jun 1988. god.; pre 35 godina (1988-06-23)[1]
PlatformaVišeplatformni softver
TipRačunarski algebarski sistem
LicencaVlasnički softver
Veb-sajtwww.wolfram.com/mathematica/

Odlike uredi

 
Dinijeva površina nacrtana sa prilagodljivim parametrima

Odlike programa Mathematica:[5]

Sučelje uredi

Program Mathematica je podeljen na dva dela, jezgro i prednji kraj. Jezgro interpretira izraze (kod Wolfram jezika) i daje rezultirajuće izraze.

Prednji kraj, koji je dizajnirao Teodor Grej, poseduje grafički korisnički interfejs, koji dozvoljava stvaranje i izmenu dokumenata koji sadrže programski kod sa prettyprinting-om, formatirani tekst zajedno sa rezultatima uključujući matematiku, grafiku, komponente grafičkog korisničkog sučelja, tabele i zvuke. Sav sadržaj i svo formatiranje se može algoritamski generisati i interaktivno izmeniti. Većina standardnih mogućnosti za izmenu teksta su podržane. Takođe sadrži proveru spelovanja, ali to ne radi paralelno dok korisnik unosi tekst.

Dokumenti se mogu strukturirati pomoću hijerarhije ćelija, koje dozvoljavaju deljenje i skiciranje dokumenta i podržavaju automatsko brojevno indeksiranje. Dokumenti se mogu prikazati kao „slajdšou“ za prezentacije. Radne sveske i njihovi sadržaji su prikazani kao izrazi u programu Mathematica koji se mogu stvarati, modifikovati ili analizirati od strane Mathematica programa. Ovo dozvoljava konverziju u druge formate poput formata TeX ili XML.

Prednji deo sadrži alatke za razvoj poput debagera, dopune unosa i automatskog bojenja sintakse.

Među alternativnim prednjim krajevima je Wolfram Workbench, integrisano razvojno okruženje zasnovano na Eclipse-u, prvi put prikazano 2006. Ono pruža alate za razvoj koda programa Mathematica zasnovane na projektu, uključujući upravljanje revizijom, debagovanje, profilisanje i testiranje.[10] Mathematica Kernel takođe poseduje komandnu liniju za prednji kraj.[11] Ostala sučelja uključuju JMath,[12] zasnovan na GNU readline-u i MASH[13] , koji pokreće samostalne Mathematica programe (sa argumentima) iz UNIX komandne linije.

Wolfram Research je objavio niz uputstava za početnike koji upoznavaju korisnika sa korisničkim sučeljem i pokretačem.[14]

Računanje sa visokim performansama uredi

Proteklih godina, sposobnosti za računanje visokih performansi su proširene pojavom poravnanja strukture podataka (verzija 4, 1999)[15] i proređenih matrica (verzija 5, 2003),[16] i usvajanjem GNU više-precizne biblioteke za vrlo preciznu procenu računa.

U verziji 5.2 (2005) je dodat „multi-threading“ u slučaju da se izračunavanja vrše na višejezgarnim računarima.[17] Ova verzija je sadržala optimizovane biblioteke za različite modele procesora. Pritom, program Mathematica je podržan od nekih proizvođača hardvera, kao što je ClearSpeed.[18]

Godine 2002 je nastao program gridMathematica, koji dozvoljava paralelno programiranje na korisničkom nivou nad heterogenim grupama i multiprocesorskim sistemima,[19] a 2008. godine tehnologija paralelnog izračunavanja je postala dostupna u svim licencama programa Mathematica uključujući podršku za tehnologiju mreže kao što je Windows HPC Server 2008, Microsoft Compute Cluster Server i Sun Grid.

Podrška za CUDAOpenCL GPU hardver je dodata godine 2010. Takođe, sve verzije posle osme mogu generisati C kod, koji je automatski kompajliran od strane sistemskog C kompajlera, kao što je GCC ili Visual Studio 2010.

Pokretanje uredi

Postoji nekoliko načina za pokretanje aplikacija napisanih u programu Mathematica:

  • Mathematica Player Pro je verzija programa Mathematica koji će pokrenuti bilo koju Mathematica aplikaciju ali neće dozvoliti ni uvid u kod ni izmenu koda.[20]
  • Besplatna verzija, Wolfram CDF Player, je obezbeđena za pokretanje Mathematica programa koji su sačuvani u CDF formatu.[21] Takođe može da pregleda standardne Mathematica datoteke, ali ne i da ih pokreće. Sadrži „plaginove“ za obične internet pretraživače na operativnim sistemima Windows i Macintosh.
  • webMathematica dozvoljava internet pretraživaču da se ponaša kao prednji kraj za udaljeni Mathematica server. Dizajniran je tako da dozvoljava pristup aplikaciji napisanoj od strane korisnika iz pretraživača sa bilo koje platforme. Ne može se koristiti za davanje punog pristupa programu Mathematica.
  • Kod Wolfram jezika se može pretvoriti u C kod ili u automatski generisan DLL.
  • Kod Wolfram jezika se može pokrenuti sa Wolfram servisa na oblaku kao internet-aplikacija ili kao API

Veze sa ostalim aplikacijama  uredi

Komunikacija sa ostalim aplikacijama se odvija preko protokola koji se naziva MathLink. On dozvoljava komunikaciju između jezgra programa Mathematica i prednjeg kraja, i stvara sučelje između jezgra i ostalih aplikacija. Wolfram Research besplatno distribuira komplet za programere za povezivanje aplikacija napisanih u jeziku C sa jezgrom programa Mathematica kroz MathLink.[22] Koristeći J/Link.,[23] Java program može upitati program Mathematica daizvršava izračunavanja; slično, program napravljen u programu Mathematica može da učitava Java klase, manipuliše Java objektima i izvršava pozive funkcija. Slična funkcionalnost je postignuta koristeći .NET /Link,[24] ali sa .NET programima umesto Java programa. Ostali jezici koji mogu da se povežu sa programom Mathematica su Haskell,[25] AppleScript,[26] Racket,[27] Visual Basic,[28] Python[29][30] i Clojure.[31]

Dostupne su veze ka mnogim paketima matematičkih softvera uključujući OpenOffice.org Calc,[32] Microsoft Excel,[33] MATLAB,[34][35][36] R,[37] Sage,[38][39] SINGULAR,[40] Wolfram SystemModeler, and Origin.[41] Matematičke jednačine se mogu zameniti sa drugim računarskim softverima putem jezika MathML.

Komunikacija sa bazama podataka SQL se ostvaruje pomoću ugrađene podrške za JDBC.[42] Mathematica takođe može instalirati internet servise sa WSDL opisom.[43][44] On može pristupiti HDFS podacima putem projekta Hadoop.[45]

Mathematica može snimati podatke u realnom vremenu pomoću veze sa platformom LabVIEW,[46] iz izvora finansijskih podataka[47] i direktno iz hardverskih uređaja pomoću GPIB (IEEE 488),[48] USB[49] i serijskih sučelja.[50] Ona automatski detektuje i čita HID uređaje.

Podaci za izračunavanje uredi

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]

Dizajn uredi

Wolfram Research obezbeđuje dokumentaciju[52] sa listom algoritama korišćenom za implementaciju funkcija u programu Mathematica.

Povezani proizvodi uredi

Proizvodi Wolfram Research-a povezanih sa programom Mathematica uključuju sledeće:[53]

  • webMathematica – poziva program Mathematica kroz internet server
  • gridMathematica – pokreće program Mathematica preko paralelne mreže
  • Mathematica dodaci[54] – rešenja i alati za izračunavanje
  • Mobilne aplikacije – mobilna aplikacija Wolfram|Alpha i ostale računarske aplikacije
  • Wolfram|Alpha[55] – program za znanje i odgovore
  • Wolfram Knowledgebase[56] – spremište računarskog znanja sa podacima i metodama za izračunavanje, koje koristi Wolfram|Alpha, a prikazuje se koristeći Wolfram Data Framework (WDF)
  • Wolfram SystemModeler – platforma za inženjering i modelovanje, kao i simulacija zasnovana na jeziku Modelica
  • Wolfram Finance Platform[57] – prenos podataka u realnom vremenu, izračunavanja, izveštaji i trgovina algoritmima za finansijske aplikacije
  • Wolfram Workbench[58]integrisano razvojno okruženje sagrađeno na osnovi Eclipse za razvoj programa Mathematica i ostalih proizvoda iz Wolfram Research-a
  • Wolfram Development Platform[59] – stvaranje i pokretanje aplikacija na Wolfram jeziku u oblaku
  • Wolfram Cloud[60] – infrastruktura za Mathematica Online, Wolfram Development Platform, Wolfram Discovery Platform i Wolfram Data Science Platform
  • Wolfram Programming Lab[61] – za interaktivno učenje Wolfram jezika
  • Wolfram Data Framework (WDF)[62] – pruža standardizovanu reprezentaciju i semantički okvir za konstrukcije i podatke u realnom vremenu
  • Computable Document Format (CDF) – format za dokumente namenjen za dinamički generisan interaktivni sadržaj
  • Wolfram Discovery Platform (u razvoju)[63] – istraživanje i razvoj toka rada koristeći Wolfram jezik i CDF
  • Wolfram Data Science Platform (u razvoju)[64] – analiza naučnih podataka i njihova vizuelizacija koristeći Wolfram jezik i Wolfram Data Framework (WDF)

Licenciranje i dostupnost po platformama uredi

Mathematica je vlasnički softver sa licencom čija se cena kreće u zavisnosti od toga gde se koristi (komercijalna, edukaciona ili druga upotreba).[65]

Program Mathematica 10 je podržan na raznim verzijama operativnih sistema Microsoft Windows (Vista, 7, 8 i 10), Apple-ov OS X, Linux, Raspbian i kao servis na mreži.[66] Sve platforme su podržane sa 64-bitnim implementacijama. [67] Program Mathematica je pre verzije 10 za OS X zahtevao Java SE 6 koji je zastarela komponenta Mavericks-a. Ranije verzije programa Mathematica do verzije 6.0.3 su podržavale i druge operativne siteme, uključujući Solaris, AIX, Convex, HP-UX, IRIX, MS-DOS, NeXTSTEP, OS/2, Ultrix i Windows Me.[68]

Istorijat verzija uredi

Mathematica je napravljen na idejama Wolfram-ovog ranijeg programa Symbolic Manipulation Program.[69][70] Ime programa, „Mathematica“, je predloženo od strane koosnivača Apple-a Stiva Džobsa iako je Stiven Volfram to ime imao u vidu i ranije ga odbacio.[71]

Wolfram Research je ibacio naredne verzije programa Mathematica:[72]

Vidi još uredi

Reference uredi

  1. ^ Wolfram, Stephen (23. 6. 2008), Mathematica Turns 20 Today, Wolfram, Pristupljeno 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.”. Arhivirano iz originala 16. 11. 2011. g. Pristupljeno 08. 01. 2016. 
  7. ^ Mathematica 6 Labs Review Arhivirano na sajtu Wayback Machine (25. mart 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" Arhivirano na sajtu Wayback Machine (2. jul 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." Arhivirano na sajtu Wayback Machine (25. januar 2016)
  19. ^ gridMathematica offers parallel computing solution Arhivirano na sajtu Wayback Machine (2. decembar 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 Arhivirano na sajtu Wayback Machine (21. novembar 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 Arhivirano na sajtu Wayback Machine (6. januar 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”. Arhivirano iz originala 8. 7. 2012. g. Pristupljeno 8. 1. 2016. 
  39. ^ A Mathematica notebook Arhivirano na sajtu Wayback Machine (19. jul 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 Arhivirano na sajtu Wayback Machine (20. mart 2007) Electronic Design
  42. ^ Mathematica 5.1 Available Arhivirano na sajtu Wayback Machine (23. februar 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 Arhivirano na sajtu Wayback Machine (6. januar 2016) Lauschke Consulting
  48. ^ GITM SourceForge.
  49. ^ BTopTools Arhivirano na sajtu Wayback Machine (21. februar 2012) A commercial interface to USB devices
  50. ^ "Interfacing Hardware with Mathematica -- from Wolfram Library Archive".
  51. ^ "Scientific and Technical Data", Mathematic Guide Arhivirano na sajtu Wayback Machine (10. maj 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" Arhivirano na sajtu Wayback Machine (5. januar 2016).
  55. ^ "What is Wolfram|Alpha?" Arhivirano na sajtu Wayback Machine (27. januar 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™" Arhivirano na sajtu Wayback Machine (5. januar 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”. Arhivirano iz originala 28. 9. 2011. g. Pristupljeno 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".

Spoljašnje veze uredi