Obsah[Skryť][Šou]
Matematiku nie je možné obísť, či už ste študentom vysokej školy alebo pracujete v dátovej vede.
Niekto by mohol dokonca namietať, že veda o údajoch je typ aplikovanej matematiky/štatistiky. NumPy, SciPy, Scikit-uč saa TensorFlow sú len niektoré z Pythonových knižníc, ktoré sa kvantitatívne zaoberajú matematikou.
Existuje však len jeden konkurent, ktorý sa explicitne zaoberá matematickými symbolmi: SymPy.
Dozvieme sa všetko o SymPy.
Čo je SymPy?
SymPy je symbolická matematická knižnica Pythonu. Snaží sa byť plnohodnotným systémom počítačovej algebry (CAS), pričom kód zachováva čo najzákladnejší, aby bol zrozumiteľný a ľahko rozšíriteľný.
Je plne napísaný v Pythone. Je jednoduchý na používanie, pretože sa spolieha iba na mpmath, čistú knižnicu Pythonu pre ľubovoľnú aritmetiku s pohyblivou rádovou čiarkou.
Ako knižnica bola vytvorená s výrazným dôrazom na použiteľnosť. Rozšíriteľnosť je rozhodujúca pri návrhu jeho aplikačného programového rozhrania (API).
V dôsledku toho sa nepokúša vylepšiť jazyk Python. Cieľom je, aby ho používatelia mohli používať spolu s ostatnými Knižnice Pythonu v ich pracovnom toku, či už v interaktívnom prostredí alebo ako naprogramovaný komponent väčšieho systému.
SymPy ako knižnici chýba vstavaná grafika používateľské rozhranie (GUI). Knižnica je:
- Zadarmo, čo sa týka reči aj piva, pretože je licencované pod licenciou BSD.
- Založený na Pythone: Je úplne vyvinutý v Pythone a používa Python ako svoj jazyk.
- Ľahký, pretože sa spolieha iba na mpmath, čistý Knižnica Python pre ľubovoľnú aritmetiku s pohyblivou rádovou čiarkou, čo zjednodušuje používanie.
- Okrem toho, že sa používa ako interaktívny nástroj, možno ho začleniť do iných programov a upraviť pomocou vlastných funkcií.
Prečo používať SymPy?
Sage, systém počítačovej algebry, tiež používa Python ako svoj programovací jazyk. Na druhej strane Sage je obrovský a vyžaduje sťahovanie viac ako gigabajt. Jeho výhodou je, že je ľahký.
Okrem toho, že je kompaktný, nemá žiadne iné závislosti ako Python, čo umožňuje jeho použitie prakticky všade.
Okrem toho ciele Sage a SymPy nie sú rovnaké. Sage sa snaží byť plnohodnotným matematickým systémom, a to tak, že spája všetky hlavné open-source matematické systémy do jedného.
Keď použijete funkciu Sage, napríklad integrovať, vyvolá jeden z balíkov s otvoreným zdrojovým kódom, ktoré obsahuje. V skutočnosti je zabudovaný do Sage. SymPy sa na druhej strane snaží byť samostatným systémom so všetkými funkciami implementovanými v ňom samom.
Jeho schopnosť fungovať ako knižnica je dôležitou vlastnosťou. Mnohé systémy počítačovej algebry sú určené na použitie v interaktívnych prostrediach, ale je ťažké ich automatizovať alebo rozšíriť.
Môže byť použitý interaktívne v Pythone alebo importovaný do vášho vlastného programu Python. Má tiež API pre jednoduché rozšírenie o vaše vlastné rutiny.
Inštalácia SymPy
Jednoducho použite príkaz uvedený nižšie na inštaláciu vo vašom prostredí.
SymPy Symboly
Začnime s tým teraz! Jeho základným predmetom je symbol. V SymPy môžete vygenerovať symbol x napísaním:
Vyššie uvedený kód generuje symbol x. Symboly v ňom sú určené na emuláciu matematických symbolov, ktoré predstavujú neznáme hodnoty.
V dôsledku toho je nižšie uvedený nasledujúci výpočet:
Ako je uvedené vyššie, symbol x funguje podobne ako neznáme množstvo. Ak chcete vytvoriť veľa symbolov, napíšte ich takto:
V tomto prípade ste vytvorili dva symboly, y a z, v rovnakom momente. Tieto symboly je teraz možné pridávať, odčítavať, násobiť a deliť podľa potreby:
Funkcie SymPy
1. funkcia sympify().
Metóda sympify() transformuje ľubovoľný výraz na výraz SymPy. Konvertuje štandardné objekty Pythonu, ako sú celé čísla.
Reťazce sa transformujú na svoje výrazy, ako aj na celé čísla atď.
2. funkcia evalf().
Táto funkcia vyhodnocuje zadaný číselný výraz s presnosťou v pohyblivej rádovej čiarke až na 100 číslic.
Funkcia navyše akceptuje objekt slovníka s číselnými hodnotami pre symboly ako argument subs. Zvážte nasledujúcu frázu:
Presnosť s pohyblivou rádovou čiarkou je štandardne nastavená na 15 číslic. Toto je však možné zmeniť na ľubovoľné číslo od 1 do 100.
Nasledujúca rovnica je vyhodnotená s presnosťou 20 číslic.
3. Funkcia Lambdify().
Lambdify je funkcia, ktorá konvertuje svoje výrazy na funkcie Pythonu. Metóda evalf() je neefektívna pri vyhodnocovaní výrazu v širokom rozsahu hodnôt.
Lambdify funguje podobne ako funkcia lambda, okrem toho, že prekladá názvy SymPy na názvy poskytnutej numerickej knižnice, ktorá je vo všeobecnosti NumPy.
Lambdify sa štandardne používa na implementácie štandardných matematických knižníc.
Vlastnosti
Tu je uvedených niekoľko najvýznamnejších funkcií knižnice; existuje mnoho ďalších, ktoré nie sú zahrnuté, ale môžete si ich pozrieť tu.
1. Základné schopnosti
- Základná aritmetika: sú podporované operátory +, -, *, / a ** (výkon)
- Rozšírenie polynómu
- Celé čísla, zdôvodnenia a plávajúce čísla s ľubovoľnou presnosťou
- Goniometrické, hyperbolické a exponenciálne funkcie, odmocniny, logaritmy, absolútna hodnota, sférické harmonické, faktoriály a gama funkcie, zeta funkcie, polynómy a špeciálne funkcie
- Symboly, ktoré sú nekomutatívne
- Zodpovedajúce vzory
2. Počet
- Integrácia: Táto metóda využíva rozšírenú Risch-Normanovu heuristiku
- Diferenciácie.
- Limitné funkcie
- Séria Laurenta Taylora
3. Polynómy
- Gröbnerových základov
- Rozklad parciálnych zlomkov
- Delenie, gcd Výsledky sú príklady základnej aritmetiky.
4. Kombinatorika
- permutácie
- Grayov a Pruferov kód
- Kombinácie, oddiely, podmnožiny
- Polyedrické, Rubikove, Symetrické a Iné permutačné skupiny
5. Diskrétna matematika
- Súhrny
- Logické výrazy
- Binomické koeficienty
- Teória čísel
použitie
1. Kalkulačka budov
2. Systémy počítačovej algebry
Na rozdiel od iných systémov počítačovej algebry v ňom musíte manuálne deklarovať symbolické premenné pomocou funkcie Symbol().
3. Počet
Schopnosť symbolického výpočtového systému vykonávať všetky druhy výpočtov symbolicky je jeho hlavnou silnou stránkou.
Môže zjednodušiť príkazy, symbolicky, počítať derivácie, integrály a limity, riešiť rovnice, interagovať s maticami a robiť oveľa viac.
Aby ste zvýšili chuť do jedla, tu je ochutnávka symbolickej sily.
Čo ešte môžete robiť so SymPy?
Dovoľte mi poskytnúť vám zoznam zdrojov, ktoré vám pomôžu vylepšiť vaše zručnosti, namiesto toho, aby som podrobne hovoril o ďalších problémoch:
- Matice a lineárna algebra: Dokáže pracovať s maticami a vykonávať základné operácie lineárnej algebry. Jazyk je podobný syntaxi NumPy. Existujú však výrazné rozdiely. Ak chcete začať, skúmajte matice v knižnici.
- výraz: Na sledovanie výrazov využíva strom výrazov, čo je stromová štruktúra. Pozri na výrazové stromy ak sa chcete dozvedieť viac o ich vnútornom fungovaní.
- Deriváty a integrály: Dokáže dosiahnuť väčšinu toho, čo by ste sa naučili na úvodnej hodine kalkulu (bez myslenia). Môžete začať tým, že sa pozriete na našu funkciu odlíšenie v SymPy.
- Vzťah s NumPy: NumPy a SymPy sú knižnice súvisiace s matematikou. Napriek tomu sú v podstate iné! NumPy pracuje s číslami, zatiaľ čo pracuje so symbolickými výrazmi.
- zjednodušenia: Je dostatočne inteligentný na to, aby automaticky zjednodušil výrazy. Ak však chcete nad tým jemnejšiu kontrolu, pozrite sa na to zjednodušenia.
záver
SymPy je výkonná knižnica pre symbolickú matematiku.
Môžete ho použiť na vytváranie premenných a funkcií, ako aj symbolicky rozširovať a zjednodušovať matematické výroky a riešiť rovnice, nerovnice a dokonca aj sústavy rovníc/nerovníc.
Funkcie môžete napísať do textu skriptu aj priamo do terminálu (príp notebooky Jupyter), aby ste získali rýchle vyhodnotenie a lepšie grafické znázornenie vykonaných výpočtov.
Ste pripravení preskúmať viac zo SymPy? Dajte nám vedieť v komentároch.
Nechaj odpoveď