SymPy – 四元数

SymPy – 四元数

在数学中,四元数系统是复数的一个扩展。每个四元数对象包含四个标量变量和四个维度,一个实数维度和三个虚数维度。

四元数由以下表达式表示 –

q=a+bi+cj+dk

其中 a、b、c 和d是实数, i、j、k 是四元数单位,这样,i2==j2==k2==ijk

sympy.algebras.quaternion 模块有四元数类。

>>> from sympy.algebras.quaternion import Quaternion 
>>> q=Quaternion(2,3,1,4) 
>>> q

上述代码片断给出的输出等同于以下表达式 −

2美元+3i+1j+4k美元

四元数可用于纯数学,也可用于应用数学、计算机图形学、计算机视觉等。

>>> from sympy import * 
>>> x=Symbol('x') 
>>> q1=Quaternion(x**2, x**3, x) >>> q1

上述代码片断给出的输出等同于以下表达式 −

x^2 + x^3i + xj + 0k

四元数对象也可以有虚数的共同系数

>>> q2=Quaternion(2,(3+2*I), x**2, 3.5*I) 
>>> q2

上述代码片断给出的输出等同于以下表达式 −

2 + (3 + 2i)i + x2j + 3.5ik

add()

这个方法在四元数类中可用,执行两个四元数对象的加法。

>>> q1=Quaternion(1,2,3,4) 
>>> q2=Quaternion(4,3,2,1) 
>>> q1.add(q2)

上述代码片断给出的输出相当于下面的表达式 –

5 + 5i + 5j + 5k

可以在四元数对象中添加数字或符号。

>>> q1+2

执行上述代码片断后,得到的输出结果如下

3 + 2i + 3j + 4k

>>> q1+x

执行上述代码片断后,得到以下输出结果 −

(x + 1) + 2i + 3j + 4k

mul()

该方法执行两个四元数对象的乘法。

>>> q1=Quaternion(1,2,1,2) 
>>> q2=Quaternion(2,4,3,1) 
>>> q1.mul(q2)

上述代码片断给出的输出等同于以下表达式 −

(-11) + 3i + 11j + 7k

inverse()

该方法返回四元数对象的逆值。

>>> q1.inverse()

pow()

该方法返回四元数对象的幂。

>>> q1.pow(2)

执行上述代码片断后得到的输出结果如下

(-8) + 4i + 2j + 4k

exp()

该方法计算四元数对象的指数,即eq

>>> q=Quaternion(1,2,4,3) 
>>> q.exp()

执行上述代码片断后,得到以下输出结果 −

e\cos(\sqrt29) + \frac{2\sqrt29e\sin(\sqrt29)}{29}i + \frac{4\sqrt29e\sin(\sqrt29)}{29}j + \frac{3\sqrt29e\sin}{29}k

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程