Cuprins[Ascunde][Spectacol]
Nu poți ocoli matematica, indiferent dacă ești student universitar sau lucrezi în știința datelor.
S-ar putea chiar argumenta că știința datelor este un tip de matematică/statistică aplicată. NumPy, SciPy, Scikit-Learn, și TensorFlow sunt doar câteva dintre bibliotecile Python care se ocupă cantitativ de matematică.
Cu toate acestea, există doar un singur concurent pentru a trata în mod explicit simbolurile matematice: SymPy.
Să aflăm totul despre SymPy.
Ce este SymPy?
SymPy este o bibliotecă de matematică simbolică Python. Aspiră să fie un sistem de algebră computerizată (CAS) cu funcții complete, păstrând în același timp codul cât mai de bază posibil pentru a fi ușor de înțeles și ușor de extins.
Este scris în întregime în Python. Este simplu de utilizat, deoarece se bazează doar pe mpmath, o bibliotecă Python pură pentru aritmetica arbitrară în virgulă mobilă.
Ca bibliotecă, a fost creată cu un accent semnificativ pe uzabilitate. Extensibilitatea este critică în proiectarea interfeței programului de aplicație (API).
Drept urmare, nu încearcă să îmbunătățească limbajul Python. Obiectivul este ca utilizatorii să îl poată folosi alături de alții Biblioteci Python în fluxul lor de lucru, fie într-un mediu interactiv sau ca componentă programată a unui sistem mai mare.
SymPy, ca bibliotecă, nu are o grafică încorporată interfața cu utilizatorul (GUI). Biblioteca este:
- Gratuit, atât în ceea ce privește vorbirea, cât și berea, deoarece este licențiat sub licență BSD.
- Bazat pe Python: este dezvoltat în totalitate în Python și folosește Python ca limbaj.
- Ușor pentru că se bazează doar pe mpmath, un pur Biblioteca Python pentru aritmetică arbitrară în virgulă mobilă, făcându-l simplu de utilizat.
- Poate fi încorporat în alte programe și modificat cu funcții personalizate în plus față de a fi folosit ca instrument interactiv.
De ce să folosiți SymPy?
Sage, un sistem de algebră computerizată, folosește și Python ca limbaj de programare. Sage, pe de altă parte, este enorm, necesitând o descărcare de mai mult de un gigabyte. Are avantajul de a fi ușor.
Pe lângă faptul că este compact, nu are alte dependențe decât Python, permițându-i să fie folosit practic peste tot.
În plus, obiectivele Sage și SymPy nu sunt aceleași. Sage aspiră să fie un sistem matematic cu funcții complete și face acest lucru combinând toate principalele sisteme matematice open-source într-unul singur.
Când utilizați o funcție Sage, cum ar fi integrare, aceasta invocă unul dintre pachetele open-source pe care le conține. În realitate, este încorporat în Sage. SymPy, pe de altă parte, aspiră să fie un sistem autonom, cu toate funcționalitățile implementate în el însuși.
Capacitatea sa de a funcționa ca bibliotecă este o caracteristică importantă. Multe sisteme de algebră computerizată sunt menite să fie utilizate în medii interactive, dar sunt dificil de automatizat sau extins.
Poate fi folosit interactiv în Python sau importat în propriul program Python. De asemenea, are API-uri pentru extinderea ușoară cu propriile rutine.
Instalarea SymPy
Pur și simplu utilizați comanda de mai jos pentru a instala în mediul dvs.
Simboluri SymPy
Să începem cu el acum! Obiectul său fundamental este un simbol. În SymPy, puteți genera un simbol x scriind:
Codul de mai sus generează simbolul x. Simbolurile din acesta au scopul de a emula simboluri matematice care reprezintă valori necunoscute.
Ca urmare, următorul calcul este prezentat mai jos:
După cum se arată mai sus, simbolul x funcționează similar cu o sumă necunoscută. Dacă doriți să faceți mai multe simboluri, scrieți-le după cum urmează:
Ați creat două simboluri, y și z, în același moment în acest caz. Aceste simboluri pot fi acum adăugate, scăzute, înmulțite și împărțite după cum doriți:
Funcții SymPy
1. funcția sympify().
Metoda sympify() transformă o expresie arbitrară într-o expresie SymPy. Convertește obiectele standard Python, cum ar fi numerele întregi.
Șirurile sunt transformate în expresiile lor, precum și în numere întregi etc.
2. funcția evalf().
Această funcție evaluează o expresie numerică specificată cu o precizie în virgulă mobilă de până la 100 de cifre.
Funcția acceptă în plus un obiect dicționar cu valori numerice pentru simboluri ca argument secundar. Luați în considerare următoarea frază:
Precizia în virgulă mobilă este setată implicit la 15 cifre. Cu toate acestea, acesta poate fi schimbat cu orice număr între 1 și 100.
Următoarea ecuație este evaluată cu o precizie de 20 de cifre.
3. Funcția Lambdify().
Lambdify este o funcție care își convertește expresiile în funcții Python. Metoda evalf() este ineficientă atunci când se evaluează o expresie într-o gamă largă de valori.
Lambdify funcționează similar cu o funcție lambda, cu excepția faptului că traduce numele SymPy în numele bibliotecii numerice furnizate, care este în general NumPy.
Implicit, Lambdify este aplicat implementărilor de biblioteci standard de matematică.
DESCRIERE
Câteva dintre cele mai semnificative caracteristici ale bibliotecii sunt enumerate aici; sunt multe altele care nu sunt incluse, dar le puteți verifica aici.
1. Capabilități de bază
- Aritmetică fundamentală: operatorii +, -, *, / și ** sunt acceptați (putere)
- O expansiune polinomială
- Numerele întregi, raționale și flotanți cu precizie arbitrară
- Funcții trigonometrice, hiperbolice și exponențiale, rădăcini, logaritmi, valoare absolută, armonice sferice, factoriale și funcții gamma, funcții zeta, polinoame și funcții speciale
- Simboluri care nu sunt comutative
- Modele de potrivire
2. Calcul
- Integrare: Această metodă folosește euristica Risch-Norman extinsă
- Diferenţiere.
- Funcții de limitare
- Seria lui Laurent Taylor
3. Polinoame
- fundații Gröbner
- Descompunerea fracțiilor parțiale
- Diviziune, mcd Rezultatele sunt exemple de aritmetică de bază.
4. Combinatorică
- Permutări
- Codurile Gray și Prufer
- Combinații, Partiții, Subseturi
- Grupuri poliedrice, Rubik, simetrice și alte permutări
5. Matematică discretă
- Însumări
- Expresii logice
- Coeficienți binomiali
- Teoria numerelor
aplicatii
1. Calculator de clădire
2. Sisteme de algebră computerizată
Spre deosebire de alte sisteme de algebră computerizată, trebuie să declarați manual variabilele simbolice în el folosind funcția Symbol().
3. Calcul
Capacitatea unui sistem de calcul simbolic de a face tot felul de calcule simbolic este puterea sa majoră.
Poate simplifica enunțurile, în mod simbolic, să calculeze derivate, integrale și limite, să rezolve ecuații, să interacționeze cu matrice și să facă mult mai mult.
Pentru a vă stârni pofta de mâncare, iată un gust de putere simbolică.
Ce altceva poți face cu SymPy?
În loc să discut în profunzime despre probleme suplimentare, permiteți-mi să vă ofer o listă de resurse care să vă ajute să vă îmbunătățiți abilitățile:
- Matrici și algebră liniară: Poate lucra cu matrici și poate efectua operații de bază de algebră liniară. Limbajul este similar cu sintaxa lui NumPy. Cu toate acestea, există diferențe notabile. Pentru început, investighează matrici în bibliotecă.
- Expresie: Utilizează un arbore de expresii, care este o structură bazată pe arbore, pentru a ține evidența expresiilor. Uita-te la arbori de expresie dacă doriți să aflați mai multe despre funcționarea lor interioară.
- Derivate și integrale: Poate realiza cea mai mare parte a ceea ce ați învăța la o clasă introductivă de calcul (minus gândirea). Puteți începe prin a vă uita la funcția noastră diferenţiere în SymPy.
- Relația cu NumPy: NumPy și SymPy sunt ambele biblioteci legate de matematică. Ele sunt, totuși, esențial diferite! NumPy funcționează cu numere, în timp ce funcționează cu expresii simbolice.
- Simplificari: Este suficient de inteligent pentru a simplifica automat expresiile. Cu toate acestea, dacă doriți un control mai fin asupra acestui lucru, uitați-vă la el simplificări.
Concluzie
SymPy este o bibliotecă puternică pentru matematică simbolică.
Îl puteți folosi pentru a crea variabile și funcții, precum și pentru a extinde și simplifica în mod simbolic declarații matematice și pentru a rezolva ecuații, inegalități și chiar sisteme de ecuații/inecuații.
Puteți scrie funcțiile atât în textul scriptului, cât și direct în terminal (sau Caiete Jupyter) pentru a obține o evaluare rapidă și o mai bună reprezentare grafică a calculelor efectuate.
Ești gata să explorezi mai mult SymPy? Spune-ne în comentarii.
Lasă un comentariu