SymPy - Quaternion
In der Mathematik ist das Quaternion-Zahlensystem eine Erweiterung komplexer Zahlen. Jedes Quaternion-Objekt enthält vier skalare Variablen und vier Dimensionen, eine reale Dimension und drei imaginäre Dimensionen.
Quaternion wird durch folgenden Ausdruck dargestellt:
q = a + bi + cj + dk
wo a, b, c und d sind reelle Zahlen und i, j, k sind Quaternionseinheiten, so dass i2 == j2 == k2 == ijk
Das sympy.algebras.quaternion Modul hat Quaternion-Klasse.
>>> from sympy.algebras.quaternion import Quaternion
>>> q=Quaternion(2,3,1,4)
>>> q
Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -
$2 + 3i + 1j + 4k$
Quaternionen werden in der reinen Mathematik sowie in der angewandten Mathematik, Computergrafik, Computer Vision usw. verwendet.
>>> from sympy import *
>>> x=Symbol('x')
>>> q1=Quaternion(x**2, x**3, x) >>> q1
Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -
$x^2 + x^3i + xj + 0k$
Quaternionsobjekt kann auch imaginäre Koeffizienten haben
>>> q2=Quaternion(2,(3+2*I), x**2, 3.5*I)
>>> q2
Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -
$2 + (3 + 2i)i + x2j + 3.5ik$
hinzufügen()
Diese in der Quaternion-Klasse verfügbare Methode führt das Hinzufügen von zwei Quaternion-Objekten durch.
>>> q1=Quaternion(1,2,3,4)
>>> q2=Quaternion(4,3,2,1)
>>> q1.add(q2)
Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -
$5 + 5i + 5j + 5k$
Es ist möglich, einem Quaternion-Objekt eine Zahl oder ein Symbol hinzuzufügen.
>>> q1+2
Die folgende Ausgabe wird nach Ausführung des obigen Codeausschnitts erhalten -
$3 + 2i + 3j + 4k$
>>> q1+x
Die folgende Ausgabe wird nach Ausführung des obigen Codeausschnitts erhalten -
$(x + 1) + 2i + 3j + 4k$
mul ()
Diese Methode führt eine Multiplikation von zwei Quaternionsobjekten durch.
>>> q1=Quaternion(1,2,1,2)
>>> q2=Quaternion(2,4,3,1)
>>> q1.mul(q2)
Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -
$(-11) + 3i + 11j + 7k$
inverse ()
Diese Methode gibt die Umkehrung eines Quaternionsobjekts zurück.
>>> q1.inverse()
Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -
$\frac{1}{10} + (-\frac{1}{5})i + (-\frac{1}{10})j + (-\frac{1}{5})k$
pow ()
Diese Methode gibt die Leistung eines Quaternionsobjekts zurück.
>>> q1.pow(2)
Die folgende Ausgabe wird nach Ausführung des obigen Codeausschnitts erhalten -
$(-8) + 4i + 2j + 4k$
exp ()
Diese Methode berechnet das Exponential eines Quaternion-Objekts, dh Gl
>>> q=Quaternion(1,2,4,3)
>>> q.exp()
Die folgende Ausgabe wird nach Ausführung des obigen Codeausschnitts erhalten -
$e\cos(\sqrt29) + \frac{2\sqrt29e\sin(\sqrt29)}{29}i + \frac{4\sqrt29e\sin(\sqrt29)}{29}j + \frac{3\sqrt29e\sin}{29}k$