SymPy - Cuaternión

En matemáticas, el sistema numérico de Quaternion es una extensión de los números complejos. Cada objeto de Quaternion contiene cuatro variables escalares y cuatro dimensiones, una dimensión real y tres dimensiones imaginarias.

El cuaternión está representado por la siguiente expresión:

q = a + bi + cj + dk

dónde a, b, c yd son números reales y i, j, k son unidades de cuaternión tales que, i2 == j2 == k2 == ijk

los sympy.algebras.quaternion El módulo tiene la clase Quaternion.

>>> from sympy.algebras.quaternion import Quaternion 
>>> q=Quaternion(2,3,1,4) 
>>> q

El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:

$2 + 3i + 1j + 4k$

Los cuaterniones se utilizan en matemáticas puras, así como en matemáticas aplicadas, gráficos por computadora, visión por computadora, etc.

>>> from sympy import * 
>>> x=Symbol('x') 
>>> q1=Quaternion(x**2, x**3, x) >>> q1

El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:

$x^2 + x^3i + xj + 0k$

El objeto de cuaternión también puede tener coeficientes imaginarios

>>> q2=Quaternion(2,(3+2*I), x**2, 3.5*I) 
>>> q2

El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:

$2 + (3 + 2i)i + x2j + 3.5ik$

añadir()

Este método disponible en la clase Quaternion realiza la adición de dos objetos Quaternion.

>>> q1=Quaternion(1,2,3,4) 
>>> q2=Quaternion(4,3,2,1) 
>>> q1.add(q2)

El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:

$5 + 5i + 5j + 5k$

Es posible agregar un número o símbolo en un objeto Quaternion.

>>> q1+2

El siguiente resultado se obtiene después de ejecutar el fragmento de código anterior:

$3 + 2i + 3j + 4k$

>>> q1+x

El siguiente resultado se obtiene después de ejecutar el fragmento de código anterior:

$(x + 1) + 2i + 3j + 4k$

mul ()

Este método realiza la multiplicación de dos objetos de cuaternión.

>>> q1=Quaternion(1,2,1,2) 
>>> q2=Quaternion(2,4,3,1) 
>>> q1.mul(q2)

El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:

$(-11) + 3i + 11j + 7k$

inverso()

Este método devuelve el inverso de un objeto de cuaternión.

>>> q1.inverse()

El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:

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

pow ()

Este método devuelve la potencia de un objeto de cuaternión.

>>> q1.pow(2)

El siguiente resultado se obtiene después de ejecutar el fragmento de código anterior:

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

Exp()

Este método calcula la exponencial de un objeto Quaternion, es decir, eq

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

El siguiente resultado se obtiene después de ejecutar el fragmento de código anterior:

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