SymPy - Kuaterniyon
Matematikte Kuaterniyon sayı sistemi, karmaşık sayıların bir uzantısıdır. Her Quaternion nesnesi dört skaler değişken ve dört boyut, bir gerçek boyut ve üç sanal boyut içerir.
Kuaterniyon aşağıdaki ifade ile temsil edilir -
q = a + bi + cj + dk
nerede a, b, c ve d gerçek sayılardır ve i, j, k kuaterniyon birimleridir, öyle ki i2 == j2 == k2 == ijk
sympy.algebras.quaternion modül Quaternion sınıfına sahiptir.
>>> from sympy.algebras.quaternion import Quaternion
>>> q=Quaternion(2,3,1,4)
>>> q
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$2 + 3i + 1j + 4k$
Kuaterniyonlar, saf matematikte olduğu kadar uygulamalı matematikte, bilgisayar grafiklerinde, bilgisayarla görmede vs. kullanılır.
>>> from sympy import *
>>> x=Symbol('x')
>>> q1=Quaternion(x**2, x**3, x) >>> q1
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$x^2 + x^3i + xj + 0k$
Kuaterniyon nesnesi ayrıca hayali katsayılara sahip olabilir
>>> q2=Quaternion(2,(3+2*I), x**2, 3.5*I)
>>> q2
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$2 + (3 + 2i)i + x2j + 3.5ik$
Ekle()
Quaternion sınıfında bulunan bu yöntem, iki Quaternion nesnesinin eklenmesini gerçekleştirir.
>>> q1=Quaternion(1,2,3,4)
>>> q2=Quaternion(4,3,2,1)
>>> q1.add(q2)
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$5 + 5i + 5j + 5k$
Quaternion nesnesine bir sayı veya sembol eklemek mümkündür.
>>> q1+2
Aşağıdaki çıktı, yukarıdaki kod parçacığı çalıştırıldıktan sonra elde edilir -
$3 + 2i + 3j + 4k$
>>> q1+x
Aşağıdaki çıktı, yukarıdaki kod parçacığı çalıştırıldıktan sonra elde edilir -
$(x + 1) + 2i + 3j + 4k$
mul ()
Bu yöntem, iki kuaterniyon nesnesinin çarpımını gerçekleştirir.
>>> q1=Quaternion(1,2,1,2)
>>> q2=Quaternion(2,4,3,1)
>>> q1.mul(q2)
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$(-11) + 3i + 11j + 7k$
ters()
Bu yöntem, bir kuaterniyon nesnesinin tersini döndürür.
>>> q1.inverse()
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$\frac{1}{10} + (-\frac{1}{5})i + (-\frac{1}{10})j + (-\frac{1}{5})k$
pow ()
Bu yöntem, bir kuaterniyon nesnesinin gücünü döndürür.
>>> q1.pow(2)
Aşağıdaki çıktı, yukarıdaki kod parçacığı çalıştırıldıktan sonra elde edilir -
$(-8) + 4i + 2j + 4k$
tecrübe()
Bu yöntem, bir Quaternion nesnesinin üstelini, yani eq
>>> q=Quaternion(1,2,4,3)
>>> q.exp()
Aşağıdaki çıktı, yukarıdaki kod parçacığı çalıştırıldıktan sonra elde edilir -
$e\cos(\sqrt29) + \frac{2\sqrt29e\sin(\sqrt29)}{29}i + \frac{4\sqrt29e\sin(\sqrt29)}{29}j + \frac{3\sqrt29e\sin}{29}k$