Mathematica: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Recupero di 3 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.2 |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(12 versioni intermedie di 9 utenti non mostrate) | |||
Riga 13:
'''Mathematica''' è un ambiente di calcolo simbolico e numerico multipiattaforma, ideato da [[Stephen Wolfram]] e successivamente sviluppato da un team di matematici e programmatori. Mathematica usa un potente [[linguaggio di programmazione]] interpretato, chiamato [[linguaggio Wolfram]].
Wolfram e il suo gruppo iniziarono a lavorare al programma nel 1986 e pubblicarono la prima versione nel 1988. La versione corrente è la
== Introduzione ==
Il linguaggio di programmazione di Mathematica - ribattezzato "Wolfram Language" - è basato sulla [[riscrittura|riscrittura di espressioni (''term-rewriting'')]]
Mathematica è realizzato principalmente in [[linguaggio C|C]] e [[Linguaggio C#C.2B.2B|C++]], ma gran parte delle numerose librerie fornite con il programma sono scritte nel linguaggio proprietario di Mathematica, che può essere utilizzato per espandere ulteriormente le funzionalità del sistema. Di norma il nuovo codice viene aggiunto sotto forma di pacchetto (''package''), un [[file di testo]] in formato ASCII che contiene codice scritto nel linguaggio proprio di Mathematica. I pacchetti hanno estensione '''.m'''.
In Mathematica, il linguaggio di base viene interpretato da un ''[[kernel]]'' che esegue l'elaborazione vera e propria; i risultati vengono quindi comunicati ad una specifica interfaccia tra quelle disponibili. La comunicazione tra il kernel e questi ultimi (o qualsiasi altro [[client]], ad esempio programmi scritti dall'utente) utilizza il protocollo ''MathLink'', spesso attraverso una rete. È possibile che vari processi front-end si connettano allo stesso kernel, e che uno stesso front-end sia connesso a kernel differenti.
Riga 56:
Questa scrittura, che è contenuta nel file di testo ASCII con suffisso .nb che costituisce il ''notebook'', viene interpretata dall'interfaccia di Mathematica o di Mathreader per produrre una visualizzazione di tipo WYSIWYG il cui contenuto può essere ulteriormente modificato dall'utente ed eventualmente inviato al kernel per la valutazione.
Tutte le versioni per UNIX/Linux sono dotate anche di un'[[interfaccia a riga di comando]]; all'utente viene presentata un'interfaccia in formato puramente testuale, di cui viene dato un esempio qui di seguito:
<pre>
% math
Riga 67:
Out[1]= {{x -> -1 - Sqrt[10]}, {x -> -1 + Sqrt[10]}}
</pre>
Le prime versioni di Mathematica per [[MS-DOS]] erano dotate della sola interfaccia a riga di comando.
Sebbene l'interfaccia standard di Mathematica sia il più diffuso, sono disponibili svariate altre interfacce, come:
* [http://witm.sourceforge.net/ WITM], che sta per Web Interface to Mathematica, è un'interfaccia compatibile con ogni computer dotato di browser Web che permette di utilizzare Mathematica su dispositivi palmari come i [[Personal digital assistant|PDA]] per i quali non è disponibile una versione di Mathematica.
* [http://robotics.caltech.edu/~radford/jmath/ JMath] è un'interfaccia basata sulla libreria [[GNU readline]] disponibile per [[Sistema operativo|sistemi operativi]] di tipo UNIX.
* [http://ai.eecs.umich.edu/people/dreeves/mash/ MASH] permette di eseguire programmi Mathematica autocontenuti dalla riga di comando di un sistema UNIX.
== Il paradigma unico di Mathematica ==
=== Rappresentazione interna delle espressioni ===
La [[struttura dati]] fondamentale di Mathematica è l'''espressione''. Ogni singolo elemento del linguaggio, dai tipi di dato alla struttura stessa dei ''notebook'', è un'espressione costituita da un'intestazione (''Head'') e da una sequenza di argomenti racchiusi tra parentesi quadre e separati da virgole. Ad esempio, la scrittura 1+1 viene vista dal kernel come l'espressione
<pre>Plus[1,1]</pre>
Riga 204:
=== Meccanismi di controllo della valutazione ===
Mathematica offre diversi meccanismi che permettono al programmatore di condizionare il modo in cui un'espressione viene valutata. I principali sono gli attributi associati alle funzioni e i costrutti del tipo
=== Manipolazione delle espressioni ===
Riga 310:
== Interfacciamento con altre applicazioni ==
La comunicazione con altre applicazioni avviene attraverso il protocollo ''MathLink''. Esso permette non solo la comunicazione tra il kernel
''J/Link'' permette di interfacciare codice Java e programmi in linguaggio Mathematica. Da un lato i programmi Java di utilizzare i comandi di Mathematica per eseguire calcoli; dall'altro viene concesso a Mathematica di caricare [[Classe (informatica)|classi]] Java, manipolare oggetti Java ed eseguire chiamate a metodi rendendo possibile, ad esempio, la costruzione di un'[[interfaccia grafica]] per un'esecuzione interattiva del codice Mathematica.
Riga 362:
{{Div col|cols=strette}}
* Mathematica 1.0 (1988)<ref>[https://query.nytimes.com/gst/fullpage.html?res=940DE6DB133EF933A05753C1A96E948260 Supercomputer Pictures Solve the Once Insoluble], John Markoff,
* Mathematica 1.2 (1989)<ref>[http://www.accessmylibrary.com/coms2/summary_0286-9205258_ITM Mathematica 1.2 adds new graphics options: upgrade also promises concurrent operations] by Elinor Craig, ''MacWee''k,
* Mathematica 2.0 (1991)<ref>[http://www.accessmylibrary.com/coms2/summary_0286-9227849_ITM Mathematica + 283 functions = Mathematica 2.0] by Raines Cohen, ''MacWeek'',
* Mathematica 2.1 (1992)<ref>[http://www.accessmylibrary.com/coms2/summary_0286-9256461_ITM New Mathematica: faster, leaner, linkable and QuickTime-compatible: MathLink kit allows ties to other apps. (Wolfram Research Inc. ships Mathematica 2.1, new QuickTime-compatible version of Mathematica software)] by Daniel Todd, MacWeek,
* Mathematica 2.2 (1993)<ref>[http://www.highbeam.com/doc/1G1-13185601.html New version of Mathematica] {{Webarchive|url=https://web.archive.org/web/20121023115106/http://www.highbeam.com/doc/1G1-13185601.html |data=23 ottobre 2012 }}, ''Mechanical Engineering'',
* Mathematica 3.0 (1996)<ref>[http://www.businessweek.com/1997/02/b3509205.htm New Mathematica] by Stephen H. Wildstrom, ''BusinessWeek'',
* Mathematica 4.0 (1999)<ref>{{RivistaVG|mc|199|172-175|10|1999|titolo=Mathematica 4.0}}</ref>
* Mathematica 4.1 (2000)
* Mathematica 4.2 (2002)<ref>[https://www.macworld.com/2002/11/reviews/mathematica/ Mathematica 4.2: Feature-Rich Math Program Integrates with the Web, Adds Full Java Support] {{webarchive|url=https://web.archive.org/web/20071121151440/http://www.macworld.com/2002/11/reviews/mathematica/ |data=21 novembre 2007 }}
* Mathematica 5.0 (2003)<ref>[http://www.mywire.com/pubs/PCMagazine/2003/09/02/420220?extID=10051 Mathematica 5.0 Adds Up: Exactly 15 years after Mathematica's initial release, Wolfram Research has released Mathematica ] {{Webarchive|url=https://web.archive.org/web/20190805054228/http://www.mywire.com/pubs/PCMagazine/2003/09/02/420220?extID=10051 |date=5 agosto 2019 }}, ''PC Magazine'',
* Mathematica 5.1 (2004)<ref>[http://moreresults.factiva.com/results/index/index.aspx?ref=PCW0000020050115e0c60001i Mathematica 5.1's Web Services Add Up; Mathematica 5.1 delivers improvements over Version 5.0 that are vastly out of proportion for a .1 upgrade.] {{Webarchive|url=https://web.archive.org/web/20121209111950/http://moreresults.factiva.com/results/index/index.aspx?ref=PCW0000020050115e0c60001i |date=9 dicembre 2012 }} by Peter Coffee, ''eWeek'',
* Mathematica 5.2 (2005)<ref>[http://www.macworld.co.uk/news/index.cfm?NewsID=12069&Page=1&pagePos=6 Mathematica hits 64-bit] {{Webarchive|url=https://web.archive.org/web/20110610164355/http://www.macworld.co.uk/news/index.cfm?NewsID=12069&Page=1&pagePos=6 |date=10 giugno 2011 }}, ''MacWorld'' UK,
* Mathematica 6.0 (2007)<ref>[http://www.scientific-computing.com/products/review_details.php?review_id=17 Mathematica 6: Felix Grant finds that version 6 of Wolfram Research's symbolic mathematical software really does live up to its expectations.] {{Webarchive|url=https://web.archive.org/web/20110113024403/http://www.scientific-computing.com/products/review_details.php?review_id=17 |date=13 gennaio 2011 }} Scientific Computing, 2007.</ref>
* Mathematica 6.0.1 (2007)
* Mathematica 6.0.2 (2008)
Riga 416:
* [[IMTEK Mathematica Supplement]], un add-on open source di Mathematica per la [[Metodo degli elementi finiti|Simulazione ad elementi finiti]]
* '''[[FOSS|Free Software/Open Source]] e Freeware simili:'''
** [[Axiom (software)|Axiom computer algebra system]]
** [[Maxima (software)|Maxima]]
** [[GNU Octave|Octave]]
Riga 434:
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [https://www.wolfram.com/company/history/ The History of Mathematica] {{Webarchive|url=https://web.archive.org/web/20080704082226/http://www.wolfram.com/company/history/ |date=4 luglio 2008 }}, un'introduzione sulla storia del sistema e del suo sviluppo
* {{cita web | 1 = http://integrals.wolfram.com/index.jsp | 2 = The Integrator - Calcolo formale di primitive (Wolfram Research) | accesso = 22 settembre 2006 | urlarchivio = https://web.archive.org/web/20130325084513/http://integrals.wolfram.com/index.jsp | dataarchivio = 25 marzo 2013 | urlmorto = sì }}
* {{collegamento interrotto|1=[http://www.mathematica-users.org/ Wiki-Mathematica] |data=gennaio 2018 |bot=InternetArchiveBot }}, un wiki-Mathematica
|