︠d8889f29-2031-493c-a8c4-9131e2d35d38i︠ %html
УРОК 4.1
Тема. SAGE: перетворення виразів.
1. Зведення подібних членів у виразі.
Для виконання основних операцій перетворення виразів, а саме зведення подібних членів, розкриття дужок та розкладання на множники, у SAGE передбачено такі функції simplify(), expand() та factor() відповідно.
1. Зведення подібних членів у виразі. Для виконання дії зведення подібних членів у виразі у середовищі SAGE може бути застосована функція simplify(). При цьому, вираз, що підлягає спрощенню, вказується як параметр даної функції:
︡c9769048-b9cb-4e5f-a626-dbf90d039f45︡{"html": "\r\n \r\n \u0423\u0420\u041e\u041a 4.1\r\n \r\n\r\n\u0422\u0435\u043c\u0430. SAGE: \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432\u0438\u0440\u0430\u0437\u0456\u0432. \r\n1. \u0417\u0432\u0435\u0434\u0435\u043d\u043d\u044f \u043f\u043e\u0434\u0456\u0431\u043d\u0438\u0445 \u0447\u043b\u0435\u043d\u0456\u0432 \u0443 \u0432\u0438\u0440\u0430\u0437\u0456. \r\n\u0414\u043b\u044f \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0456\u0439 \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432\u0438\u0440\u0430\u0437\u0456\u0432, \u0430 \u0441\u0430\u043c\u0435 \u0437\u0432\u0435\u0434\u0435\u043d\u043d\u044f \u043f\u043e\u0434\u0456\u0431\u043d\u0438\u0445 \u0447\u043b\u0435\u043d\u0456\u0432, \u0440\u043e\u0437\u043a\u0440\u0438\u0442\u0442\u044f \u0434\u0443\u0436\u043e\u043a \u0442\u0430 \u0440\u043e\u0437\u043a\u043b\u0430\u0434\u0430\u043d\u043d\u044f \u043d\u0430 \u043c\u043d\u043e\u0436\u043d\u0438\u043a\u0438, \u0443 SAGE \u043f\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043d\u043e \u0442\u0430\u043a\u0456 \u0444\u0443\u043d\u043a\u0446\u0456\u0457 simplify(), expand() \u0442\u0430 factor() \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u043d\u043e. \r\n\r\n1. \u0417\u0432\u0435\u0434\u0435\u043d\u043d\u044f \u043f\u043e\u0434\u0456\u0431\u043d\u0438\u0445 \u0447\u043b\u0435\u043d\u0456\u0432 \u0443 \u0432\u0438\u0440\u0430\u0437\u0456. \u0414\u043b\u044f \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f \u0434\u0456\u0457 \u0437\u0432\u0435\u0434\u0435\u043d\u043d\u044f \u043f\u043e\u0434\u0456\u0431\u043d\u0438\u0445 \u0447\u043b\u0435\u043d\u0456\u0432 \u0443 \u0432\u0438\u0440\u0430\u0437\u0456 \u0443 \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0456 SAGE \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0430\u0441\u0442\u043e\u0441\u043e\u0432\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0456\u044f simplify(). \u041f\u0440\u0438 \u0446\u044c\u043e\u043c\u0443, \u0432\u0438\u0440\u0430\u0437, \u0449\u043e \u043f\u0456\u0434\u043b\u044f\u0433\u0430\u0454 \u0441\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044e, \u0432\u043a\u0430\u0437\u0443\u0454\u0442\u044c\u0441\u044f \u044f\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u0430\u043d\u043e\u0457 \u0444\u0443\u043d\u043a\u0446\u0456\u0457:"}︡
︠83e587ea-641e-4cdb-9bff-9c21426a9d82︠
simplify(2*x^2-3*x+11*x^3-9*x^2+7*x^4)
︡74a281f9-5f52-48de-afa9-2a27454a98d7︡{"stdout": "7*x^4 + 11*x^3 - 7*x^2 - 3*x"}︡
︠d0e98b12-7162-433a-888c-5f30a46cb00f︠
var('x,y')
simplify(2*x^2*y-3*y+11*x^3-9*x^2*y+7*x^4)
︡98b61315-3e21-4890-a8d1-0787e1251147︡{"html": "{{-7 {x}^{2} } y} - {3 y} + {7 {x}^{4} } + {11 {x}^{3} }"}︡
︠32797788-6971-4dd9-a8aa-1c7d720e1e52i︠
%html
Наведені приклади демонструють лише один із способів застосування функції simplify(), а саме: вираз, який підлягає спрощенню, вказується як параметр функції simplify(). Даний спосіб є загальновизнаним, оскільки має місце і в ряді інших систем комп'ютерної математики. \r\n\u041d\u0430\u0432\u0435\u0434\u0435\u043d\u0456 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u0438 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0443\u044e\u0442\u044c \u043b\u0438\u0448\u0435 \u043e\u0434\u0438\u043d \u0456\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u0456\u0432 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u0432\u0430\u043d\u043d\u044f \u0444\u0443\u043d\u043a\u0446\u0456\u0457 simplify(), \u0430 \u0441\u0430\u043c\u0435: \u0432\u0438\u0440\u0430\u0437, \u044f\u043a\u0438\u0439 \u043f\u0456\u0434\u043b\u044f\u0433\u0430\u0454 \u0441\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044e, \u0432\u043a\u0430\u0437\u0443\u0454\u0442\u044c\u0441\u044f \u044f\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0444\u0443\u043d\u043a\u0446\u0456\u0457 simplify(). \u0414\u0430\u043d\u0438\u0439 \u0441\u043f\u043e\u0441\u0456\u0431 \u0454 \u0437\u0430\u0433\u0430\u043b\u044c\u043d\u043e\u0432\u0438\u0437\u043d\u0430\u043d\u0438\u043c, \u043e\u0441\u043a\u0456\u043b\u044c\u043a\u0438 \u043c\u0430\u0454 \u043c\u0456\u0441\u0446\u0435 \u0456 \u0432 \u0440\u044f\u0434\u0456 \u0456\u043d\u0448\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043a\u043e\u043c\u043f'\u044e\u0442\u0435\u0440\u043d\u043e\u0457 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438.
В даному випадку вираз розглядається як об'єкт певної природи, а функція виступає в ролі допустимої операції, яку можна виконати над об'єктом. Такий спосіб звернення до функції в подальшому будемо називати об'єктним зверненням.
2. Розкриття дужок у виразі. Для виконання зазначеної дії у SAGE передбачена функція expand():
︡8ef20b63-240e-46d8-b33a-47ebba562a48︡{"html": "\r\n \r\n\u0412 \u0434\u0430\u043d\u043e\u043c\u0443 \u0432\u0438\u043f\u0430\u0434\u043a\u0443 \u0432\u0438\u0440\u0430\u0437 \u0440\u043e\u0437\u0433\u043b\u044f\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u044f\u043a \u043e\u0431'\u0454\u043a\u0442 \u043f\u0435\u0432\u043d\u043e\u0457 \u043f\u0440\u0438\u0440\u043e\u0434\u0438, \u0430 \u0444\u0443\u043d\u043a\u0446\u0456\u044f \u0432\u0438\u0441\u0442\u0443\u043f\u0430\u0454 \u0432 \u0440\u043e\u043b\u0456 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0457 \u043e\u043f\u0435\u0440\u0430\u0446\u0456\u0457, \u044f\u043a\u0443 \u043c\u043e\u0436\u043d\u0430 \u0432\u0438\u043a\u043e\u043d\u0430\u0442\u0438 \u043d\u0430\u0434 \u043e\u0431'\u0454\u043a\u0442\u043e\u043c. \u0422\u0430\u043a\u0438\u0439 \u0441\u043f\u043e\u0441\u0456\u0431 \u0437\u0432\u0435\u0440\u043d\u0435\u043d\u043d\u044f \u0434\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u0457 \u0432 \u043f\u043e\u0434\u0430\u043b\u044c\u0448\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u043c\u043e \u043d\u0430\u0437\u0438\u0432\u0430\u0442\u0438 \u043e\u0431'\u0454\u043a\u0442\u043d\u0438\u043c \u0437\u0432\u0435\u0440\u043d\u0435\u043d\u043d\u044f\u043c. \r\n\r\n2. \u0420\u043e\u0437\u043a\u0440\u0438\u0442\u0442\u044f \u0434\u0443\u0436\u043e\u043a \u0443 \u0432\u0438\u0440\u0430\u0437\u0456. \u0414\u043b\u044f \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f \u0437\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e\u0457 \u0434\u0456\u0457 \u0443 SAGE \u043f\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0456\u044f expand():"}︡
︠c5724dcb-e48b-4496-b894-862d6d257e6a︠
expand((x-1)^7)
︡b5eebea7-8a14-40b2-a72f-a860f041a8a4︡{"html": "{x}^{7} - {7 {x}^{6} } + {21 {x}^{5} } - {35 {x}^{4} } + {35 {x}^{3} } - {21 {x}^{2} } + {7 x} - 1"}︡
︠f960fa64-bfb7-4f8a-8d97-dd39faea7312︠
expand((x-1)*(x+1)*(2*x+3))
︡bcc88919-e773-4d68-a131-98d4c99215e4︡{"html": "{2 {x}^{3} } + {3 {x}^{2} } - {2 x} - 3"}︡
︠392c00a1-0259-40e5-a98b-62adc41a1538︠
var('a,b')
expand((a+b)^4)
︡89e9b389-663b-4e59-888e-9bdbbe3081ee︡{"html": "{b}^{4} + {{4 a} {b}^{3} } + {{6 {a}^{2} } {b}^{2} } + {{4 {a}^{3} } b} + {a}^{4} "}︡
︠efb3724b-11c7-4931-aa6a-e893817c75dfi︠
%html
До функції expand() допускається об'єктне звернення:
︡9de95a21-1eee-417c-b3d3-d8a3097615e1︡{"html": "\r\n \r\n\u0414\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u0457 expand() \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0454\u0442\u044c\u0441\u044f \u043e\u0431'\u0454\u043a\u0442\u043d\u0435 \u0437\u0432\u0435\u0440\u043d\u0435\u043d\u043d\u044f:"}︡
︠8a5959c1-72fe-4021-9069-88eab0e2fe8b︠
var('m,n')
q=(m^(1/3)-n^(1/3))*(m^(2/3)+m^(1/3)*n^(1/3)+n^(2/3));show(q)
︡6417dd79-9a9b-457f-acff-3e348c5de725︡{"html": "
І для функції factor() об'єктне звернення також є допустимим:
︡d983d74f-2cfd-47d5-aceb-866e15cefab4︡{"html": " \r\n\r\n\u0406 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0456\u0457 factor() \u043e\u0431'\u0454\u043a\u0442\u043d\u0435 \u0437\u0432\u0435\u0440\u043d\u0435\u043d\u043d\u044f \u0442\u0430\u043a\u043e\u0436 \u0454 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0438\u043c:"}︡
︠3acab7a2-7869-410c-aa0b-38496dc50233︠
g=x^3-3*x^2+4*x-2; show(g)
︡7bed9c73-234a-4fe4-b9f9-6b3f0b996dbb︡{"html": "
Мета: засвоїти особливості застосування функцій SAGE для перетворення виразів.
2. Розкриття дужок у виразі.
3. Розкладання многочлена на множники.
\r\n\u041c\u0435\u0442\u0430: \u0437\u0430\u0441\u0432\u043e\u0457\u0442\u0438 \u043e\u0441\u043e\u0431\u043b\u0438\u0432\u043e\u0441\u0442\u0456 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u0432\u0430\u043d\u043d\u044f \u0444\u0443\u043d\u043a\u0446\u0456\u0439 SAGE \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432\u0438\u0440\u0430\u0437\u0456\u0432.\r\n \r\n
\r\n2. \u0420\u043e\u0437\u043a\u0440\u0438\u0442\u0442\u044f \u0434\u0443\u0436\u043e\u043a \u0443 \u0432\u0438\u0440\u0430\u0437\u0456.
\r\n3. \u0420\u043e\u0437\u043a\u043b\u0430\u0434\u0430\u043d\u043d\u044f \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 \u043d\u0430 \u043c\u043d\u043e\u0436\u043d\u0438\u043a\u0438.
\r\n
Розробники SAGE передбачили інший спосіб звернення до функцій, у тому числі і до функції simplify():
︡02429a9e-bc7b-40e6-8d26-97a44a85d4e7︡{"html": "\r\n
\r\n\u0420\u043e\u0437\u0440\u043e\u0431\u043d\u0438\u043a\u0438 SAGE \u043f\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0438\u043b\u0438 \u0456\u043d\u0448\u0438\u0439 \u0441\u043f\u043e\u0441\u0456\u0431 \u0437\u0432\u0435\u0440\u043d\u0435\u043d\u043d\u044f \u0434\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u0439, \u0443 \u0442\u043e\u043c\u0443 \u0447\u0438\u0441\u043b\u0456 \u0456 \u0434\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u0457 simplify():"}︡
︠38e298e7-2bd2-43bd-b3fb-ff933997a91e︠
u=2*x^5-4*x*x^2*x^2-7*x^3*x^2
︡0a328995-86a6-4d80-8471-9318540b2abf︡︡
︠4304aa68-3902-47b4-adbe-c0d0f89f9674︠
u.simplify()
︡4c9acd1a-617c-44fc-b915-81df0f5d6eca︡{"html": "{-9 {x}^{5} }"}︡
︠f9037e53-de8d-4a37-b670-3ec63c249e3d︠
v=2*x^5*y^2-4*x*x^2*x^2*y*y-7*x^3*y*x^2*y
︡3fe7c9f2-b099-421b-8ee5-78ecb7833422︡︡
︠58244d3b-1ec9-4709-b5c6-fcc42751848b︠
v.simplify()
︡6a6a315b-e1e5-4959-9236-0c534e14a4da︡{"html": "{{-9 {x}^{5} } {y}^{2} }"}︡
︠54e1759f-310e-4f22-b881-4eaebcc04457i︠
%html
Об'єктний спосіб звернення до функцій є більш зручним у застосуванні через властивість середовища SAGE автодоповнювати ввод.
\r\n\u041e\u0431'\u0454\u043a\u0442\u043d\u0438\u0439 \u0441\u043f\u043e\u0441\u0456\u0431 \u0437\u0432\u0435\u0440\u043d\u0435\u043d\u043d\u044f \u0434\u043e \u0444\u0443\u043d\u043a\u0446\u0456\u0439 \u0454 \u0431\u0456\u043b\u044c\u0448 \u0437\u0440\u0443\u0447\u043d\u0438\u043c \u0443 \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u0432\u0430\u043d\u043d\u0456 \u0447\u0435\u0440\u0435\u0437 \u0432\u043b\u0430\u0441\u0442\u0438\u0432\u0456\u0441\u0442\u044c \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0430 SAGE \u0430\u0432\u0442\u043e\u0434\u043e\u043f\u043e\u0432\u043d\u044e\u0432\u0430\u0442\u0438 \u0432\u0432\u043e\u0434.\r\n\r\n