[英]How to check if an expression is a sympy vector
How can I tell if a sympy expression is a vector?如何判断 sympy 表达式是否为向量? See the following example:
请参见以下示例:
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
After v
was factored, none of its factors have a sympy.vector...
type.在
v
被分解后,它的任何一个因子都没有sympy.vector...
类型。 How can I tell which one of its factors is a vector?我怎么知道它的哪个因子是向量? Is there a test for that?
有测试吗?
SymPy has a variety of ways to search/parse expressions. SymPy 有多种搜索/解析表达式的方法。 Something that may work for you is the
as_independent
method:可能对您有用的是
as_independent
方法:
>>> vf.as_independent(Vector)
(x, N.i + N.j*x + N.k*x**2)
You Vector-dependent part of vf
will be the rightmost element. vf
的向量相关部分将是最右边的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.