Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Mathematica 5. ╨б╨░╨╝╨╛╤Г╤З╨╕╤В╨╡╨╗╤М

.pdf
Скачиваний:
1
Добавлен:
19.11.2023
Размер:
33.75 Mб
Скачать

есть общий численный множитель — так называемое содержание многочлена. Если содержание многочлена равно единице, то список начинается с {1,1}.

FactorList[хЛ3+уЛ3+гЛ3-3*х*у*г] {{1 / 1 }/ {х + у + z, 1 },

2 - х у + у2 - X Z - у Z + Z2, 1}} FactorList[(b-c)А3+(с-а)л3+(а-b)л3]

{{-3,1},{a-b, 1}, {а-с, 1},{b-c,1}}

FactorList[(хл4-ал4)л3*(хлб-алб) л4]

 

{{-1 , 1}, {а-х, 7},

{а + х, 7},

2 + х2, 3},

 

(а2-ах + х2, 4}, {а2 + ах + х2, 4}}

 

Функция FactorTerms позволяет вынести общий числовой множитель.

 

FactorTerms [30 + 85 х у 3 + 85 х 4 + 35 х 3 у 2 +

 

А- (102 + 289 х4 + х4 у + 119 х3 у2 + 289 х у3)

 

Вызов FactorTerms [poly,

х] позволяет вынести общий множитель, не зависящий

отг; FactorTerms [poly,

{xl,

х2,

.. .}] последовательно выделяет множители,

не

зависящие от х/, х2 и т.д. Вычисление выражения FactorTermsList [poly, {xl,

х2,

...} ] дает список множителей poly. Первый элемент в списке есть общий числовой множитель, второй — множитель, не зависящий ни от одного из х7, х2, После­ дующие элементы есть множители, не зависящие от как можно большего числа пере­ менных х7, х2,

Деление многочленов

PolynomialQuotient [polyl, poly2] дает частное от деления многочлена polyl на

[ многочлен poly2, a PolynomialRemainder [polyl, poly2] — остаток.

[

[ Наибольший общий делитель многочленов

Важнейшими операциями при работе с полиномами являются нахождение наиболь­ шего общего делителя и наименьшего общего кратного. Выражение PolynomialGCD [polyl, poly2] представляет собой наибольший общий делитель многочленов polyl и polyl. При вычислении наибольшего общего делителя все символьные параметры в полиномах трактуются как переменные, и деление на них не допускается.

PolynomialGCD [хЛ3000-1, хЛ1503-1 ]

-1 3

Наименьшее общее кратное многочленов

Выражение PolynomialLCM[/?o/y2, poly2] представляет собой наименьшее общее кратное многочленов polyl и poly2.

Результант

Выражение Resultant [polyl, poly2, var] представляет собой результант много­ членов polyl и poly2, рассматриваемых как многочленов от переменной var.

'Resultant [а*хЛ2+Ь*х+с, 2a*x+b, х]

-аЬ2+ 4 а2 с

Ьпгебра и анализ

341

Поле рациональных дробей

Дробь, числитель и знаменатель которой — полиномы, называется рациональной дробью. Уже знакомые нам функции Expand и Factor могут применяться к рацио­ нальным дробям. Функция Expand раскрывает произведения и целые положительные степени в числителе и представляет рациональную дробь в виде суммы дробей, зна­ менатели которых совпадают со знаменателем исходной рациональной дроби, а чис­ лителями этих дробей служат отдельные слагаемые в раскрытом числителе исходной рациональной дроби.

Функция Apart раскладывает рациональную дробь на простейшие.

Apart Г-------------

(3 + х)

 

1

 

 

 

 

1

(1 + х ) 3 J

 

 

 

 

1

 

1

1

 

1

 

8 (3 + х)

2 (1 + х) 3

4 (1 + х) 2 +

8 (1 + х)

xxx=Sum[2*n/(хЛ2-пЛ2) ,{n, 1,10} ]

 

20

 

 

18

16

 

 

 

-100 + х2 + -81 + х2 + -64 + х2 +

 

14

 

12

10

 

 

 

-49 + х2 + -36 + х^ + -25 + х2 +

 

8

 

 

6

4

 

2

 

-16 + х2 + - 9 + х2 + -4 + х2 + - 1 + х^

Apart[ххх ]

 

 

 

 

 

 

1

 

1

1

 

1

 

 

-10 + х + -9 + х + - 8 + х + -7 + х +

1

1

 

1

1

 

1

-2 + х

-6 + х -5 + х -4 + х -3 + х

 

1______ 1_____J__ _

1

_

1

_

-1 + х

1 + х 2 + х 3 + х 4 + х

1

_

1

__ 1 _____1_

_

1

_ 1

5 + х

6 + х 7 + х 8 +х 9 + х

10 + х

Функция Factor, примененная к сумме рациональных дробей, приводит их к об­ щему знаменателю и раскладывает*на множители числитель и знаменатель получен- j ной рациональной дроби: ]

Factor[ххх]

(110 (-701258342400 + 800072494848 х2 -

266656848480 х А + 38998452592 хб-

2961041910 х8 + 126478473 х10 - 3131480 х12 + 44286 х14 - 330 х16 + х*8)) /

((-10+х)

(-9 + х) ( - 8 + х) (-7 + х) ( - 6 + х)

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

(1 + х)

(2 + х)

(3 + х)

(4 + х)

(5 + х)

(6 + х)

(7 + х)

(8 +х)

(9 + х)

(10 + х),)

Функция Together приводит рациональные дроби к общему знаменателю и после их сложения сокращает общие множители, в числителе и знаменателе.

342

Гпава Ю

Together[ххх]

(110 (-701258342400 +800072494848 x2 -

266656848480 x4 + 38998452592 x6 -

2961041910 x8 + 126478473 x10 -

3131480 x12 + 44286 x14 - 330 x16 + x18)) / ((-100 +x2) (-81 + x2) (-64 + x2) (-49 + x2)

(-36 + x2) (-25 + x2) (-16 + x2) (-9 + x2) (-4 + x2) (-1 + x2))

Общие множители в числителе и знаменателе рациональной дроби не сокращают­ сяавтоматически. Чтобы их сократить, прибегают к функции Cancel:

х2 - 4 х х 2 + 3 х - 4

1

X2 - X

 

X2 - 1

-4 х + х2

+

-4 + 3 х + х2

-х + х2

- 1 + х2

Cancel [z]

 

-4 + х

4 + х

-1

+ х

1

+ х

Можно раскрывать скобки только в числителе или только в знаменателе рацио­ нальной дроби. Для этого предназначены функции ExpandNumerator и Expand Denominator. Получить числитель и знаменатель рациональной дроби можно с помо­ щью функций Numerator и Denominator, т.е. тех же самых функций, что используются для получения числителя и знаменателя рационального числа.

Для упрощения различных выражений, в том числе и рациональных, полезно применять функцию Simplify, которая выполняет алгебраические преобразования над выражением и приводит его к простейшей (с точки зрения системы Mathematica) форме. Данную функцию удобно применять в постфиксной входной форме, т.е. при­ писывая ее имя после / / в конце входного выражения:

xxx=Sum[2*п/(хА2-пА2)-11/((х-(11-n)) (x+n)),{n,1,10}]

 

11

11

 

 

(-10 +х) (1 + х)(- 9 + х) (2+х)

 

 

11

11

 

 

(-8 +х) (3 + х)(-7 +х) (4 + х)

 

 

11

11

 

 

(-6 +х) (5 +х)(-5 +х) (6 +х)

 

 

11

11

 

 

(-4 +х) (7 + х) (-3 +х) (8 + х)

 

 

11___________________ U ________

20

 

(-2 + х) (9 + х)

(-1 + х) (10 + х)

+ -100+х2 +

18

16

14

12

 

-81+ х2 + -64 +х2 + -49+ х2 + -36 + х2 +

2

10

___ 8___

6

4

-25 + х2 + -16 + х2 + -9 + х2 + -4 + х2 + -1 + х2

ххх//Simplify

О

Функцию sim plify можно применять также для упрощения выражений при оп­ ределенных условиях. Вот пример.

S i m p l i f y[аА3+ЬА3+сА 3-3 *а*Ь*с,+ + = 0 ]

О

Алгебра и анализ

343

Линейная алгебра

Произведения векторов и матриц

Скалярное произведение векторов и матриц обозначается точкой.

{ a i, а2 , а3}.{!>!, Ь2 , Ь3} ai bi + а2 b2 + а.зЬ3

Для вычисления векторного произведения векторов применяется функция C r o s s . Она обозначается крестиком. Вот как вычисляется обобщенное векторное произведе­ ние пяти векторов в шестимерном пространстве.

{1,3,4,5,7,6}х{2,4,5,7,8,1}х{4,5,3,1,2,7}х{3,3,3,4,2,5}х{4,2,1,2,2,5} {522,-1076,1379,-580,60,-55}

Нормы векторов и матриц

С помощью функции Norm можно вычислять разнообразные нормы векторов и матриц.

Norm[{а,b, с} ]

VAbs [а] 2 + Abs [b] 2 + Abs [с] 2

Norm[ {a,b, с} ,m]

(Abs [a]m + Abs [b]m + Abs [c]m)m

Norm[{{a,b},{c,d} },°°]

Max [Abs [a] +Abs [b] ,Abs [c] +Abs [d] ]

Norm[{{a,b},{c,d}},1]

Max[Abs[a]+Abs[c],Abs[b]+Abs[d]]

Обратные и псевдообратные матрицы

Совсем просто выполняется обращение неособенных матриц.

I n v e r s e к:а .b)]"' MatrixForm

(

-b с+а d

-b с+а d

са

-b с+а d

-Ь с+а d

Особенная матрица не имеет обратной, но для нее можно определить псевдообратную, т.е. такую, произведение которой на исходную наименее уклоняется (по сум­ ме квадратов) от единичной матрицы. (Конечно, для неособенной матрицы ее псевдообратная совпадает с обратной.)

P s e u d o in v e r s e [ | ^ * ) ] / / M atrixForm

Inverse[m]

Inverse::sing

Matrix {{1, 2}, {1, 2}} is singular. More...

Inverse[{{1,2},{1,2}}]

MatrixForm[p=PseudoInverse[m]]

344

Гпава 10

1

1

\

10

10

 

1

1

 

( 5

5

)

С помощью псевдообратных матриц можно находить решения несовместных сис­ тем линейных уравнений.

Решение систем линейных уравнений

Пусть имеем систему линейных уравнений т х = v, где т — матрица системы, а V—вектор правых частей. Ее решение можно найти так.

х = LinearSolve[т =

\ 4 )' v = С"1* 3)]

{ 9 , - 5 , 0 }

Вот как проверяется результат.

m.x-v

{0,0}

Имеются, конечно, и функции для специализированных методов, таких как Гауссово исключение, разнообразные декомпозиции, вычисление миноров и т.д.

Анализ

Пределы

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

Limit[Sin[Pi*x]/Sin[4Pi*x] ,x->l]

" 4

Limit[хЛ2*(Exp[1/x]-Exp[1/(x+1)]), x->Infinity]

1

Limit[(ArcSin[3x] -Sin[x]л2)/ (Tan[x]A2+Log[l+7x]),x->0]

3_

7

Limit[(ал (хл2)-Ьл (хл2))/Log[Cos[2x]],x->0] у (-Log[a] + Log[b])

Абсолютно ничего сложного. Но помните, что если двустороннего предела нет, система Mathematica может пытаться подсунуть односторонний вместо него, причем даже предупреждения не будет! Вот тривиальный классический пример, показываю- [ щий, что в случае разных односторонних пределов система Mathematica в качестве

двустороннего предела просто подсовывает любой из односторонних.

Limit[ArcTan [1 / (1-х) ],х->1]

п_

Limit[ArcTan[1/(1-х)]>х->1,Direction->l]

л

Т

Limit[ArcTan [1 / (1 -х) ],х->1 ,Direction->-l]

Я

‘ У

Алгебра и анализ

345

Дифференцирование

Для дифференцирования в системе Mathematica предусмотрена команда (функция)

D [ ., . ]. Вот как вычисляется производная функции У = 1 + х12

arcctg(x6):

D [хА6/(1+хА12)-АгсТап[1/хЛ6],х]

6 х 5

 

 

б

12 х17

 

( 1 +

) X 7

( 1 + х 1 2 ) 2 + 1 + Х 12

 

Simplify[%]

 

\

 

12 х5

(1 +х!2)2

Заметьте, что выражение, полученное в результате дифференцирования, пришлось упрощать, так как автоматически упрощение не выполняется!

Вот еще один пример.

D [Abs [хЛ2],х]

2 Abs [х] Abs'[х]

Подход, я бы сказал, весьма формальный. (Зато он работает даже для функций комплексного переменного!) Из-за формализма вычисления зачастую могут выпол­ няться не до конца.

D[Abs[хЛ2],х]/.х->1

2 Abs'[l]

Но в целом, если подобные примеры во внимание не принимать, система Mathematica успешно справляется и с вычислением частных (в том числе и смешан­ ных) производных.

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

Ряды

Разложение в ряд Тейлора

Вот как функция tg(x+x3)—sir^x+x3) разлагается в ряд Тейлора:

Series[Tan[х+хЛ3]-Sin[х+хА3],{х, 0,15}]

 

х3

13 х5

+

523 х7

260189 х9

 

3136691 х11

2

+ 8

240

 

+120960

+

1209600+

544325237

х13

1914989605621

х15

16

 

159667200

+

 

435891456000

+ 0[Xj

 

Чтобы отбросить остаточный член, можно воспользоваться командой Normal:

Normal

[Series [Tan [x+xA3] -Sin [x+xA3],{x,0,15}]]

x3

13 X5

+

523 x7

260189 x9

 

3136691 x11

2 +

8

240

 

+120960

+

1209600+

544325237

x13

1914989605621

x15

 

159667200

+

 

435891456000

 

 

Ниже приведен пример разложения в ряд Тейлора функции двух переменных.

346

Гпава Ю

Series [Sin [x y ] ,{x, 0, 9}'t{y, 0, 9} ]

(У + 0 [y ] 10) x+ + O [y ]10| x3 +

(362ШГ +oty]1°) x9 * o[xj10

Normal[Series[Sin[x y] ,{x,0,9},{y,0, 9}]]

xy

x3 y3

x5 y5

x7 y7

x9 y9

6~~ +

120

" 5040

+ 362880

Заметьте, что для отбрасывания остаточных членов понадобилась только одна ко­ манда Normal.

Арифметические операции над рядами

Конечно, ряды можно складывать, вычитать, умножать и даже делить. Причем все действия система Mathematica выполняет практически без дополнительных подсказок. Пусть имеем, например, два ряда Тейлора.

Series [Log [1+х],{х, 0,15} ]

X7

X8

X9

X2

V

X3

V 4

X4

X5

X6

V

 

V 5

Ч

 

 

 

 

х 2 + 3

 

4 + 5 - 6 + 7

8 + 9

X10

X11

X12

X13

X14

+

+ 0[х]16

То" + “ГГ

12 +

13

14

Series[Log[l+xA2],{х, 0, 15}]

 

 

2

X4

X6

X8

X10

X12

+

+ О [х]16

Х "

2 +

3

Т + “5“

6

Деление можно выполнить так.

 

 

S e r ie s [ L o g [ l + х] , { х , 0 , 1 5 } ]

 

S eries [Log [1 + х 2 ] , { х , 0 , 1 5 } ]

 

1 1

5 х

х2

17 х3

х4

 

х_J +~ ё

 

Г +“60

Г +

647 х5

5 х6

+

773 х7

7 х8

50843 х9

2520

 

24

5040

48

+

332640

191 х10

+

4573997 х11

33 х12

13

1440

43243200

320

 

+ ° lXj

Конечно, это есть начальный отрезок ряда, представляющего частное функций.

Series[Log [1 + х]/Log[1

+

хЛ2], [х,

0, 15}]

1 1

 

5 х

х2

17 х3

х4

647 х5

х " 2 +

6

2

+

60

 

4 +

2520

5х6

+

773 х7

7 х8

 

 

50843 х9

191 х10

24

5040

 

4ЁГ +

332640

1440 +

4573997 х11

33 х12

 

+

28222217

х13

43243200

 

320

 

 

259459200

 

П.779 х14

33967291

х15

16

 

120960 +

420076800

+ ° lXj

 

 

Алгебра и анализ

347

Исследование функций и построение графиков

Едва ли можно указать единую схему, пригодную для исследования абсолютно всех функций. Так что едва ли стоит удивляться, что в курсах анализа можно найти множество таких схем — от совсем кратких, похожих на весьма общие указания, до обширных, развернутых, с множеством всевозможных пунктов, в большинстве своем не имеющим никакого отношения к конкретной исследуемой функции. Однако все такие схемы обычно имеют несколько общих пунктов.

Определение интервалов возрастания и убывания функции

Найдем для примера интервалы возрастания и убывания функции

у = х330x4225*+1.

Сначала определим функцию.

у=хлЗ-30*хл2+225*х+1

1 + 225 х - 30 х2 + х3

Данная функция — многочлен, поэтому она всюду дифференцируема. Найдем ее производную.

D[y,x]

225 - 60 х + 3 х2

Так как и производная — многочлен, разложим его на множители.

Factor[%]

3 (-15+х) (-5+х)

Теперь видим, что производная отрицательна только на интервале (5; 15). На этом

интервале функция, следовательно, строго убывает. На интервалах (~°°, 5) и (15, °°) производная положительна. Поэтому на этих интервалах функция строго возрастает.

Нахождение локальных экстремумов

У рассмотренной нами функции у = х3-30х2+225х+1 производная обращается в нуль в точках х = 5 и х = 15. Поскольку это простые нули производной, то именно эти точки и являются точками ее локального экстремума. Легко вычислить значения функции в этих точках и построить ее график.

хлЗ-30*хл2+225*х+1/.х->5 501

хлЗ-30*хл2+225*х+1/.х->15

1

Plot[хлЗ-30*хл2+225*х+1,{х,-20,20}]

348

Гпава Ю

4

2

-20

-10

-2

-4

-6

Вот более сложный пример. Пусть нужно найти локальные экстремумы функции

У,= l ] ( l — x)(x — 2 ) 2

Определим нашу функцию в системе Mathematica.

У1=((1-х) (х-2) А2) Л (1/3)

((1-х) (-2 + х) 2)1/3

Данная функция определена и непрерывна на всей числовой оси. Находим ее про­ изводную.

D[yl,x]

2 (1 - х) (-2 + х) - (-2 + х) 2

3 ((1 - х) (-2 + х)2)2/3

Видим, что

производную можно упростить, поэтому применяем функцию

F u l l S i m p l i f у .

(Вообще говоря, это лучше делать всякий раз, когда вычисляются

производные.)

 

F u l l S i m p l i f у [D [у 1,х] ]

' ( - 2 + х) (-4 + 3 х)

’ 3 (- (-2 + х)2 (-1 + х) )2/3

Видим, что в точках х = 1 и х = 2 производная не существует, а в нуль обращается только в точке х = 4/3. Поэтому только эти точки и являются критическими для дан­ ной функции. Однако при переходе через точку х = 1 производная не меняет знака, поэтому она не является точкой экстремума. При переходе через точку х = 4/3 произ­ водная меняет знак минус на плюс, поэтому в этой точке функция имеет минимум. При переходе через точку х = 2 производная меняет знак плюс на минус, поэтому в j этой точке функция имеет максимум. Вычисляем минимум и максимум.

у1/.х—>4/3

Точно так же вычисляется и локальный максимум.

yl/.x- > 2

Ьпгебра и анализ

349

Вот график данной функции.

Plot[Sign[1-х] (Abs[1-х]*((х-2)л2))л (1/3) ,{х,-1,3}] ;

-Заметьте, что для построения графика знак подкоренного выражения пришлось вынести из под корня, благодаря чему подкоренное выражение оказалось неотрица­ тельным.

Нахождение наибольшего и наименьшего значений (глобальных экстремумов)

Если область определения дифференцируемой функции состоит из нескольких от­ резков, то, чтобы найти ее глобальные экстремумы, можно сначала найти ее локаль­ ные экстремумы, а затем значения на концах отрезков. Из этих значений и нужно выбрать наибольшее и наименьшее. В общем, нет ничего сложного, если, конечно, все вышеперечисленные операции выполняются без проблем.

Нахождение интервалов выпуклости и точек перегиба

Найдем интервалы выпуклости и точек перегиба функции у2 — б^-бгИ. Сначала введем функцию в систему Mathematica.

у 2=хЛ4 - 6 х Л26х+1

1 —6 X —6 X2 + X4

Теперь находим вторую производную.

D [ y 2 , {х , 2 } ] - 1 2 + 12 х 2

Так как вторая производная положительна при |дс| >1, то (-°°, -1) и (1, °°) — интер­

валы выпуклости вниз, а (-1, 1) — интервал выпуклости вверх. Поскольку в точках х = —1 и х = 1 функция меняет направление выпуклости, эти точки являются точками перегиба. Впрочем, в этом можно убедиться и иначе: третья производная

D[у 2 , { х , 3 } ] / . х - >1

j

24

1

D[ у2 , { х , 3} ] / . х - > - 1

 

-24

вэтих точках отлична от 0.

350

Гпава Ю