Инверсия, детерминант, норма, транспонирование и т. п.
Maple допускает множество действий с матрицами. Посмотреть список возможностей можно по запросу ?LinearAlgebra. Рассмотрим несколько встречающихся в физике тем.
Определим матрицы:
- restart:with(LinearAlgebra):
- B:=Matrix([[1,2,3],[4,5,6],[7,8,9]]);
- C:=Matrix([[3,2,1],[5,6,4],[9,7,8]]);
MatrixInverse: для получения обратной матрицы, например С:
- MatrixInverse(C);
Проверка:
- Multiply(C,MatrixInverse(C));
Determinant: получить детерминант матрицы можно так:
- Determinant(B);Determinant(C);
Transpose: транспонирование матрицы получается заменой строк на столбцы или поворотом матрицы относительно главной диагонали. Имеет смысл транспонирование неквадратной матрицы.
- Transpose(C);
- E:=Matrix([[1,2,3]]);
- Transpose(E);
В квантовой механике нужна транспонированная комплексно сопряженная матрица, которую называют эрмитово сопряженной HermitianTranspose:
- F:=<<1,I>|<2*I,2>>;
- HermitianTranspose(F);
Подробнее об этом – есть в описании пакета Physics.
Trace: след – это сумма диагональных элементов матрицы.
- Trace(C);
Norm: норма вектора имеет много определений. Вы привыкли брать квадраты элементов, складывать их и вычислять квадратный корень из результата сложения. Это определение используется (почти) только в физике, но Maple умнее и берет корень k-го порядка из суммы k-х степеней элементов. Для физики k = 2:
- Norm(E,2);
Норма матриц сложнее – см. запрос ?LinearAlgebra[Norm].
Найдите матрицу, обратную определенной в этом разделе матрице В. Объясните, почему вместо ответа получилось сообщение об ошибке.