Obsah[Skrýt][Ukázat]
Matematiku není možné obejít, ať už jste studentem vysoké školy nebo pracujete v datové vědě.
Někdo by mohl dokonce namítnout, že datová věda je druh aplikované matematiky/statistiky. NumPy, SciPy, scikit-učit se, a TensorFlow jsou jen některé z knihoven Pythonu, které se kvantitativně zabývají matematikou.
Existuje však pouze jeden konkurent pro explicitní zacházení s matematickými symboly: SymPy.
Pojďme se dozvědět vše o SymPy.
Co je to SymPy?
SymPy je symbolická matematická knihovna Pythonu. Usiluje o to, aby se stal plnohodnotným systémem počítačové algebry (CAS), přičemž kód je co nejzákladnější, aby byl srozumitelný a snadno rozšiřitelný.
Je plně napsán v Pythonu. Jeho použití je jednoduché, protože se spoléhá pouze na mpmath, čistou knihovnu Pythonu pro libovolnou aritmetiku s plovoucí desetinnou čárkou.
Jako knihovna byla vytvořena s výrazným důrazem na použitelnost. Rozšiřitelnost je rozhodující při návrhu jeho aplikačního programového rozhraní (API).
V důsledku toho se nesnaží vylepšit jazyk Python. Cílem je, aby jej uživatelé mohli používat společně s ostatními Knihovny Pythonu v jejich workflow, ať už v interaktivním prostředí nebo jako naprogramovaná součást většího systému.
SymPy jako knihovna postrádá vestavěnou grafiku Uživatelské rozhraní (GUI). Knihovna je:
- Zdarma, co se týče řeči i piva, protože je licencován pod licencí BSD.
- Založený na Pythonu: Je zcela vyvinut v Pythonu a jako svůj jazyk používá Python.
- Lehký, protože se spoléhá pouze na mpmath, čistý Knihovna Python pro libovolnou aritmetiku s plovoucí desetinnou čárkou, což usnadňuje použití.
- Kromě použití jako interaktivního nástroje lze začlenit do jiných programů a upravit pomocí vlastních funkcí.
Proč používat SymPy?
Sage, systém počítačové algebry, také používá Python jako svůj programovací jazyk. Sage je na druhé straně obrovský a vyžaduje stažení více než gigabajt. Jeho výhodou je, že je lehký.
Kromě toho, že je kompaktní, nemá žádné jiné závislosti než Python, což umožňuje jeho použití prakticky všude.
Kromě toho cíle Sage a SymPy nejsou stejné. Sage touží být plně vybaveným matematickým systémem, a to tak, že kombinuje všechny hlavní open-source matematické systémy do jednoho.
Když použijete funkci Sage, jako je integrate, vyvolá jeden z balíčků s otevřeným zdrojovým kódem, které obsahuje. Ve skutečnosti je zabudován do Sage. SymPy na druhé straně aspiruje na samostatný systém, v němž jsou všechny funkce implementovány.
Jeho schopnost fungovat jako knihovna je důležitou vlastností. Mnoho systémů počítačové algebry je určeno k použití v interaktivních prostředích, ale je obtížné je automatizovat nebo rozšířit.
Může být použit interaktivně v Pythonu nebo importován do vašeho vlastního programu Python. Má také API pro snadné rozšíření o vaše vlastní rutiny.
Instalace SymPy
Jednoduše použijte níže uvedený příkaz k instalaci do vašeho prostředí.
SymPy Symboly
Pojďme s tím hned začít! Jeho základním předmětem je symbol. V SymPy můžete vygenerovat symbol x napsáním:
Výše uvedený kód generuje symbol x. Symboly v něm jsou určeny k emulaci matematických symbolů, které představují neznámé hodnoty.
V důsledku toho je níže uveden následující výpočet:
Jak je uvedeno výše, symbol x funguje podobně jako neznámá částka. Pokud si přejete vytvořit mnoho symbolů, napište je následovně:
V tomto případě jste ve stejném okamžiku vytvořili dva symboly, y, a z. Tyto symboly lze nyní sčítat, odečítat, násobit a dělit podle potřeby:
Funkce SymPy
1. funkce sympify().
Metoda sympify() transformuje libovolný výraz na výraz SymPy. Převádí standardní objekty Pythonu, jako jsou celá čísla.
Řetězce jsou transformovány na své výrazy, stejně jako celá čísla atd.
2. funkce evalf().
Tato funkce vyhodnocuje zadaný číselný výraz s přesností až 100 číslic s plovoucí desetinnou čárkou.
Funkce navíc přijímá objekt slovníku s číselnými hodnotami pro symboly jako argument subs. Zvažte následující frázi:
Přesnost s plovoucí desetinnou čárkou je standardně nastavena na 15 číslic. Toto však lze změnit na libovolné číslo mezi 1 a 100.
Následující rovnice je vyhodnocena s přesností na 20 číslic.
3. Funkce Lambdify().
Lambdify je funkce, která převádí své výrazy na funkce Pythonu. Metoda evalf() je neefektivní při vyhodnocování výrazu v širokém rozsahu hodnot.
Lambdify funguje podobně jako funkce lambda, kromě toho, že překládá názvy SymPy na názvy poskytnuté numerické knihovny, což je obecně NumPy.
Ve výchozím nastavení se Lambdify aplikuje na implementace standardních matematických knihoven.
Funkce
Zde je uvedena hrstka nejvýznamnějších funkcí knihovny; existuje mnoho dalších, které nejsou zahrnuty, ale můžete si je prohlédnout zde.
1. Základní schopnosti
- Základní aritmetika: jsou podporovány operátory +, -, *, / a ** (výkon)
- Polynomiální expanze
- Celá čísla, zdůvodnění a plovoucí hodnoty s libovolnou přesností
- Goniometrické, hyperbolické a exponenciální funkce, kořeny, logaritmy, absolutní hodnota, sférické harmonické, faktoriály a gama funkce, zeta funkce, polynomy a speciální funkce
- Symboly, které jsou nekomutativní
- Odpovídající vzory
2. Počet
- Integrace: Tato metoda využívá rozšířenou Risch-Normanskou heuristiku
- Diferenciace.
- Limitní funkce
- série Laurenta Taylora
3. Polynomy
- Gröbnerovy základy
- Rozklad parciálních zlomků
- Dělení, gcd Výsledky jsou příklady základní aritmetiky.
4. Kombinatorika
- Permutace
- Grayův a Pruferův kód
- Kombinace, oddíly, podmnožiny
- Polyedrické, Rubikovy, symetrické a jiné permutační skupiny
5. Diskrétní matematika
- Shrnutí
- Logické výrazy
- Binomické koeficienty
- Teorie čísel
Aplikace
1. Kalkulačka budov
2. Systémy počítačové algebry
Na rozdíl od jiných systémů počítačové algebry v něm musíte ručně deklarovat symbolické proměnné pomocí funkce Symbol().
3. Počet
Schopnost systému symbolických výpočtů provádět všechny druhy výpočtů symbolicky je jeho hlavní předností.
Může zjednodušit příkazy, symbolicky, počítat derivace, integrály a limity, řešit rovnice, pracovat s maticemi a dělat mnohem víc.
Chcete-li povzbudit chuť k jídlu, zde je ochutnávka symbolické síly.
Co dalšího můžete dělat se SymPy?
Spíše než hloubavé hučení o dalších problémech mi dovolte, abych vám poskytl seznam zdrojů, které vám pomohou zlepšit vaše dovednosti:
- Matice a lineární algebra: Umí pracovat s maticemi a provádět základní operace lineární algebry. Jazyk je podobný syntaxi NumPy. Existují však výrazné rozdíly. Chcete-li začít, prozkoumejte matice v knihovně.
- Výraz: Ke sledování výrazů využívá strom výrazů, což je stromová struktura. Podívat se na výrazové stromy pokud se chcete dozvědět více o jejich vnitřním fungování.
- Deriváty a integrály: Dokáže splnit většinu toho, co byste se naučili v úvodní hodině kalkulu (bez myšlení). Můžete začít tím, že se podíváte na naši funkci odlišení v SymPy.
- Vztah s NumPy: NumPy a SymPy jsou obě knihovny související s matematikou. Jsou však zásadně odlišné! NumPy pracuje s čísly, zatímco pracuje se symbolickými výrazy.
- Zjednodušení: Je dostatečně inteligentní, aby automaticky zjednodušil výrazy. Pokud však nad tím chcete jemnější kontrolu, podívejte se na něj zjednodušení.
Proč investovat do čističky vzduchu?
SymPy je výkonná knihovna pro symbolickou matematiku.
Můžete jej použít k vytváření proměnných a funkcí, stejně jako symbolicky rozšiřovat a zjednodušovat matematické výroky a řešit rovnice, nerovnice a dokonce i soustavy rovnic/nerovnic.
Funkce můžete psát jak do textu skriptu, tak přímo do terminálu (příp notebooky Jupyter), abyste získali rychlé posouzení a lepší grafické znázornění provedených výpočtů.
Jste připraveni prozkoumat více ze SymPy? Dejte nám vědět do komentářů.
Napsat komentář