Это отличный вопрос. К сожалению, в самой Maxima не существует способа справиться с этим, но если это нормально, чтобы сделать небольшое программирование на Lisp, мы можем его решить.
(%i1) :lisp (defun dimension-transpose (expr stuff) (dimension-superscript `((mexpt) ,(cadr expr) |$t|) stuff))
DIMENSION-TRANSPOSE
(%i1) :lisp (setf (get '%transpose 'dimension) 'dimension-transpose)
DIMENSION-TRANSPOSE
(%i1) transpose(A.B);
T T
(%o1) B . A
По сути, мы просто определяем функцию отображения, который строящий MEXPT (т.е. «^») выражение и показывает, что, а затем сказать Maxima использовать новую функцию для отображения transpose
выражений.
Будьте осторожны, чтобы скопировать пунктуацию точно так, как она показана. Будьте осторожны, чтобы отличить обратную ссылку от одиночной кавычки.
EDIT: вышеупомянутые работы для командной строки Maxima. Для wxMaxima, вероятно, существует некоторая аналогичная процедура, но я этого не знаю.
Теперь я просто должен найти способ исправить это в wxMaxima. – Mankka