Tôi đang cố gắng thay thế hai ký hiệu trong phương trình của tôi cho dạng ma trận của mỗi biểu tượng.Làm thế nào để thay thế biểu tượng cho ma trận bằng cách sử dụng symPy và numPy
Tôi tạo ra một chức năng chuyển mạch được hình thành biểu hiện của tôi:
t, vS, = sy.symbols('t, vS', commutative = False)
hS = t + vS
eta = myComm(t,hS)
dHs = myComm(eta,hS)
print dHs.expand()
năng suất khái niệm chính xác tôi muốn:
2*t*vS*t + t*vS**2 - t**2*vS - 2*vS*t*vS - vS*t**2 + vS**2*t
Vì vậy, bây giờ tôi muốn thay thế những biểu tượng t và VS với ma trận, tuy nhiên khi sử dụng subs tôi nhận được một lỗi, "unhashable type: 'list'" Tôi giả sử nó có liên quan đến việc khởi tạo các ma trận hoặc cách chúng được thay thế đúng như tôi mới dùng cho cả hai numPy và symPy.
Phần còn lại của các mã:
tRel = ([e0, 0],[0,e1])
vtmp = ([v0, v1],[v2,v3])
dHs = dHs.subs(t, tRel)
dHs = dHs.subs(vS, vtmp)
print dHs
Hãy thử sử dụng 'MatrixSymbol'. – asmeurer