xy + х + у + 1

> expand((у+1),(х+1));

y + 1

> expand( (х+1) *(у+z));

ху + xz + y +z

> expand((х+1)*(y+z), х+1);

(х + 1)y +(х + 1)z

> frontend(expand,[(a+b)^3]);

а³ + 3a²b + 3аb²+b³

3.7.3. Разложение целых и рациональных чисел — ifactor

Для разложения целых или рациональных чисел на множители в виде простых чисел служит функция

ifactor(n)

или

ifactor(n,method)

где n — число, method — параметр, задающий метод разложения. Другая библиотечная функция, ifactors(n), возвращает результат разложения в форме вложенных списков (файл factor):

> ifactor(123456789);

(3)² (3803) (3607)

> ifactor(30!);

(2)26 (3)14 (5)7 (7)4 (11)2 (13)2 (17) (19) (23) (29)

> ifactor(12!/20!);

> ifactor(100/78);

> readlib(ifactors):

> ifactors(100/78);

[1,[[2, 1], [5, 2], [3,-1], [13,-1]]]

3.7.4. Разложение выражений (факторизация) — factor

Для алгебраических выражений функция факторизации записывается в вычисляемой и невычисляемой (инертной) формах:

factor(a)

Factor(a)

factor(a,K)

Factor(a,K)

Здесь а — полином с несколькими переменными, К — необязательное алгебраическое расширение. Для получения результата от инертной формы функции факторизации надо использовать функции вычисления evala или evalgf.

Главная цель факторизации — это нахождение максимального числа независимых сомножителей выражения, линейных по заданным переменным с коэффициентами наиболее простой формы. Ниже представлены примеры применения функции factor:

> factor(а^2+2*а*b+b^2);

(а+b)²

> factor(а^2-2*а*b-b^2);

а² - 2ab - b²

> p:=expand((х-1)*(х-2)*(х-3)*(х-4));

р: = х4 - 10х3 + 35х2 - 50х + 24

> factor(р);

(х-1)(х-2)(х-3)(х-4)

> factor(х^5-2,2^(1/5));

(х -2(1/5))(х4 + х32(1/5) + х22(2/5) + х22(3/5) + 24/5))

> alias(alpha=RootOf(х^2-2));

α

> factor(х^2-2,alpha);

(х + α)(х - α)

> factor(х^3-у^3);

(х - у)(х² + ху + y²)

> factor(х^3-у^3, (-2)^(1/2));

(x - y)(x² + ху + y²)

> factor(х^3-у^3, (-3)^(1/2));

> factor(х^3-3,complex);

(х+.7211247852 + 1.249024766I)(х+.7211247852 - 1.249024766I) (х - 1.442249570)

3.7.5. Комплектование по степеням — collect

Еще одна функция общего назначения — collect — служит для комплектования выражения expr по степеням указанного фрагмента х (в том числе множества либо списка). Она задается в одной из следующих форм:

collect(а, х)

collect(а, х, form, func)

Во второй форме этой функции дополнительно задаются параметры form (форма) и func (функция или процедура). Параметр form может иметь два значения: recursive (рекурсивная форма) и distributed (дистрибутивная форма). Параметр func позволяет задать имя функции, по которой будет идти комплектование expr. Примеры применения функции collect представлены ниже (файл collect):

> collect(х+х^3-2*х,х);

-x + x³

> collect(х+2*у^3+х+3+х^3*у,recursive, х);

х(2х + 2у³ + 3 + х³y)

> collect(х+2*у^3+х+3+х^3*у,distributive,у);

у(2х + 2y³ + 3 + х³y)

> f:=а*ехр(х)-ехр(х)*х-х;

f: = аех - еx - х

> collect(f,ехр(х));

(а - х)ех - х

> g:=int(х*(ехр(х)+ехр(-х)),х);

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату