Symbolické výrazy a premenné
✨ Úvod
Balíček SymPy je určený na symbolickú matematiku v Pythone. Umožňuje pracovať so symbolickými premennými, výrazmi a funkciami podobne ako v algebre a analýze – t.j. bez okamžitej numerickej evaluácie.
🆎 Definovanie symbolov
Definovanie jednej symbolickej premennej
Definovanie viacerých symbolických premenných
Symbol
vs. symbols
a assumptions
symbols('x y')
je skratka na vytváranie viacerých symbolov naraz.- Trieda
Symbol
vytvorí jediný symbol; užitočné, keď chcete zadať predpoklady (assumptions), napr. že premenná je kladná alebo celé číslo.
Zobrazenie výrazov
\(\displaystyle i\)
\(\displaystyle x\)
\(\displaystyle y\)
\(\displaystyle z\)
🧮 Práca so symbolickými výrazmi
Výrazy skladáme rovnako, ako píšeme matematiku. SymPy si uchováva strom výrazov, s ktorým vie ďalej pracovať.
Kód
\(\displaystyle \left( x + y + 2 z, \ x^{2} + 3 x y + y^{2}, \ \left(x + y\right)^{2}\right)\)
🔄 Zjednodušovanie výrazov — simplify
simplify()
sa pokúsi nájsť algebraicky jednoduchšiu (alebo kanonickejšiu) formu výrazu.
📦 Rozšírenie a rozklad polynómov — expand
, factor
Kód
\(\displaystyle \left( x^{2} + 2 x y + y^{2}, \ \left(x + y\right)^{2}\right)\)
📐 Použitie funkcií a konštánt v symbolických výrazoch
\(\displaystyle 1\)
🎯Substitúcia
Do symbolických výrazov môžeme dosadiť čísla, iné symboly alebo celé výrazy.
Dosadenie jedinej hodnoty
Dosadenie viacerých hodnôd
Dosadenie výrazu do výrazu
📊 Numerická evaluácia
Ak chcete desatinné čísla (floating-point), použite evalf()
. Je bežné kombinovať subs
→ evalf
.
\(\displaystyle \frac{x}{3} + \frac{1}{3}\)
sympy.core.add.Add
\(\displaystyle 1\)
sympy.core.numbers.One
\(\displaystyle 1.0\)
sympy.core.numbers.Float
🔐 Predpoklady (assumptions) a ich vplyv
Predpoklady môžu zjednodušiť výsledky (napr. positive=True
umožní rušiť absolútne hodnoty).
\(\displaystyle b^{1.0}\)
🧠 Zhrnutie
- Symboly:
symbols('x y z')
,Symbol('a', positive=True, integer=True, ...)
- Výrazy: bežná algebra s
+ - * / **
, funkciesin
,cos
,exp
, …
- Upravy:
expand
,factor
,simplify
- Dosadzovanie:
subs
(aj viacnásobné)
- Numerika:
evalf
(väčšinou posubs
)
- Predpoklady: uľahčujú zjednodušenia a kontrolu domény symbolov.
📚 Oficiálna dokumentácia SymPy
Podrobný popis funkcií, ich parametrov a príkladov použitia nájdete v oficiálnej dokumentácii knižnice SymPy na adrese: https://docs.sympy.org/latest/index.html.