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)
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}))
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)
Proveďme roznásobení tohoto algebraického výrazu.
expr = expr.expand()
show(expr)
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)
Podobně jako výše lze pracovat s trigonometrickými výrazy.
expr = sin(4*x)
show(expr)
Následující úprava je v podstatě vzorec pro sinus čtyřnásobného úhlu.
expr = expr.trig_expand()
show(expr)
A následující zjednodušující úprava převede výraz na původní tvar.
expr = expr.trig_reduce()
show(expr)