SymPy - 四元數



在數學中,四元數系統是複數的擴充套件。每個四元數物件包含四個標量變數和四個維度,一個實數維度和三個虛數維度。

四元數用以下表達式表示:

q=a+bi+cj+dk

其中a, b, c 和 d 是實數,而 i, j, k 是四元數單位,使得 i²=j²=k²=ijk=-1。

sympy.algebras.quaternion 模組包含 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 + x²j + 3.5ik$

add()

此方法在 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()

上述程式碼片段給出的輸出等效於以下表達式:

$\frac{1}{10} + (-\frac{1}{5})i + (-\frac{1}{10})j + (-\frac{1}{5})k$

pow()

此方法返回四元數物件的冪。

>>> q1.pow(2)

執行上述程式碼片段後,將獲得以下輸出:

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

exp()

此方法計算四元數物件的指數,即 eq

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

執行上述程式碼片段後,將獲得以下輸出:

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

廣告
© . All rights reserved.