Table of Contents[Ferstopje][Toanje]
D'r is gjin omgean mei wiskunde, of jo no in universitêre studint binne of wurkje yn datawittenskip.
Men kin sels stelle dat gegevenswittenskip in soarte fan tapaste wiskunde/statistyk is. NumPy, SciPy, Scikit-Learje, en TensorFlow binne mar in pear fan de Python bibleteken dy't dwaande hâlde mei wiskunde kwantitatyf.
D'r is lykwols mar ien konkurrint foar eksplisyt omgean mei wiskundige symboalen: SymPy.
Litte wy alles útfine oer SymPy.
Wat is SymPy?
SymPy is in Python symboalyske wiskunde bibleteek. It stribbet nei in folslein komputeralgebrasysteem (CAS) te wêzen, wylst de koade sa basysk mooglik hâldt om begryplik en maklik út te wreidzjen.
It is folslein skreaun yn Python. It is ienfâldich te brûken, om't it allinich fertrout op mpmath, in suvere Python-bibleteek foar willekeurige driuwende-punt-arithmetyk.
As biblioteek is it makke mei in wichtige klam op brûkberens yn gedachten. Utwreidingsfermogen is kritysk yn it ûntwerp fan har applikaasjeprogramma-ynterface (API).
As gefolch makket it gjin besykjen om de Python-taal te ferbetterjen. It doel is dat brûkers it njonken oaren kinne brûke Python biblioteken yn har workflow, itsij yn in ynteraktive omjouwing as as in programmearre komponint fan in grutter systeem.
SymPy, as bibleteek, mist in ynboude grafyk brûkersynterface (GUI). De biblioteek is:
- Fergees, sawol oangeande spraak as bier, om't it fergunning is ûnder de BSD-lisinsje.
- Python-basearre: It is folslein ûntwikkele yn Python en brûkt Python as syn taal.
- Lichtgewicht omdat it allinnich fertrout op mpmath, in suvere Python bibleteek foar willekeurige driuwende-punt-arithmetyk, wêrtroch it maklik te brûken is.
- Kin wurde opnaam yn oare programma's en wizige mei oanpaste funksjes neist wurde brûkt as in ynteraktyf ark.
Wêrom brûke SymPy?
Sage, in algebra-komputersysteem, brûkt ek Python as har programmeartaal. Sage, oan 'e oare kant, is enoarm, en fereasket in download fan mear dan in gigabyte. It hat it foardiel fan lichtgewicht.
Neist kompakt te wêzen, hat it gjin oare ôfhinklikens as Python, wêrtroch it praktysk oeral kin wurde brûkt.
Fierder binne de doelen fan Sage en SymPy net itselde. Sage stribbet nei in wiskundige systeem mei folsleine funksjes te wêzen, en it docht dat troch alle wichtige iepen boarne wiskundige systemen yn ien te kombinearjen.
As jo in Sage-funksje brûke, lykas yntegrearje, ropt it ien fan 'e iepen boarne-pakketten op dy't it befettet. Yn werklikheid is it boud yn Sage. SymPy, oan 'e oare kant, stribbet nei in selsstannich systeem te wêzen, mei alle funksjonaliteit yn it sels ymplementearre.
It fermogen om te funksjonearjen as in bibleteek is in wichtige funksje. In protte kompjûteralgebrasystemen binne bedoeld om te brûken yn ynteraktive omjouwings, mar se binne lestich te automatisearjen of út te wreidzjen.
It kin ynteraktyf brûkt wurde yn Python of ymportearre yn jo eigen Python-programma. It hat ek API's om it maklik út te wreidzjen mei jo eigen routines.
SymPy ynstallearje
Brûk gewoan it kommando hjirûnder om yn jo omjouwing te ynstallearjen.
SymPy Symbols
Litte wy der no mei begjinne! It fûnemintele objekt is in symboal. Yn SymPy kinne jo in symboal x generearje troch te skriuwen:
De koade hjirboppe genereart it symboal x. Symboalen dêryn binne bedoeld om wiskundige symboalen te emulearjen dy't ûnbekende wearden fertsjintwurdigje.
As resultaat wurdt de folgjende berekkening hjirûnder werjûn:
Lykas hjirboppe toand, funksjonearret it symboal x fergelykber mei in ûnbekend bedrach. As jo in protte symboalen wolle meitsje, skriuw se dan sa:
Jo makke twa symboalen, y, en z, op itselde momint yn dit gefal. Dizze symboalen kinne no wurde tafoege, subtrahearre, fermannichfâldige en ferdield as winske:
SymPy Funksjes
1. sympify () funksje
De metoade sympify() transformeart in willekeurige útdrukking yn in SymPy-ekspresje. It konvertearret standert Python-objekten, lykas heule getallen.
Strings wurde omfoarme ta har útdrukkingen lykas yntegers, ensfh.
2. evalf () funksje
Dizze funksje evaluearret in spesifisearre numerike útdrukking mei in driuwende-punt-precision fan maksimaal 100 sifers.
De funksje akseptearret ek in wurdboekobjekt mei numerike wearden foar symboalen as subargumint. Tink oan de folgjende sin:
De krektens fan driuwende punt is standert ynsteld op 15 sifers. Dit kin lykwols feroare wurde yn elk getal tusken 1 en 100.
De folgjende fergeliking wurdt evaluearre mei in krektens fan 20 sifers.
3. Lambdify () funksje
Lambdify is in funksje dy't har útdrukkingen konvertearret yn Python-funksjes. De metoade evalf () is net effisjint by it evaluearjen fan in útdrukking oer in breed skala oan wearden.
Lambdify wurket fergelykber mei in lambda-funksje, útsein dat it SymPy-nammen oerset nei de nammen fan 'e levere numerike bibleteek, dy't oer it algemien NumPy is.
Standert wurdt Lambdify tapast op ymplemintaasje fan math standert bibleteek.
Features
In hânfol fan 'e meast wichtige funksjes fan' e bibleteek wurde hjir neamd; der binne folle mear net opnommen, mar jo kinne kontrolearje se út hjir.
1. Core mooglikheden
- Fundamental arithmetic: +, -, *, /, en ** operators wurde stipe (power)
- In polynomiale útwreiding
- Integers, rationalen en driuwen mei willekeurige presyzje
- Trigonometryske, hyperboalyske en eksponinsjele funksjes, woartels, logaritmen, absolute wearde, sfearyske harmonika, faktorialen en gammafunksjes, zetafunksjes, polynomen en spesjale funksjes
- Symboalen dy't net-commutative
- Matching patroanen
2. Berekkening
- Yntegraasje: Dizze metoade brûkt de útwreide Risch-Norman heuristyk
- Difference.
- Limit funksjes
- Laurent Taylor's rige
3. Polynomen
- Gröbner stichtingen
- Dekomposysje fan parsjele fraksjes
- Division, gcd Resultaten binne foarbylden fan basisrekenen.
4. Combinatorics
- Permutaasjes
- Grey en Prufer Codes
- Kombinaasjes, Partitionen, Subsets
- Polyhedral, Rubik, symmetryske en oare permutaasjegroepen
5. Diskrete Maths
- Summaasjes
- Logyske útdrukkingen
- Binomiale koeffizienten
- Getalteory
Oanfraach
1. Building Calculator
2. Computer Algebra Systems
Oars as oare Computer Algebra Systems, Jo moatte manuell ferklearje symboalyske fariabelen dêryn mei help fan de Symbol () -funksje.
3. Berekkening
De kapasiteit fan in symboalysk berekkeningssysteem om allerhanne berekkeningen symboalysk te dwaan is har grutte sterkte.
It kin útspraken ferienfâldigje, symboalysk, derivatives, yntegralen en limiten berekkenje, fergelikingen oplosse, ynteraksje mei matriksen en folle mear dwaan.
Om jo appetit te wekken, hjir is in smaak fan symboalyske krêft.
Wat kinne jo oars dwaan mei SymPy?
Yn stee fan te droegjen oer ekstra saken yngeande, lit my jo in list mei boarnen leverje om jo te helpen jo feardigens te ferbetterjen:
- Matrices en lineêre algebra: It kin wurkje mei matrices en útfiere basis lineêre algebra operaasjes. De taal is gelyk oan de syntaksis fan NumPy. D'r binne lykwols opmerklike ferskillen. Om te begjinnen, ûndersykje matriks yn biblioteek.
- Útdrukking: It brûkt in útdrukkingsbeam, dat is in beam-basearre struktuer, om útdrukkingen by te hâlden. Sjoch nei útdrukking beammen as jo mear wolle leare oer har ynderlike wurken.
- Derivaten en yntegralen: It kin it measte berikke fan wat jo leare yn in ynliedende berekkeningsklasse (minus it tinken). Jo kinne begjinne troch te sjen nei ús funksje differinsjaasje yn SymPy.
- Relaasje mei NumPy: NumPy en SymPy binne beide wiskunde-relatearre bibleteken. Se binne lykwols yn wêzen oars! NumPy wurket mei sifers, wylst it wurket mei symboalyske útdrukkingen.
- Simplifications: It is yntelligint genôch om útdrukkingen automatysk te ferienfâldigjen. As jo lykwols mear fynkorrelige kontrôle oer dit wolle, sjoch dan nei har ferienfâldigingen.
Konklúzje
SymPy is in krêftige bibleteek foar symboalyske wiskunde.
Jo kinne it brûke om fariabelen en funksjes te meitsjen, lykas wiskundige útspraken symboalysk útwreidzje en ferienfâldigje en fergelikingen, ûngelikens, en sels systemen fan fergelikingen / ûngelikens op te lossen.
Jo kinne de funksjes sawol yn 'e skripttekst as direkt yn' e terminal (of Jupyter notebooks) om in flugge beoardieling en in bettere grafyske ôfbylding te krijen fan 'e dien berekkeningen.
Binne jo ree om mear fan SymPy te ferkennen? Lit it ús witte yn 'e kommentaren.
Leave a Reply