¿Cuáles son los usos más emocionantes del día a día del álgebra abstracta, el álgebra lineal y otras nociones abstractas de las matemáticas?

La teoría de números se usa en criptografía de clave pública, como en el esquema de cifrado RSA. RSA se usa, por ejemplo, en el cifrado SSL que se usa cada vez que visita un sitio web donde la URL comienza con ‘https: //’ (es decir, para iniciar sesión en su correo electrónico, Facebook, etc.) Esto se usa “día a día “en nuestras vidas, aunque sucede detrás de escena, así que rara vez pensamos en ello.

Digamos que Alice quiere enviarle un mensaje a Bob, pero no quiere que nadie que intercepte el mensaje pueda leerlo (pero al mismo tiempo, Bob necesita poder leerlo cuando lo reciba). La forma en que funciona la criptografía de clave pública es la siguiente. Bob elige un par de clave pública-clave privada: la idea es que Bob guarde su clave privada para sí mismo y les diga a todos los demás la clave pública. Cualquiera que quiera enviarle un mensaje a Bob lo cifrará usando la clave pública, y solo la clave privada puede descifrarlo.

Una forma específica de hacer criptografía de clave pública es el esquema RSA, que funciona de la siguiente manera. Bob elige hacer números primos enormes [matemática] p [/ matemática] y [matemática] q [/ matemática], y calcula [matemática] N = pq [/ matemática]. Bob luego elige una clave privada [math] d [/ math] y la clave pública correspondiente será [math] e [/ math] de modo que [math] ed \ equiv 1 \ pmod {(p-1) (q-1 )}[/matemáticas]. Si Alice quiere enviar el mensaje [math] m [/ math] a Bob, lo cifra como [math] c = m ^ e \ pmod {N} [/ math] y envía [math] c [/ math] a Mover. Cuando Bob lo recibe, calcula [matemáticas] m = c ^ d \ pmod {N} [/ matemáticas].

En primer lugar, ¿por qué funciona esto? Bob puede descifrar usando su clave privada debido al teorema de Euler (que es solo un caso especial del teorema de Lagrange), que establece que para cualquier número [matemático] N [/ matemático] y cualquier número [matemático] un [/ matemático] coprime a [matemáticas] N [/ matemáticas], tenemos [matemáticas] a ^ {\ phi (N)} \ equiv 1 \ pmod {N} [/ matemáticas] donde [matemáticas] \ phi (N) [/ matemáticas] es el cantidad de enteros positivos menores o iguales a [matemática] N [/ matemática] que son coprimos a [matemática] N [/ matemática]. Pero para [matemáticas] N = pq [/ matemáticas], tenemos [matemáticas] \ phi (N) = (p-1) (q-1) [/ matemáticas], entonces las teclas [matemáticas] d, e [/ matemáticas] se eligen precisamente para que [matemáticas] c ^ d = (m ^ e) ^ d = m ^ {de} \ equiv m \ pmod {N} [/ matemáticas].

Pero, ¿por qué es esto seguro? Bueno, en realidad no lo sabemos con certeza, pero se basa en el supuesto de que es difícil factorizar números grandes (más precisamente, no existe un algoritmo de tiempo polinómico para factorizar). Tenga en cuenta que la única forma en que puede descubrir la clave privada [matemática] d [/ matemática] al conocer [matemática] e [/ matemática] y [matemática] N [/ matemática] es saber que [matemática] N [/ matemática] factores en [math] pq [/ math] y luego calcular [math] d = e ^ {- 1} \ pmod {(p-1) (q-1)} [/ math].

¿Qué tal el uso de [math] \ sigma [/ math] -algebra [Sigma-algebra] en finanzas matemáticas? Se utiliza para modelar la información que tiene un tomador de decisiones hasta un momento determinado.

Por ejemplo, al fijar el precio de una opción, deje que [math] X_t [/ math] sea un proceso estocástico definido de [math] t = 0 [/ math] a [math] t = T [/ math] y [math] V (x = X_T) [/ math] será la función de pago evaluada en [math] X_T [/ math]. Un enfoque para fijar el precio de esta opción es definir una función de valor

[matemáticas] f (X_t, t) = E [V (X_T) | F_t] [/ matemáticas],

y para resolver [matemáticas] f [/ matemáticas] hacia atrás en el tiempo. donde [math] F_t [/ math] es [math] \ sigma [/ math] -Álgebra generada por {[math] X _ {\ tau} [/ math], [math] \ tau = 0 [/ math] a [math] t [/ math]} que contiene la información completa hasta el momento [math] t [/ math].

Para propagar [math] f (X_t, t) [/ math] hacia atrás en el tiempo, supongamos que el tiempo se cuantifica de manera que [math] \ Delta t = 1 [/ math], [math] X_t [/ math] sea Markov y toma solo valores enteros.

[matemáticas] f (X_t, t) = E [V (X_T) | F_t] [/ matemáticas]
[matemáticas] = E [E [V (X_T) | F_ {t + 1}] | F_t] [/ math], usando la propiedad Tower
[matemáticas] = E [f (X_ {t + 1}, t + 1) | F_t] [/ matemáticas]
[matemáticas] = E [f (X_ {t + 1}, t + 1) | G_t] [/ math], usando la propiedad Markov
[matemática] = \ sum_j f (j, t + 1) P (X_ {t + 1} = j | X_t = k) [/ matemática], si [matemática] X_t = k [/ matemática]

Entonces [math] f [/ math] en el tiempo [math] t [/ math] es una combinación lineal de [math] f [/ math] en el tiempo [math] t + 1 [/ math]. [math] G_t [/ math] es el [math] \ sigma [/ math] -algebra generado por [math] X_t [/ math] solamente.

Los usos del álgebra lineal son muy diversos. Hay un curso en Coursera que comenzará pronto. Este sitio ofrece una visión general de las cosas geniales que podrá hacer después de tomar el curso: Codificación de la matriz.
Sin embargo, en el nivel de pregrado que llega a los usos ‘no tan sofisticados’ pero ‘muy esclarecedores’ del álgebra lineal, puede usarlo para encontrar la solución a las recurrencias de tipo Fibonacci. Por ejemplo, tuve un problema de codificación que requería calcular el valor de [math] F (n) [/ math] para valores grandes de [math] n [/ math] donde
[matemáticas] F (n) = 2 (F (n – 1) + F (n – 2)) [/ matemáticas]
La recursión causaría un desbordamiento para valores de [matemática] n [/ matemática] que van hasta [matemática] 10 ^ 9 [/ matemática]. La programación dinámica tampoco ayudará, porque el límite de memoria en la mayoría de las competiciones es de 256 Mb. Entonces, aquí es donde entra el Álgebra Lineal y hace que este problema aparentemente difícil sea pan comido.
Puede escribir la relación de recurrencia anterior en la forma de matriz como:

[matemáticas] [F (n) \\ F (n – 1)] [/ matemáticas] = [matemáticas] [2 \\ 2, 1 \\ 0] [/ matemáticas] [matemáticas] \ veces [F (n – 1) \\ F (n – 2)] [/ matemáticas]

que además se puede escribir como:

[matemáticas] [F (n) \\ F (n – 1)] = [2 \\ 2, 1 \\ 0] ^ n \ veces [F (1) \\ F (0)] [/ matemáticas]

Con [math] F (1) [/ math] & [math] F (0) [/ math] siendo conocido, puede usar el concepto de diagonalización para calcular [math] [2 \\ 2, 1 \\ 0] ^ n [/ matemáticas]. Llame a [math] [2 \\ 2, 1 \\ 0] [/ math] como [math] A [/ math]. Ahora [math] A [/ math] puede escribirse como:

[matemáticas] A = C ^ {-1} DC [/ matemáticas]

Donde [math] C [/ math] es la matriz que contiene los vectores propios de [math] A [/ math] y [math] D [/ math] es la matriz que contiene los valores propios de [math] A [/ math] como sus entradas diagonales. Ahora, es fácil ver que:

[matemáticas] A ^ 2 = C ^ {- 1} DC \ veces C ^ {- 1} DC = C ^ {- 1} D ^ 2 C [/ matemáticas]

similar,

[matemáticas] A ^ n = C ^ {- 1} D ^ n C [/ matemáticas]

[math] D ^ n [/ math] es fácil de calcular ya que es igual a una matriz diagonal cuyas entradas diagonales son entradas diagonales [math] D [/ math] elevadas a la potencia de [math] n [/ math].
Entonces, ahora puede proceder y calcular [matemática] F (n) [/ matemática] en términos de [matemática] n [/ matemática] o puede implementar técnicas como la exponenciación binaria para calcular su respuesta.

El álgebra lineal forma la base de las transformadas de Fourier, etc. (álgebra lineal sobre el espacio de cierto tipo de funciones). Ahora las transformadas de Fourier forman la base de gran parte del procesamiento de señales (radios, procesamiento de señales de voz y teoría de la comunicación).