【问题标题】:Solving a nonlinear system of matrices using Mathematica使用 Mathematica 求解非线性矩阵系统
【发布时间】:2017-06-26 19:23:52
【问题描述】:

我正在尝试使用 Mathematica 找到非线性矩阵方程组的解决方案。解决方案空间太复杂,无法尝试使用 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:系统包含一个独立于变量 {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]

返回“FindInstance::exvar: 系统包含一个独立于变量 {Integers} 的非常量表达式 b。”

如何使用 FindInstance 或 Solve 来找到该系统的解决方案,而无需通过修复“自变量”自己找到解决方案?

【问题讨论】:

    标签: matrix solver equation-solving mathematica-8


    【解决方案1】:

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

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

    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]
    

    【讨论】:

      猜你喜欢
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 2013-11-14
      • 2011-05-18
      • 1970-01-01
      相关资源
      最近更新 更多