Innholdsfortegnelse[Gjemme seg][Forestilling]
Det er ingen vei utenom matematikk, enten du er universitetsstudent eller jobber med datavitenskap.
Man kan til og med hevde at datavitenskap er en type anvendt matematikk/statistikk. NumPy, SciPy, Scikit-Lærog tensorflow er bare noen få av Python-bibliotekene som omhandler matematikk kvantitativt.
Imidlertid er det bare én konkurrent for eksplisitt å håndtere matematiske symboler: SymPy.
La oss finne ut alt om SymPy.
Hva er SymPy?
SymPy er et Python symbolsk matematikkbibliotek. Det streber etter å være et fullverdig dataalgebrasystem (CAS) samtidig som koden holdes så grunnleggende som mulig for å være forståelig og lett utvidbar.
Den er fullstendig skrevet i Python. Det er enkelt å bruke siden det bare er avhengig av mpmath, et rent Python-bibliotek for vilkårlig flyt-komma-aritmetikk.
Som et bibliotek ble det opprettet med en betydelig vekt på brukervennlighet i tankene. Utvidbarhet er avgjørende i utformingen av applikasjonsprogramgrensesnittet (API).
Som et resultat gjør den ingen forsøk på å forbedre Python-språket. Målet er at brukerne skal kunne bruke den sammen med andre Python-biblioteker i arbeidsflyten deres, enten i et interaktivt miljø eller som en programmert komponent i et større system.
SymPy, som et bibliotek, mangler en innebygd grafikk brukergrensesnitt (GUI). Biblioteket er:
- Gratis, både når det gjelder tale og øl, fordi det er lisensiert under BSD-lisensen.
- Python-basert: Det er fullstendig utviklet i Python og bruker Python som språk.
- Lett fordi den bare er avhengig av mpmath, en ren Python bibliotek for vilkårlig flyt-komma-aritmetikk, noe som gjør det enkelt å bruke.
- Kan inkorporeres i andre programmer og modifiseres med tilpassede funksjoner i tillegg til å brukes som et interaktivt verktøy.
Hvorfor bruke SymPy?
Sage, et dataalgebrasystem, bruker også Python som programmeringsspråk. Sage, på den annen side, er enorm, og krever en nedlasting på mer enn en gigabyte. Den har fordelen av å være lett.
I tillegg til å være kompakt, har den ingen andre avhengigheter enn Python, slik at den kan brukes praktisk talt overalt.
Videre er ikke målene til Sage og SymPy de samme. Sage ønsker å være et komplett matematikksystem, og det gjør det ved å kombinere alle de viktigste matematiske matematiske systemene med åpen kildekode til ett.
Når du bruker en Sage-funksjon, for eksempel integrate, påkaller den en av åpen kildekode-pakkene den inneholder. I virkeligheten er den innebygd i Sage. SymPy, på den annen side, ønsker å være et selvstendig system, med all funksjonalitet implementert i det selv.
Dens kapasitet til å fungere som et bibliotek er en viktig funksjon. Mange dataalgebrasystemer er ment å brukes i interaktive miljøer, men de er vanskelige å automatisere eller utvide.
Den kan brukes interaktivt i Python eller importeres til ditt eget Python-program. Den har også API-er for enkel å utvide den med dine egne rutiner.
Installerer SymPy
Bare bruk kommandoen nedenfor for å installere i ditt miljø.
SymPy-symboler
La oss komme i gang med det nå! Dens grunnleggende gjenstand er et symbol. I SymPy kan du generere et symbol x ved å skrive:
Koden ovenfor genererer symbolet x. Symboler i den er ment å etterligne matematiske symboler som representerer ukjente verdier.
Som et resultat vises følgende beregning nedenfor:
Som vist ovenfor fungerer symbolet x på samme måte som et ukjent beløp. Hvis du ønsker å lage mange symboler, skriv dem som følger:
Du opprettet to symboler, y og z, i samme øyeblikk i dette tilfellet. Disse symbolene kan nå legges til, subtraheres, multipliseres og divideres etter ønske:
SymPy-funksjoner
1. sympify() funksjon
Sympify()-metoden transformerer et vilkårlig uttrykk til et SymPy-uttrykk. Den konverterer standard Python-objekter, for eksempel heltall.
Strenger blir transformert til uttrykkene deres så vel som heltall osv.
2. evalf() funksjon
Denne funksjonen evaluerer et spesifisert numerisk uttrykk med en flyttallspresisjon på opptil 100 sifre.
Funksjonen godtar i tillegg et ordbokobjekt med numeriske verdier for symboler som et subs-argument. Tenk på følgende setning:
Flytepunktsnøyaktigheten er satt til 15 sifre som standard. Dette kan imidlertid endres til et hvilket som helst tall mellom 1 og 100.
Følgende ligning evalueres med en presisjon på 20 sifre.
3. Lambdify() funksjon
Lambdify er en funksjon som konverterer uttrykkene til Python-funksjoner. Metoden evalf() er ineffektiv når man evaluerer et uttrykk på tvers av et bredt spekter av verdier.
Lambdify fungerer på samme måte som en lambda-funksjon, bortsett fra at den oversetter SymPy-navn til navnene på det oppgitte numeriske biblioteket, som vanligvis er NumPy.
Som standard brukes Lambdify på implementeringer av matematikkstandardbibliotek.
Egenskaper
En håndfull av bibliotekets viktigste funksjoner er listet opp her; det er mange flere som ikke er inkludert, men du kan sjekke dem ut her..
1. Kjerneegenskaper
- Grunnleggende aritmetikk: +, -, *, / og **-operatorer støttes (power)
- En polynomutvidelse
- Heltall, rasjonaler og flyter med vilkårlig presisjon
- Trigonometriske, hyperbolske og eksponentielle funksjoner, røtter, logaritmer, absoluttverdi, sfæriske harmoniske, faktorial- og gammafunksjoner, zetafunksjoner, polynomer og spesialfunksjoner
- Symboler som ikke er kommutative
- Matchende mønstre
2. Regning
- Integrasjon: Denne metoden bruker den utvidede Risch-Norman-heuristikken
- Differensiering.
- Begrens funksjoner
- Laurent Taylors serie
3. Polynomer
- Gröbner stiftelser
- Dekomponering av partielle fraksjoner
- Divisjon, gcd Resultanter er eksempler på grunnleggende aritmetikk.
4. Kombinatorikk
- Kombinasjonsmuligheter
- Grå- og Prufer-koder
- Kombinasjoner, partisjoner, undersett
- Polyedral, Rubik, symmetriske og andre permutasjonsgrupper
5. Diskret matematikk
- Oppsummeringer
- Logiske uttrykk
- Binomiale koeffisienter
- Nummerteori
applikasjoner
1. Bygningskalkulator
2. Datamaskinalgebrasystemer
I motsetning til andre datamaskinalgebrasystemer, må du manuelt deklarere symbolske variabler i den ved å bruke Symbol()-funksjonen.
3. Regning
Evnen til et symbolsk beregningssystem til å gjøre alle slags beregninger symbolsk er dets største styrke.
Den kan forenkle utsagn, symbolsk, beregne derivater, integraler og grenser, løse ligninger, samhandle med matriser og gjøre mye mer.
For å vekke appetitten, her er en smak av symbolsk kraft.
Hva annet kan du gjøre med SymPy?
I stedet for å drible videre om flere problemer i dybden, la meg gi deg en liste over ressurser for å hjelpe deg med å forbedre ferdighetene dine:
- Matriser og lineær algebra: Den kan arbeide med matriser og utføre grunnleggende lineære algebraoperasjoner. Språket ligner på NumPys syntaks. Det er imidlertid bemerkelsesverdige forskjeller. For å begynne, undersøk matriser i biblioteket.
- Uttrykk: Den utnytter et uttrykkstre, som er en trebasert struktur, for å holde styr på uttrykk. Se på uttrykk trær hvis du vil lære mer om deres indre funksjoner.
- Derivater og integraler: Den kan oppnå det meste av det du vil lære i en innledende kalkulustime (minus tenkningen). Du kan begynne med å se på funksjonen vår differensiering i SymPy.
- Forholdet til NumPy: NumPy og SymPy er begge matematikkrelaterte biblioteker. De er likevel vesentlig forskjellige! NumPy jobber med tall, mens det jobber med symbolske uttrykk.
- Forenklinger: Den er intelligent nok til å automatisk forenkle uttrykk. Men hvis du vil ha mer finkornet kontroll over dette, se på det forenklinger.
konklusjonen
SymPy er et kraftig bibliotek for symbolsk matematikk.
Du kan bruke den til å lage variabler og funksjoner, samt symbolsk utvide og forenkle matematiske utsagn og løse likninger, ulikheter og til og med likningssystemer/ulikheter.
Du kan skrive funksjonene både i skriptets tekst og direkte i terminalen (eller Jupyter bærbare) for å få en rask vurdering og en bedre grafisk skildring av de utførte beregningene.
Er du klar til å utforske mer av SymPy? Gi oss beskjed i kommentarene.
Legg igjen en kommentar