簡體   English   中英

sympy矩陣未對齊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM