Mathcad содержит функции для обычных в линейной алгебре действий с массивами. Эти функции предназначены для использования с векторами и матрицами. Если явно не указано, что функция определена для векторного или матричного аргумента, не следует в ней использовать массивы как аргумент. Обратите внимание, что операторы, которые ожидают в качестве аргумента вектор, всегда ожидают вектор-столбец, а не вектор-строку. Чтобы заменить вектор-строку на вектор-столбец, используйте оператор транспонирования [Ctrl]1.
Если Вы используете Mathcad PLUS, Вы будете также иметь несколько дополнительных функций, определенных для векторов. Эти функции скорее предназначены для анализа данных, чем для действий с матрицами. Они обсуждены в Главе “Встроенные функции”.
Следующие таблицы перечисляют векторные и матричные функции Mathcad. В этих таблицах
- A и B — массивы (векторы или матрицы).
- v — вектор.
- M и N — квадратные матрицы.
- z — скалярное выражение.
- Имена, начинающиеся с букв m, n, i или j — целые числа.
Размеры и диапазон значений массива
В Mathcad есть несколько функций, которые возвращают информацию относительно размеров массива и диапазона его элементов. Рисунок 10 показывает, как эти функции используются.
Имя функции | Возвращается. |
rows(A) | Число строк в массиве A. Если А — скаляр, возвращается 0. |
cols(A) | Число столбцов в массиве A. Если A скаляр, возвращается 0. |
length(v) | Число элементов в векторе v. |
last(v) | Индекс последнего элемента в векторе v. |
max(A) | Самый большой элемент в массиве A. Если A имеет комплексные элементы, возвращает наибольшую вещественную часть плюс i, умноженную на наибольшую мнимую часть. |
min(A) | Самый маленький элемент в массиве A. Если A имеет комплексные элементы, возвращает наименьшую вещественную часть плюс i, умноженную на наименьшую мнимую часть. |
Рисунок 10: Векторные и матричные функции для нахождения размера массива и получения информации относительно диапазона элементов.
Специальные типы матриц
Можно использовать следующие функции, чтобы произвести от массива или скаляра матрицу специального типа или формы. Функции rref, diag и geninv доступны только в Mathcad PLUS.
Имя функции | Возвращается. |
identity(n) | n x n единичная матрица (матрица, все диагональные элементы которой равны 1, а все остальные элементы равны 0). |
Re(A) | Массив, состоящий из элементов, которые являются вещественными частями элементов A. |
Im(A) | Массив, состоящий из элементов, которые являются мнимыми частями элементов A. |
Е diag(v) | Диагональная матрица, содержащая на диагонали элементы v. |
Е geninv(A) | Левая обратная к A матрица L такая, что LA = I, где I — единичная матрица, имеющая то же самое число столбцов, что и A. Матрица А — m x n вещественная матрица, где m>=n. |
Е rref(A) | Ступенчатая форма матрицы A. |
Рисунок 11: Функции для преобразования массивов. Обратите внимание, что функции diag и rref являются доступными только в Mathcad PLUS.
Специальные характеристики матрицы
Можно использовать функции из следующей таблицы, чтобы найти след, ранг, нормы и числа обусловленности матрицы. Кроме tr, все эти функции доступны только в Mathcad PLUS.
Имя функции | Возвращается. |
tr(M) | Сумма диагональных элементов, называемая следом M. |
Е rank(A) | Ранг вещественной матрицы A. |
Е norm1(M) | L1 норма матрицы M. |
Е norm2(M) | L2 норма матрицы M. |
Е norme(M) | Евклидова норма матрицы M. |
Е normi(M) | Равномерная норма матрицы M. |
Е cond1(M) | Число обусловленности матрицы M, основанное на L1 норме. |
Е cond2(M) | Число обусловленности матрицы M, основанное на L2 норме. |
Е conde(M) | Число обусловленности матрицы M, основанное на евклидовой норме. |
Е condi (M) | Число обусловленности матрицы M, основанное на равномерной норме. |
Формирование новых матриц из существующих
В Mathcad есть две функции для объединения матриц вместе — бок о бок, или одна над другой. В Mathcad также есть функция для извлечения подматрицы. Рисунки 12 и 13 показывают некоторые примеры.
Имя функции | Возвращается. |
augment (A, B) | Массив, сформированный расположением A и B бок о бок. Массивы A и B должны иметь одинаковое число строк. |
stack (A, B) | Массив, сформированный расположением A над B. Массивы A и B должны иметь одинаковое число столбцов. |
submatrix (A, ir, jr, ic, jc) | Субматрица, состоящая из всех элементов, содержащихся в строках с ir по jc и столбцах с ic по jc. Чтобы поддерживать порядок строк и-или столбцов, удостоверьтесь, что ir |
Рисунок 12: Объединение матриц функциями stack и augment.
Рисунок 13: Извлечение субматрицы из матрицы при помощи функции submatrix.
Собственные значения и собственные векторы
В Mathcad существуют функции eigenval и eigenvec для нахождения собственных значений и собственных векторов матрицы. В Mathcad PLUS также есть функция eigenvecs для получения всех собственных векторов сразу. Если Вы используете Mathcad PLUS, Вы будете также иметь доступ к genvals и genvecs для нахождения обобщенных собственных значений и собственных векторов. Рисунок 14 показывает, как некоторые из этих функций используются.
Имя функции | |
eigenvals (M) | Вектор, содержащий собственные значения матрицы M. |
eigenvec (M, z) | Матрица, содержащая нормированный собственный вектор, соответствующий собственному значению z квадратной матрицы M. |
Е eigenvecs (M) | Матрица, содержащая нормированные собственные векторы, соответствующие собственным значениям квадратной матрицы M. n-ный столбец возвращенной матрицы — собственный вектор, соответствующий n-ному собственному значению, возвращенному eigenvals. |
Е genvals (M,N) | Вектор v собственных значений, каждое из которых удовлетворяет обобщенной задаче о собственных значениях . Матрицы M и N — вещественнозначные квадратные матрицы одного размера. Вектор x — соответствующий собственный вектор. |
Е genvecs (M,N) | Матрица, содержащая нормализованные собственные векторы, соответствующие собственным значениям в v, векторе, возвращенном genvals. n-ный столбец этой матрицы — собственный вектор x, удовлетворяющий обобщенной задаче о собственных значениях . Матрицы M и N — вещественнозначные квадратные матрицы одного размера. |
Рисунок 14: Нахождение собственных значений и собственных векторов.
Рисунок 15: Использование eigenvecs для одновременного нахождения всех собственных векторов.
Если Вы используете Mathcad PLUS, Вы будете иметь доступ к некоторым дополнительным функциям для выполнения специальных разложений матрицы: QR, LU, Холесского, и по сингулярным базисам. Некоторые из этих функций возвращают две или три матрицы, соединенные вместе в одну большую матрицу. Используйте submatrix, чтобы извлечь эти две или три меньшие матрицы. Рисунок 16 показывает пример.
Имя функции | Возвращается. |
Е cholesky(M) | Нижняя треугольная матрица L такая, что LL T =M. Матрица M должна быть симметричной положительно определенной. Симметрия означает, что M=M T , положительная определённость — что x T Mx>0 для любого вектора x 0. |
Е qr(A) | Матрица, чьи первые n столбцов содержат ортогональную матрицу Q, а последующие столбцы содержат верхнюю треугольную матрицу R. Матрицы Q и R удовлетворяют равенству A=QR. Матрица A должна быть вещественной. |
Е lu(M) | Матрица, которая содержит три квадратные матрицы P, L и U, расположенные последовательно в указанном порядке и имеющие с M одинаковый размер. L и U являются соответственно нижней и верхней треугольными матрицами. Эти три матрицы удовлетворяют равенству PM=LU . |
Е svd(A) | Матрица, содержащая две расположенные друг над другом матрицы U и V. Сверху находится U — размера m x n, снизу V — размера n x n. Матрицы U и V удовлетворяют равенству A=Udiag(s)V T , где s — вектор, возвращенный svds(A). A должна быть вещественнозначной матрицей размера m x n, где m>=n. |
Е svds(A) | Вектор, содержащий сингулярные значения вещественнозначной матрицы размера m x n, где m>=n. |
Рисунок 16: Использование функции submatrix для извлечения результата из функции rq. Используйте submatrix, чтобы извлечь подобным образом результаты из функций lu и svd. Обратите внимание, что эти функции доступны только в Mathcad PLUS.
Решение линейной системы уравнений
Если Вы используете Mathcad PLUS, Вы сможете использовать функцию lsolve для решения линейной системы уравнений. Рисунок 17 показывает пример. Обратите внимание, что M не может быть ни вырожденной, ни почти вырожденной для использования с lsolve. Матрица называется вырожденной, если её детерминант равен нулю. Матрица почти вырождена, если у неё большое число обусловленности. Можно использовать одну из функций, описанных на странице 204, чтобы найти число обусловленности матрицы.
Имя функции | |
Е lsolve (M, v) | Вектор решения x такой, что Mx=v. |
Если Вы не используете Mathcad PLUS, Вы всё-таки можете решать систему линейных уравнений, используя обращение матрицы, как показано в нижнем правом углу Рисунка 9.
Рисунок 17: Использование lsolve для решения системы из двух уравнений с двумя неизвестными.
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Видео:Основные действия с матрицами и векторами в MathCAD 14 (20/34)Скачать
Вычисление собственных значений и собственных векторов матриц mathcad
Глава 3. Работа с векторами и матрицами
3.8 Собственные числа и собственные векторы матриц
Собственные числа и собственные векторы матриц
В технических расчетах весьма актуальна задача определения собственных чисел и собственных векторов квадратных матриц. В MathCAD имеется несколько встроенных функций для решения стандартных и нестандартных задач.
Рассмотрим стандартную задачу на собственные числа A · L =λ· L или ( A –λ·Е)· L =0, где Е – единичная матрица, А – квадратная матрица, λ – вектор собственных чисел, L – спектр собственных векторов (рис. 3.15 ).
Для решения стандартной задачи используются следующие функции:
– eigenvals ( A ) –вычисляет вектор собственных чисел матрицы А, превращающий ее в диагональную матрицу;
– eigenvecs ( A ) – вычисляет спектр собственных векторов матрицы А. Результат расчета – матрица, каждый столбец которой А i > представляет собой нормированный собственный вектор для одного из собственных чисел λ i .
Пример стандартной задачи: по заданному тензору напряжений найти три главных напряжений (собственные числа) и соответствующие им направляющие косинусы для нормалей к трем главным площадкам (собственные векторы).
Стандартная задача на собственные числа
или , где Е — единичная матрица
собственные числа собственные векторы
Создание диагональной матрицы из собственных чисел
Рис. 3. 15 Определение собственных чисел квадратной матрицы
Нестандартная задача на собственные числа имеет вид A · L =λ·В· L или ( A –λ·В)· L =0, где А и В – квадратные матрицы (неединичные), λ – вектор собственных чисел; L – спектр собственных векторов (рис. 3.1 6 ).
Нестандартная задача на собственные числа
или , где А и В симметричные матрицы
собственные числа собственные векторы
Рис. 3. 16 Обобщенные собственные числа матрицы
Пример нестандартной задачи: определение собственных частот колебаний упругих систем. В этой задаче собственное число λ=ω 2 – квадрат собственной частоты колебаний, собственный вектор L i > – форма для собственной частоты ω i .
Для решения нестандартной задачи используются следующие функции:
– genvals ( A , B ) – вычисляет вектор обобщенных собственных чисел λ i ;
– genvecs ( A , B ) – вычисляет спектр собственных векторов. Результат расчета – матрица, каждый столбец которого L i > соответствует собственному числу λ i .
Вектор собственных чисел можно преобразовать в диагональную матрицу с помощью функции diag (). Результат ее действия – диагональная матрица, на главной диагонали которой расположены элементы вектора λ.
Видео:Собственные векторы и собственные значения матрицыСкачать
Вычисление собственных значений и собственных векторов матриц mathcad
Большое число научно технических задач, а также некоторых исследований в области вычислительной математики требуют нахождения собственных значений и собственных векторов матриц.
Вектор x=(x1,x2…xn) ϵ E n называется собственным вектором матрицы А=(aij)nn, если существует такое число λ ϵ R, что имеет место равенство:
(1)
Число λ называется собственным значением матрицы А.
Поскольку при умножении собственных векторов на скаляр он остается собственным вектором той же матрицы, его можно нормировать. В частности, каждую координату собственного вектора можно разделить на максимальную из них или на длину вектора. В последнем случае получится единичный собственный вектор.
Характеристической матрицей С данной матрицы А называется матрица вида:
(2)
где Е – единичная матрица.
Легко видеть, что равенство (1) можно записать в виде:
(3)
Если перейти к координатной форме записи вектора x, то
(4)
Системы (3) и (4) являются однородной системой n линейных уравнений c n неизвестными. Она имеет ненулевое решение лишь тогда, когда её определитель равен нулю.
(5)
Определитель матрицы С является многочленом n-ной степени относительно λ
(6)
называется характеристическим многочленом. Корни этого многочлена являются собственными значениями матрицы А.
Для нахождения собственных векторов матрицы требуется решить систему линейных алгебраических уравнений, решение которой не единственно. Из линейной алгебры известно, что в этом случае структура общего решения системы имеет следующий вид: одно или несколько неизвестных, называемых свободными, могут принимать любые значения, а общие неизвестные выражаются через свободные. Число свободных неизвестных равно числу уравнений системы являющихся следствием остальных уравнений, т.е.,
(7)
где m – число свободных неизвестных; n – размерность системы.
На практике, если свободное неизвестное одно (что часто бывает), его полагают равным некоторому числу, например 1. После этого находят остальные неизвестные (компоненты вектора), которые определяются однозначно. Эта процедура не влияет на результат решения задачи, поскольку уже отмечалось, что собственные векторы находятся с точностью до постоянного множителя.
Пример. Вычислить собственные числа и собственные векторы матрицы А.
Решение. Составим характеристический многочлен:
Найдем корни этого многочлена:
Для нахождения собственных векторов f1 и f2, соответствующих собственным значениям λ1 и λ2, составим систему уравнений для каждого из них:
или в координатной форме:
Замечаем, что уравнения линейно зависимы. Поэтому оставляем лишь одно из них. Из первого уравнения следует, что x2= – x1. Неизвестное x1 можно считать свободным. Полагаем x1=1, тогда x2= – 1 и, собственный вектор, соответствующий собственному значению λ1=2, имеет вид f1=(1, –1) или f1=l1 – l2, где l1, l2 – единичные орты выбранной базисной системы.
Аналогично находим второй собственный вектор, соответствующий собственному значению λ2 = 5
вектор f1 нормирован, нормируем также вектор f2, разделив его компоненты на большую из них. Получим:
Можно так же привести векторы к единичной длине, разделив их компоненты на значения модулей векторов:
,
Мы рассмотрели простейший пример вычисления собственных значений векторов для матрицы 2-го порядка. Нетрудно также привести подобное решение для матрицы 3-го порядка и для некоторых весьма специальных случаев.
В общем случае, особенно для матриц высокого порядка, задача нахождения их собственных значений и собственных векторов, называемая полной проблемой собственных значений, значительно более сложная.
На первый взгляд может показаться, что вопрос сводится к вычислению корней многочлена (6). Однако эта задача осложнена тем, что среди собственных значений часто встречаются кратные. И, кроме того, для произвольной матрицы непросто вычислить сами коэффициенты характеристического многочлена.
6.2 Встроенные функции MathCad для вычисления собственных векторов и собственных значений матриц
Для решения задач на собственные векторы и собственные значения в Mathcad встроено несколько функций, реализующих довольно сложные вычислительные алгоритмы:
— eigenvals(A) – вычисляет вектор, элементами которого являются собственные значения матрицы А; — eigenvecs(A)– вычисляет матрицу, содержащую нормированные собственные векторы, соответствующие собственным значениям матрицы А.
Пример. Найти собственные значения и собственные векторы матрицы с помощью MathCad.
1. Задаем системную переменную и матрицы А (исходную) и Е (единичную):
2. Находим собственные значения и собственные векторы матрицы А с помощью встроенных функций MathCad:
3. Находим собственные значения и собственные векторы матрицы А вручную. Для этого составляем характеристический определитель и вычисляем характеристический полином:
4. Приравниваем его нулю нажатием Ctrl+= (получаем характеристическое уравнение):
5. Находим корни характеристического уравнения с помощью символьных вычислений (подсвечиваем λ нажатием мыши и выбираем в меню Символы→Переменные→Вычислить, затем нажимаем символ =)
Это и есть собственные значения матрицы А.
7. Далее найдем собственные векторы матрицы А вручную. Для этого запишем левую часть системы уравнений:
где x1, x2 – элементы собственных векторов, соответствующих собственным значениям λ.
8. Получим собственный вектор, соответствующий собственному значению λ1:
Запишем каждое уравнение системы отдельно (приравниваем их нулю нажатием Ctrl+=)
Из первого уравнения выразим x2 (подсвечиваем λ нажатием мыши и выбираем в меню Символы→Переменные→Вычислить)
Принимаем x1=0.869 (согласно пункту 2)
Собственный вектор, соответствующий собственному значению λ1:
9. Получим собственный вектор, соответствующий собственному значению λ2:
Запишем каждое уравнение системы отдельно (приравниваем их нулю нажатием Ctrl+=)
Из первого уравнения выразим x2 (подсвечиваем λ нажатием мыши и выбираем в меню Символы→Переменные→Вычислить)
Принимаем x1=-0.604 (согласно пункту 2)
Собственный вектор, соответствующий собственному значению λ2:
Для собственных векторов матрицы справедливы следующие утверждения:
1. Собственные векторы матрицы, отвечающие различным собственным значениям, линейно независимы.
2. Если число различных корней матрицы n-го порядка равно n, то в пространстве E n существует базис из собственных векторов матрицы А (непосредственно следует из свойства 1).
3. Базис из собственных векторов матрицы А существует в том и только в том случае, когда сумма размерностей собственных подпространств равна n. Такая матрица называется матрицей простой структуры. Если A – матрица простой структуры, то любой вектор из E n является линейной комбинацией линейно независимой системы собственных векторов этой матрицы.
4. Матрица простой структуры подобна диагональной матрице, т.е. , такая что
(8)
где – собственные значения матрицы .
5. Все корни характеристического многочлена симметрической матрицы действительны, т.е.
6. Собственные векторы симметрической матрицы, отвечающие различным собственным значениям, ортогональны.
7. Для симметрической матрицы A в пространстве E n существует ортонормированный базис из собственных векторов.
Решим еще два примера на нахождение собственных векторов и собственных значений матрицы.
Пример 1. Найти собственные векторы и собственные значения матрицы
Решение. Находим корни характеристического многочлена
= =
,
Ищем собственные векторы с собственным значением λ=1, как решение системы :
Общее решение системы . Фундаментальная система решений или базис пространства решений
,
Собственный вектор для λ=-2 находим из системы
Ответ.
, , – собственные векторы.
Пример 2. Найти ортонормированный базис из собственных векторов симметрической матрицы A
Находим характеристический многочлен матрицы A
Целые корни ищем среди делителей свободного члена:
Найдем собственные векторы с собственным значением λ= -1
Базис в пространстве решений
Так как мы ищем ортонормированный базис, то ортогонализуем систему f1, f2. Получаем , , , , , .
Нашли ортонормированный базис в собственном подпространстве с собственным значением λ= -1. Найдем собственный вектор для собственного значения λ=5
Решаем методом Гаусса, получим , ,
Ответ. Искомый ортонормированный базис
Преобразование подобия (8) можно использовать для упрощения исходной матрицы, а задачу вычисления её собственных значений свести к аналогичной задаче для более простой матрицы. Очевидно, самым лучшим упрощением исходной матрицы было бы приведение её к треугольному виду:
Тогда характеристическая матрица С так же имела бы треугольный вид. Как известно, определитель треугольной матрицы равен произведению ее диагональных элементов, поэтому характеристический многочлен в этом случае имеет вид:
(9)
Собственные значения матрицы, равные корням этого многочлена, можно получить сразу.
, (10)
Таким образом, собственные значения треугольной матрицы равны её диагональным элементам.
Некоторые типы матриц удается привести к треугольному виду с помощью преобразований подобия. В частности, симметрическую матрицу можно привести к диагональному виду. На практике часто используется приведение симметрической матрицы к трехдиагональному виду.
Существует ряд методов, основанных на преобразовании подобия, позволяющие привести исходную матрицу к более простой структуре.
6.3 Частичные проблемы собственных значений
Часто в практических вычислениях нужны не все собственные значения, а лишь некоторые из них.
Для решения частичной проблемы собственных значений, состоящей в определении одного или нескольких собственных значений и соответствующих им собственных векторов, обычно используют итерационные методы. Строится такой итерационный процесс, который сходится к одному собственному значению и собственному вектору, причем используемые алгоритмы весьма экономичны.
Построим итерационный процесс, применяя метод итераций к решению систем уравнений
(11)
Представим (11) через вспомогательный вектор у:
(12)
Пусть х (0) – начальное приближение собственного вектора х, причем собственные векторы на каждой итерации нормированы, так что
Используя соотношение (12), получим:
или, применяя умножение обеих частей равенства скалярно на х (0) , получим , учитывая, что , запишем
Следующие приближения можно вычислить, нормируя у (1) . Окончательно итерационный процесс записывается в виде:
(13)
Процесс (13) продолжается до установления постоянных значений λ и х. При этом нужно учесть, что, применяя критерии завершения итераций, следует проверять близость векторов и .
Можно показать, что найденное значение λ является наибольшим по модулю собственным значением данной матрицы А, а х – соответствующим ему вектором.
Скорость сходимости этого итерационного процесса зависит от удачного выбора начального приближения.
Для решения системы (11) можно использовать и другие итерационные методы. В некоторых задач нужно искать не наибольшие, а наименьшие по модулю собственные значения матрицы А. В этом случае можно умножить (11) на матрицу А -1 :
(14)
(15)
Следовательно, 1/λ является собственным значением обратной матрицы, и задача (15) отличается от ранее рассмотренной тем, что здесь будет вычисляться наибольшее по модулю собственное значение1/λ матрицы А –1 , что будет достигнуто при наименьшем по модулю λ.
6.4 Задания
1. Найти собственные числа и собственные векторы матрицы А (упражнение 1).
2. Доказать, что все собственные значения диагональной матрицы равны ее диагональным элементам.
3. Найти собственные значения треугольной матрицы.
4. Доказать, что нуль является собственным значением матрицы А тогда и только тогда, когда А – вырожденная матрица.
5. Доказать, что собственные значения матрицы А –1 обратны собственным значениям матрицы А.
6. Собственные значения матрицы А равны . Найти все собственные значения матриц:
а) 3А, б) А-2Е.
Упражнение 1 выполняется по вариантам, остальные – без вариантов.
7. В соответствии с выбранным вариантом (табл. 7) найти собственные значения и собственные вектора матриц A и B с использованием математического редактора MathCad. Осуществить проверку правильности нахождения собственных значений и собственных векторов матриц с помощью встроенных функций MathCad eigenvals() и eigenvecs().
📺 Видео
Собственные значения и собственные векторы матрицы (4)Скачать
А.7.35 Собственные вектора и собственные значения матрицыСкачать
7 4 Собственные векторы и собственные значенияСкачать
Собственные векторы и собственные числа линейного оператораСкачать
Собственные значения и собственные векторы. ТемаСкачать
Собственные значения и собственные векторыСкачать
Функции для работы с матрицами и векторами в MathCAD 14 (21/34)Скачать
Собственные значения и собственные векторы. ПримерСкачать
7. MathCad. Векторы и матрицыСкачать
МАТКАД МатрицыСкачать
Собственные значения матрицыСкачать
Урок 10 Собственные векторы и собственные значения матрицыСкачать
А.7.40 Метод Якоби поиска собственных векторов и значений симметричных матрицСкачать
Айгенвектора и айгензначения | Сущность Линейной Алгебры, глава 10Скачать
Собственные векторы и собственные значенияСкачать
Диагональный вид матрицы. Приведение матрицы к диагональному виду. Собственные векторыСкачать
Создание матриц в MathCAD 14 (18/34)Скачать