Archivo del Autor: Leonardo Ignacio Martínez Sandoval

Leonardo Ignacio Martínez Sandoval

Acerca de Leonardo Ignacio Martínez Sandoval

Hola. Soy Leonardo Martínez. Soy Profesor de Tiempo Completo en la Facultad de Ciencias de la UNAM. Hice un doctorado en Matemáticas en la UNAM, un postdoc en Israel y uno en Francia. Además, me gusta colaborar con proyectos de difusión de las matemáticas como la Olimpiada Mexicana de Matemáticas.

Seminario de Resolución de Problemas: Funciones diferenciables y la derivada

Por Leonardo Ignacio Martínez Sandoval

Introducción

En entradas anteriores hemos platicado acerca de funciones continuas. A partir de ahí, platicamos de dos teoremas importantes para esta clase de funciones: el teorema del valor intermedio y el teorema del valor extremo. La siguiente clase de funciones que nos interesa es la de funciones diferenciables. Hablaremos de esta clase de funciones y de la derivada.

Como recordatorio, si $A\subset \mathbb{R}$ y $a$ es un punto en el interior de $A$, decimos que $f:A\to \mathbb{R}$ es diferenciable en $a$ si el límite $$\lim_{h\to 0} \frac{f(a+h)-f(a)}{h}$$ existe y es finito.

En ese caso, llamamos $f'(a)$ al valor de ese límite. Cuando $A$ es abierto y $f$ es diferenciable en todo punto $a$ de $A$, entonces simplemente decimos qur $f$ es diferenciable y podemos definir a la derivada $f’$ de $f$ como la función $f’:A\to \mathbb{R}$ tal que a cada punto lo manda al límite anterior.

Mencionaremos algunas propiedades básicas de funciones diferenciables y cómo se pueden usar para resolver problemas. Como en ocasiones anteriores, no hacemos mucho énfasis en la demostración de las propiedades básicas, pues se pueden encontrar en libros de texto, como el Cálculo de Spivak.

Propiedades básicas de funciones diferenciables

En la definición de diferenciabilidad, se calcula el límite $$\lim_{h\to 0} \frac{f(x+h)-f(x)}{h}.$$ Sin embargo, en algunas ocasiones es más sencillo calcular el límite $$\lim_{y\to x} \frac{f(x)-f(y)}{x-y}.$$ Estos dos límites son equivalentes, pues sólo difieren en el cambio de variable $y=x+h$. Dependiendo del problema que se esté estudiando, a veces conviene usar una notación u otra para simplificar las cuentas.

Como en el caso de la continuidad, la diferenciabilidad se comporta bien con las operaciones básicas.

Proposición. Si $f:(a,b)\to \mathbb{R}$ y $g:(a,b)\to \mathbb{R}$ son diferenciables, entonces $f+g$, $f-g$ y $fg$ son diferenciables. Tenemos que sus derivadas son
\begin{align*}
(f+g)’=f’+g’\\
(f-g)’=f’-g’\\
(fg)’=f’g+fg’.
\end{align*} Si $g(x)\neq 0$, entonces $f/g$ también es diferenciable en $x$, con derivada $$(f/g)’=\frac{f’g-fg’}{g^2}.$$

La proposición anterior se puede probar directamente de las definiciones. Se demuestra en un curso usual de cálculo, pero es un ejercicio recomendable hacer las demostraciones de nuevo.

La tercera igualdad se llama la regla del producto y la última la regla del cociente. En la regla del producto tenemos simetría, así que no importa cuál función derivamos primero. En la regla del cociente sí importa que derivemos primero a $f$ en el numerador. Para acordarse de ello, es fácil acordarse que $g$ va «al cuadrado» y como va al cuadrado, es «más fuerte», y «no se deja derivar primero».

Las funciones diferenciables son continuas, en el sentido de la siguiente proposición.

Proposición. Si $f:A\to \mathbb{R}$ es una función diferenciable en $x$, entonces es continua en $x$.

Demostración. En efecto,
\begin{align*}
\lim_{h\to 0}& f(a+h)-f(a) \\
= &\lim_{h\to 0} \frac{f(a+h)-f(a)}{h} \cdot h\\
=&\lim_{h\to 0} \frac{f(a+h)-f(a)}{h} \cdot \lim_{h\to 0} h\\
= &f'(a)\cdot 0 = 0,
\end{align*}

de modo que $$\lim_{h\to 0}f(a+h) = f(a),$$ en otras palabras, $$\lim_{x\to a} f(x)=f(a),$$ así que $f$ es continua en $a$.

$\square$

Una propiedad más es que las funciones diferenciables alcanzan su máximo en puntos en donde la derivada se anula. Damos un esbozo de la demostración de una parte de la proposición, pero recomendamos completar con cuidado el resto de la prueba, sobre todo cuidando que al pasar términos negativos multiplicando o dividiendo, se invierta la desigualdad correctamente.

Proposición. Si $f:(a,b)\to \mathbb{R}$ tiene un máximo o un mínimo en $x$, entonces $f'(x)=0$.

Sugerencia pre-demostración. Supón que $f'(x)\neq 0$. Divide en casos de acuerdo a si $f'(x)>0$ ó $f'(x)<0$. También, haz una figura que te ayude a entender lo que está sucediendo: si la derivada existe y es mayor que $0$ en un punto $x$, entonces cerca de $x$ la función se ve como si «tuviera pendiente positiva» y entonces tantito a la derecha crece y tantito a la izquierda decrece.

Esbozo de demostración. Procedemos por contradicción. Si $f'(x)=c>0$, entonces para $h>0$ suficientemente pequeño tenemos que $$\left|\frac{f(x+h)-f(x)}{h}-c\right|<c/2,$$ de modo que $\frac{f(x+h)-f(x)}{h}>c/2$, de donde $f(x+h)>f(x)+\frac{hc}{2}>f(x)$, lo que muestra que $x$ no es un máximo.

Del mismo modo, tomando $h<0$ suficientemente cercano a $0$, tenemos que $x$ no es un mínimo. Los casos en los que $f'(x)=c<0$ son parecidos.

$\square$

La proposición anterior nos permite usar la derivada para estudiar los valores extremos de una función, aunque no esté definida en un intervalo abierto. Si $f:[a,b]\to \mathbb{R}$ es diferenciable en $(a,b)$ y es continua en $[a,b]$, entonces sus valores extremos forzosamente están o bien en los extremos del intervalo (en $a$ o $b$), o bien en un punto $x\in (a,b)$ en donde la derivada es $0$. Esta es la estrategia que usaremos para mostrar los teoremas de Rolle y del valor medio.

Problemas resueltos de funciones diferenciables

Veamos algunos problemas en los que podemos aplicar las propiedades anteriores de funciones diferenciables.

Problema. Supongamos que la función $xf(x)$ es diferenciable en un punto $x_0\neq 0$ y que la función $f$ es continua en $x_0$. Muestra que $f$ es diferenciable en $x_0$.

Sugerencia pre-solución. Para mostrar que la expresión es diferenciable, usa la definición de diferenciabilidad con límite $x\to x_0$. En vez de tratar de encontrar el límite del cociente directamente, cambia el problema multiplicando y dividiendo por $xx_0$.

Solución. Primero, como $xf(x)$ es diferenciable en $x_0$, tenemos que el siguiente límite existe y es finito $$A:=\lim_{x\to x_0}\frac{xf(x)-x_0f(x_0)}{x-x_0}.$$

Tenemos que mostrar que el límite $$\lim_{x\to x_0}\frac{f(x)-f(x_0)}{x-x_0}$$ existe. Para ello tomamos una $x$ suficientemente cerca de $x_0$, de modo que $x\neq 0$, y multiplicamos el numerador y denominador por $xx_0$, y luego sumamos y restamos $x_0^2f(x_0)$ en el numerador para obtener lo siguiente:

\begin{align*}
&\frac{f(x)-f(x_0)}{x-x_0} &\\
= &\frac{xx_0 f(x)-xx_0 f(x_0)}{xx_0 (x-x_0)}\\
=&\frac{xx_0 f(x)-x_0^2f(x_0)-xx_0 f(x_0)+x_0^2f(x_0)}{xx_0 (x-x_0)}\\
=&\frac{1}{x}\left(\frac{xf(x)-x_0f(x_0)}{x-x_0}\right) -\frac{f(x_0)}{x}.
\end{align*}

Tomando el límite cuando $x\to x_0$, tenemos que el primer sumando converge a $\frac{A}{x_0}$, por la diferenciabilidad de $xf(x)$ y que el segundo sumando converge a $\frac{f(x_0)}{x_0}$. De esta forma, $f$ es diferenciable en $x_0$.

$\square$

Problema. Sea $n$ un entero positivo y $a_1,\ldots, a_n$ números reales. Consideremos la función $$f(x)=a_1\sin x + a_2\sin 2x + \ldots + a_n \sin nx.$$ Muestra que si $|f(x)|\leq |\sin x|$ para todos los reales $x$, entonces $$|a_1+2a_2+\ldots+na_n|\leq 1.$$

Sugerencia pre-solución. Se puede hacer una prueba por inducción. Intenta hacerlo así. Luego, intenta modificar el problema poniendo a la expresión final del enunciado en términos de la derivada de $f$ en algún valor específico.

Solución. La derivada de $f$ es $$a_1\cos x+ 2a_2\cos 2x + \ldots + n a_n\cos nx,$$ que en $0$ es $$a_1+2a_2+\ldots+na_n,$$ que es precisamente el lado izquierdo de la desigualdad que queremos.

Por definición de derivada, tenemos que
\begin{align*}
|f'(0)|&=\lim_{x\to 0}\left|\frac{f(x)-f(0)}{x-0}\right|\\
&=\lim_{x\to 0} \left|\frac{f(x)}{x}\right|.
\end{align*}

Por la hipótesis del problema, la última expresión dentro del límite es menor o igual a $\left|\frac{\sin x}{x}\right |$. Como el límite de $\frac{\sin x}{x}$ cuando $x \to 0$ es $1$, tenemos que $$|f'(0)|\leq 1,$$ como queríamos.

$\square$

Problema. Supongamos que $f:\mathbb{R}\to \mathbb{R}$ es una función que satisface la ecuación funcional $f(x+y)=f(x)+f(y)$ para todo $x$ y $y$ en $\mathbb{R}$ y que $f$ es diferenciable en $0$. Muestra que $f$ es una función de la forma $f(x)=cx$ para $c$ un real.

Sugerencia pre-solución. Usa como paso intermedio para el problema mostrar que $f$ es diferenciable en todo real. Recuerda que una función que satisface la ecuación funcional del problema debe satisfacer que $f(x)=f(1)x$ para todo racional $x$. Esto se probaba con división por casos e inducción. Usa propiedades de funciones continuas.

Solución. Tomando $x=y=0$, tenemos que $f(0)=2f(0)$, de modo que $f(0)=0$. Mostremos que $f$ es diferenciable en todo real.

Como $f$ es diferenciable en $0$, tenemos que $$L:=\lim_{h\to 0} \frac{f(h)-f(0)}{h}=\lim_{h\to 0} \frac{f(h)}{h}$$ existe y es finito. Tomemos ahora cualquier real $r$. Por la ecuación funcional, tenemos que
\begin{align*}
f(r+h)-f(r)&=f(r)+f(h)-f(h)\\
&=f(r),
\end{align*}
de modo que $$\lim_{h\to 0} \frac{f(r+h)-f(r)}{h}=\lim_{h\to 0} f(h)=L.$$

Así, $f$ es diferenciable en todo real $r$. Por lo tanto, $f$ es contínua en todo real.

Anteriormente, cuando hablamos de inducción y de división por casos, vimos que una función que satisface la ecuación funcional $f(x+y)=f(x)+f(y)$ debe satisfacer que $f(x)=f(1) x$ para todo número racional $x$. Para cualquier real $r$ podemos encontrar una sucesión de racionales $\{x_n\}$ que convergen a $r$. Como $f$ es continua, tenemos que
\begin{align*}
f(r)&=\lim_{n\to \infty} f(x_n) \\
&= \lim_{n\to \infty} f(1) x_n \\
&= f(1) r.
\end{align*}

Esto muestra lo que queremos.

$\square$

Más problemas

Hay más ejemplos de problemas relacionados con la derivada en la Sección 6.3 del libro Problem Solving through Problems de Loren Larson.

Modelo de epidemia básico con álgebra lineal y Python

Por Leonardo Ignacio Martínez Sandoval

Introducción

En esta entrada voy a platicar de una forma en la que se puede plantear un modelo de epidemia básico usando álgebra lineal. Es un modelo bastante simple, sin embargo a partir de él se pueden verificar varias de las lecciones que hemos estado aprendiendo durante la crisis del coronavirus. A grandes rasgos, haremos algunas suposiciones razonables para plantear una epidemia como un modelo de Markov.

Ya que hagamos esto, estudiaremos dos escenarios posibles: en el que la gente sale de sus casas y en el que la gente se queda en sus casas. Para ello usaremos las librerías NumPy y Matplotlib de Python para hacer las cuentas y generar bonitas gráficas como la siguiente:

Gráfica de evolución de la población con contagio bajo, bajo las suposiciones de nuestro modelo de epidemia básico
Ejemplo del tipo de gráficas que obtendremos en la entrada

En particular, veremos que incluso de este modelo simple se notan contrastes importantes en ambos escenarios. En particular, se puede deducir la importancia de #QuédateEnCasa para retrasar el contagio y no saturar los sistemas de salud.

Advertencia: De ninguna forma esta entrada pretende modelar, específicamente, la evolución del coronavirus. Para ello hay expertos trabajando en el tema, y están usando modelos mucho más sofisticados que el que platicaré. Esta entrada es, en todo caso, una introducción al tema y ayuda a explicar, poco a poco, algunos de los argumentos que se usan en modelación matemática de epidemias.

Suposiciones y modelo tipo Markov

Comenzemos a plantear el modelo de epidemia básico. Pensemos en una enfermedad imaginaria, que se llama «Imagivid» y en un territorio imaginario que se llama «Imagilandia», donde la población inicial es de $100,000$ habitantes sanos, en el día $0$.

Vamos a pensar que una persona puede estar en alguno de los siguientes cinco estados:

  • Sano
  • Síntomas leves
  • Síntomas graves
  • Recuperado
  • Fallecido

Para cada día $n$, consideremos el vector $$X(n)=(s(n),l(n),g(n),r(n),f(n))$$ de $5$ entradas cuyas entradas son los sanos, de síntomas leves, de síntomas graves, recuperados y fallecidos al día $n$. Por ejemplo al día $0$ dijimos que todos están sanos, así que $X(0)=(100000,0,0,0,0)$.

Haremos las siguientes suposiciones de cómo se pasa de un estado a otro

  • Los únicos fallecidos del periodo de tiempo que tendremos son por Imagivid. Sólo se puede fallecer de ello tras tener síntomas graves. Si alguien tiene síntomas graves, entonces tiene cierta probabilidad $g_f$ de fallecer al día siguiente, $g_r$ de recuperarse y por lo tanto $1-g_r-g_f$ de quedarse como enfermo grave.
  • Imagivid se contagia de persona a persona, y de un día a otro una persona tiene probabilidad $s_l$ de pasar de estar sana a tener síntomas leves. No se puede pasar directamente a tener síntomas graves, recuperarse o morir. De modo que se queda sana de un día a otro con probabilidad $1-s_l$
  • Si una persona tiene síntomas leves, tiene probabilidad $l_g$ de pasar a tener síntomas graves y $l_r$ de pasar a recuperarse. Por lo tanto, tiene probabilidad $1-l_g-l_r$ de quedarse con síntomas leves.
  • Una persona que se recupera desarrolla inmunidad a Imagivid, así que se queda en ese estado.
  • Una persona que fallece, se queda en ese estado.

En otras palabras, tenemos el siguiente diagrama de cómo se pasa de tener un estado a otro, en donde los números en las flechas muestran la probabilidad de pasar de un estado a otro:

Diagrama de probabilidades de transición entre estados en el modelo de epidemia básico
Diagrama de probabilidades de transición

En lenguaje técnico, estamos modelando a la epidemia como un proceso de Markov. Sin embargo, no es necesario entender toda la teoría de procesos de Markov para entender lo que sigue, pues la idea es bastante intuitiva.

Con estos números y suposiciones, podemos entender, en valor esperado, cómo será el vector de población $$X(n+1)=(s(n+1), l(n+1), g(n+1), r(n+1), f(n+1))$$ si sabemos cómo es el vector $$X(n)=(s(n), l(n), g(n), r(n), f(n)).$$ Por ejemplo, podemos esperar que la cantidad de recuperados al día $n+1$ sea $$r(n+1)=l_r \cdot l(n)+ g_r \cdot g(n) + 1 \cdot r(n),$$ pues de los de síntomas leves del día $n$ habrá una proporción $l_r$ de ellos que se recuperen, de los graves del día $n$ habrá una proporción $g_r$ de ellos que se recuperen, y todos los recuperados del día $n$ se quedan recuperados. De esta forma, obtenemos el siguiente sistema de ecuaciones de lo que podemos esperar:
\begin{align*}
s(n+1)&=(1-s_l) \cdot s(n)\\
l(n+1)&=s_l \cdot s(n) + (1-l_r-l_g) \cdot l(n)\\
g(n+1)&= l_g \cdot l(n) + (1-g_r-g_f) \cdot g(n)\\
r(n+1)&=l_r \cdot l(n) + g_r \cdot g(n) + 1 \cdot r(n)\\
f(n+1)&=g_f \cdot g(n) + 1 \cdot f(n),
\end{align*}

Este sistema de ecuaciones se puede escribir de una forma mucho más compacta. Si definimos la matriz $$A=\begin{pmatrix} 1-s_l & 0 & 0 & 0 & 0 \\s_l & 1-l_r-l_g & 0 & 0 & 0 \\0 & l_g & 1-g_r-g_f & 0 & 0 \\ 0 & l_r & g_r & 1 & 0\\ 0 & 0 & g_f & 0 & 1 \end{pmatrix},$$ las ecuaciones anteriores se pueden abreviar simplemente a $$X(n+1)=AX(n).$$

De esta forma, si queremos entender qué esperar del día $n$, basta hacer la multiplicación matricial $X(n)=A^n X(0)$.

Un ejemplo concreto en Python

El modelo de epidemia básico que planteamos arriba depende de cinco parámetros:

  • $s_l$, la probabilidad de pasar de estar sano a tener síntomas leves,
  • $l_g$, la probabilidad de pasar de tener síntomas leves a graves,
  • $l_r$, la probabilidad de pasar de tener síntomas leves a recuperarse,
  • $g_r$, la probabilidad de pasar de tener síntomas graves a recuperarse y
  • $g_f$, la probabilidad de pasar de tener síntomas graves, a fallecer.

Hagamos un ejemplo concreto, en el que estos parámetros para Imagivid son los siguientes: $s_l=0.30$, $l_g=0.10$, $l_r=0.20$, $g_r=0.10$ y $g_f=0.10$. En «la vida real», para hacer una modelación correcta se tienen que estimar estos parámetros de lo que ya se sepa de la enfermedad.

Si ponemos estos valores, la matriz que obtenemos es la siguiente:

$$A=\begin{pmatrix} 0.7 & 0 & 0 & 0 & 0 \\0.3 & 0.7 & 0 & 0 & 0 \\0 & 0.1 & 0.8 & 0 & 0 \\ 0 & 0.2 & 0.1 & 1 & 0\\ 0 & 0 & 0.1 & 0 & 1 \end{pmatrix}.$$

Vamos a usar la fórmula que obtuvimos en la sección anterior para entender cómo va evolucionando la epidemia de Imagivid. Para no hacer las cuentas a mano, usaremos Python. Trabajaremos con Python 3 y usaremos Numpy (para las cuentas de matrices) y Matplotlib (para visualizar gráficas). En el siguiente código definimos la población inicial, los parámetros de transición y la matriz de la sección anterior.

import numpy as np
import matplotlib.pyplot as plt
# En cada momento tendremos un vector
# de la distribución de la población
# (sanos, sintomas leves, sintomas graves,
# recuperados, fallecidos)

# Población inicial
x_0=(100000,0,0,0,0)

# Definimos las probabilidades de
# transición

S_L = 0.30
L_G = 0.10
L_R = 0.20
G_R = 0.10
G_F = 0.10

# Definimos la matriz A
A=np.array([[1-S_L,0,0,0,0],[S_L,1-L_G-L_R,0,0,0],[0,L_G,1-G_R-G_F,0,0],[0,L_R,G_R,1,0],[0,0,G_F,0,1]])

Vamos a estudiar la evolución de Imagivid por 60 días. Por ello, vamos a hacer un bucle en Python que calcule cómo son los vectores de población de todos estos 60 días. Para empezar a entender cómo funciona nuestro modelo de epidemia, también pediremos que muestre los valores para los días 1, 2 y 3.

# Encontramos la evolución de la
# epidemia los primeros 60 días
evolution=[x_0]
for j in range(60):
    evolution.append(np.matmul(A,evolution[-1]))
# Mostramos lo que pasa los primeros
# 3 días
for j in range(1,4):
    print(evolution[j])

Los valores que obtenemos son
\begin{align*}
X_1 &= (70000,30000,0,0,0)\\
X_2 &= (49000, 42000, 3000, 6000)\\
X_3 &= (34300, 44100, 6600, 14700, 300).
\end{align*}

Esto nos dice que al primer día hay $70000$ sanos y $30000$ con síntomas leves. En los primeros dos días no hay fallecidos, pues de acuerdo a nuestro modelo de epidemia un habitante primero debe presentar síntomas leves, luego graves y luego ya tal vez fallece. Al día 3 el modelo predice $300$ fallecidos.

Esto son sólo tres días, pero sería bueno poder entender qué sucede en todo el periodo de 60 días. Para ello, vamos a pedir a Python que nos muestre una gráfica de cómo evoluciona la población a través del tiempo. Para ello hacemos lo siguiente

# Hacemos gráfica para mostrar la evolución de todo el tiempo
plt.plot([j[0] for j in evolution], label="Sanos")
plt.plot([j[1] for j in evolution], label="Síntomas leves")
plt.plot([j[2] for j in evolution], label="Síntomas graves")
plt.plot([j[3] for j in evolution], label="Recuperados")
plt.plot([j[4] for j in evolution], label="Fallecidos")
plt.title("Evolución de la población, contagio=0.30")
plt.legend()
plt.show()

Obtenemos la siguiente imagen

Evolución de la población con contagio $0.30$

La gráfica tiene sentido es de esperarse que, tras cierta cantidad de tiempo, ya sólo haya habitantes recuperados y fallecidos. Notemos que hay un momento el el que la población con síntomas leves es de aproximadamente $40,000$ habitantes y que la población con síntomas graves llega a ser, en algún momento, como de $12,000$ habitantes.

¿Qué sucede al final de nuestro periodo de estudio? Si le pedimos a Python que nos de las últimas dos entradas del vector de población al día $60$,

#Mostramos recuperados y fallecidos al último día
print(evolution[-1][3])
print(evolution[-1][4])

obtenemos $\sim 83,333$ recuperados y $\sim 16,666$ fallecidos al día $60$, de modo que en este escenario la epidemia cobró $16,666$ vidas de Imagilandia. De hecho una observación muy importante, viendo la gráfica, es que ya se tenía prácticamente esta cantidad de víctimas desde el día 30.

Disminuir la tasa de infección para retrasar la epidemia

Antes de que sucediera la tragedia, las autoridades de Imagilandia estudiaron el modelo de epidemia que acabamos de mencionar y se dieron cuenta de que tenían que tomar una acción inmediata para mejorar la situación. Decidieron que una cosa muy importante para que la situación mejorara era pedirle a la gente que se quedara en sus casas lo más posible, pues con ello se disminuiría la tasa de contagio. Para ello sacaron la campaña #QuédateEnCasa. Las personas hicieron caso.

Habiendo más personas sanas y enfermas en su propia casa, ahora ni los enfermos pueden contagiar a sanos, ni los sanos estar expuestos a enfermos. Así, una persona sana ahora tiene menor probabilidad de estar enferma al día siguiente. Supongamos que $s_l$ pasa de ser $0.30$ a ahora ser $0.05$. De esta forma, ahora tenemos una nueva matriz que ayuda a calcular la evolución de la pandemia:

$$A=\begin{pmatrix} 0.95 & 0 & 0 & 0 & 0 \\0.05 & 0.7 & 0 & 0 & 0 \\0 & 0.1 & 0.8 & 0 & 0 \\ 0 & 0.2 & 0.1 & 1 & 0\\ 0 & 0 & 0.1 & 0 & 1 \end{pmatrix}.$$

Vamos a pedirle de nuevo a Python que haga las cuentas para los primeros 60 días bajo las suposiciones de nuestro modelo de epidemia y que nos muestre una gráfica de la evolución de la población.

# Definimos las probabilidades de transición, que son iguales salvo que ahora la tasa de contagio es menor, y por lo tanto S_L es menor

S_L = 0.05
L_G = 0.10
L_R = 0.20
G_R = 0.10
G_F = 0.10

# Definimos la matriz A
A=np.array([[1-S_L,0,0,0,0],[S_L,1-L_G-L_R,0,0,0],[0,L_G,1-G_R-G_F,0,0],[0,L_R,G_R,1,0],[0,0,G_F,0,1]])

evolution2=[x_0]
for j in range(60):
    evolution2.append(np.matmul(A,evolution2[-1]))

plt.plot([j[0] for j in evolution2], label="Sanos")
plt.plot([j[1] for j in evolution2], label="Síntomas leves")
plt.plot([j[2] for j in evolution2], label="Síntomas graves")
plt.plot([j[3] for j in evolution2], label="Recuperados")
plt.plot([j[4] for j in evolution2], label="Fallecidos")
plt.title("Evolución de la población, contagio=0.05")
plt.legend()
plt.show()

La gráfica que obtenemos es la siguiente:

Evolución de la población con contagio $0.05$

Una cosa fantástica en este escenario es que nunca hay muchas personas enfermas simultáneamente. En el peor día, parece haber como $12,000$ personas enfermas con síntomas leves, y parece que nunca hay más de $6000$ personas con síntomas graves. ¿Qué sucede con la mortalidad? Si le pedimos a Python que nos diga el número de habitantes recuperados y fallecidos al día 60,

print(evolution2[-1][3])
print(evolution2[-1][4])

obtenemos $\sim 78,419$ recuperados y $\sim 15,438$ fallecidos. Esto es ligeramente mejor que en la situación anterior, en donde había $\sim 16,000$ fallecidos. Donde sí hay una diferencia es en lo que sucede al día $30$. Si pedimos a Python que nos muestre la cantidad de fallecidos al día $30$ en ambos escenarios obtenemos lo siguiente.

print(evolution[30][4])
print(evolution2[30][4])

En el primer escenario, en el que la gente no se queda en casa, al día $30$ tenemos $\sim 16,493$ fallecidos, que es prácticamente ya todos los que habrá. Cuando la gente se queda en casa, al día $30$ sólo hay $\sim 10,963$, una buena parte menos.

Esto parece estar mejor, sin embargo, el tiempo va a seguir pasando, y de todas formas llegaremos al día $60$, en donde ambos escenarios son muy parecidos ¿Por qué entonces todo el esfuerzo de pedirle a la gente que se quede en casa, si la diferencia es mínima? Porque el tiempo es oro.

La carrera contra el tiempo

Hay muchas razones por las cuales es conveniente retrasar la epidemia de Imagivid en Imagilandia, aunque el modelo sencillo que mostramos arriba muestre qe a los 60 días parecería que habrá la misma cantidad de fallecidos.

Primero, es importante retrasar los contagios pues existe la posibilidad de que los científicos de Imagilandia entiendan mejor a Imagivid y, por ejemplo, desarrollen una vacuna o un tratamiento. ¿Qué sucedería si los científicos encuentran una cura al día $30$? En el primer escenario sólo se salvan unas $\sim 150$ vidas, pero en el segundo escenario se salvan unas $\sim 4,500$, osea, unas $\sim 4350$ más. En otras palabras, en el primer escenario el desarrollo científico llega demasiado tarde.

Segundo, también es importante retrasar la epidemia pues permite tener el número de casos simultáneos bajo control. Esto ya lo discutimos un poco arriba, pero pidamos a Python una gráfica más, para poder discutirlo de manera más clara. Supondremos, además, que Imagilandia cuenta con solamente $6000$ camas de hospital en donde se pueden tratar los casos severos de Imagivid, y le pediremos a Python que ponga esto como una línea horizontal.

plt.plot([j[1] for j in evolution2], color="green", linestyle=":", label="Leves, Contagio=0.05")
plt.plot([j[2] for j in evolution2], color="green", label="Severos, Contagio=0.05")
plt.plot([j[1] for j in evolution], color="red", linestyle=":", label="Severos, Contagio=0.30")
plt.plot([j[2] for j in evolution], color="red", label="Severos, Contagio=0.30")
plt.hlines(6000,0,60, color="black", label="Capacidad sistema salud")
plt.title("Enfermos a través del tiempo")
plt.legend()
plt.plot()

Obtenemos la siguiente gráfica:

Comparación de enfermos leves y graves. Rojo es con alto contagio y verde con bajo.

Cuando la gente sí se queda en sus casas y la tasa de contagio es baja (en verde), siempre hay suficiente espacio en el sistema de salud para tratar a a los enfermos graves.

Cuando la gente no se queda en sus casas y la tasa de contagio es alta (en rojo), notemos que los casos severos sobrepasan al sistema de salud. Aproximadamente entre los días $3$ y $15$ se tienen muchos enfermos graves que no podrán ser atendidos correctamente. Por ejemplo, al día 9 hay aproximadamente $\sim 6000$ enfermos graves por encima de la capacidad del sistema de salud. Sin atención médica, probablemente en vez de que sólo fallezcan el $10\%$ de ellos (según nuestro modelo), fallecerán casi todos, dando $5400$ víctimas más que no hemos contado.

De esta forma, siguiendo los consejos de quedarse en casa, la población de Imagilandia puede salvar, potencialmente, $\sim 4350$ personas por la vacuna y $\sim 5400$ personas por evitar saturar el sistema de salud, osea, salvar unas $\sim 9750$ vidas. Para ello es necesario que las autoridades hagan el llamado a quedarse, y que la población de Imagilandia haga caso. De aquí la importancia del #QuédateEnCasa.

Más contenido

Todo el código de Python del modelo lo corrí en una libreta de Jupyter. Puedes ver una versión en PDF de todo el código a continuación.

Si quieres el archivo de Jupyter para jugar con el modelo, puedes obtenerlo en el GitHub del proyecto: https://github.com/leomtz/linear-epidemid.

El modelo de epidemia que presentamos es una aplicación muy sencilla de álgebra lineal. En este blog hemos estado subiendo material de un curso de álgebra lineal que se imparte en la UNAM, y que ahora estamos impartiendo a distancia por la contingencia. A continuación ponemos el enlace a este curso y a otro material que te puede interesar.

Teorema de navidad de Fermat: primos suma de dos cuadrados

Por Leonardo Ignacio Martínez Sandoval

Comentario de Leo: Esta es una escrita en conjunto con por Alexandher Vergara, estudiante en ESFM. En ella hablamos del teorema de navidad de Fermat, una idea de la prueba y de las consecuencias. Si quieres contribuir con algún tema de matemáticas, puedes contactarme por correo electrónico, o dejando un comentario aquí en el blog.

Introducción

En entradas anteriores hemos visto temas de teoría de números, como divisibilidad y teoría de congruencias. También hablamos acerca de números primos y del teorema fundamental de la aritmética. A continuación probaremos una parte del famoso «teorema de navidad de Fermat», el cual dice cuáles primos impares son la suma de dos cuadrados.

Teorema (teorema de Navidad de Fermat). Un número primo $p>2$ es la suma del cuadrado de dos enteros si y sólo si $p\equiv 1 \pmod 4$.

Enunciado del teorema de Navidad de Fermat

El teorema recibe este nombre pues Fermat escribió una carta con muchos detalles acerca del resultado para Mersenne, cuya fecha fue el 25 de diciembre de 1640.

Este resultado nos lleva un paso más adelante en teoría de números. Por un lado, tiene «el mismo sabor» que el teorema de los cuatro cuadrados de Lagrange.

Teorema (teorema de los cuatro cuadrados de Lagrange). Todo entero no negativo puede ser escrito como suma de los cuadrados de cuatro números enteros.

Por otro lado, el teorema de Navidad de Fermat también nos ayuda a demostrar un caso particular del teorema de Dirichlet para primos sobre progresiones aritméticas.

Teorema 1. Hay infinitos números primos de la forma $4k+1$ e infinitos números de la forma $4k+3$.

El teorema de Dirichlet es una generalización de este resultado.

Teorema (teorema de Dirichlet). Si $a$ y $b$ son primos relativos, entonces existe una infinidad de primos $p$ tales que $p\equiv a \pmod b$.

Las demostraciones de los teoremas de Lagrange y de Dirichlet requieren de varios argumentos para los cuales aún no hemos desarrollado teoría suficiente. La idea de esta entrada de blog es demostrar el teorema de Navidad de Fermat y usarlo para demostrar el Teorema 1.

El teorema de Navidad de Fermat

En la demostración del teorema de navidad de Fermat usaremos el siguiente resultado.

Teorema 2. Si $p$ es un número primo y la ecuación $a^2+1 \equiv 0 \pmod p$ tiene solución para algún $a$, entonces $p$ se puede representar como una suma de dos cuadrados.

Por el momento, no nos enfocaremos en demostrar este resultado auxiliar. Existen muchas pruebas en la literatura, por ejemplo, una por J.H. Grace usando latices de enteros (The four square theorem).

Demostración del teorema de Navidad de Fermat. Supongamos primero que $p=x^2+y^2$ para enteros no negativos $x,y$. El hecho de que $p \equiv 1 \pmod 4$ se desprende de dos propiedades del anillo $\mathbb{Z}_4$. Notemos primero que cualquier entero impar es congruente con $1 \pmod 4$ o con $3\pmod 4$. Además, cualquier cuadrado es congruente con $0 \pmod 4$ o $1\pmod 4$, pues si $x$ es congruente con $0,1,2,3 \pmod 4$ entonces $x^2$ es congruente con $0,1,0,1 \pmod 4$, respectivamente. Como $p=x^2+y^2$, sabemos entonces que $$p\equiv x^2+y^2=0,1 \text{ \’o } 2 \pmod 4.$$ Pero $p$ es un primo mayor que $2$, entonces $p$ es impar. Así, $p\equiv 1 \pmod 4$.

Observación. En esta parte de la prueba en realidad es un poco más general, pues muestra que si $n$ es un entero impar que se puede representar como suma de dos cuadrados, entonces $n\equiv 1 \pmod 4$.

Supongamos ahora que $p\equiv 1 \pmod 4$. Lo primero que haremos es mostrar que $a^2+1\equiv 0 \pmod p$ tiene solución para alguna $a$, y después usaremos el Teorema 2 para obtener que $p$ es suma de dos cuadrados.

Primero, examinaremos los factores en $$(p-1)!=1\cdot 2 \cdot \ldots \cdot \frac{p-1}{2} \cdot \frac{p+1}{2}\cdot \ldots \cdot (p-2) \cdot (p-1).$$ A los últimos $(p-1)/2$ factores los pensamos como sigue: $p-1\equiv -1 \pmod p$, $p-2\equiv -2\pmod p$, …, $\frac{p+1}{2}\equiv -\frac{p-1}{2} \pmod p$. El factorial se convierte entonces en
\begin{align*}
(p-1)!&\equiv 1\cdot \ldots \cdot \left(\frac{p-1}{2}\right) \cdot \left(-\frac{p-1}{2}\right) \cdot \ldots \cdot (-1)\\
&\equiv (-1)^{(p-1)/2} \left(1\cdot \ldots \cdot \frac{p-1}{2}\right)^2 \pmod p.
\end{align*}

Definiendo $a= 1\cdot \ldots \cdot \frac{p-1}{2}$, lo anterior se puede escribir como $$(p-1)!\equiv (-1)^{(p-1)/2} a^2 \pmod p.$$

Por el teorema de Wilson, $(p-1)!\equiv -1 \pmod p$. Como $p\equiv 1 \pmod 4$, tenemos $p=4k+1$ para algún entero $k$. Entonces, $(p-1)/2=2k$, que es par, de modo que $(-1)^{(p-1)/2}=1$. De esta forma, tenemos que $$-1\equiv a^2 \pmod p.$$ Sumando $1$ de ambos lados, tenemos que $a^2+1\equiv 0 \pmod p$. Aplicando el Teorema 2, concluimos que $p$ es suma de dos cuadrados.

$\square$

Infinidad de primos de las formas $4k+1$ y $4k+3$

Todos los primos mayores que $2$ son impares, así que son o bien de la forma $4k+1$, o bien de la forma $4k+3$. Sabemos además que hay una infinidad de números primos. ¿Será cierto que hay una infinidad de ellos de la forma $4k+1$ y una infinidad de ellos de la forma $4k+3$?

Por el principio de las casillas, tiene que suceder por lo menos alguna de estas dos opciones. Si hubiera una cantidad finita de la forma $4k+1$ y de la forma $4k+3$, entonces por el párrafo anterior habría sólo una cantidad finita de primos, lo cual es una contradicción.

Lo que dice el Teorema 1 es más fuerte. Lo volvemos a poner aquí por conveniencia para el lector.

Teorema 1. Hay infinitos números primos de la forma $4k+1$ e infinitos números de la forma $4k+3$.

Es decir, el Teorema 1 afirma que para cada uno de los tipos hay una infinidad de primos. Veamos que en efecto esto sucede.

La primera parte del Teorema 1 no necesita que usemos el teorema de Navidad de Fermat.

Proposición 1. Hay una infinidad de primos de la forma $4k+3$.

Demostración. Supongamos que existiera únicamente una cantidad finita $n$ de primos de la forma $4k+3$ y supongamos que ellos son $p_1<\ldots<p_n$, en donde $p_1=3$. Consideremos el número $N=4p_2p_3\ldots p_n +3$ (ojo: no estamos incluyendo al $3$ en la multiplicación). Este número no puede ser primo pues es mayor que $p_n$ y $N\equiv 3\pmod 4$. De esta forma, debe tener al menos un divisor primo.

Tenemos que $N$ es impar, así que $2$ no divide a $N$. Si todos los divisores primos de $N$ fueran $1\pmod 4$, entonces $N$ sería $1\pmod 4$, pero esto no es cierto. De este modo, algún divisor primo $p$ de $N$ debe satisfacer $p\equiv 3 \pmod 4$. Notemos que $p$ no puede ser $3$, pues si $3\mid N$, tendríamos $3\mid 4p_1 \ldots p_n$, pero esto es imposible pues el número de la derecha no tiene ningún factor $3$. Con esto concluimos que $p=p_i$ para algún entero $i=2,\ldots,n$. Sin embargo, si $p_i\mid N$, entonces $p_i\mid N-(p_2\ldots p_n)=3$. Esto también es imposible pues $p_i\neq 3$. Así, es inevitable llegar a una contradicción, por lo que hay una infinidad de primos de la forma $4k+3$.

$\square$

La demostración anterior no funciona directamente para los primos de la forma $4k+1$, pues si hubiera una cantidad finita $n$ de ellos $p_1<\ldots < p_n$ y consideramos al número $4p_1\ldots p_n+1$, este número es congruente con $1\pmod 4$, pero nada garantiza que sus factores primos deban ser de la forma $1\pmod 4$ pues, por ejemplo, $3\equiv 3\pmod 4$, $7\equiv 3\pmod 4$, pero $3\cdot 7 \equiv 21 \equiv 1\pmod 4$. Tenemos que hacer algo distinto.

Proposición 2. Hay una infinidad de primos de la forma $4k+1$.

Demostración. Supongamos que existe una cantidad finita $n$ de primos de la forma $4k+1$ y que son $p_1<\ldots<p_n$. Consideremos al número $N=4(p_1p_2\ldots p_n)^2 +1$. Este número es de la forma $4k+1$. Por esta razón, es imposible que $N$ sea primo, pues es mayor que todo $p_i$.

Sea $p$ un divisor primo de $N$. Como $N$ es impar, $p\neq 2$. Como $p$ divide a $N$, tenemos que $(2p_1\ldots p_n)^2+1\equiv 0 \pmod p$, de modo que $x^2+1\equiv 0 \pmod p$ tiene solución y por el Teorema 2, $p$ se puede escribir como suma de dos cuadrados. Por el teorema de Navidad de Fermat, $p\equiv 1\pmod 4$. De esta forma, $p=p_i$ para alguna $i$. Pero entonces, $p$ divide a $N$ y a $4(p_1\ldots p_n)^2$, de modo que divide a su resta, que es $1$. Esto es imposible. Esta contradicción muestra que hay una cantidad infinita de primos de la forma $4k+1$.

$\square$

El Teorema 1 se sigue de las proposiciones 1 y 2.

¿Dónde seguir?

Aquí en el blog hay otras entradas en donde hablamos acerca de teoría de números. Puedes revisar las siguientes:

Álgebra Lineal I: Ortogonalidad y espacio ortogonal

Por Leonardo Ignacio Martínez Sandoval

Introducción

En entradas anteriores hablamos de formas lineales y del espacio dual. Vimos que las formas coordenadas correspondientes a una base forman bases del espacio dual. También hicimos ejemplos prácticos de cómo encontrar bases duales y cómo hacer cambios de base en el espacio dual. Usaremos la teoría que hemos desarrollado hasta el momento para estudiar los conceptos de ortogonalidad y espacio ortogonal.

Antes de comenzar, es importante dejar un consejo. Quizás a estas alturas asocias a la ortogonalidad con la perpendicularidad. Esta intuición puede ayudar un poco más adelante, pero por el momento es recomendable que dejes esa intuición de lado. El problema es que la «perpendicularidad» habla de parejas de segmentos, parejas de lineas, o parejas de vectores. Sin embargo, las nociones de ortogonalidad que estudiaremos ahora hablan de cuándo una forma lineal $l$ y un vector $v$ son ortogonales, por lo cual es mejor pensarlo por el momento en la ortogonalidad como un concepto nuevo.

Definiciones de ortogonalidad y espacio ortogonal

En esta sección, $V$ es un espacio vectorial sobre un campo $F$.

Definición. Tomemos una forma lineal $l$ de $V$ y $v$ un vector en $V$. Decimos que $l$ y $v$ son ortogonales si $$\langle l,v \rangle = 0.$$

De manera equivalente, $l$ y $v$ son ortogonales si $l(v)=0$, o si $v$ está en el kernel de $l$.

Ejemplo 1. Consideremos la forma lineal $l$ de los polinomios en $\mathbb{R}_2[x]$ que a un polinomio lo manda a su evaluación en $2$, es decir, tal que $l(p)=p(2)$. Consideremos al polinomio $p(x)=x^2-3x+2$. Tenemos que \begin{align*}l(p)&=p(2)\\&=2^2-3\cdot 2 +2\\&=4-6+2\\&=0,\end{align*} de modo que $\langle l, p\rangle =0,$ así que $l$ y $p$ son ortogonales. Por otro lado, si $q(x)=x+1$, tenemos que $\langle l,q\rangle = l(q)=3$, de modo que $l$ y $q$ no son ortogonales.

$\triangle$

Ejemplo 2. Consideremos la forma lineal $l(x,y,z)=2x+3y-z$ de $\mathbb{R}^3$. Un vector que es ortogonal con $l$ es el vector $v=(0,0,0)$. Un vector un poco más interesante es el vector $(1,1,5)$ pues $l(1,1,5)=2+3-5=0$.

El vector $(1,1,5)$ también es ortogonal a la forma lineal $m(x,y,z)=x+y-\frac{2z}{5}$, como puedes verificar.

$\triangle$

A partir de la noción anterior, nos podemos hacer dos preguntas. Dado un conjunto de vectores, ¿quiénes son todas las formas lineales ortogonales a todos ellos? Dado un conjunto de formas lineales, ¿quiénes son todos los vectores ortogonales a todas ellas? Esta noción queda capturada en la siguiente definición.

Definición. Para $S$ un subconjunto de $V$, definimos al ortogonal de $S$ como el conjunto de formas lineales de $V$ ortogonales a todos los elementos de $S$. En símbolos, $$S^\bot:= \{l\in V^\ast: \langle l,v \rangle = 0\, \forall v \in S\}.$$

Tenemos una definición dual para subconjuntos de $V^\ast$.

Definición. Para $S$ un subconjunto de $V^\ast$, el ortogonal de $S$ es el conjunto de vectores de $V$ ortogonales a todos los elementos de $S$. En símbolos, $$S^\bot=\{v\in V: \langle l, v \rangle = 0 \, \forall l\in S\}.$$

Observa que estamos definiendo al ortogonal para subconjuntos de $V$ (y de $V^\ast$), es decir, que $S$ no tiene por qué ser un subespacio vectorial de $V$. Por otro lado, sea o no $S$ un subespacio, siempre tenemos que $S^\bot$ es un subespacio. Por ejemplo, si $S$ es un subconjunto de $V$ y $l_1$, $l_2$ son formas lineales que se anulan en todos los elementos de $S$, entonces para cualquier escalar $c$ también tenemos que $l_1+cl_2$ se anula en todos los elementos de $S$.

Ejercicio. Tomemos $S$ al subconjunto de matrices diagonales con entradas enteras en $M_2(\mathbb{R})$. ¿Quién es $S^\bot$? Ojo: Aquí $S$ no es un subespacio.

Solución. Sabemos que para cualquier forma lineal $l$ de $M_2(\mathbb{R})$ existen reales $p$, $q$, $r$, $s$ tales que $$l\begin{pmatrix}a&b\\c&d\end{pmatrix}=pa+qb+rc+sd.$$

Si $l$ está en $S^\bot$, se tiene que anular en particular en las matrices $A=\begin{pmatrix} 1 & 0\\ 0 & 0\end{pmatrix}$ y $B=\begin{pmatrix} 0 & 0 \\ 0 & 1\end{pmatrix}$, pues ambas están en $S$. En otras palabras, $$0 = l(A) = p$$ y $$0 = l(B) = s.$$ Así, la forma lineal tiene que verse como sigue:

$$l\begin{pmatrix}a&b\\c&d\end{pmatrix}= qb+rc.$$

Y en efecto, todas las formas lineales de esta forma se anulan en cualquier matriz diagonal con entradas enteras, pues en esas matrices $b=c=0$.

$\triangle$

Encontrar el espacio ortogonal de manera práctica

Ya mencionamos que $S$ no necesariamente tiene que ser un subespacio para definir $S^\bot$. Sin embargo, usando la linealidad podemos mostrar que, para cualquiera de las dos definiciones, basta estudiar qué sucede con subespacios vectoriales. La demostración de la siguiente proposición es sencilla, y se deja como tarea moral.

Proposición 1. Para $S$ un subconjunto de $V$ (o de $V^\ast$), tenemos que $$S^\bot = \text{span}(S)^\bot.$$

Esta proposición es particularmente importante pues en espacios vectoriales de dimensión finita nos permite reducir el problema de encontrar ortogonales para subconjuntos de vectores (o de formas lineales), a simplemente resolver un sistema de ecuaciones. El procedimiento que hacemos es el siguiente (lo enunciamos para vectores, para formas lineales es análogo):

  • Tomamos una base $B=\{b_1,\ldots,b_n\}$ de $V$.
  • Tomamos un subconjunto $S$ de vectores de $V$.
  • Usamos la Proposición 1 para argumentar que $S^\bot=\text{span}(S) ^\bot$.
  • Consideramos una base $C=\{c_1,\ldots,c_m\}$ de $\text{span}(S)$ y notamos que una forma lineal $l$ se anula en todo $\text{span}(S)$ si y sólo si se anula en cada elemento de $C$.
  • Escribimos a cada $c_i$ como combinación lineal de elementos de $B$, digamos $$c_i=a_{i1}b_1+\ldots+a_{in}b_n.$$
  • Cada condición $l(c_i)=0$ se transforma en la ecuación lineal $$a_{i1}l(b_1)+\ldots+a_{in}l(b_n)=l(c_i)=0$$ en las variables $l(b_1), l(b_2),\ldots, l(b_n)$ igualada a $0$, de forma que las $m$ condiciones dan un sistema de ecuaciones homogéneo.
  • Podemos resolver este sistema con reducción gaussiana para encontrar todas las soluciones, aunque basta con encontrar a las soluciones fundamentales, pues justo forman la base de $\text{span}(S)^\bot=S^\bot$.

Veamos este método en acción.

Ejemplo de encontrar el espacio ortogonal de manera práctica

Ejercicio. Considera el subconjunto $S$ de $\mathbb{R}^3$ cuyos elementos son $(2,3,-5)$, $(-1,0,1)$, $(3,3,-6)$, $(-3,-2,5)$. Determina $S^\bot$.

Solución. Para encontrar $S^\bot$, basta encontrar $\text{span}(S)^\bot$.

Lo primero que notamos es que todos los vectores de $S$ satisfacen que la suma de sus entradas es $0$, así que todos los vectores en $\text{span}(S)$ también, de modo que $\text{span}(S)$ no es todo $\mathbb{R}^3$, así que es de dimensión a lo más $2$. Notamos también que $(-1,0,1)$ y $(2,3,-5)$ son linealmente independientes, así que $\text{span}(S)$ es de dimensión al menos $2$, de modo que es de dimensión exactamente $2$ y por lo tanto $(-1,0,1)$ y $(2,3,-5)$ es una base.

Para cualquier forma lineal $l$ en $\mathbb{R}^3$ existen reales $a$, $b$, $c$ tales que $l(x,y,z)=ax+by+cz$. Para encontrar aquellas formas lineales que se anulan en $\text{span}(S)$, basta encontrar aquellas que se anulan en la base, es decir, en $(-1,0,1)$ y $(2,3,-5)$. De esta forma, necesitamos resolver el sistema de ecuaciones homogéneo \begin{align*}-a+c&=0\\2a+3b-5c&=0.\end{align*}

Para resolver este sistema, aplicamos reducción gaussiana:

\begin{align*}
&\begin{pmatrix} -1 & 0 & 1\\ 2 & 3 & -5\end{pmatrix}\\
\to & \begin{pmatrix} 1 & 0 & -1\\ 0 & 3 & -3\end{pmatrix}\\
\to & \begin{pmatrix} 1 & 0 & -1\\ 0 & 1 & -1\end{pmatrix}
\end{align*}

La variable libre es $c$ y las pivote son $a$ y $b$. Obtenemos $a=c$ y $b=c$, de donde las soluciones se ven de la forma $(c,c,c)$. Concluimos entonces que $S^\bot$ son las formas lineales tales que $$l(x,y,z)=c(x+y+z)$$ para algún real $c$.

$\triangle$

En el ejemplo anterior, la dimensiones de $\text{span}(S)$ y de $\text{span}(S)^\bot$ suman $3$, que es la dimensión de $\mathbb{R}^3$. Esto no es una casualidad, como veremos en la siguiente sección.

El teorema de dualidad

Las dimensiones de un subespacio de un espacio vectorial de dimensión finita, y de su espacio ortogonal, están relacionadas con la dimensión del espacio. Este es uno de los teoremas más importantes de dualidad.

Teorema. Sea $V$ un espacio vectorial de dimensión finita sobre $F$ y $W$ un subespacio de $V$ (o de $V^\ast)$. Entonces $$\dim W + \dim W^\bot = \dim V.$$

Demostración. Hagamos primero el caso en el que $W$ es un subespacio de $V$. Supongamos que $\dim V = n$ y que $\dim W = m$. Como $W$ es subespacio, tenemos que $m\leq n$. Tenemos que mostrar que $\dim W^\bot = n-m$, así que basta exhibir una base de $\dim W^\bot$ con $n-m$ formas lineales.

Para ello, tomemos $e_1,e_2,\ldots, e_m$ una base de $W$ y tomemos elementos $e_{m+1},\ldots,e_{n}$ que la completan a una base de $V$. Afirmamos que la base de $W^\bot$ que estamos buscando consiste de las formas coordenadas $e_{m+1}^\ast,\ldots,e_{n}^\ast$ correspondientes a $e_{m+1},\ldots,e_n$.

Por un lado, estas formas coordenadas son linealmente independientes, pues son un subconjunto de la base $e_1^\ast,\ldots, e_n^\ast$ de $V^\ast$. Por otro lado, si tenemos a una forma lineal $l$ de $V$, habíamos mostrado que la podemos expresar de la forma $$l=\sum_{i=1}^n \langle l, e_i \rangle e_i^\ast,$$ de modo que si $l$ se anula en todo $W$, en particular se anula en los vectores $e_1,\ldots,e_m$, por lo que $$l=\sum_{i=m+1}^n \langle l, e_i\rangle e_i^\ast,$$ lo cual exhibe a $l$ como combinación lineal de los elementos $e_{m+1}^\ast,\ldots,e_n^\ast$. De esta forma, este subconjunto de formas lineales es linealmente independiente y genera a $W^\bot$, que era justo lo que necesitábamos probar.

Ahora hagamos el caso en el que $W$ es un subespacio de $V^\ast$. Podríamos hacer un argumento análogo al anterior, pero daremos una prueba alternativa que usa la bidualidad canónica $\iota: V\to {V^\ast} ^\ast$. La igualdad $\langle l,v \rangle = 0$ es equivalente a $\langle \iota(v),l \rangle =0$. De esta forma, $v$ está en $W^\bot$ si y sólo si $\iota(v)\in {V^\ast} ^\ast$ se anula en todo $W$. Como $\iota$ es isomorfismo y el espacio de los $g\in {V^\ast} ^\ast$ que se anulan en $W$ tiene dimensión $$\dim V^\ast-\dim W = \dim V – \dim W$$ (por la primer parte del teorema), concluimos entonces que $$\dim W^\bot = \dim V – \dim W,$$ lo cual prueba la otra parte del teorema.

$\square$

Problema. Sea $W$ el subespacio de matrices simétricas de $M_3(\mathbb{R})$ ¿Cuál es la dimensión de $W^\bot$?

Solución. Se puede mostrar que $E_{11}$, $E_{22}$, $E_{33}$, $E_{12}+E_{21}$, $E_{23}+E_{32}$, $E_{13}+E_{31}$ forman una base para $W$. De esta forma, $W$ tiene dimensión $6$. Por el Teorema 1, tenemos que $\dim W^\bot = \dim M_3(\mathbb{R})-6=9-6=3$.

$\triangle$

Aplicar dos veces ortogonalidad en subespacios

Una consecuencia importante del teorema anterior es que aplicarle la operación «espacio ortogonal» a un subespacio de un espacio de dimensión finita nos regresa al inicio. Más formalmente:

Corolario. Si $V$ es un espacio vectorial de dimensión finita sobre un campo $F$ y $W$ un subespacio de $V$ (o de $V^\ast$), entonces $(W^\bot)^\bot=W$.

Demostración. Haremos la prueba para cuando $W$ es subespacio de $V$. La otra es análoga y se deja como tarea moral. Lo primero que vamos a mostrar es que $W\subset (W^\bot)^\bot$. Tomemos $w$ en $W$. Tenemos que mostrar que $l(w)=0$ para cualquier $l$ en $W^\bot$. Por definición, un $l$ en $W^\bot$ se anula en todo elemento de $W$, así que se anula particularmente en $w$, como queremos.

Como $W$ y $(W^\bot)^\bot$ son espacios vectoriales, tenemos que $W$ es subespacio de $(W^\bot)^\bot$. Por el teorema de dualidad, tenemos que $$\dim W^\bot = \dim V – \dim W.$$ Usando esto y de nuevo el teorema de dualidad, tenemos que $$\dim (W^\bot)^\bot = \dim V – \dim W^\bot = \dim W.$$

De esta forma, $W$ es un subespacio de $\dim (W^\bot)^\bot$ de su misma dimensión, y por lo tanto $W= (W^\bot)^\bot$.

$\square$

Hay que tener particular cuidado en usar el corolario anterior. Solamente se puede garantizar su validez cuando $W$ es un subespacio de $V$, y cuando $V$ es de dimensión finita. En efecto, si $S$ es simplemente un subconjunto de $V$ y no es un subespacio, entonces la igualdad $S=(S^\bot)^\bot$ es imposible, pues al lado derecho tenemos un subespacio de $V$ y al izquierdo no.

Más adelante…

En esta entrada hablamos de ortogonalidad y de espacios ortogonales como si fueran un concepto nuevo, dejando de lado, al menos por el momento, nuestras ideas previas de asociar ortogonalidad con perpendicularidad. También vimos cómo encontrar un espacio ortogonal de manera práctica y hablamos de un teorema muy importante: el teorema de la dualidad.

Lo que sigue es hablar de cómo la noción de ortogonalidad nos permite estudiar sistemas de ecuaciones e hiperplanos. En la siguiente entrada estudiaremos estos conceptos.

Tarea moral

A continuación hay algunos ejercicios para que practiques los conceptos vistos en esta entrada. Te será de mucha utilidad intentarlos para entender más la teoría vista.

  • Demuestra la proposición enunciada en la entrada.
  • Sea $S$ el subespacio de matrices diagonales en $M_n(\mathbb{R})$. ¿Cuál es la dimensión de $S^\bot$?
  • Considera $\mathbb{R}_3[x]$, el espacio vectorial de polinomios con coeficientes reales y grado a lo más $3$. Considera las formas lineales $\text{ev}_2$ y $\text{ev}_3$ que evalúan a un polinomio en $2$ y en $3$ respectivamente. ¿Quién es el espacio ortogonal de $\{\text{ev}_2,\text{ev}_3\}$?
  • Prueba la segunda parte del teorema de dualidad con un argumento análogo al que usamos para probar la primer parte.
  • Prueba el corolario para cuando $W$ es subespacio de $V^\ast$.
  • Verifica que las matrices propuestas en el último ejercicio en efecto forman una base para el subespacio de matrices simétricas.

Entradas relacionadas

Agradecimientos

Trabajo realizado con el apoyo del Programa UNAM-DGAPA-PAPIME PE104721 «Hacia una modalidad a distancia de la Licenciatura en Matemáticas de la FC-UNAM»

Álgebra Superior II: Construcción de números complejos

Por Leonardo Ignacio Martínez Sandoval

Introducción

En una entrada anterior esbozamos las construcciones de los números racionales y los números reales. Es hora de construir los números complejos. Para ello, definiremos primero el conjunto, $\mathbb{C}$, sobre el que trabajaremos, después definiremos sus operaciones.

Una forma intuitiva de visualizar a $\mathbb{C}$ es tomar el conjunto de los números reales ($\mathbb{R}$) y en ellos introducir un nuevo elemento, $i$, el cual satisface que $i^2=-1$. Este es, realmente, un nuevo elemento, pues en $\mathbb{R}$ siempre se tiene que $x^2\geq 0$.

Una vez que introducimos a $i$, queremos que las operaciones de suma y producto estén definidas en $\mathbb{C}$ y que, además este conjunto, sea cerrado bajo estas operaciones. Es decir, es necesario que para cualquier número real $b$ se tenga $bi\in \mathbb{C}$ y que para cualesquiera números reales $a$ y $b$ tengamos, también, $a+bi\in \mathbb{C}$. Resulta que esto «es suficiente», en el sentido de que ya no hay que meter más números para que las operaciones estén bien definidas. Veamos como es esto, si tenemos los números de la forma $a+bi$ y $c+di$ con $a,b,c,d\in \mathbb{R}$ y los sumamos y multiplicamos como sigue: $$(a+bi)+(c+di)=(a+c)+(b+d)i$$, vemos que, la suma, «tiene la misma forma» (ya que $a+c$ y $b+d$ son números reales) así como su producto:
\begin{align*}
(a+bi)(c+di)&=ac+bci+adi+bdi^2\\
&=(ac-bd)+(ad+bc)i.
\end{align*}
Desde luego que lo anterior es soló una discusión informal. En las siguientes secciones veremos cómo formalizar estas ideas.

Los números complejos se comportan muy bien en términos algebraicos y en términos de análisis. En términos algebraicos, esto se comenzará a notar en la última parte del curso en donde veremos que cualquier polinomio tiene por lo menos una raíz compleja. En cursos posteriores, como el de álgebra lineal, verás otras de las propiedades algebraicas de los polinomios. Más adelante, si llevas un curso de variable compleja verás las bellas propiedades analíticas que tienen los números complejos.

El campo de los números complejos

La construcción del conjunto de números complejos es bastante sencilla. Para hacerla, simplemente consideraremos las parejas de números reales $$\mathbb{C}=\{(a,b): a,b\in \mathbb{R}\}.$$

Por el momento a cada $(a,b)$ lo puedes pensar de manera informal como el complejo $a+bi$. Lo interesante del conjunto de los números complejos no son sus elementos en sí, sino las siguientes operaciones que están definidas en él.

Definición. Para $(a,b)$ y $(c,d)$ en $\mathbb{C}$, definimos su suma como $$(a,b)+(c,d)=(a+c,b+d).$$

Recordemos que dentro del paréntesis se usa la suma de $\mathbb{R}$ ya que $a$, $b$, $c$ y $d$ son números reales.

Definición. Para $(a,b)$ y $(c,d)$ en $\mathbb{C}$, definimos su producto como $$(a,b)(c,d)=(ac-bd,ad+bc).$$

Igualmente dentro del paréntesis se usan la suma y producto de $\mathbb{R}$. La definición de producto está motivada por la discusión que hicimos en la introducción.

Teorema. El conjunto $\mathbb{C}$, junto con las operaciones de suma y producto que definimos, es un campo.

Demostración. La suma es conmutativa y asociativa ya que cada entrada pertenece a $\mathbb{R}$ y en $\mathbb{R}$ la suma es conmutativa y asociativa. El neutro es $(0,0)$ pues $$(a,b)+(0,0)=(a+0,b+0)=(a,b)$$ y para $(a,b)$ su inverso aditivo es $(-a,-b)$.

Veamos ahora el producto. Probemos que es conmutativo. Para dos complejos $(a,b)$ y $(c,d)$ tenemos que $$(a,b)(c,d)=(ac-bd,ad+bc)$$ y que $$(c,d)(a,b)=(ca-db,cb+da).$$

Ambos resultados son iguales ya que cada entrada pertenece a $\mathbb{R}$ y la suma y el producto son conmutativos en $\mathbb{R}$.

Probemos que el producto es asociativo. Para ello tomemos tres complejos $(a,b)$, $(c,d)$ y $(e,f)$. Tenemos que
\begin{align*}
[(a,b)(c,d)](e,f)&=(ac-bd,ad+bc)(e,f)\\
&=(ace-bde-adf-bcf,acf-bdf+ade+bce),
\end{align*} y que
\begin{align*}
(a,b)[(c,d)(e,f)]&=(a,b)(ce-df,cf+de)\\
&=(ace-adf-bcf-bde,acf+ade+bce-bdf),
\end{align*}

Ambas expresiones son iguales ya que cada entrada pertenece a $\mathbb{R}$ y la suma es conmutativa en $\mathbb{R}$.

El complejo $(1,0)$ actúa como neutro multiplicativo, pues $$(a,b)(1,0)=(a\cdot 1 – b\cdot 0, a\cdot 0 + b\cdot 1)=(a,b).$$ Además, si tomamos un complejo $(a,b)\neq (0,0)$ y lo multiplicamos por $\left(\frac{a}{a^2+b^2},\frac{-b}{a^2+b^2}\right)$ obtenemos \begin{align*}
(a,b)\left(\frac{a}{a^2+b^2},\frac{-b}{a^2+b^2}\right)&= \left(\frac{a^2+b^2}{a^2+b^2}, \frac{-ab}{a^2+b^2}+\frac{ba}{a^2+b^2}\right)\\ &= (1,0),
\end{align*} lo cual muestra que tenemos inversos multiplicativos.

Sólo falta demostrar la propiedad distributiva. Su verificación se deja como tarea moral.

$\square$

La copia de los reales en los números complejos

Dentro de $\mathbb{C}$ hay una copia de los números reales. Esta consiste en asociarle, a cada número real $a$, el número complejo $\varphi(a)=(a,0)$. Esta asociación es claramente biyectiva. Además, si $a$ y $b$ son números reales, tenemos que $$(a,0)+(b,0)=(a+b,0)=\varphi(a+b)$$ y
\begin{align*}
(a,0)(b,0) &= (ab-0\cdot 0, a\cdot 0 + b\cdot 0)\\
&= (ab,0) = \varphi(ab).
\end{align*}
Además los neutros se van a neutros y los inversos a inversos. Esto muestra que $\varphi$ es una asociación biyectiva entre $\mathbb{R}$ y los complejos de la forma $(a,0)$ y que respeta la estructura de campo de $\mathbb{R}$.

Por otro lado, notemos que $$(0,1) (0,1)= (0\cdot 0 – 1\cdot 1, 0\cdot 1 + 1\cdot 0)= (-1, 0).$$

En otras palabras, al elevar el complejo $(0,1)$ al cuadrado obtenemos el número $(-1,0)$, que es precisamente $\varphi(-1)$.

Tras toda esta discusión, estamos justificados entonces en llamar simplemente $1$ al complejo $(1,0)$, en llamar $i$ al complejo $(0,1)$, y por lo tanto en llamar $a+bi$ al complejo $(a,b)$. A partir de aquí ya podemos olvidar la notación de parejas y tratar a los números complejos como lo discutimos en la introducción.

Operaciones en la notación $a+bi$

La notación $a+bi$ para números complejos es bastante práctica. Podemos trabajar con los complejos «igualito que en $\mathbb{R}$, pero, además, con la propiedad de que $i^2=-1$».

Como $i^4=(-1)^2=1$, tenemos que las potencias de $i$ se ciclan cada cuatro: $$1, i, i^2, i^3, i^4, i^5, i^6, \ldots$$ son $$1,i, -1, -i, 1, i,\ldots .$$ Ya mencionamos en la introducción que para complejos $a+bi$ y $c+di$ se tiene que $$(a+bi)+(c+di)=(a+c)+(b+d)i$$ y que $$(a+bi)(c+di)=(ac-bd)+(ad+bc)i,$$ de modo que cualquier composición de sumas y productos de números complejos se puede simplificar a la forma $x+yi$ con $x$ y $y$ reales.

Ejemplo. Simplifica la expresión $$(1+i)(1-i)+(2+i)(3-4i).$$ Solución. Haciendo el producto del primer sumando tenemos $(1+i)(1-i)=1^2-i^2=1-(-1)=2$. Haciendo el producto del segundo sumando tenemos \begin{align*}
(2+i)(3-4i)&=6+3i-8i-4i^2\\
&=6-5i+4\\
&=10-5i.
\end{align*}
De esta forma, el resultado de la operación es $$2+(10-5i)=12-5i.$$

$\triangle$

En complejos también podemos usar expresiones fraccionales, como $\frac{3+2i}{5-i}$. Si queremos pasar estas expresiones a la forma $x+yi$ con $x$ y $y$ reales, tenemos que pensar a $\frac{1}{5-i}$ como «el inverso multiplicativo de $5-i$», que como vimos en la demostración de que $\mathbb{C}$ es un campo, es $$\frac{5}{5^2+(-1)^2}+\frac{1}{5^2+(-1)^2}i=\frac{5}{26}+\frac{1}{26} i.$$ Una vez hecho esto, tenemos que \begin{align*}
\frac{3+2i}{5-i}&=(3+2i)\left( \frac{5}{26}+\frac{1}{26} i \right)\\
&=\frac{13}{26} + \frac{13}{26} i\\
&=\frac{1}{2}+\frac{1}{2} i.
\end{align*}

Otra forma de pensarlo es que a una expresión de la forma $\frac{a+bi}{c+di}$ la podemos simplificar «multiplicando arriba y abajo» por $c-di$. De esta forma, obtenemos
\begin{align*}
\frac{a+bi}{c+di} \cdot \frac{c-di}{c-di} = \left(\frac{ac+bd}{c^2+d^2}\right) + \left(\frac{bc-ad}{c^2+d^2}\right)i.
\end{align*}

Ambos métodos dan el mismo resultado.

Más adelante…

Al tomar un número complejo $z=a+bi$ y calcular su inverso, aparecen de manera natural las expresiones $a-bi$ y $a^2+b^2$. Estas expresiones son fundamentales.

  • A $a-bi$ se le conoce como el conjugado de $z$, y se denota por $\overline{z}$.
  • A $\sqrt{a^2+b^2}$ se le conoce como la norma de $z$ y se denota por $|z|$.

En la siguiente ocasión hablaremos de las propiedades de estas dos operaciones y cómo están relacionadas entre sí. Más adelante veremos su utilidad al resolver ecuaciones cuadráticas en los números complejos.

Si quieres, puedes revisar esta entrada sobre aplicaciones interesantes de los números complejos en la resolución de problemas. Tiene teoría que no hemos visto, pero te puede servir de motivación para aprender lo que veremos a continuación.

Tarea moral

A continuación hay algunos ejercicios para que practiques los conceptos vistos en esta entrada. Te será de mucha utilidad intentarlos para entender más la teoría vista.

  1. Demuestra que en los complejos se satisface la ley distributiva.
  2. Verifica que bajo la asociación $\varphi$ en efecto los neutros se van a los neutros y los inversos a inversos.
  3. Realiza la operación $(1+i)(2+i)(1+2i)(2+2i)$ y expresa el resultado de la forma $x+yi$ con $x$ y $y$ reales.
  4. Realiza la operación $$\frac{3+5i}{2+i}-\frac{1+2i}{4-3i}$$ y expresa el resultado de la forma $x+yi$ con $x$ y $y$ reales.
  5. Realiza la operación $$1+(1+i)+(1+i)^2+(1+i)^3+(1+i)^4$$ y expresa el resultado de la forma $x+yi$ con $x$ y $y$ reales.

Entradas relacionadas

Agradecimientos

Trabajo realizado con el apoyo del Programa UNAM-DGAPA-PAPIME PE104522 «Hacia una modalidad a distancia de la Licenciatura en Matemáticas de la FC-UNAM – Etapa 2»