Mathematica: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica Etichette: Annullato Modifica visuale |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(3 versioni intermedie di 3 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 13.3, uscita il 28 giugno 2023. Il sistema Mathematica è disponibile per le piattaforme [[Microsoft Windows|Windows]], [[MacOS]] e [[Linux]]<ref name="system_req" />.
== Introduzione ==
Il linguaggio di programmazione di Mathematica - ribattezzato "Wolfram Language" - è basato sulla [[riscrittura|riscrittura di espressioni (''term-rewriting'')]] e supporta svariati paradigmi di programmazione, tra cui la [[programmazione funzionale]], la [[programmazione logica]], la programmazione basata sul riconoscimento di schemi (''pattern-matching'') e sulle regole di sostituzione (''rule-based''), nonché la più tradizionale [[programmazione procedurale]]. L'approccio procedurale è in generale sconsigliato in Mathematica in quanto molto meno efficiente delle alternative funzionali e basate su regole di sostituzione (''rule-based'').
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 71:
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 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 440:
* [https://www.sagemath.org/ SAGE], [[SAGE Math|Open Source Mathematica-like software]]
* [https://web.archive.org/web/20060118052359/http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/ IMS], the Open Source IMTEK Mathematica Supplement (IMS)
* [http://gallery.wolfram.com/ Mathematica Graphics Gallery], per numerosi esempi artistici nell'uso di Mathematica
{{Controllo di autorità}}
|