Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Элементарные операции с матрицами и векторами.

Как уже отмечалось ранее, основные операции с матрицами в пакете LinearAlgebra выполняются проще, чем такие же в пакете linealg.

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

 

Если складывается скаляр с матрицей, то это равносильно сложению матрицы с единичной матрицей, элементы которой умножены на заданный скаляр. НО!!! Вектор нельзя складывать со скаляром. Построение линейной комбинации матриц и векторов можно также выполнить, используя, соответственно, команды MatrixAdd() и VectorAdd().

 

Так как произведение матриц (имеется ввиду операция скалярного умножения) не является коммутативной, то использование операции коммутативного умножения (*) для веторов и матриц приводит к ошибке. (Исключение допускается только для умножения матрицы саму на себя, причем в этом случае выполняется скалярное умножение.) Коммутативное умножение можно использовать для перемножения скаляра и матрицы/вектора. В этом случае все элементы этих объектов умножаются на соответствующий скаляр.

 

Однако, если скаляр содержит неопределенную переменную, то перемножения не происходим, так как Maple не знает, какой объект в дальнейшем эта переменная может содержать. Для выполнения такого умножения следует использовать команду simplify с параметром symbolic или опцией assume=scalar.

 

Выполнить некоммутативное умножение в Maple (начиная с 6-ой версии программы) можно операцией, символом которой является точка (.). Она никогда не меняет сомножители местами, поэтому произведения x.y.z и x.z.y не являются тождественными.

 

Эта же операция, примененная к матрицам и векторам, выполняет их скалярное произведение. Для получения степени квадратной матрицы можно последовательно применить операцию скалярного умножения необходимое число раз или операцию возведения в степень (^). Показатель степени может быть и отрицательным числом, что позволяет вычислять обратную матрицу и ее степени.

 

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

Возможности выбора и присваивания значений целым строкам или столбцам используется для осуществления операций со строками или столбцами матрицы.(см. рисунки ниже)

 

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

Команды для работы с матрицами и векторами.

Команда Описание
DeleteRow Удаление строки матрицы
DeleteColumn Удаление столбца матрицы
Row Выделение строки матрицы
Column Выделение столбца матрицы
SubMatrix Выделение подматрицы из заданной матрицы
SubVector Выделение подвектора из заданного вектора
ScalarMultiply Умножение матрицы/вектора на скаляр
MatrixVectorMultiply Скалярное произведение матрицы на вектор-столбец
VectorMatrixMultiply Скалярное произведение на вектора-строки на матрицу
MatrixMatrixMultiply Скалярное произведение матрицы на матрицу
MatrixInverse Вычисление обратной матрицы
Determinant Вычисление определителя матрицы
Minor Вычисление миноров матрицы
ConditionNumber Вычисление числа обусловленности матрицы
Eigenvalues Вычисление собственных значений матрицы
Eigenvectors Вычисление собственных векторов матрицы
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...