python解隐式方程,求解隐式矩阵方程Python

我有一个问题(可能很傻),我无法回答 .

考虑三个矩阵A,B和M.它们都是NxN矩阵,我也知道A和B是对称的(它们是协方差矩阵) .

我需要使用python从下面的等式 B = M A M^ 中找到矩阵 M . 换句话说,我如何求解隐式矩阵方程 using python ?

这是我对fsolve的尝试:

import scipy

import scipy.optimize

f = lambda M: (np.mat(B)-(np.mat(M)*np.mat(A)*np.mat(M.T)))

M0 = scipy.optimize.fsolve(f, np.identity(57))

我给出了初始猜测的单位矩阵 .

Problem:

/Users/Simone/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyc in __mul__(self, other)

339 if isinstance(other, (N.ndarray, list, tuple)) :

340 # This promotes 1-D vectors to row vectors

--> 341 return N.dot(self, asmatrix(other))

342 if isscalar(other) or not hasattr(other, '__rmul__') :

343 return N.dot(self, other)

ValueError: matrices are not aligned

我也以不同的方式尝试过:

f = lambda X: ((B) - np.dot(X,np.dot(A,X.T)))

X0 = scipy.optimize.fsolve(f, np.identity(57))

同样,“矩阵不对齐” . 这有点不可能,因为我都是nxn平方矩阵,我所做的任何操作都没有改变尺寸 . 我当然检查过

B.shape,

A.shape,

np.identity.(57).shape

((B) - np.dot(X,np.dot(A,X.T))).shape

它们都是一样的!

谢谢你,西蒙娜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值