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
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    x2+x3i+xj+0k
    四元数对象也可以具有虚系数
    
    
    >>> q2=Quaternion(2,(3+2*I), x**2, 3.5*I) 
    
    >>> q2
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    2+(3+2i)i+x2j+3.5ik
  • add()

    Quaternion 类中可用的此方法执行两个 Quaternion 对象的相加。
    
    
    >>> 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()
    
    
    上面的代码片段给出了与下面的表达式等效的输出 -
    110+(15)i+(110)j+(15)k
  • pow()

    此方法返回四元数对象的幂。
    
    
    >>> q1.pow(2)
    
    
    执行上述代码片段后获得以下输出 -
    (8)+4i+2j+4k
  • exp()

    此方法计算四元数对象的指数,即 eq
    
    
    >>> q=Quaternion(1,2,4,3) 
    
    >>> q.exp()
    
    
    执行上述代码片段后获得以下输出 -
    ecos(29)+229esin(29)29i+429esin(29)29j+329esin29k