Sommario[Nascondere][Spettacolo]
Non c'è modo di aggirare la matematica, che tu sia uno studente universitario o lavori nella scienza dei dati.
Si potrebbe anche sostenere che la scienza dei dati sia un tipo di matematica/statistica applicata. NumPy, SciPy, Scikit-Imparae TensorFlow sono solo alcune delle librerie Python che trattano quantitativamente la matematica.
Tuttavia, esiste un solo concorrente per la gestione esplicita dei simboli matematici: SymPy.
Scopriamo tutto su SymPy.
Che cosa è l' SymPy?
SymPy è una libreria matematica simbolica Python. Aspira ad essere un sistema di computer algebra (CAS) completo, mantenendo il codice il più semplice possibile per essere comprensibile e facilmente espandibile.
È completamente scritto in Python. È semplice da usare poiché si basa solo su mpmath, una libreria Python pura per aritmetica arbitraria in virgola mobile.
Come libreria, è stata creata con un'enfasi significativa sull'usabilità in mente. L'estensibilità è fondamentale nella progettazione dell'API (Application Program Interface).
Di conseguenza, non fa alcun tentativo di migliorare il linguaggio Python. L'obiettivo è che gli utenti possano usarlo insieme ad altri Librerie Python nel loro flusso di lavoro, sia in un ambiente interattivo che come componente programmato di un sistema più ampio.
SymPy, come libreria, manca di una grafica integrata Interfaccia utente (GUI). La biblioteca è:
- Gratuito, sia per quanto riguarda la parola che per la birra, perché è concesso in licenza con la licenza BSD.
- Basato su Python: è completamente sviluppato in Python e utilizza Python come linguaggio.
- Leggero perché si basa solo su mpmath, un puro Libreria Python per l'aritmetica a virgola mobile arbitraria, rendendolo semplice da usare.
- Può essere incorporato in altri programmi e modificato con funzioni personalizzate oltre ad essere utilizzato come strumento interattivo.
Perché usare SymPy?
Sage, un sistema di computer algebra, utilizza anche Python come linguaggio di programmazione. Sage, d'altra parte, è enorme, richiedendo un download di più di un gigabyte. Ha il vantaggio di essere leggero.
Oltre ad essere compatto, non ha dipendenze diverse da Python, consentendone l'utilizzo praticamente ovunque.
Inoltre, gli obiettivi di Sage e SymPy non sono gli stessi. Sage aspira a essere un sistema matematico completo e lo fa combinando tutti i principali sistemi matematici open source in uno solo.
Quando usi una funzione Sage, come l'integrazione, richiama uno dei pacchetti open source che contiene. In realtà, è integrato in Sage. SymPy, d'altra parte, aspira ad essere un sistema autonomo, con tutte le funzionalità implementate al suo interno.
La sua capacità di fungere da biblioteca è una caratteristica importante. Molti sistemi di computer algebra sono pensati per essere utilizzati in ambienti interattivi, ma sono difficili da automatizzare o espandere.
Può essere utilizzato in modo interattivo in Python o importato nel tuo programma Python. Ha anche API per estenderlo facilmente con le tue routine.
Installazione di SymPy
Usa semplicemente il comando seguente per installare nel tuo ambiente.
Simboli SymPy
Cominciamo con esso ora! Il suo oggetto fondamentale è un simbolo. In SymPy, puoi generare un simbolo x scrivendo:
Il codice sopra genera il simbolo x. I simboli in esso contenuti hanno lo scopo di emulare simboli matematici che rappresentano valori sconosciuti.
Di conseguenza, il seguente calcolo è mostrato di seguito:
Come mostrato sopra, il simbolo x funziona in modo simile a un importo sconosciuto. Se desideri creare molti simboli, scrivili come segue:
Hai creato due simboli, yez, nello stesso momento in questo caso. Questi simboli possono ora essere aggiunti, sottratti, moltiplicati e divisi come desiderato:
Funzioni SymPy
1. funzione sympify()
Il metodo sympify() trasforma un'espressione arbitraria in un'espressione SymPy. Converte oggetti Python standard, come numeri interi.
Le stringhe vengono trasformate nelle loro espressioni così come nei numeri interi, ecc.
2. funzione evalf()
Questa funzione valuta un'espressione numerica specificata con una precisione in virgola mobile fino a 100 cifre.
La funzione accetta inoltre un oggetto dizionario con valori numerici per i simboli come argomento sub. Considera la seguente frase:
La precisione in virgola mobile è impostata su 15 cifre per impostazione predefinita. Tuttavia, questo può essere modificato in qualsiasi numero compreso tra 1 e 100.
La seguente equazione viene valutata con una precisione di 20 cifre.
3. Funzione Lambdify()
Lambdify è una funzione che converte le sue espressioni in funzioni Python. Il metodo evalf() è inefficiente quando si valuta un'espressione in un ampio intervallo di valori.
Lambdify funziona in modo simile a una funzione lambda, tranne per il fatto che traduce i nomi SymPy nei nomi della libreria numerica fornita, che generalmente è NumPy.
Per impostazione predefinita, Lambdify viene applicato alle implementazioni di librerie standard di matematica.
Caratteristiche
Alcune delle caratteristiche più significative della biblioteca sono elencate qui; ce ne sono molti altri non inclusi, ma puoi verificarli qui.
1. Capacità fondamentali
- Aritmetica fondamentale: gli operatori +, -, *, / e ** sono supportati (potenza)
- Un'espansione polinomiale
- Interi, razionali e float con precisione arbitraria
- Funzioni trigonometriche, iperboliche ed esponenziali, radici, logaritmi, valori assoluti, armoniche sferiche, fattoriali e funzioni gamma, funzioni zeta, polinomi e funzioni speciali
- Simboli non commutativi
- Modelli abbinati
2. Calcolo
- Integrazione: questo metodo utilizza l'euristica Risch-Norman espansa
- Differenziazione.
- Funzioni limite
- La serie di Laurent Taylor
3. Polinomi
- Fondazioni Gröbner
- Decomposizione di frazioni parziali
- Divisione, gcd I risultati sono esempi di aritmetica di base.
4. Combinatoria
- Permutazioni
- Codici Gray e Prufer
- Combinazioni, partizioni, sottoinsiemi
- Gruppi di permutazioni poliedrici, di Rubik, simmetrici e altri
5. Matematica discreta
- Sommi
- Espressioni logiche
- Coefficienti binomiali
- Teoria dei numeri
Applicazioni
1. Calcolatore di edifici
2. Sistemi di computer algebra
A differenza di altri sistemi di computer algebra, è necessario dichiarare manualmente le variabili simboliche in esso utilizzando la funzione Symbol().
3. Calcolo
La capacità di un sistema di calcolo simbolico di eseguire simbolicamente tutti i tipi di calcoli è il suo principale punto di forza.
Può semplificare affermazioni, simbolicamente, calcolare derivate, integrali e limiti, risolvere equazioni, interagire con matrici e fare molto di più.
Per stuzzicare l'appetito, ecco un assaggio di potere simbolico.
Cos'altro puoi fare con SymPy?
Invece di parlare in modo approfondito di ulteriori problemi, lascia che ti fornisca un elenco di risorse per aiutarti a migliorare le tue abilità:
- Matrici e Algebra Lineare: Può lavorare con matrici ed eseguire operazioni di algebra lineare di base. Il linguaggio è simile alla sintassi di NumPy. Tuttavia, ci sono differenze notevoli. Per iniziare, indagare matrici in biblioteca.
- Espressione: Sfrutta un albero delle espressioni, che è una struttura ad albero, per tenere traccia delle espressioni. Guarda a alberi di espressione se vuoi saperne di più sul loro funzionamento interiore.
- Derivati e Integrali: Può realizzare la maggior parte di ciò che impareresti in una lezione introduttiva di calcolo (meno il pensiero). Puoi iniziare guardando la nostra funzione differenziazione in SymPy.
- Relazione con NumPy: NumPy e SymPy sono entrambe librerie relative alla matematica. Sono, tuttavia, essenzialmente diversi! NumPy funziona con i numeri, mentre funziona con le espressioni simboliche.
- Semplificazioni: È abbastanza intelligente da semplificare automaticamente le espressioni. Tuttavia, se vuoi un controllo più dettagliato su questo, guardalo semplificazioni.
Conclusione
SymPy è una potente libreria per la matematica simbolica.
Puoi usarlo per creare variabili e funzioni, nonché estendere e semplificare simbolicamente affermazioni matematiche e risolvere equazioni, disuguaglianze e persino sistemi di equazioni/disequazioni.
Puoi scrivere le funzioni sia nel testo dello script che direttamente nel terminale (o Notebook Jupyter) per ottenere una rapida valutazione e una migliore rappresentazione grafica dei calcoli effettuati.
Sei pronto per esplorare di più di SymPy? Fateci sapere nei commenti.
Lascia un Commento