首页 > 解决方案 > sympy:给定符号 u、v、w 我如何告诉它 u*u + v*v + w*w 是 1?

问题描述

我有一个带有 components 的 3D 单位向量(v1, v2, v3)

我做了一些操作并得到了这个矩阵(如果你没有得到它,它是一个 2x2 矩阵):

>>> 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并让它为我简化结果?

标签: sympy

解决方案


在这种简单的情况下,您可以使用Q.subs(v1*v1 + v2*v2 + v3*v3, 1).


推荐阅读