Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2006-11-19 19:59:55
Size: 7476
Editor: DavidJoyner
Comment:
Revision 9 as of 2010-10-16 11:08:10
Size: 6779
Editor: RobertoPanai
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Introduzione corta a SAGE: Software per esperimento della geometria e di algebra == == Una breve introduzione a SAGE ==
Line 3: Line 3:
La SAGE è una struttura per la teoria di numero, l'algebra ed il calcolo della geometria. L'esecuzione corrente è soprattutto dovuto William Stein. È fonte aperta e liberamente disponibile sotto i termini dell'autorizzazione del grande pubblico di GNU (GPL). Sage è un software matematico per la teoria dei numeri, l'algebra e la geometria. La sua implementazione è dovuta a [[William_Stein]] e ad oltre 50 collaboratori [[http://www.sagemath.org/development-map.html|da tutto il mondo]]. E' open source ed è liberamente fruibile con licenza GNU General Pubblic License (GPL). Sage è:
Line 5: Line 5:
La SAGE è una biblioteca del Python con un interpretatore su misura. È scritto in Python, in C++ ed in C (via Pyrex). Il Python è una fonte aperta orientata oggettivamente ha interpretato la lingua, con tantissime biblioteche, per esempio, per analisi numerica, che sono a disposizione di gli utenti di SAGE. Il Python può anche essere raggiunto nel modo delle biblioteche dai programmi di C/C++. * Una distribuzione unificata dei software matematici liberi che i comuni mortali possono compilare da sorgente;
Line 7: Line 7:
La SAGE fornirà un'interfaccia unificata a parecchie biblioteche di fonte aperte importanti, compreso il SINGOLARE (per algebra commutativa) e GAP (per la teoria del gruppo), alla biblioteca di MWRANK del John Cremona (per le curve ellittiche), alla biblioteca di PARI per la biblioteca NTL, massimi di teoria di teoria di numero e di numero dello Shoup (per manipolazione simbolica). Ci sono inoltre interfacce a molta fonte commerciale o chiusa CAS come l'acero, KASH/KANT, MAGMA, Mathematica, l'assioma e molti altri. Per i grafici, la SAGE include Matplotlib (per 2 d e circa grafici di 3 d) e il tachyon (un elemento tracciante del raggio di 3 d). * Una nuova libreria Python per il calcolo matematico con interfaccia grafica e da riga di comando; e
Line 9: Line 9:
Il disegno di SAGE è pesante dal con attenzione ha pensato fuori e struttura di codice categoria matura del MAGMA chiuso di programma di algebra del calcolatore di fonte. Tuttavia, la SAGE non è significata per essere un clone di MAGMA ed altri pacchetti (quali GAP e Mathematica) inoltre hanno svolto un ruolo influencial. * Un'interfaccia con gli altri software matematici esistenti.
Line 11: Line 11:
Gli obiettivi di lunga durata principali ed i principi informatori per SAGE:
Line 13: Line 12:
 * Liberare ed aprire la fonte: Il codice sorgente deve essere liberamente disponibile e leggibile, in modo da gli utenti possono capire che cosa il sistema realmente sta facendo ed estenderli più facilmente. Appena poichè i matematici guadagnano una comprensione più profonda di un teorema con attenzione leggendo o almeno scremando la prova, la gente che fa i calcoli dovrebbe potere capire come i calcoli funzionano dal codice sorgente documentato leggente. Tutto il software incluso nella distribuzione PRUDENTE di nucleo deve essere fonte libera ed aperta e le modifiche e la ridistribuzione arbitrarie di ogni a linea singola devono essere permesse. E' scritto in [[Python]], C++, e C (attraverso [[Pyrex" / "Cython]] http://www.cython.org/). Python è un linguaggio ad alto livello orientato agli oggetti open source, con un gran numero di librerie, per esempio per l'analisi numerica, che sono disponibili agli utenti di Sage. Python può anche essere utilizzato come libreria da programmi in C/C++.
Line 15: Line 14:
 * Buon ambiente di programmazione: Si spera che la SAGE formi un ambiente stabile per cominciare a programmare i nuovi progetti matematici del software. Dovremmo fornire un modello per la Comunità matematica di sviluppo del software un'enfasi forte su apertura, la Comunità, la cooperazione e la collaborazione.
Line 17: Line 15:
 * Estendibile: Potere definire i nuovi tipi di dati o derivare dai tipi incorporati e fare il codice scritto in una parte favorita di lingua (C/C++ compreso) del sistema. Sage offre una interfaccia unificata a diverse importanti librerie open source, compreso [[Singular|SINGULAR]] (algebra commutativa), [[scipy|SciPy]] (matematica applicata), [[GAP]] (teoria dei gruppi), la libreria [[MWRANK]] di John Cremona (curve ellittiche), la libreria [[PARI]] per la teoria dei numeri, [[linbox|LinBox]] (algebra lineare), la libreria [[NTL]] per la teoria dei numeri di Victor Shoup, e [[Maxima]] (manipolazione simbolica). Sono presenti anche le interfacce a numerosi software matematici commerciali o closed source compresi Maple, MATLAB, Mathematica, KASH/KANT, MAGMA, Axiom, e molti altri. Per i grafici, Sage include Matplotlib (per grafici 2-D e alcuni grafici 3-D), jmol (grafici 3-D) e tachyon (ray tracer 3-D).
Line 19: Line 17:
 * Facile da usare: La speranza è finalmente di raggiungere un ad alto livello dell'assistenza agli utilizzatori. (“La lista del email della tribuna di GAP„ è un esempio ideale del supporto che si spera che la SAGE possa raggiungere.)
Line 21: Line 18:
 * Facile compilare: La SAGE dovrebbe essere relativamente facile da compilare dalla fonte per Linux e gli utenti di OS X. Ciò fornisce più flessibilità nella modificazione del sistema. I principali vantaggi e i principi guida di Sage sono:
Line 23: Line 20:
 * Traversa-piattaforma: La SAGE funziona sotto Linux, OS X, Windows (cygwin e colinux binari). * Libero e open source: Il codice e' liberamente disponibile e consultabile, così gli utenti possono capire che cosa il sistema sta effettivamente facendo e possono migliorarlo più' facilmente. Proprio come i matematici possono acquisire una più profonda comprensione di un teorema leggendone con attenzione la dimostrazione, le persone che fanno uso del software matematico dovrebbero essere in grado di capire come funziona il calcolo attraverso la lettura del codice sorgente documentato. Tutti i software inclusi nel nucleo di Sage devono essere liberi, open source, e liberamente modificabili e redistribuibili in ogni singola riga.
Line 25: Line 22:
 * Completo: Effettuare abbastanza procedure per essere realmente utile. Unificare liberamente il software aperto di matematica di fonte. Essere un sistema di software libero di matematica di fonte aperta tradizionale completa di alta qualità. * Un buon ambiente di programmazione: La speranza è che Sage arrivi ad essere un ambiente stabile per iniziare a programmare nuovi pacchetti. Sage fornisce un modello per la comunità matematica dello sviluppo software con una forte enfasi sull'apertura, comunità, cooperazione e collaborazione.
Line 27: Line 24:
 * Efficiente: Essere molto velocemente---paragonabile a o più velocemente di niente altro disponibili. Ciò è molto difficile, poiché molti sistemi sono fonte chiusa, procedure a volte non è pubblicata e trovare le procedure veloci è spesso estremamente difficile (anni di lavoro, delle tesi di Ph.D., della fortuna, ecc.). * Ampliabile: Essere in grado di definire nuove funzioni o derivarle da quelle built-in, e rendere il codice scritto nel proprio linguaggio preferito (tra cui C / C + +) parte del sistema.
Line 29: Line 26:
 * Attrezzi: Fornire le interfacce robuste ad alcuna della funzionalità di PARI, di GAP, di GMP, dei massimi, del SINGOLARE, di MWRANK e di NTL. Questi sono tutti sono GPL'd e la SAGE fornisce (o fornirà) un'interfaccia unificata per usando. * Usabilità: La speranza è di raggiungere un elevato livello di supporto agli utenti.
Line 31: Line 28:
 * Ben documentato: Manuale di riferimento, lezione privata, riferimento di api con gli esempi per ogni funzione e un vasto ``come può… essere costruito in SAGE? “documento. * Semplicità di compilazione: Sage dovrebbe essere relativamente semplice da compilare da sorgente per utenti di Linux e Mac OS X. Questo comporta una maggior flessibilità nel modificare il sistema.
Line 33: Line 30:
Trasferire la SAGE, una guida dell'installazione e una lezione privata dal sistema centrale verso i satelliti, dal relativo Web page * Multipiattaforma: Sage gira su Linux, Mac OS X, Windows.
Line 35: Line 32:
http://sage.scipy.org/. * Completo: implementa un buon numero di algoritmi in modo da essere davvero utilizzabile. Unifica i software matematici liberi e open source.
Line 37: Line 34:
Anche se la SAGE usa il Python e PARI ed altri pacchetti, tenere presente che non è necessario avere questo software preinstallato sul calcolatore. L'installazione di SAGE realmente è destinata per essere relativamente non dolorosa, ma se ci sono dei problemi, prego chiede (il Web page ha collegamenti alle liste del email per supporto PRUDENTE). Ci sono istruzioni di installazione a http://sage.scipy.org/sage/doc/html/inst/index.html. Inoltre, se la SAGE è installata una volta, aggiornare alla più nuova versione è particolarmente facile con l'opzione di ordine “di aggiornamento„ (questo è descritto sul Web site dato sopra e che presuppone che il wget sia installato e un collegamento del Internet). * Efficente: Essere davvero veloce/comparabile o più veloce di qualsiasi altro sistema disponibile. Questo è veramente difficile, poichè molti sistemi sono chiusi, gli algoritmi talvolta non sono pubblicati, e trovare algoritmi veloci è spesso estremamente difficile (anni di lavoro, tesi di dottorato, fortuna, etc.).
Line 39: Line 36:
Una volta che la SAGE è installata in un indice quale sage-x.y.z, ci sarà un subdirectory chiamato “scomparto„. In Linux, il Cd a questo subdirectory “dello scomparto„ e scrive il `a macchina di ordine '' di "./sage" per iniziare SAGE e visualizzare “la salvia rapida PRUDENTE: „. Ciò è unidirezionale usare la SAGE. Un altro senso è dopo scrivere “notebook(open_viewer=True)„ al richiamo PRUDENTE, che
(a) inizia il funzionamento PRUDENTE dell'assistente (che carica il foglio di lavoro precedentemente usato, se c'è ne) e
(b) apre il browser del firefox (o gli inizio una nuova linguetta se è già aperta) e visualizza il Web page PRUDENTE del taccuino.
* Tools: Fornire una robusta interfaccia ad alcune delle funzionalità di PARI, GAP, GMP, Maxima, SINGULAR, MWRANK, e NTL. Questi sono tutti sotto licenza GPL e Sage fornisce una interfaccia unificata.
Line 43: Line 38:
Al richiamo PRUDENTE, il tipo “il fattore (100)„ (ritorno di colpo) ed allora fornisce Ctrl-d (tenere il ket di Ctrl e la d allo stesso tempo) o fattore (di ritorno) “rinunciato„ 100 di volontà della SAGE il primo ed allora rimuove. Per fare questo nel taccuino, fornire “il fattore (100)„ “in una cellula„ (una finestra bianca vuota nel browser di WWW) ed allora entrare spost-entrano. La SAGE visualizzerà la scomposizione in fattori nello spazio appena sotto la cellula. Rimuovere, la versione del taccuino di SAGE, in primo luogo va di nuovo alla linea di ordine ed entra in Ctrl-c. Dopo, rimuovere il browser. Ciò rinuncia il taccuino della SAGE. * Ampia documentazione: Manuali di riferimento, Tutorial, API reference con esempi per ogni funzione, e un ampio "How can ... be constructed in Sage?".
 
Line 45: Line 41:
Ci sono più esempi, nella lezione privata, costruzioni e manuali di riferimento, disponibili sul Web page PRUDENTE. Provarli prego fuori! Scarica adesso Sage, una guida per l'installazione e un tutorial, dalla seguente pagina web:
Line 47: Line 43:
La SAGE è in una fase iniziale di sviluppo, ma attivamente sta sviluppandosi ed è già utilizzabile. Ci è un bordo di discussione, un insetto-inseguitore e una lista PRUDENTI di desiderio. Prego chiamata [[http://www.sagemath.org]].
Line 49: Line 45:
http://sage.scipy.org/ Nonostante Sage usi Python, PARI e altri pacchetti, ricordate che non è necessario averli preinstallati nel vostro computer. L'installazione di Sage è studiata per essere relativamente semplice, nel caso ci fossero dei problemi, chiedete pure (in fondo ci sono i link delle mail per il supporto). Trovate le istruzioni per l'installazione all'indirizzo [[http://www.sagemath.org/doc/html/inst/index.html]]. Inoltre, una volta installato Sage, fare l'upgrade all'ultima versione disponibile è particolarmente semplice grazie al comando "upgrade".
Line 51: Line 47:
o Una volta installato Sage in una cartella tipo "{{{sage-x.y.z}}}" in Linux, entrate nella cartella stessa e digitate il comando "{{{./sage}}}" per avviare Sage. Un altro modo per utilizzare Sage si ha digitando "{{{notebook()}}}" nel prompt di Sage. Questo vi permetterà di utilizzare una comoda interfaccia grafica direttamente sul vostro browser preferito.
Line 53: Line 49:
http://sage.math.washington.edu/sage/ Digitando "{{{factor(100)}}}" nel prompt di Sage vi verrà restituita la fattorizzazione prima di 100. Se volete conoscere il codice sorgente del comando basterà digitare "{{{factor??}}}". La combinatzione di tasti CTRL+D e i comandi "{{{quit}}}" o "{{{exit}}}" vi permetteranno di uscire dal programma. Puoi svolgere le stesse operazioni in un notebook sul tuo browser preferito. Una volta scritto il comando basta cliccare sul tasto "Evaluate" che si trova in basso a sinistra oppure con la combiazione di tasti SHIFT+ENTER.
Line 55: Line 51:
o Puoi anche provare Sage online, previa registrazione, sul sito [[http://www.sagenb.org/]] oppure sfogliare i notebook pubblicati su [[http://www.sagenb.org/pub]].
Line 57: Line 53:
http://echidna.maths.usyd.edu.au/sage/
Line 59: Line 54:
o Sono presenti migliaia di ulteriori esempi nei tutorial e nei manuali disponibili nella pagina web [[http://www.sagemath.org]]. Dategli uno sguardo.
Line 61: Line 56:
email William Stein a [email protected] Sage è in fase di forte crescita, ed è gia ampiamente utilizzabile. Troverai diverse discussioni su Sage nei seguenti siti
[[http://trac.sagemath.org/sage_trac|bug-tracker]], [[http://wiki.sagemath.org|wiki]], e [[http://www.sagemath.org/hg/sage-main?cmd=manifest;manifest=-1;path=/sage/|code browser]].
Line 63: Line 59:
per le più informazioni. Soprattutto, avere divertimento con SAGE!
Per qualsiasi altra informazione o dubbio visita:
[[http://www.sagemath.org/help-groups.html]].

Se vuoi puoi seguire gli ultimi aggiornamenti su [[http://twitter.com/sagemath|Twitter]] o [[http://www.facebook.com/pages/Sage-Math/26593144945|Facebook]].


Ma sopratutto, divertiti con Sage!



----
Line 71: Line 78:
Ultimo 11-19-2006 aggiornato. Ultimo aggiornamento 16-10-2010.

Una breve introduzione a SAGE

Sage è un software matematico per la teoria dei numeri, l'algebra e la geometria. La sua implementazione è dovuta a William_Stein e ad oltre 50 collaboratori da tutto il mondo. E' open source ed è liberamente fruibile con licenza GNU General Pubblic License (GPL). Sage è:

* Una distribuzione unificata dei software matematici liberi che i comuni mortali possono compilare da sorgente;

* Una nuova libreria Python per il calcolo matematico con interfaccia grafica e da riga di comando; e

* Un'interfaccia con gli altri software matematici esistenti.

E' scritto in Python, C++, e C (attraverso Pyrex" / "Cython http://www.cython.org/). Python è un linguaggio ad alto livello orientato agli oggetti open source, con un gran numero di librerie, per esempio per l'analisi numerica, che sono disponibili agli utenti di Sage. Python può anche essere utilizzato come libreria da programmi in C/C++.

Sage offre una interfaccia unificata a diverse importanti librerie open source, compreso SINGULAR (algebra commutativa), SciPy (matematica applicata), GAP (teoria dei gruppi), la libreria MWRANK di John Cremona (curve ellittiche), la libreria PARI per la teoria dei numeri, LinBox (algebra lineare), la libreria NTL per la teoria dei numeri di Victor Shoup, e Maxima (manipolazione simbolica). Sono presenti anche le interfacce a numerosi software matematici commerciali o closed source compresi Maple, MATLAB, Mathematica, KASH/KANT, MAGMA, Axiom, e molti altri. Per i grafici, Sage include Matplotlib (per grafici 2-D e alcuni grafici 3-D), jmol (grafici 3-D) e tachyon (ray tracer 3-D).

I principali vantaggi e i principi guida di Sage sono:

* Libero e open source: Il codice e' liberamente disponibile e consultabile, così gli utenti possono capire che cosa il sistema sta effettivamente facendo e possono migliorarlo più' facilmente. Proprio come i matematici possono acquisire una più profonda comprensione di un teorema leggendone con attenzione la dimostrazione, le persone che fanno uso del software matematico dovrebbero essere in grado di capire come funziona il calcolo attraverso la lettura del codice sorgente documentato. Tutti i software inclusi nel nucleo di Sage devono essere liberi, open source, e liberamente modificabili e redistribuibili in ogni singola riga.

* Un buon ambiente di programmazione: La speranza è che Sage arrivi ad essere un ambiente stabile per iniziare a programmare nuovi pacchetti. Sage fornisce un modello per la comunità matematica dello sviluppo software con una forte enfasi sull'apertura, comunità, cooperazione e collaborazione.

* Ampliabile: Essere in grado di definire nuove funzioni o derivarle da quelle built-in, e rendere il codice scritto nel proprio linguaggio preferito (tra cui C / C + +) parte del sistema.

* Usabilità: La speranza è di raggiungere un elevato livello di supporto agli utenti.

* Semplicità di compilazione: Sage dovrebbe essere relativamente semplice da compilare da sorgente per utenti di Linux e Mac OS X. Questo comporta una maggior flessibilità nel modificare il sistema.

* Multipiattaforma: Sage gira su Linux, Mac OS X, Windows.

* Completo: implementa un buon numero di algoritmi in modo da essere davvero utilizzabile. Unifica i software matematici liberi e open source.

* Efficente: Essere davvero veloce/comparabile o più veloce di qualsiasi altro sistema disponibile. Questo è veramente difficile, poichè molti sistemi sono chiusi, gli algoritmi talvolta non sono pubblicati, e trovare algoritmi veloci è spesso estremamente difficile (anni di lavoro, tesi di dottorato, fortuna, etc.).

* Tools: Fornire una robusta interfaccia ad alcune delle funzionalità di PARI, GAP, GMP, Maxima, SINGULAR, MWRANK, e NTL. Questi sono tutti sotto licenza GPL e Sage fornisce una interfaccia unificata.

* Ampia documentazione: Manuali di riferimento, Tutorial, API reference con esempi per ogni funzione, e un ampio "How can ... be constructed in Sage?".

Scarica adesso Sage, una guida per l'installazione e un tutorial, dalla seguente pagina web:

http://www.sagemath.org.

Nonostante Sage usi Python, PARI e altri pacchetti, ricordate che non è necessario averli preinstallati nel vostro computer. L'installazione di Sage è studiata per essere relativamente semplice, nel caso ci fossero dei problemi, chiedete pure (in fondo ci sono i link delle mail per il supporto). Trovate le istruzioni per l'installazione all'indirizzo http://www.sagemath.org/doc/html/inst/index.html. Inoltre, una volta installato Sage, fare l'upgrade all'ultima versione disponibile è particolarmente semplice grazie al comando "upgrade".

Una volta installato Sage in una cartella tipo "sage-x.y.z" in Linux, entrate nella cartella stessa e digitate il comando "./sage" per avviare Sage. Un altro modo per utilizzare Sage si ha digitando "notebook()" nel prompt di Sage. Questo vi permetterà di utilizzare una comoda interfaccia grafica direttamente sul vostro browser preferito.

Digitando "factor(100)" nel prompt di Sage vi verrà restituita la fattorizzazione prima di 100. Se volete conoscere il codice sorgente del comando basterà digitare "factor??". La combinatzione di tasti CTRL+D e i comandi "quit" o "exit" vi permetteranno di uscire dal programma. Puoi svolgere le stesse operazioni in un notebook sul tuo browser preferito. Una volta scritto il comando basta cliccare sul tasto "Evaluate" che si trova in basso a sinistra oppure con la combiazione di tasti SHIFT+ENTER.

Puoi anche provare Sage online, previa registrazione, sul sito http://www.sagenb.org/ oppure sfogliare i notebook pubblicati su http://www.sagenb.org/pub.

Sono presenti migliaia di ulteriori esempi nei tutorial e nei manuali disponibili nella pagina web http://www.sagemath.org. Dategli uno sguardo.

Sage è in fase di forte crescita, ed è gia ampiamente utilizzabile. Troverai diverse discussioni su Sage nei seguenti siti bug-tracker, wiki, e code browser.

Per qualsiasi altra informazione o dubbio visita: http://www.sagemath.org/help-groups.html.

Se vuoi puoi seguire gli ultimi aggiornamenti su Twitter o Facebook.

Ma sopratutto, divertiti con Sage!


David Joyner [email protected]

William Stein [email protected]

Ultimo aggiornamento 16-10-2010.

SAGE-intro-Italian (last edited 2014-07-25 07:30:57 by chapoton)