Математика. Настоящий учебник посвящен системе Mathematica прикладному пакету компьютерной алгебры, при помощи которого можно решать любые задачи, в которых в той или иной форме встречается математика
Скачать 4.43 Mb.
|
без указания уровня? Решение. По умолчанию Map применит Table не на уровне 2, а на уровне 1, иными словами, не к элементам, а к строчкам. Это значит, что 9 раз повторятся не элементы исходной матрицы, а ее строчки: a b c a b c a b c a b c a b c a b c a b c a b c a b c d e f d e f d e f d e f d e f d e f d e f d e f d e f g h i g h i g h i g h i g h i g h i g h i g h i g h i Выше мы задали кронекеровское произведение матрицы a b c d e f g h i с пробной матрицей: a b c d e f g h i ⊗ 1 1 1 1 1 1 1 1 1 . 6.5. Задайте кронекеровское произведение 1 1 1 1 1 1 1 1 1 ⊗ a b c d e f g h i . Обратимся теперь к заданию кронекерова произведения в общем случае. Задать кронекеровское произведение a b c d ⊗ e f g h = a e f g h b e f g h c e f g h d e f g h как блочную матрицу совсем легко. 475 6.6. Задайте кронекерово произведение двух матриц как блочную матрицу. Решение. Ровно для этого и служит внутренняя функция Outer! Есте- ственно, это просто Outer[Times,x,y]. Попытаемся теперь задать кронекерово произведение как обычную мат- рицу, без дополнительных уровней вложенности. 6.7. Задайте кронекерово произведение двух матриц x и y как обычную матрицу. Решение. Можно конечно, найти их произведение как блочную матрицу, а потом убрать лишние уровни вложенности так, как мы делали это выше. Но в действительности, так как теперь матрица x имеется в нашем распо- ряжении с самого начала, чуть проще протранспонировать ее сразу, чтобы потом не приходилось судорожно считать уровни: KroneckerProduct[x ,y ]:=Flatten[ MapThread[Join,Outer[Times,Transpose[x],y],2],1] 6.8. Задайте кронекерову сумму двух матриц x и y. 7. Диагонали. 7.1. Задайте квадратную матрицу порядка n, в которой натуральные числа от 1 до n 2 расположены сверху вних по диагоналям, параллельным побоч- ной. Вот примеры таких матриц для n = 3, 4, 5: 1 2 4 3 5 7 6 8 9 1 2 4 7 3 5 8 11 6 9 12 14 10 13 15 16 1 2 4 7 11 3 5 8 12 16 6 9 13 17 20 10 14 18 21 23 15 19 22 24 25 Будет ли эта матрица обратимой и, если да, то найдите обратную к ней для небольших n. Ответ. В следующем определении мы организуем цикл по номеру диаго- нали h, а внутри него цикл по номеру строки i: strips[n ]:=Block[ {m=1,glist=Table[0,{n},{n}]}, For[h=2,h<=2*n,h++,For[i=1,i<=n,i++, If[1<=h-i<=n,glist[[i,h-i]]=m;m=m+1]]];glist] 7.2. Задайте квадратную матрицу порядка n, в которой натуральные числа от 1 до n 2 расположены в соответствии с диагональным процессом Коши (“змейкой”). Вот примеры таких матриц для n = 3, 4, 5: 1 2 6 3 5 7 4 8 9 1 2 6 7 3 5 8 13 4 9 12 14 10 11 15 16 1 2 6 7 15 3 5 8 14 16 4 9 13 17 22 10 12 18 21 23 11 19 20 24 25 476 Будет ли эта матрица обратимой и, если да, то найдите обратную к ней для небольших n. Ответ. zigzag[n ]:=Block[ {h,i,m=1,glist=Table[0,{n},{n}]}, For[h=2,h<=2*n,h++,If[OddQ[h], For[i=1,i<=n,i++, If[1<=h-i<=n,glist[[i,h-i]]=m;m=m+1]], For[i=n,i>=1,i--, If[1<=h-i<=n,glist[[i,h-i]]=m;m=m+1]]]];glist] § 3. Определители Из тяжести недоброй и я когда-нибудь прекрасное создам. Осип Мандельштам 1. Определение, свойства и вычисление. 217,218 Определителем называется функция от столбцов матрицы x ∈ M(n, R) det : M (n, R) = R n × . . . × R n −→ R, со свойствами полилинейности, антисимметричности и нормированности. Сформулируем явно, что значат эти условия. • Линейность по i-му столбцу означает, что определитель аддитивен по столбцу (при фиксированных остальных) det(x 1 , . . . , y i + z j , . . . , x n ) = det(x 1 , . . . , y i , . . . , x n ) + det(x 1 , . . . , z i , . . . , x n ). и, кроме того, однороден степени 1: det(x 1 , . . . , λx i , . . . , x n ) = λ det(x 1 , . . . , x i , . . . , x n ). • Антисимметричность означает, что если две строки определителя рав- ны, то определитель равен 0: det(x 1 , . . . , x i , . . . , x i , . . . , x n ) = 0 • Нормированность означает, что определитель единичной матрицы ра- вен 1: det(e 1 , . . . , e n ) = 1. 217 Very many of the familiar processes of mathematics, such as multiplication of large numbers or computation of determinants, can be computed far more expiditiously than al- lowed by the usual “school” algorithms. c Peter Borwein, T.Erdelyi 218 Chemistry is a branch of physics, but it is sufficiently extensive and profound to deserve its traditional role as an independent subject. c Robert Vein, Paul Dale Determinants and their applications in mathematical physics. — Springer-Verlag, Berlin et al., 1999. 477 В наивных изложениях вместо антисимметричности обычно фигурирует кососимметричность: det(x 1 , . . . , x i , . . . , x j , . . . , x n ) = − det(x 1 , . . . , x j , . . . , x i , . . . , x n ). Ясно, что кососимметричность следует из антисимметричности и линейно- сти. Для этого достаточно разложить определитель det(x 1 , . . . , x i + x j , . . . , x i + x j , . . . , x n ) воспользовавшись линейностью по i-му и j-му столбцам. Однако, обратное, вообще говоря, неверно. Следующее свойство выражает самую суть понятия определителя, его raison d'^ etre. Определитель det : M (n, R) −→ R является мультиплика- тивным гомоморфизмом. Иными словами, для любых двух матриц x, y ∈ M (n, R) имеет место равенство det(xy) = det(x) det(y). 1.1. Напишите рекуррентную программу вычисления определителя по Ла- пласу, с разложением по строке. 1.2. Напишите рекуррентную программу вычисления определителя по Ла- пласу, с разложением по столбцу. Рекомендации по вычислению определителя. Встретив незнако- мый определитель проделайте следующие действия — примерно в таком порядке! • Вычислите несколько первых значений определителя на компьютере, постарайтесь угадать ответ. Здесь стоит отметить, что в настоящее время существует несколько заме- чательных программ для Mathematica и Maple таких, как Rate и Guess, которые угадывают вид определителя! Разумеется, на самом деле, ко- нечно, в большинстве случаев это угадывение носит вполне прозаический характер. Скажем, эти программы вычисляют значения определителя при различных значениях параметров, а потом восстанавливают общий вид ин- терполяцией. • Посмотрите, не является ли определитель частным случаем какого-то из известных определителей. • Посмотрите, не имеет ли определитель специального вида, такого как симметрический, ганкелев или теплицев, для которого применимы специ- альные методы. • Постарайтесь получить рекуррентное соотношение понижая степень определителя при помощи элементарных преобразований над строками и столбцами. 478 • Попробуйте представить определитель как сумму двух определителей более простого вида раскладывая строку или столбец в сумму двух. • Постарайтесь получить рекуррентное соотношение раскладывая опре- делитель по Лапласу, по одной или нескольким строкам/столбцам. • Примените метод выделения множителей. • Попробуйте представить определитель как произведение двух опреде- лителей более простого вида — скажем, треугольных. • Постарайтесь получить рекуррентное соотношение при помощи метода конденсации. • Посмотрите, удовлетворяет ли Ваш определитель простому дифферен- циальному/разностному уравнению. Если ни один из этих методов не работает, у нас проблема. В этом случае следует либо немедленно обратиться к доктору, либо рассмотреть более общий определитель — который часто гораздо проще вычислить! — либо вернуться к преобразованиям определителя с геометрической точки зрения. В этом случае профессионал обычно действует следующим образом. • Вводит дополнительные параметры и смотрит, применяются ли пере- численные выше методы к этому более общему определителю. • Истолковывает матрицу определителя как матрицу линейного преоб- разования и старается угадать базис, в котором видны собственные числа этого преобразования, например, его действие треугольно. • В совершенно безнадежном случае ищет определитель в трактате Mю- ира 219 — он там есть!!! 2. Альтернанты. Примерно 80% всех определителей, встречающихся в реальных вычис- лениях, являются альтернантами. Альтернанты производятся в двух ос- новных модификациях, простые и двойные. Пусть f 1 , . . . , f n — любые функция. Определитель вида det f 1 (x 1 ) f 2 (x 1 ) . . . f n (x 1 ) f 1 (x 1 ) f 2 (x 1 ) . . . f n (x 1 ) . . . . . . . . . . . . f 1 (x n ) f 2 (x n ) . . . f n (x n ) называется простым альтернантом. Самым известным примером про- стого альтернанта является определитель Вандермонда. Пусть f — любая функция. Определитель вида det f (x 1 , y 1 ) f (x 1 , y 2 ) . . . f (x 1 , y n ) f (x 2 , y 1 ) f (x 2 , y 2 ) . . . f (x 2 , y n ) . . . . . . . . . . . . f (x n , y 1 ) f (x n , y 2 ) . . . f (x n , y n ) 219 T.Muir, The theory of determinants in the historical order of development. — Macmil- lan, London, vol. I, Up to 1841. — 1906; vol.II, 1841–1860. — 1911; vol.III, 1861–1880. — 1920; vol.IV, 1880–1900. — 1923. 479 называется двойным альтернантом. Самым известным примером двой- ного альтернанта является определитель Коши. Ясно, что двойные альтернанты можно рассматривать как простые, по отношению к парциальным функциям f i = f ( , y i ). Единственное различие здесь психологическое и состоит в том, трактуются y i как параметры или как переменные. 3. Определитель Вандермонда. Самый важный определитель, хочется даже сказать, единственный ре- ально возникающий в приложениях определитель — это знаменитый опре- делитель Вандермонда V (x 1 , . . . , x n ) = 1 1 . . . 1 x 1 x 2 . . . x n x 2 1 x 2 2 . . . x 2 n . . . . . . . . . . . . x n −1 1 x n −1 2 . . . x n −1 n Собственно, не будет большим преувеличением сказать, что вся теория определителей построена главным образом для анализа этого примера, воз- никающего при решении алгебраических уравнений, в задаче интерполя- ции, преобразовании Фурье и далее везде. Формула для определителя Вандермонда хорошо известна. Сейчас мы докажем ее тремя методами: при помощи рекуррентных соотношений, при помощи выделения множителей и при помощи треугольной факторизации: 3.1. Докажите, что для любых x 1 , . . . , x n ∈ R имеет место равенство V (x 1 , . . . , x n ) = Y 1 ≤j (x i − x j ). Решение 1. Доказываем это утверждение индукцией по n. В качестве базы индукции возьмем n = 1; в этом случае обе части доказываемого равенства равны 1. Для того, чтобы осуществить шаг индукции вычтем в определителе Вандермонда V (x 1 , . . . , x n ) из каждой строки, начиная с последней, предыдущий столбец, умноженный на x n . В результате мы по- лучим определитель, последний столбец которого совпадает с e 1 . Раскла- дывая получившийся определитель по последнему столбцу, мы видим, что V (x 1 , . . . , x n ) равен ( −1) n −1 x 1 − x n x 2 − x n . . . x n −1 − x n x 1 (x 1 − x n ) x 2 (x 2 − x n ) . . . x n −1 (x n −1 − x n ) . . . . . . . . . . . . x n −2 1 (x 1 − x n ) x n −2 2 (x 1 − x n ) . . . x n −2 n −1 (x n −1 − x n ) Вынося из i-го столбца этого определителя x i − x n , мы получаем рекур- рентное соотношение V (x 1 , . . . , x n ) = Y 1 ≤i≤n−1 (x n − x i )V (x 1 , . . . , x n −1 ). 480 Осталось вспомнить, что по индукционному предположению V (x 1 , . . . , x n −1 ) = Y 1 ≤j1 (x i − x j ) что вместе с только что полученным рекуррентным соотношением и дает нам требуемую формулу для V (x 1 , . . . , x n ). Решение 2. Обычно она доказывается при помощи элементарных пре- образований над строчками и рекуррентных соотношений. На самом деле, профессиональные алгебраисты обычно доказывают ее гораздо проще, при- мерно следующим образом. В самом деле, определитель Вандермонда яв- ляется многочленом степени ≤ 1+2+. . .+(n−1) = n(n−1)/2 от x 1 , . . . , x n С другой стороны, если x i = x j , то определитель Вандермонда имеет два одинаковых столбца и, таким образом, обращается в 0. Это значит, что он делится на x j − x i . Так как многочлены x j − x i , 1 ≤ i < j ≤ n, попарно взаимно просты, то он делится на их произведение Q x j − x i , 1 ≤ i < j ≤ n, также имеющую степень n(n − 1)/2. Это значит, что нам остается лишь сравнить коэффициенты этих многочленов при каком-то одночлене, ска- жем при |