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$