- SymPy 教程
- SymPy - 首頁
- SymPy - 簡介
- SymPy - 安裝
- SymPy - 符號計算
- SymPy - 數值
- SymPy - 符號
- SymPy - 替換
- SymPy - sympify() 函式
- SymPy - evalf() 函式
- SymPy - lambdify() 函式
- SymPy - 邏輯表示式
- SymPy - 查詢
- SymPy - 簡化
- SymPy - 導數
- SymPy - 積分
- SymPy - 矩陣
- SymPy - 函式類
- SymPy - 四元數
- SymPy - 求解器
- SymPy - 繪圖
- SymPy - 實體
- SymPy - 集合
- SymPy - 列印
- SymPy 有用資源
- SymPy - 快速指南
- SymPy - 有用資源
- SymPy - 討論
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$