книги / Mathematica 5. ╨б╨░╨╝╨╛╤Г╤З╨╕╤В╨╡╨╗╤М
.pdfесть общий численный множитель — так называемое содержание многочлена. Если содержание многочлена равно единице, то список начинается с {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 |
Гпава Ю |