Раздел: Документация
0 ... 36 37 38 39 40 41 42 ... 177 Проверка результатов вычислений: (з.тзО 8.467 13.194 М eigenvecs (М) (0) eigenvecs (М) (0) eigcnvaJs(M)0 = f 3.739 8,467 уШ94, Также в линейной алгебре существует проблема поиска собственных значений и собственных векторов для случая более общей задачи, определяемой уравнением МХ-Х N X, где N - некоторая квадратная матрица. Технически решение такой задачи находится намного труднее, чем предыдущей, так что возможности Mathcad тут могут быть просто незаменимы. Для решения задачи поиска обобщенных собственных значений существуют две специальные функции, □genvaLi(M,N). Функция вычисляет вектор собственных значений матрицы М (аналогично функции eigenvals(M)). □genvecs(M,N). Функция, аналогичная eigenvecs(M). Возвращает матрицу, содержащую в качестве столбцов собственные векторы матрицы М при некоторой заданной матрице N. В следующем примере рассматривается использование функций genvals(M,N) и деп-vecs(M,N). а также проводится проверка на верность вычислений. Пример 3.45. Решение обобщенной задачи на собственные значения h о Л 0 1 о Э 4 м 5 0 7 5 6 3 N:= genvecs {М, N) v ( 0.803 0.831 -0.466 0.534 -0.371 -0.158 1 1 1 genvals(M,N) ( -3.038 "L 5,705 J Проверка на верность расчетов; (~\2>\i\ Mgenvecs (М, N) (0) 1.416 0.104 (0) Ngenvale(M,N)ngeTivecs(M,N) = 1.416 0.104 у 3.3.8. Функции матричных разложений Одной из главных задач линейной алгебры является задача о представлении матрицы в виде произведения двух или более матриц специального вида. Во многих случаях, если такое представление (разложение) удается, решение той или иной проблемы значительно упрощается. Матричные разложения используются прежде всего при решении систем линейных алгебраических уравнений, а также в задачах, связанных с поиском собственных значений матриц. LU-разложение Суть этого разложения сводится к тому, что любую (не сингулярную) квадратную матрицу можно представить в виде произведения верхней н нижней треугольных матриц (R-M-L-U, где М - разлагаемая матрица, R - матрица перестановки (если же таковая не требуется, пртхто единичная матрица), Lh U — нижняя и верхняя треугольные матрицы). LU-разложение широко используется при построении альтернативного методу Гаусса алгоритма решения систем линейных алгебраических уравнений. Достоинство такого способа проявляется в тех случаях, когда требуется решить Одну и ту же систему с различными векторами правых частей (а задача такая может возникнуть при решении систем с параметрами). В этом случае число шагов алгоритма значительно сокращается. При решении же единственной системы уравнений нет разницы, какой из методов использовать. Разложить матрицу на произведение нижней и верхней треугольных матриц в системе Mathcad можно с помощью специальной функции lu(M). Особенностью этой функции является то, что результат выдается в виде одной общей матрицы, полученной слиянием матрицы перестановки R, нижней треугольной матрицы L и верхней треугольной матрицы U. Чтобы результат можно было использовать в дальнейшей работе, придется воспользоваться уже рассмотренной выше функцией submatrtx. Как это сделать, демонстрируется в примере 3.46. Также в нем осуществляется проверка правильности разложения, Пример 3.46. Ш-разложение М:= (Ъ 4 5 5 0 7 N:=lu(M) n = 0 0 11 0 0 5 6 3 010 1 I 0 0-64 10 0 0.6 -0.067 1 0 0 3.467 R :=submatrix(N,0,rows(M) - 1,0,cole(M) - 1) Г0 0 Л 0 1 о V1 °Ь L:-sitbmatrix(N,0,rows(M) - l,cots(M),2cols(M) - I) L = 1 0 0 1 1 о 0.6 -0.067 \j 563 U:=submatrix(N,0,row3(M) - l,2cols(M),3cols(M) - 1) U = 0-6 4 0 0 3.467, Проверка ва верность разложения:
То, как в Mathcad осуществляется LU-разложение, очень подробно описывается в гл. 8 (в разделе, посвященном решению систем линейных уравнений). Там же имеется соответствующий алгоритм на языке программирования Mathcad. Разложение Холецкого Разложением Холецкого называется представление матрицы в виде произведения некоторой треугольной матрицы и матрицы, полученной транс локирован нем последней (MmLLr). Обязательным условием возможности разложения Холецкого является то, что разлагаемая матрица должна быть симметричной (то есть М-М1) и положительно определенной (то есть ее определитель должен быть положительным числом). Для реализации разложения Холецкого в Mathcad существует специальная встроенная функция cholesky(M), результатом работы кото;той является матрица L QR- разложение QR-разложением матрицы М называется Предетавление ее В виде произведения ортогональной (то есть Qr~Ql) и верхней треугольной матриц. Разложение имеет практическое значение в связи с использованием его при решении задач на собственные значения матриц. Для выполнения QR-разложения в Mathcad существует специальная встроенная функция qr(M). Аналогично функции LU-разложения. qr(M) представляет результат в виде единой матрицы. Поэтому, как и при выполнении LU-разложеиия, придется использовать функцию submatrix. Пример3.47. QR-разложение
N = 0.241 -0.84 0.487 8.307 9.872 9.149 0.482 -0.332 -0.811 О \0.843 0.43 0.324 0 -0.742 -3.613 0 -0.487 Q :=subroatrix(N,0,rows(M) - ],0,cols(M) - 1)
0 ... 36 37 38 39 40 41 42 ... 177
|