使用 Mathematica 求解非线性矩阵系统

Solving a nonlinear system of matrices using Mathematica

我正在尝试使用 Mathematica 寻找非线性矩阵方程组的解。解决方案 space 太复杂,无法尝试使用 Solve,因此我尝试使用 FindInstance。这是一个最简单的非线性系统示例,我正在尝试为其寻找解决方案:

T + A + C + CBA = 0
I - A - C - ABC = 0

其中A、B、C为任意矩阵,Det[T] = 1,I为2x2维的单位矩阵。我还希望所有矩阵都只有整数项。我正在使用命令

FindInstance[{T + a + c + c.b.a == z, IdentityMatrix[2] - a - c - 
    a.b.c == z, Det[T]==1} , Integers]

其中 z 是零矩阵。但是,每次我这样做时它都会响应 "FindInstance::exvar: The system contains a nonconstant expression a independent of variables {Integers}."

重试命令为

FindInstance[{T + a + c + c.b.a == z, 
   IdentityMatrix[2] - a - c - a.b.c == z, 
   Det[T] == 1}  /. {a -> {{1, 0}, {0, 1}}}, Integers]

returns "FindInstance::exvar: The system contains a nonconstant expression b independent of variables {Integers}."

如何使用 FindInstance 或 Solve 找到该系统的解决方案,而无需自己通过修复 "independent variables?"

找到解决方案

我发现我遇到了语法问题。

求解这些矩阵方程的正确语法如下:

A = {{A11, A12}, {A21, A22}}

B = {{B11, B12}, {B21, B22}}

C = {{C11, C12}, {C21, C22}}

T = {{T11, T12}, {T21, T22}}

FindInstance[{T + A + C + C.B.A==0, IdentityMatrix[2] - A - C - A.B.C==0, Det[T]==1}, 
{T11, T12, T21, T22, A11, A12, A21, A22, B11, B12, B21, B22, C11, C12, C21, C22}, 
Integers]