Proyecto Variable Compleja Copy PDF
Proyecto Variable Compleja Copy PDF
Proyecto Variable Compleja Copy PDF
1. Introducción
La visualización de funciones ha sido una de las herramientas más útiles para reconocer
distintos comportamientos de estas. Generalmente se asocia esta visualización con el trazo
de gráficas, las cuales, a primera vista permiten observar varios aspectos de su respectiva
función, como la dependencia que existe entre los valores de entrada y salida; los puntos
del dominio en los que puede alcanzar un valor máximo o mı́nimo (si es que los posee)
o aquellos en los que la función es cóncava o convexa; entre algunos otros. Aclaramos
que esta técnica está limitada a espacios tridimensionales, puesto que es difı́cil representar
gráficamente espacios de mayor dimensión. Es por esto que no se pueden visualizar funciones
de variable compleja con esta técnica, en vista de que se deberı́a trazar una gráfica en un
espacio de cuatro dimensiones.
Por lo tanto, se han propuesto otros tipos de técnicas que faciliten esta tarea; la
cual es de gran relevancia para entender estas funciones con sus diversas peculiaridades.
Uno de los métodos más sencillos de visualización es denominado Domain Coloring, en el
que se utiliza el tono y otras herramientas como el brillo y la saturación para codificar los
valores de una función. Este permite identificar a primera vista una noción general de una
función y a la vez, al observar en detalle brinda información de bastante interés sobre esta,
no obstante, esta técnica cuenta también con ciertas restricciones que, al considerarlas junto
con sus respectivas ventajas determinan que tan beneficioso es utilizar esta visualización
según los aspectos que se desean estudiar de una función compleja (Ver [12]).
En este texto, presentaremos el funcionamiento e implementación del Domain
Coloring, destacando el uso de software y las consideraciones que se deben tener en cuenta
1 Departamento de Matemáticas, Universidad Nacional de Colombia, Bogotá D.C., Colombia
a golozano@unal.edu.co
b gmontoyar@unal.edu.co
c cemedinag@unal.edu.co
2 Gabriel Lozano, Geraldine Montoya & Camilo Medina
para interpretar mejor los comportamientos que se pretenden analizar de alguna función.
Por otra parte, mostraremos de forma global las utilidades y limitaciones presentes en el
método. Todo lo anterior, esperando que el lector pueda familiarizarse con los resultados
que se obtienen al usar esta técnica y ası́ pueda llegar a hacer uso de esta.
Este documento se basa en los trabajos de Poelke y Polthier (ver [1] y [12]),
Wegert (ver [3]), Maggi (ver [6]). Comenzamos explicando brevemente las técnicas más
usuales para graficar funciones complejas. Explicaremos tres métodos en especial, añadir un
tercer eje independiente, gráfico de campo vectorial y gráfica de la transformación. Luego,
explicaremos la idea detrás de Domain Coloring y daremos los detalles de la implementación
en Python. Terminaremos con ejemplos de gráficas de funciones usando Domain Coloring.
Figure 1: A la izquierda f (z) = sin z con su parte real en un tercer eje independiente. A la
derecha f (z) = sin z con su parte imaginaria en un tercer eje independiente
las funciones complejas. En partı́cular, cualquier combinación en la que usemos <(f ) nos
permite visualizar las variaciones del valor real de la función, como cuáles son los máximos
alcanzados por el valor real de la función; lo que sucede de manera similar para =(f ),
pero para los valores
imaginarios de la función. En cambio, cualquier combinación en la
que usemos f nos permite hacer análisis de los módulos máximos, mı́nimos, puntos silla,
singularidades y polos de manera gráfica.
Un inconveniente que presentan estos métodos es que no permiten ver las varia-
ciones del argumento con mucha facilidad, por lo cual es necesario desarrollar algún método
que nos permita ver con facilidad dichas variaciones. Para esto nos apoyaremos en el con-
cepto de campo vectorial, usado en el cálculo en varias variables.
Figure 3: Visualización de la función f (z) = 5(z + 0.2)2 usando gráfico de campo vectorial.
Imagen tomada de “Aplicaciones gráficas de funciones complejas” véase [6].
Este método nos deja notar los cambios en el argumento notoriamente, y por
ende, permite visualizar con facilidad las rotaciones que forma la función; y según Maggi
(ver [6]) lo cual es muy útil en fı́sica al plantear problemas, y visualizar las soluciones a las
ecuaciones diferenciales asociadas a estos problemas. De hecho, en mecánica de fluidos, sirve
para modelar desde los movimientos más simples como los flujos uniformes, manantiales o
sumideros, y además, movimientos mucho mas engorrosos como movimientos irrotacionales,
rotacionales y torbellinos.
Se puede intuir que usar un método o ciertas combinaciones de estos, nos permite
analizar distintos comportamientos de funciones en un dominio rectangular, pero no permite
ver con claridad el comportamiento de estas sobre curvas en el plano complejo, por lo cual
de nuevo, nos vemos obligados a ir en busca de un método adicional para poder ver el
comportamiento de una o más curvas dadas.
Un método de gran utilidad para realizar este análisis, se llama mapeo o gráfica de
la transformación, el cual es presentado por Maggi (ver [6]). En este se utilizan dos planos;
en el primero se marcan n curvas de diferentes colores. Estas son elegidas a conveniencia, ya
que son las curvas cuyo comportamiento queremos estudiar; y en el segundo plano, vemos el
resultado de aplicar la función f a las curvas, las cuales deben conservar el color que tenı́an
en el primer plano. Ver Figura 4
Qué es y cómo usar Domain Coloring para graficar funciones complejas 5
Figure 5: Representación visual del espacio de color HSV en forma cónica. Imagen tomada
de [10]
el radio del cı́rculo determina el tono, la saturación se representa por la distancia entre el
punto y el eje vertical, y la luminancia por la posición en el eje vertical, como se puede ver
en la Figura 5.
Para calcular la imagen resultante con la técnica de Domain Coloring se hace
imperativo el uso de software. Por lo cual nos guiaremos en el trabajo de Elias Wegert (Ver
[3]). Sin embargo Wegert usa MATLAB para la mayorı́a de su código, por lo que en cambio
nos basamos en el código de Anthony Hernandez[4] que utiliza Python junto con las librerı́as
de Numpy y Matplotlib. Veamos el código 1 y luego analicemos poco a poco su razón de
ser.
V = ( 1 . + np . abs ( np . c o s ( 2 . ∗ np . p i ∗ np . a n g l e ( z z ) ) ) ) / 2 .
Se puede observar como se ven los cambios en la Figura 7. Donde podemos inter-
pretar las lı́neas negras como invariantes al argumento y las lı́neas blancas como invariantes
al radio.
Cabe mencionar que es importante tener en cuenta la escala en la que se esta
graficando. Las gráficas anteriores tienen como dominio real de −10 a 10 y similarmente
para los imaginarios. Sin embargo si intentamos el mismo gráfico con un rango de −1 a 1
obtendrı́amos la Figura 8, que si bien no nos dice mucho sobre el comportamiento global de
la función, nos habla de la aproximación sin(z) = z.
Con estas últimas modificaciones obtenemos el último método de nuestra clase
Domain_Color . Ası́, resaltamos que este método es flexible dependiendo de lo que se desee
gráficar. Por ejemplo, preferimos usar r, no como el radio sino como el logaritmo del mismo,
esto con el fin de lidiar de mejor manera con las magnitudes que se presentan que suelen ser
bastante grandes.
Por otra parte, tomar el radio como logarı́tmico o linear dependerá de la función
a graficar. Para ez es evidente que tomar el logaritmo nos dará mejores resultados; hacemos
la comparación en las gráficas de las Figuras 9 y 10. Ya que para f (z) = ez el radio depende
únicamente del eje real, podemos ver que a la izquierda de la imagen los colores están
desaturados mientras que a la derecha están saturados.
Qué es y cómo usar Domain Coloring para graficar funciones complejas 9
Figure 7: f (z) = sin(z) usando el código 1 y 5. A la izquierda esta la función f (z) = sin(z)
usando saturación como el seno del radio, la luminancia como el coseno del argumento y el
tono como el argumento. A la derecha f (z) = z para referencia.
Figure 8: Gráfica de f (z) = sin(z) usando el código 1 y 5 en una escala menor. A la izquierda
esta la función f (z) = sin(z) usando saturación como el seno del radio, la luminancia como
el coseno del argumento y el tono como el argumento. A la derecha f (z) = z para referencia.
10 Gabriel Lozano, Geraldine Montoya & Camilo Medina
Figure 10: Gráfica de f (z) = ez con radio lineal usando el código 1 y 5 en una escala
menor. A la izquierda esta la función f (z) = ez usando saturación como el seno del radio,
la luminancia como el coseno del argumento y el tono como el argumento. A la derecha
f (z) = z para referencia.
.
Qué es y cómo usar Domain Coloring para graficar funciones complejas 11
4. Ejemplos
Podemos usar el código 1 junto con código 5 para generar los siguientes ejemplos:
• La función (z) = z sin z −1 usando saturación como el seno del radio, la luminancia
como el coseno del argumento y el tono como el argumento. En la Figura 11.
• La función f (z) = log z usando saturación como el seno del radio, la luminancia como
el coseno del argumento y el tono como el argumento. En la Figura 13.
Figure 11: Gráfica de f (z) = z sin z −1 usando el código 1 y 5 en una escala menor. A
la izquierda esta la función (z) = z sin z −1 usando saturación como el seno del radio, la
luminancia como el coseno del argumento y el tono como el argumento. A la derecha
f (z) = z para referencia.
12 Gabriel Lozano, Geraldine Montoya & Camilo Medina
Figure 12: Gráfica de f (z) = z 3 + 2iz 2 + z + 6i usando el código 1 y 5 en una escala menor.
A la izquierda esta la función f (z) = z 3 + 2iz 2 + z + 6i usando saturación como el seno
del radio, la luminancia como el coseno del argumento y el tono como el argumento. A la
derecha f (z) = z para referencia.
Figure 13: Gráfica de f (z) = log z usando el código 1 y 5 en una escala menor. A la izquierda
esta la función f (z) = log z usando saturación como el seno del radio, la luminancia como el
coseno del argumento y el tono como el argumento. A la derecha f (z) = z para referencia.
5. Conclusión
Existen varias formas de reducir la dimensión de las gráficas de funciones complejas a algo
que podemos graficar en dos dimensiones. Sin embargo, las ventajas de Domain Coloring
se basan en poder dar una idea global de la función en un primer vistazo, sin perder el
detalle que se puede obtener al observar a fondo las imágenes. También es provechoso que
Qué es y cómo usar Domain Coloring para graficar funciones complejas 13
con los “enhanced Domain Coloring plots” se reconocen fácilmente los cambios de norma
y argumento que presenta la función. Ahora bien, reconociendo sus desventajas, el mayor
inconveniente de Domain Coloring es la dificultad que se tiene de hacer gráficas propias,
comparado a las técnicas más convencionales que tienen más literatura y herramientas para
facilitar su uso. Este inconveniente es zanjado parcialmente con este pequeño artı́culo. De
esta forma, se espera que el lector pueda hacer uso de la técnica ó al menos, pueda entender
las gráficas que se generan con ella.
References
[1] Poelke, Konstantin, and Konrad Polthier. ”Lifted domain coloring.” Computer Graphics
Forum. Vol. 28. No. 3. Oxford, UK: Blackwell Publishing Ltd, 2009.
[2] El-Feghi, Idris, et al. “Content-Based Image Retrieval based on efficient fuzzy color sig-
nature.” 2007 IEEE International Conference on Systems, Man and Cybernetics. IEEE,
2007.
[3] Wegert, Elias, and Gunter Semmler. “Phase plots of complex functions: a journey in
illustration.” Notices AMS 58 (2010): 768-780.
[6] Maggi, Claudio. “Aplicaciones gráficas de funciones complejas” Facultad Regional Re-
conquista, Universidad Tecnológica Nacional, Argentina. Consultado el 27 de febrero de
2019.
[7] Velezmoro Leon, Ricardo and Ipanaqué, Robert. “Representación gráfica de las funciones
complejas con el Mathematica (Graphical display of complex functions with Mathemat-
ica).” Revista ECI-PERÚ 12 (2015): 53-57.
[8] Velezmoro Leon, Ricardo and Ipanaqué, Robert. “Un modelo para visualizar objetos en
4D con el Mathematica” Revista ECI-PERÚ 11 (2015): 12-18.
[9] Eisenberg, Murray and Park, David J.M. “Visualizing Complex Functions with the Pre-
sentations Application.” The Mathematica Journal 11 (2009)
[10] http://traumabot.blogspot.com/2013/08/colour-point-cloud-detection-and.
html visitado el 27 de febrero de 2019.
[11] https://github.com/Matematikoi/show_complex_functions consultado y creado el
27 de febrero de 2019.
[12] Poelke, Konstantin, and Konrad Polthier. “Domain coloring of complex functions: An
Implementation-Oriented Introduction.” IEEE computer graphics and applications 32.5
(2012): 90-97.