首页 > 解决方案 > 如何在 Mathematica 中求解非对易变量的矩阵方程

问题描述

我想根据 A 的元素来求解 B 的元素的系统 A*B=I。

A 和 B 是正方形的,A 和 B 的元素不交换(即 A[1,1]*B[1,1]=/=B[1,1]*A[1,1]),并且A 和 B 的大小为 nxn。

这是我迄今为止尝试过的:

In[16]:= n = 2;

In[34]:= Reduce[Flatten[Table[
   Sum[A[i, j] ** B[j, k], {j, 1, n}] == KroneckerDelta[i, k], {i, 1, 
    n}, {k, 1, n}]], {B[1, 1]}]

During evaluation of In[34]:= Reduce::nsmet: This system cannot be solved with the methods available to Reduce.

Out[34]= Reduce[{A[1, 1] ** B[1, 1] + A[1, 2] ** B[2, 1] == 1, 
  A[1, 1] ** B[1, 2] + A[1, 2] ** B[2, 2] == 0, 
  A[2, 1] ** B[1, 1] + A[2, 2] ** B[2, 1] == 0, 
  A[2, 1] ** B[1, 2] + A[2, 2] ** B[2, 2] == 1}, {B[1, 1]}]

您能否让我知道如何修复此代码以使其正常工作?如果 n=2,则解应该是此处最后 2 个方程之一:

http://www.math.chalmers.se/~rootzen/highdimensional/blockmatrixinverse.pdf

标签: matrixwolfram-mathematicalinear-algebra

解决方案


推荐阅读