【发布时间】:2020-06-16 23:05:41
【问题描述】:
有没有一种方法可以表达一个符号表达式,其中涉及向量和对它们的操作,而不需要对它们求值?
from sympy import symbols, acos, MatrixSymbol, Matrix
rA = MatrixSymbol("r^A", 2, 1)
rB = MatrixSymbol("r^B", 2, 1)
rA, rB = Matrix(rA), Matrix(rB) # Basically I want to skip this step
acos((rA.dot(rB)) / rA.norm())
这会将表达式计算为:
⎛r_00__A⋅r_00__B + r_10__A⋅r_10__B ⎞
acos⎜─────────────────────────────────⎟
⎜ _________________________ ⎟
⎜ ╱ 2 2 ⎟
⎝ ╲╱ │r_00__A│ + │r_10__A│ ⎠
但相反,我希望它评估为这样的东西,同时仍然能够稍后替换符号向量。
⎛ r_A⋅r_B ⎞
acos⎜─────────⎟
⎝ ||r_A|| ⎠
【问题讨论】: