#sympy
Вопрос:
У меня есть 3D-единичный вектор с компонентами (v1, v2, v3)
.
Я проделываю некоторые манипуляции и получаю эту матрицу (это матрица 2×2, если вы ее не поняли).:
>>> Q
⎡ ⎛ _________________⎞ ⎛ _________________⎞ ⎤
⎢ ⎜ ╱ 2 2 2 ⎟ ⎜ ╱ 2 2 2 ⎟ ⎥
⎢ ⅈ⋅⎝v₃ - ╲╱ v₁ v₂ v₃ ⎠ ⅈ⋅⎝v₃ ╲╱ v₁ v₂ v₃ ⎠ ⎥
⎢───────────────────────────────────────────────────── ─────────────────────────────────────────────────────⎥
⎢ __________________________________ __________________________________⎥
⎢ ╱ 2 ╱ 2 ⎥
⎢ ╱ │ _________________│ ╱ │ _________________│ ⎥
⎢ ╱ │ ╱ 2 2 2 │ ╱ │ ╱ 2 2 2 │ ⎥
⎢ ╱ │v₃ - ╲╱ v₁ v₂ v₃ │ ╱ │v₃ ╲╱ v₁ v₂ v₃ │ ⎥
⎢(ⅈ⋅v₁ - v₂)⋅ ╱ │─────────────────────────│ 1 (ⅈ⋅v₁ - v₂)⋅ ╱ │─────────────────────────│ 1 ⎥
⎢ ╲╱ │ ⅈ⋅v₁ - v₂ │ ╲╱ │ ⅈ⋅v₁ - v₂ │ ⎥
⎢ ⎥
⎢ 1 1 ⎥
⎢ ───────────────────────────────────────── ───────────────────────────────────────── ⎥
⎢ __________________________________ __________________________________ ⎥
⎢ ╱ 2 ╱ 2 ⎥
⎢ ╱ │ _________________│ ╱ │ _________________│ ⎥
⎢ ╱ │ ╱ 2 2 2 │ ╱ │ ╱ 2 2 2 │ ⎥
⎢ ╱ │v₃ - ╲╱ v₁ v₂ v₃ │ ╱ │v₃ ╲╱ v₁ v₂ v₃ │ ⎥
⎢ ╱ │─────────────────────────│ 1 ╱ │─────────────────────────│ 1 ⎥
⎣ ╲╱ │ ⅈ⋅v₁ - v₂ │ ╲╱ │ ⅈ⋅v₁ - v₂ │ ⎦
Как мне сказать sympy, что, поскольку я имею дело с единичным вектором v1*v1 v2*v2 v3*v3
, он равен 1
, и это упростит для меня результат?
Комментарии:
1. Ты пробовал
Q.subs(v1*v1 v2*v2 v3*v3, 1)
?2. это работает. можете ли вы опубликовать его в качестве ответа?
Ответ №1:
В простых случаях, подобных этому, вы можете использовать Q.subs(v1*v1 v2*v2 v3*v3, 1)
.