![]() |
1
3
大多数象征性工作都可以手工完成:
矩阵平方根可能是,也可能不是你想要符号化求解的东西。Symphy当然可以让你用符号来表示它,但在我的尝试中(在MinGW64上的Python3中),它已经证明无法用数字计算它。
矩阵C是对称的,因此我们可以检查平方根下的项(即
每 Wikipedia (Symmetric Matrix) :
每 Wikipedia (Square Root Of A Matrix)::Explicit Formulas::ByDiagonalization
正在从
因此,可以使用通过上述(4)的对角化得到的平方根。对角线矩阵的平方根是通过取对角线上元素的平方根来计算的。在这里,你可能会遇到另一个问题,如果这些因素是否定的,你的答案将是复杂的。对于每个平方根,也可能有多个答案,可能会给您一些需要考虑的答案。这很可能是SymPy未能给出数字答案的原因。 |
![]() |
2
2
你的代码不对。NumPy用于数值计算,它不会创建表示方程左侧的SymPy对象。这不会帮助你得到解析解。这是一个用辛方法求解矩阵系统的例子;它是2乘2,而不是1000乘1000。
注意,辛矩阵的乘法就是
然而,3乘3的情况已经存在问题,1000乘1000是完全没有希望的。一个人并不是简单地通过把它扔给Symphy来求解一个由500000个非线性方程组成的系统。
你可以尝试使用SciPy的多变量求解器来获得一些数值解,但它将是众多数值解中的一个。矩阵方程的正确方法如下
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Max · 用两列中的特定值对识别R中的数据帧行 7 月前 |
![]() |
RobertF · 如何将函数应用于矩阵的每个元素? 7 月前 |
![]() |
Landers · 将矩阵转换为包含所有值的列表 11 月前 |
![]() |
P_B · 如何从矩阵中减去均值向量 11 月前 |
![]() |
Rotacional · 获取矩阵中的方向元素 1 年前 |
![]() |
ImRobb · 为什么int**m不等于int m[][]?[关闭] 1 年前 |