Bienvenido, me llamo Miguel y aquà les traigo un post.
El lenguaje Python proporciona soporte completo para números complejos, con funcionalidad básica incluida con el lenguaje principal y caracterÃsticas más avanzadas incluidas en el módulo cmath
.
Por supuesto, no harÃa esto en el código de producción, pero proporciona una idea de cómo funcionan estas operaciones y números complejos en general.
En este artÃculo, supongo que sabe qué es un número complejo; de lo contrario, lea los primeros párrafos del ArtÃculo de Wikipedia.
Python proporciona un tipo complex
y el primer bit
de código muestra cómo crear dicho número. Luego mostraré cómo realizar operaciones aritméticas en estos con los operadores habituales +
, -
, *
y /
.
Sin embargo, los procesos subyacentes involucrados no son obvios de inmediato, por lo que debemos desenredarlos para obtener una comprensión completa. Antes de comenzar a codificar, mostraré las fórmulas reales de suma, resta, multiplicación y división.
En cada uno de estos tenemos dos números complejos a la izquierda del signo =
, con las operaciones +
, -
, *
y /
aplicadas a ellos. Las partes real e imaginaria de cada uno están etiquetadas con el subÃndice 1
y 2
para que puedan identificarse en la parte a la derecha del signo =
.
Eche un vistazo a los cuadros de arriba para tener una idea de cómo funcionan los operadores, pero no se moleste en intentar memorizarlos, ya que los veremos implementados en código en un momento.
Índice
Descubriendo todo sobre los Números complejos en Python
Este proyecto consta de un solo archivo llamado complexnumbersintro.py
que esta en el Repositorio de Github. Esta es la lista del código fuente en su totalidad.
Este programa consta de siete funciones para demostrar el manejo básico de números complejos, y la función principal simplemente llama a cada una de ellas.
En realidad, hay dos formas de crear un número complejo : puede asignar real +
imaginario a una variable con el sufijo a j *
o llamar a la función compleja con los valores reales e imaginarios. Con este último no es necesario utilizar j
. Aquà he hecho ambas cosas antes de imprimirlas, y finalmente imprimà la tipografÃa.
*
Dos letras se usan comúnmente para números imaginarios: i
se usa en matemáticas pero j
se usa en ingenierÃa ya que i
se refiere a la corriente eléctrica. Python usa j
, presumiblemente para enfatizar su naturaleza práctica y aplicada. (¡No tengo idea de qué controversia y discusión podrÃa haber causado!)
Como mencioné anteriormente, usaré los operadores de Python para todas las operaciones aritméticas y otras y también implementaré los procesos manualmente solo para demostrarlos.
Después de crear un par de números complejos, primero los imprimo junto con su suma usando el operador +
. Luego llevó a cabo esencialmente el mismo proceso nuevamente implementando la fórmula de adición que se mostró anteriormente.
Tenga en cuenta aquà que el tipo complejo proporciona los valores real e imag como atributos.
Esto es casi un clon de la función de suma, la única diferencia es el uso de -
en lugar de +
para los cálculos. ¡No cambie los signos + dentro de los números complejos!
Usar el operador *
es nuevamente sencillo, pero la implementación manual de la fórmula anterior es bastante más complicada.
Este es el más complicado de todos, tanto que lo he dividido en varias operaciones en lugar de agruparlas todas en una declaración de formato de cadena.
El conjugado complejo es simplemente un número complejo con el signo de la parte imaginaria invertido.
Python proporciona un método conjugado para hacer esto, pero aquà también he realizado el proceso manualmente multiplicando la parte imaginaria por -1
.
Si imagina un número complejo como las coordenadas de un punto en un plano bidimensional, entonces la magnitud del número complejo es la distancia en lÃnea recta desde el origen 0
, 0
hasta el punto.
En una publicación futura, crearé un diagrama de Argand que traza números complejos de esta manera.
La lÃnea desde el origen hasta el punto forma la hipotenusa de un triángulo rectángulo y, como todos saben, «el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los otros dos lados».
La forma correcta de calcular la magnitud es con Python abs()
pero también lo he hecho a la manera de Pitágoras: suma los cuadrados de las partes real e imaginaria, y luego saca la raÃz cuadrada.
Ese es el código terminado, asà que ejecútelo con este comando:
python3.8 complexnumbersintro.py
La salida es:
Bajo el encabezado Creación, solo vemos los dos números complejos que creamos, asà como su tipo.
Las secciones de Suma, Resta, Multiplicación y División tienen dos lÃneas, la primera usa los operadores +
, -
, *
, /
y la segunda muestra la aritmética real realizada en las partes real e imaginaria de los números complejos para obtener el resultado final.
La resta es similar pero, por supuesto, restamos los valores relevantes. La multiplicación y la división son más complicadas y es posible que desee estudiar los pasos si está interesado.
Bajo el encabezado Conjugado vemos el número original y luego su conjugado dos veces, primero calculado usando la función conjugada ()
y luego calculado multiplicando la parte imaginaria por -1
.
Finalmente, en Magnitud vemos un número complejo y su magnitud, primero calculado usando abs ()
y luego usando el Teorema de Pitágoras.
Ese es el final de mi introducción a los números complejos en Python, pero como mencioné anteriormente, también escribiré publicaciones sobre diagramas de Argand que trazan números complejos, y también escribiré una publicación sobre las funciones más avanzadas que se encuentran en el módulo cmath
.
Gracias por leer este post.
Añadir comentario