[英]sympy Matrices not aligned
我正在嘗試使用sympy幫助我隔離矩陣表達式中的向量。 我寫了這段代碼:
import sympy
from sympy import symbols, MatrixSymbol, Matrix
from sympy import Identity
Xp = MatrixSymbol('Xp', 3,1)
t = MatrixSymbol('t', 3,1)
n = MatrixSymbol('n', 3,1)
H = n.T*Xp*Identity(3) - t*n.T
我的意圖是隔離n。 我不確定sympy是否可以這樣做,但是我已經得到了'ShapeError:Matrices n'* Xp and I notaligned',我認為應該不會發生此錯誤,因為n'* Xp是標量,因此應該能夠與矩陣相乘。
如何使表達式nT*Xp*Identity(3)
有效? 並且,sympy可以幫助我隔離該方程式中的向量n嗎?
n.T*Xp*Identity(3)
具有尺寸簽名
(1,3)*(3,1)*(3,3)
這顯然是行不通的。
n*Xp.T*Identity(3)
可以工作。
如果你想解決
H=(n.T*X)*I-t*n.T
對於n
那么第一句話是這並不總是可能的。 假設存在解決方案,請注意
1/(t.T*t)*t.T*H=1/(t.T*t)*(n.T*X)*t.T-n.T
以便
n = a*t - b*H.T*t
其中a
是未知的並且b=1/(tT*t)
。 插入原始方程式可得出
H = (a*t.T*X-b*t.T*H*X)*I - a*t*t.T + b*t*t.T*H
要么
H - b*t*t.T*H +b*(t.T*H*X)*I = a*((t.T*X)*I - t*t.T)
這在右側矩陣的每個非平凡部件將給予的值a
,但是,如果所有這些值相同的溶液中僅存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.