Символьная блочная матрица расчета в Maple - PullRequest
0 голосов
/ 14 февраля 2012

В Maple

restart; with(LinearAlgebra);
E := Matrix([[A, B]]);
E. Transpose(E);

дает

A^2 + B^2

Однако я бы хотел, чтобы Maple рассматривал A и B как блочные матрицы и выдает

A.Transpose(A) + B.Transpose(B)

Это возможно?

1 Ответ

1 голос
/ 15 марта 2012

Для этого вам понадобится команда Maple assume() ( ссылка ).Прокрутите вниз по этой ссылке или нажмите ctrl-f и найдите ту часть, где они показывают, как предположить, что переменная относится к типу "SquareMatrix".По сути, Maple обрабатывает ваши переменные так, как будто они являются действительными числами, и вам нужно сказать, чтобы это не делалось.Как только вы правильно поняли оператор предположения, он должен распечатать матричное решение.

Если вы получаете много грубых дополнительных символов, это может быть из-за того, что Maple обычно помечает переменные, для которых использовалась функция assume() (поэтому пользователь помнит, что они делают предположение об этой переменной).Например, он часто заменяет a на ~a, если вы выдаете assume() относительно a.Вы можете отключить это с помощью команды interface(showassumed=0).

...