Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168730
Image: ubuntu2004

УРОК 4.1

Тема. SAGE: перетворення виразів.
Мета: засвоїти особливості застосування функцій SAGE для перетворення виразів.

1. Зведення подібних членів у виразі.
2. Розкриття дужок у виразі.
3. Розкладання многочлена на множники.

Для виконання основних операцій перетворення виразів, а саме зведення подібних членів, розкриття дужок та розкладання на множники, у SAGE передбачено такі функції simplify(), expand() та factor() відповідно.

1. Зведення подібних членів у виразі. Для виконання дії зведення подібних членів у виразі у середовищі SAGE може бути застосована функція simplify(). При цьому, вираз, що підлягає спрощенню, вказується як параметр даної функції:

simplify(2*x^2-3*x+11*x^3-9*x^2+7*x^4)
7*x^4 + 11*x^3 - 7*x^2 - 3*x
var('x,y') simplify(2*x^2*y-3*y+11*x^3-9*x^2*y+7*x^4)
{{-7 {x}^{2} } y} - {3 y} + {7 {x}^{4} } + {11 {x}^{3} }

Наведені приклади демонструють лише один із способів застосування функції simplify(), а саме: вираз, який підлягає спрощенню, вказується як параметр функції simplify(). Даний спосіб є загальновизнаним, оскільки має місце і в ряді інших систем комп'ютерної математики.
Розробники SAGE передбачили інший спосіб звернення до функцій, у тому числі і до функції simplify():

u=2*x^5-4*x*x^2*x^2-7*x^3*x^2
u.simplify()
{-9 {x}^{5} }
v=2*x^5*y^2-4*x*x^2*x^2*y*y-7*x^3*y*x^2*y
v.simplify()
{{-9 {x}^{5} } {y}^{2} }

В даному випадку вираз розглядається як об'єкт певної природи, а функція виступає в ролі допустимої операції, яку можна виконати над об'єктом. Такий спосіб звернення до функції в подальшому будемо називати об'єктним зверненням.
Об'єктний спосіб звернення до функцій є більш зручним у застосуванні через властивість середовища SAGE автодоповнювати ввод.

2. Розкриття дужок у виразі. Для виконання зазначеної дії у SAGE передбачена функція expand():

expand((x-1)^7)
{x}^{7} - {7 {x}^{6} } + {21 {x}^{5} } - {35 {x}^{4} } + {35 {x}^{3} } - {21 {x}^{2} } + {7 x} - 1
expand((x-1)*(x+1)*(2*x+3))
{2 {x}^{3} } + {3 {x}^{2} } - {2 x} - 3
var('a,b') expand((a+b)^4)
{b}^{4} + {{4 a} {b}^{3} } + {{6 {a}^{2} } {b}^{2} } + {{4 {a}^{3} } b} + {a}^{4}

До функції expand() допускається об'єктне звернення:

var('m,n') q=(m^(1/3)-n^(1/3))*(m^(2/3)+m^(1/3)*n^(1/3)+n^(2/3));show(q)
{\left( {m}^{\frac{1}{3}} - {n}^{\frac{1}{3}} \right) \left( {n}^{\frac{2}{3}} + {{m}^{\frac{1}{3}} {n}^{\frac{1}{3}} } + {m}^{\frac{2}{3}} \right)}
q.expand()
m - n
factor(a^2-a*b-4*a+4*b)
{\left( a - 4 \right) \left( a - b \right)}
factor(x^6-y^6)
{{{\left( x - y \right) \left( y + x \right)} \left( {y}^{2} - {x y} + {x}^{2} \right)} \left( {y}^{2} + {x y} + {x}^{2} \right)}

І для функції factor() об'єктне звернення також є допустимим:

g=x^3-3*x^2+4*x-2; show(g)
{x}^{3} - {3 {x}^{2} } + {4 x} - 2
g.factor()
{\left( x - 1 \right) \left( {x}^{2} - {2 x} + 2 \right)}