如何检查表达式是否为sympy向量

问题描述 投票:2回答:1

如何判断sympy表达式是否是向量?请参见以下示例:

from sympy import *
from sympy.vector import *
N = CoordSys3D('N')
x = symbols('x')
v = x * N.i + x**2 * N.j + x**3 * N.k
type(v)
# sympy.vector.vector.VectorAdd

vf=factor(v)
vfs = vf.as_ordered_factors()
vfs
#[x, N.i + N.j*x + N.k*x**2]

type(vfs[1])
# sympy.core.add.Add

v被分解后,其所有因子都不具有sympy.vector...类型。如何确定向量的哪个因素?有测试吗?

python sympy symbolic-math
1个回答
0
投票

SymPy具有多种搜索/解析表达式的方式。 as_independent方法可能对您有用:

>>> vf.as_independent(Vector)
(x, N.i + N.j*x + N.k*x**2)

vf的与向量有关的部分将是最右边的元素。

© www.soinside.com 2019 - 2024. All rights reserved.