Indholdsfortegnelse[Skjule][At vise]
Der er ingen mulighed for at komme uden om matematik, uanset om du er universitetsstuderende eller arbejder med datavidenskab.
Man kan endda hævde, at datavidenskab er en type anvendt matematik/statistik. NumPy, SciPy, Scikit-Lærog TensorFlow er blot nogle få af Python-bibliotekerne, der beskæftiger sig med matematik kvantitativt.
Der er dog kun én konkurrent til eksplicit at beskæftige sig med matematiske symboler: SymPy.
Lad os finde ud af alt om SymPy.
Hvad er SymPy?
SymPy er et Python symbolsk matematikbibliotek. Det stræber efter at være et fuldt udstyret computeralgebrasystem (CAS), mens koden holdes så grundlæggende som muligt for at være forståelig og let at udvide.
Det er fuldt ud skrevet i Python. Det er nemt at bruge, da det kun er afhængigt af mpmath, et rent Python-bibliotek til vilkårlig flydende-komma-aritmetik.
Som bibliotek blev det skabt med en betydelig vægt på brugervenlighed i tankerne. Udvidelsesmuligheder er afgørende i designet af dets applikationsprogramgrænseflade (API).
Som et resultat gør den intet forsøg på at forbedre Python-sproget. Målet er, at brugerne skal kunne bruge det sammen med andre Python-biblioteker i deres arbejdsgang, hvad enten det er i et interaktivt miljø eller som en programmeret komponent i et større system.
SymPy mangler som bibliotek en indbygget grafik brugergrænseflade (GUI). Biblioteket er:
- Gratis, både hvad angår tale og øl, fordi det er licenseret under BSD-licensen.
- Python-baseret: Det er fuldstændig udviklet i Python og bruger Python som sprog.
- Let, fordi den kun er afhængig af mpmath, en ren Python bibliotek til vilkårlig flydende komma-aritmetik, hvilket gør det nemt at bruge.
- Kan integreres i andre programmer og modificeres med brugerdefinerede funktioner ud over at blive brugt som et interaktivt værktøj.
Hvorfor bruge SymPy?
Sage, et computeralgebrasystem, anvender også Python som programmeringssprog. Sage er på den anden side enorm og kræver en download på mere end en gigabyte. Det har fordelen ved at være let.
Ud over at være kompakt har den ingen andre afhængigheder end Python, hvilket gør at den kan bruges praktisk talt overalt.
Desuden er målene for Sage og SymPy ikke de samme. Sage stræber efter at være et fuldt udstyret matematiksystem, og det gør det ved at kombinere alle de vigtigste matematiske open source-systemer til ét.
Når du bruger en Sage-funktion, såsom integrere, kalder den en af de open source-pakker, den indeholder. I virkeligheden er det indbygget i Sage. SymPy, på den anden side, stræber efter at være et selvstændigt system, med al funktionalitet implementeret i det selv.
Dets evne til at fungere som et bibliotek er en vigtig egenskab. Mange computeralgebrasystemer er beregnet til at blive brugt i interaktive miljøer, men de er svære at automatisere eller udvide.
Det kan bruges interaktivt i Python eller importeres til dit eget Python-program. Det har også API'er for nemt at udvide det med dine egne rutiner.
Installation af SymPy
Brug blot kommandoen nedenfor til at installere i dit miljø.
SymPy symboler
Lad os komme i gang med det nu! Dens grundlæggende genstand er et symbol. I SymPy kan du generere et symbol x ved at skrive:
Koden ovenfor genererer symbolet x. Symboler i den er beregnet til at efterligne matematiske symboler, der repræsenterer ukendte værdier.
Som et resultat er følgende beregning vist nedenfor:
Som vist ovenfor fungerer symbolet x på samme måde som en ukendt mængde. Hvis du ønsker at lave mange symboler, så skriv dem som følger:
Du oprettede to symboler, y og z, på samme tidspunkt i dette tilfælde. Disse symboler kan nu tilføjes, trækkes fra, ganges og divideres som ønsket:
SymPy funktioner
1. sympify() funktion
Sympify()-metoden transformerer et vilkårligt udtryk til et SymPy-udtryk. Det konverterer standard Python-objekter, såsom heltal.
Strenge transformeres til deres udtryk såvel som heltal osv.
2. evalf() funktion
Denne funktion evaluerer et specificeret numerisk udtryk med en floating-point-præcision på op til 100 cifre.
Funktionen accepterer desuden et ordbogsobjekt med numeriske værdier for symboler som et subs-argument. Overvej følgende sætning:
Flydende kommas nøjagtighed er som standard indstillet til 15 cifre. Dette kan dog ændres til et hvilket som helst tal mellem 1 og 100.
Følgende ligning evalueres med en præcision på 20 cifre.
3. Lambdify() funktion
Lambdify er en funktion, der konverterer sine udtryk til Python-funktioner. Metoden evalf() er ineffektiv, når et udtryk evalueres på tværs af en lang række værdier.
Lambdify fungerer på samme måde som en lambda-funktion, bortset fra at den oversætter SymPy-navne til navnene på det angivne numeriske bibliotek, som generelt er NumPy.
Som standard anvendes Lambdify til matematikstandardbiblioteksimplementeringer.
Funktionalitet
En håndfuld af bibliotekets mest betydningsfulde funktioner er listet her; der er mange flere ikke inkluderet, men du kan tjekke dem ud link..
1. Kernefunktioner
- Grundlæggende aritmetik: +, -, *, / og ** operatorer er understøttet (potens)
- En polynomisk udvidelse
- Heltal, rationaler og flydere med vilkårlig præcision
- Trigonometriske, hyperbolske og eksponentielle funktioner, rødder, logaritmer, absolut værdi, sfæriske harmoniske, faktor- og gammafunktioner, zetafunktioner, polynomier og specialfunktioner
- Symboler, der ikke er kommutative
- Matchende mønstre
2. Regning
- Integration: Denne metode anvender den udvidede Risch-Norman heuristik
- Differentiering.
- Begræns funktioner
- Laurent Taylors serie
3. Polynomer
- Gröbner fonde
- Nedbrydning af partielle fraktioner
- Division, gcd Resultanter er eksempler på grundlæggende aritmetik.
4. Kombinatorik
- permutationer
- Grå og Prufer koder
- Kombinationer, partitioner, undermængder
- Polyedriske, Rubik-, symmetriske og andre permutationsgrupper
5. Diskret matematik
- Opsummeringer
- Logiske udtryk
- Binomiale koefficienter
- Nummerteori
Applikationer
1. Bygningsberegner
2. Computeralgebrasystemer
I modsætning til andre computeralgebrasystemer skal du manuelt erklære symbolske variabler i den ved hjælp af Symbol()-funktionen.
3. Regning
Et symbolsk beregningssystems kapacitet til at udføre alle slags beregninger symbolsk er dets største styrke.
Det kan simplificere udsagn, symbolsk, beregne afledte, integraler og grænser, løse ligninger, interagere med matricer og gøre meget mere.
For at vække din appetit er her en smagsprøve på symbolsk kraft.
Hvad kan du ellers gøre med SymPy?
I stedet for at drøne videre om yderligere spørgsmål i dybden, så lad mig give dig en liste over ressourcer til at hjælpe dig med at forbedre dine færdigheder:
- Matricer og lineær algebra: Den kan arbejde med matricer og udføre grundlæggende lineære algebraoperationer. Sproget ligner NumPys syntaks. Der er dog bemærkelsesværdige forskelle. For at begynde, undersøg matrixer på biblioteket.
- Ekspression: Det udnytter et udtrykstræ, som er en træbaseret struktur, til at holde styr på udtryk. Se på udtrykstræer hvis du vil lære mere om deres indre virke.
- Derivater og integraler: Det kan udrette det meste af det, du ville lære i en indledende calculus-time (minus tænkningen). Du kan starte med at kigge på vores funktion differentiering i SymPy.
- Forholdet til NumPy: NumPy og SymPy er begge matematik-relaterede biblioteker. De er ikke desto mindre væsentligt forskellige! NumPy arbejder med tal, hvorimod det arbejder med symbolske udtryk.
- Forenklinger: Det er intelligent nok til automatisk at forenkle udtryk. Men hvis du vil have mere finkornet kontrol over dette, så se på dens forenklinger.
Konklusion
SymPy er et kraftfuldt bibliotek for symbolsk matematik.
Du kan bruge det til at skabe variabler og funktioner, samt symbolsk udvide og forenkle matematiske udsagn og løse ligninger, uligheder og endda lignings-/ulighedssystemer.
Du kan skrive funktionerne både i scriptets tekst og direkte i terminalen (eller Jupyter notesbøger) for at få en hurtig vurdering og en bedre grafisk afbildning af de udførte beregninger.
Er du klar til at udforske mere af SymPy? Fortæl os det i kommentarerne.
Giv en kommentar