BI-ZMA Základy matematické analýzy
Jdi na navigaci předmětu

3. Algebra a symbolické výrazy

SageMath umožňuje uživateli pracovat i se symbolickými výrazy. Nejprve je potřeba vytvořit proměnnou, s kterou budeme pracovat.

var('x')

-> x

Poté můžeme vytvořit výraz, který nás zajímá a s kterým chceme manipulovat.

expr = x^2 + sin(x) / (x^2 + 1)
show(expr)
x2+sin(x)x2+1x^2 + \frac{\sin(x)}{x^2 + 1}

Python je objektový jazyk, jakého typu je takovýto symbolický výraz? Pomocí automatického doplňování sytaxe zkuste prozkoumat jeho vlastnosti (stiskněte TAB za tečkou).

type(expr)

-> <type 'sageMath.symbolic.expression.Expression'>

Nejjednodušším úkonem se symbolickým výrazem je pravděpodobně dosazování za proměnnou. Symbolický výraz samozřejmě může záviset i na více proměnných. Dosazovat lze několika různými způsoby.

# pomocí rovnosti
show(expr(x = pi/2))
# pomocí slovníku (substituce)
show(expr({x:pi/2}))
14π2+4π2+414π2+4π2+4\frac{1}{4}\pi^2 + \frac{4}{\pi^2 + 4} \frac{1}{4}\pi^2 + \frac{4}{\pi^2 + 4}

SageMath, podobně jako Mathematica, umožňuje s výrazy provádět celou řadu algebraických úprav a využívat vlastnosti funkcí ve výrazu se vyskytujících. Můžeme ho proto používat na "zjednodušování výrazů".

expr = (x+4)^5
show(expr)
(x+4)5(x+4)^5

Proveďme roznásobení tohoto algebraického výrazu.

expr = expr.expand()
show(expr)
x5+20x4+160x3+640x2+1280x+1024x^5 + 20x^4 +160x^3 +640x^2 +1280x +1024

Naopak můžeme tento polynom upravit zpět na součin kořenových činitelů následujícícm příkazem.

expr = expr.factor()
show(expr)
(x+4)5(x+4)^5

Podobně jako výše lze pracovat s trigonometrickými výrazy.

expr = sin(4*x)
show(expr)
sin(4x)\sin(4x)

Následující úprava je v podstatě vzorec pro sinus čtyřnásobného úhlu.

expr = expr.trig_expand()
show(expr)
4cos(x)3sin(x)4cos(x)sin(x)34 \cos(x)^3 \sin(x) - 4\cos(x) \sin(x)^3

A následující zjednodušující úprava převede výraz na původní tvar.

expr = expr.trig_reduce()
show(expr)
sin(4x)\sin(4x)