25 5 PRODUCTO DE MATRICES. PARTE II. El punto de vista matricial. 5 Producto de matrices. Recordemos el lenguaje general de funciones (que se usa también en Cálculo): la suma f + g de dos funciones es la función x → f (x) + g(x) la composición f ◦ g de dos funciones es “aplicarlas una tras otra”: x → f (g(x)) En el Cálculo de 1 variable, tanto el argumento (input) como el valor (output) de cada función son números, lo que permite en general sumar o componer cualesquiera dos de ellas. En nuestro caso, como en el Cálculo de varias variables, cada función va de IRn a IRm para ciertos n, m, lo que establece restricciones a la hora de sumar o componer dos de ellas: Si A, B son dos matrices de igual tamaño m × n , la matriz suma A + B , con entradas aij + bij , es la que produce la función suma A + B : IRn → IRm ; porque si Aj , Bj (j = 1, . . . , n) son las columnas de A y de B , la función suma es la que aplica cada vector unidad ej en A(ej ) + B(ej ) = Aj + Bj , y esa es precisamente la columna j de la matriz A + B . Definición de la matriz producto Supongamos en cambio que las dimensiones de A, B permiten componer las dos funciones: A B IRn → IRm → IRp ¿Cuál será la matriz de la composición x → B ◦ A(x) = B(A(x)) ? DEFINICION: Llamamos producto BA a la matriz (p × n) de la composición B ◦ A : IRn → IRp . Por lo tanto, el producto sólo está definido si las dimensiones de las matrices A, B permiten componer las funciones: tantas filas A como columnas B ; al escribir en lo sucesivo cualquier producto de matrices, daremos por sobreentendido que esto se cumple. Ya en la Sección B habı́amos definido el producto de una matriz A por un vector columna [x]; veamos ahora que aquella definición queda incluı́da en ésta: PROPOSICION 1: Sean Aj las columnas de A , vj las filas de B . 1. la columna j de BA es el producto BAj ; 2. la fila i de BA es el producto vi A ; 3. la entrada ij de BA es el producto escalar vi · Aj = 4. y su traspuesta es: (BA)T = AT B T ! k bik akj ; Prueba: • B(A(ej )) = B(Aj ) = al producto B[Aj ] (como en la Sección B), y eso es lo que dice 1. ; en el caso particular de que A sólo tenga una columna, resulta que el producto recién definido coincide con el de la Sección B; • pero la entrada i del vector columna B[Aj ] es la suma dada en 3. ; • si en 3. intercambiamos filas ↔ columnas y derecha ↔ izquierda, resulta lo que dice 4. ; • y con ese intercambio, viendo vi , Aj como matrices con una sola linea (fila o columna), lo que afirma 2. se reduce a 1. Conviene actualizar ahora nuestro CONVENIO: un vector x ∈ IRn se identificará por defecto con una columna x = [xi ] , pero se podrá escribir si conviene como la fila (x1 , ..., xn ); cuando esa fila aparezca como factor en un producto de matrices, se llamará xT . Ver Ejemplos 5.1, 5.2 26 5 PRODUCTO DE MATRICES. Propiedades de las operaciones Las matrices 1 × 1 son obviamente los números, y las operaciones suma y producto recién definidas son las que ya tenı́an: multiplicar por la matriz [c] es simplemente multiplicar por el factor c . Esas operaciones con números tenı́an unas ciertas propiedades: a + b = b + a ; (a + b) + c = a + (b + c) ; a + 0 = a ; (a + b)c = ac + bc ; ab = ba ; (ab)c = a(bc) ; a1 = a ; todo a &= 0 , tiene un inverso 1/a que cumple: a (1/a) = 1 ; y si a &= 0, entonces ba = ca ⇒ b = c Pregunta: ¿cuáles de ellas se siguen cumpliendo para matrices? Veamos la respuesta en varias etapas: • Ningún problema con la suma, puesto que la suma de matrices, como la de vectores, es “coordenada a coordenada”; el ‘0’ es obviamente la matriz (del mismo tamaño que A ) llena de ceros, a la que llamaremos O. • Por otro lado, la definición de suma y producto garantiza automáticamente que (A + B)C = AC + BC , (AB)C = A(BC) porque ambos lados de cada igualdad dan a cada x la misma imagen: A(C(x)) + B(C(x)) , A(B(C(x))) y también implica que la unidad del producto es la función identidad: IRn → IRn , de matriz 1 .. I= . 1 • En cambio, es FALSO en general que se tenga Veamos por qué: AB = BA , o que BA = CA ⇒ B = C si A &= O . • No es razonable esperar que AB = BA , porque el resultado de una secuencia de operaciones no es insensible al orden en que se hacen, la vida está llena de ejemplos de eso... Veamos uno sencillo: ( ) −1 G= es la matriz de un giro en el plano (1/4 de vuelta), 1 no conmuta con la S del Ejemplo 5.1: GS &= SG ; y es fácil ver gráficamente por qué . Ver Ejemplos 5.3, 5.4 • La cuestión de cuándo se puede cancelar el factor A en la igualdad BA = CA está relacionada con la siguiente Pregunta: ¿qué matrices A dan funciones biyectivas : IRn → IRm ? (biyectiva ≡ inyectiva y sobre) Matrices inversas La respuesta a esa pregunta ya la sabemos desde la Sección 2: • que A : IRn → IRm sea inyectiva equivale a que sea Ker(A) = {0} , y no es posible si n > m ; • que A : IRn → IRm sea sobre equivale a que sea rango(A) = m , y no es posible si n < m ; • si n = m , las dos afirmaciones Ker(A) = {0} , rango(A) = m , son equivalentes. (ambas equivalen a que salgan tantos pivotes como filas y columnas) 27 5 PRODUCTO DE MATRICES. DEFINICION: Llamamos invertible (o regular) a la matriz A de una función lineal biyectiva; es decir a una matriz n × n con rango = n. Su inversa es la matriz B = A−1 que da la biyección inversa. Es decir, pedimos que sea BA = AB = I , la matriz que da la función identidad de IRn . En vista de de la PROPOSICION 1,3. , la igualdad BA = I se traduce en: cada fila vi de B cumple vi · Ai = 1 , y es perpendicular a todas las otras columnas de A . Esto da a veces el modo más simple de resolver la ecuación XA = I : hallar una B que cumpla la segunda condición, y dé un producto diagonal BA = D; luego, dividir cada fila vi por el factor adecuado. Ver Ejemplos 5.5 al 5.7 El rango de un producto La clave para entender bien el Ejemplo 5.6 es la siguiente PROPOSICION 2: rango(BA) ≤ min{ rango(B) , rango(A) } Prueba: Como Im(BA) ⊂ Im(B) , basta recordar que rango(B) = dim(Im B) , para tener rango (BA) = dim(Im(BA)) ≤ rango(B) ; pero entonces también rango(BA) = rango((BA)T ) ≤ rango(AT ) = rango(A) Ver Ejemplos 5.8 al 5.10 Proyección sobre un subespacio Un caso de especial interés es el siguiente: recordemos (Secciones 1 a 3) qué SEL se resolvı́a para proyectar b ∈ IRn sobre el subespacio L = Im A , donde la matriz A era n × r , con rango = r < n (es decir, con r columnas independientes). En vista de la PROPOSICION 1.3, podemos ver ahora que la matriz de aquel SEL era el producto P = AT A . PROPOSICION 3: Para P = AT A , se tiene: Ker(P ) = Ker(A) , Im(P ) = Im(AT ) , rango(P ) = rango(A) . Prueba: Ax = 0 ⇒ AT Ax = 0 ⇒ |Ax|2 = xT AT Ax = 0 ⇒ Ax = 0 , luego Ker(P ) = Ker(A) , y como A, P tienen igual dominio, sus Im tendrán igual dimensión: rango(P ) = rango(A) Pero es evidente que Im(P ) ⊂ Im(AT ) , y la igualdad resulta de que rango(AT ) = rango(A) =rango(P ) . Lo que acabamos de probar vale para cualquier matriz A , pero en nuestro caso resulta ser rango(P ) = r = tamaño de P ; es decir P tiene inversa, y el SEL P x = β , solución única. Esto ya lo habı́amos razonado en el Tema 3, pero ahora todo sale mucho más limpio y claro, incluyendo una fórmula para la matriz πL : Buscamos x tal que Ax = b̂ = b − ε , con ε ∈ L⊥ = Ker(AT ) . Luego AT Ax = AT b̂ = AT b , y como AT A tiene inversa, x = (AT A)−1 AT b , b̂ = Ax = A(AT A)−1 AT b , de modo que πL = A(AT A)−1 AT . Ver Ejemplo 5.11 28 5 PRODUCTO DE MATRICES. Ejemplos: 5.1 Una matriz simétrica Si S = ( 5.2 Matrices diagonales y triangulares 1 ) , ¿cómo debe ser A para que esté definido el producto SA ? Dar un ejemplo. 1 ¿Qué relación hay entre las filas de A y las de SA ? Verificar que el producto SA cumple cada uno de los apartados 1.-4. de la PROPOSICION 1. ¿Qué relación hay entre las columnas de AT y las del producto AT S ? Nótese que S T = S . Esa es la definición de matriz simétrica. Una matriz diagonal es una matriz cuadrada D cuyas entradas son = 0 salvo (quizá) las de su diagonal, que son las dii . La función D : IRn → IRn se limita a multiplicar cada coordenada xi por el factor dii . ( ) 0 Comprobarlo para D = , y decir qué relación hay entre las filas o columnas de A y las de −2 las dos matrices AD , DA (suponiendo como hemos convenido que esos productos sean posibles). Razonar por qué un producto de matrices diagonales también lo es, y calcular del modo más simple posible la matriz D2 + 2D + 2I Sugerencia: ¿quién es (D + 2)D ? Una matriz es triangular superior (inferior)7 si todas sus entradas por debajo (por encima) de su diagonal son =0. (Un ejemplo son las matrices que produce el método de Gauss al resolver un SEL). Razonar por qué un producto de matrices triangulares sup (o inf) también lo es. 5.3 Matrices que no conmutan Comprobar que la S del Ejemplo 5.1 tampoco conmuta con la matriz A= Con las ideas de ese Ejemplo, hallar todas las A que sı́ conmutan con S. 5.4 ( 0 0 1 0 ) . La propiedad distributiva Razonar por qué la igualdad A(B + C) = AB + AC se reduce a afirmar que la función A es lineal. Por otro lado, usando el apartado 4. de la PROPOSICION 1, probar que: afirmar que A(B + C) = AB + AC para cualesquiera A, B, C que permitan esos productos, equivale a afirmar que (B + C)A = BA + CA para cualesquiera A, B, C que permitan esos productos. 5.5 Manera sensata de calcular una inversa 5.6 ¿Condición suficiente para ser inversa? c −1 0 Sea A = −1 c −1 0 −1 c Poner primero c = 1 , y hallar A−1 resolviendo el SEL AX = I . Usar ahora la otra idea: empezar por buscar vectores perpendiculares a cada 2 de las columnas de A (o de sus filas). Esto puede hacerse para cualquier valor de c ; pero ¿para qué valores habrá una A−1 ? La igualdad AB = I , ¿garantiza que B es la inversa de A ? ( ) 1 ¡NO! Por ejemplo: [10] = [1] = I 0 7 En algunos textos se reserva este nombre para las que además son cuadradas. 29 5 PRODUCTO DE MATRICES. Este es el contraejemplo más simple posible, y es muy fácil ver que una de esas dos funciones no es inyectiva y la otra no es sobre. Pero si las matrices A, B son cuadradas, la respuesta es sı́. ¿Por qué? 5.7 ¿Simplificar factores? Si sabemos que BA = B, ¿implica eso que A = I ? Dar un ejemplo en el que no es ası́. Idea: ¿Qué cumplen las columnas de N = A − I ? ¿Y qué podemos decir si sabemos que BA = CA ? ¿Y si sabemos además que A es invertible? ¿Bastará con alguna condición más débil? 5.8 Inversas a un lado Si BA = I : IRn → IRn , ambas tendrán rango n , y una de ellas será sobre, la otra inyectiva. ¿Por qué, y cuál es cuál? DEFINICION: Si se da esa igualdad, llamaremos a B una inversa a la izquierda de A , y a A una inversa a la derecha de B . Deducir qué matrices pueden tener inversas de cada tipo sin ser cuadradas. Probar que BC y B tienen el mismo rango si C es invertible. ¿Bastará alguna condición más débil? 5.9 La inversa de un producto Si en las notaciones de la PROPOSICION 1 existe la inversa de BA , ¿qué relaciones debe haber entre m, n, p ? Si sabemos que existen A−1 , B −1 , razonar que A−1 B −1 = (BA)−1 , de dos maneras: • cómo deshacer una secuencia de acciones; −1 • BAA B −1 (me he puesto los calcetines, y luego los zapatos . . . ) = I , y todas son matrices cuadradas. 5.10 Otro modo de ver las semi-inversas 5.11 Una proyección ¿Por qué se debe usar ese hecho? ( ) 1 0 2 Sea A = . ¿Cuál de las ecuaciones AX = I ó XA = I tendrá solución? Resolverla. −1 1 0 Si vemos esa ecuación como un SEL con las 6 entradas de la matriz X como incógnitas, ¿qué rango tiene la matriz de ese SEL, y cuántos parámetros libres hay en la solución? Por lo tanto, la semi-inversa no es única. Generalizar esa conclusión, y ver por qué no se extiende al caso de una inversa. Para la del Ejemplo 2.3, usar la matriz A que proceda para volver a calcular la de πL como A(AT A)−1 AT Suponer que estuviésemos en el caso de que las columnas Aj de la matriz A sean todas perpendiculares entre sı́ (probablemente eso no le ocurre a la matriz A que acabamos de usar). Bajo esa hipótesis, convencerse de que las siguientes afirmaciones serı́an ciertas: • La matriz AT A es diagonal, con entradas djj = |Aj |2 ; • Dado un vector [b] , el producto AT b es un vector columna con entradas Ai · b , luego el producto (AT A)−1 AT b es un vector columna con entradas (Ai · b)/|Ai |2 ; • Por lo tanto πL (b) es la suma ! i ci Ai , con ci = (Ai · b)/|Ai |2 Esto es mucho más simple que el caso general, y tiene una extraordinaria importancia en las aplicaciones. Se la llama la fórmula de proyección, y la hemos encontrado hace tiempo: ¡al proyectar sobre una recta! Lo bueno es que esa hipótesis es “fácil de comprar”: volver al ejemplo anterior, encontrar dos vectores perpendiculares entre sı́ que formen otra base del mismo subespacio L , y usarlos como columnas de una nueva matriz A , para poder escribir con ellas la fórmula de proyección. 30 6 DETERMINANTES. 6 Determinantes. Permutaciones Una permutación es un “cambio de orden” como el que vemos en estos números: 2 , 3 , 1 Conviene pensarla como una biyección σ del conjunto de ı́ndices I3 = {1, 2, 3} en sı́ mismo, que dice lo que hay en cada posición: σ(i) es el número que está en posición i ; la idea se recoge en este diagrama, donde las flechas van de cada i al correspondiente σ(i) , 1 1 2 2 3 3 o en esta “tabla”: i= 1 2 3 1 • 2 3 = σ(i) • • Ambos ayudan a ver la biyección inversa σ , que dice en qué posición está cada número: – en el diagrama, basta invertir las flechas, es decir intercambiar los papeles de derecha e izquierda; – en la tabla, basta intercambiar los papeles de filas y columnas. (σ −1 resulta ser: 3 , 1 , 2 ) CONSECUENCIAS: −1 • Es fácil contar cuántas permutaciones distintas admiten los n ı́ndices de In : hay n valores posibles para σ(1), quedan n − 1 para σ(2), ... ; en total, n(n − 1)(n − 2) · · · = n! permutaciones. • Llamemos una inversión de σ a cada par de ı́ndices i, k que estén “mal ordenados” (como el 2,1 en el ejemplo); en el diagrama, cada inversión es un cruce de flechas, y eso muestra que σ −1 tiene siempre el mismo número de inversiones que σ . • Si vemos la tabla como una matriz P , con ‘1’ en los lugares marcados y ‘0’ en los demás, se ve que la función P es la que hace la permutación σ con las coordenadas xi : x1 x2 P x2 = x3 x3 x1 Por lo dicho arriba, la matriz traspuesta P T da la inversa σ −1 , es decir P T P = I . DEFINICION: Llamamos a σ una permutación par o impar según sea la paridad de su número de inversiones; su signo es s(σ) = 1 si σ es par, = −1 si es impar; es decir, s(σ) = (−1)m si hay m inversiones en σ. Una trasposición τ es una permutación que intercambia dos ı́ndices. El ejemplo de arriba es par: tiene 2 inversiones y signo s(σ) = (−1)2 = 1 . Puede probarse lo siguiente: Si componemos σ con una trasposición τ , su signo cambia. Por ejemplo, 4, 3, 2, 1 es par, porque resulta de 1, 2, 3, 4 con las dos trasposiciones 1↔4, 2↔3. Como consecuencia, hay tantas permutaciones pares como impares, porque al componer con una τ , cada dos pares distintas se convierten en impares distintas y recı́procamente. Para n = 3 , éstas son todas: σ inversiones s(σ) 1, 2, 3 0 1 2, 3, 1 2 1 3, 1, 2 2 1 2, 1, 3 1 −1 1, 3, 2 1 −1 3, 2, 1 3 −1 (la primera es la identidad, y las 3 impares son trasposiciones). Ver Ejemplos 6.1, 6.2 y 6.3 31 6 DETERMINANTES. Definición del determinante Sea A = [aij ] una matriz cuadrada, con columnas A1 , ..., An ∈ IRn . DEFINICION: det(A) = * σ a1σ(1) · · · anσ(n) · s(σ) Otras notaciones para el determinante de A son: |A| , det(A1 , ..., An ) . La suma es sobre las n! permutaciones de In , y la mitad tienen s(σ) = −1 ; por ejemplo: σ = 1, 2 σ = 2, 1 + + + a11 a12 + n= 2 : + + = a11 a22 − a12 a21 + a21 a22 + σ pares σ impares + + + a11 a12 a13 + a a a − a13 a22 a31 11 22 33 + + n = 3 (“regla de Sarrus”): + a21 a22 a23 + = + a12 a23 a31 − a12 a21 a33 + + + a31 a32 a33 + + a13 a21 a32 − a11 a23 a32 PROPOSICION 1: 1. det(AT ) = det(A) . (En consecuencia, todo lo que se diga para columnas vale para filas) 2. Si intercambiamos dos columnas Aj , Ak (o dos filas), el det(A) cambia de signo. 3. Si An = cen y B es la submatriz i, j < n , det(A) = c det(B) . , 4. Si A es una matriz diagonal (o triangular), det(A) = i aii . (El producto de la diagonal de A). Prueba: 1. Como la entrada ij de AT es aji , cada sumando de det(AT ) es: aσ(1)1 · · · aσ(n)n · s(σ) que coincide exactamente con el sumando correspondiente a σ −1 en det(A) , puesto que σ, σ −1 tienen el mismo signo. 2. Llamemos A# a la matriz resultante del intercambio de columnas; ahora también cada producto a1σ(1) · · · anσ(n) en det(A) coincide con otro a#1σ! (1) · · · a#nσ! (n) en det(A# ) , pero σ # es la composición de σ con la trasposición hecha, luego ambos productos llevan cada vez signo opuesto. 0 .. B . 3. La matriz A es: , luego el sumando σ es = 0 salvo si σ(n) = n , 0 ∗ ··· ∗ c en cuyo caso tiene el factor ann = c . Además, esas σ son exactamente las permutaciones de 1, ..., n−1 (con sus mismos signos, recordar Ejemplo 6.3), luego si se saca de det(A) el factor común ann = c , queda exactamente det(B) . Nótese que los anj con j < n (los ‘∗’ debajo de B) no aparecen en el det(A) . 4. Si por ejemplo A es triangular inferior, cada σ &= identidad da un sumando = 0 , porque hay algún σ(i) > i (el primero que no sea = i), y aij = 0 si j > i . El único sumando que sobrevive es a11 · · · ann . Ver Ejemplo 6.4 COROLARIO 1: Una matriz con dos columnas (o filas) iguales, tiene det= 0 . Se deduce de 2.: si intercambiamos esas columnas cambia el signo de det(A) sin que A cambie. 32 6 DETERMINANTES. El determinante como función de uno de los vectores columna Fijada una matriz A y un ı́ndice k , veamos qué ocurre si sustituimos la columna Ak por el vector de variables [xi ] . En cada sumando de det(A) hay exactamente una de las variables xi , luego cada sumando es función lineal del vector x = [xi ] ∈ IRn : IRn → IR x → det(A1 , . . . , Ak−1 , x , Ak+1 , . . . , An ) es lineal, y cumple: fk (cAk ) = c|A| , fk (Aj ) = 0 si j &= k . PROPOSICION 2: La función fk : Prueba: Es lineal por ser suma de funciones lineales, y fk (cAk ) = det(A1 , ..., cAk , ..., An ) = c|A| ; pero si j &= k , entonces fk (Aj ) = det(A1 , ..., Aj , ..., An ) es un det con 2 columnas iguales. Nótese que fk , por ser función lineal : IRn → IR tiene la forma fk (x) = α1 x1 + ... + αn xn para ciertas constantes αi , luego en particular fk (Ak ) = α1 a1k + ... + αn ank . DEFINICION: Se llama a la igualdad |A| = fk (Ak ) = α1 a1k + ... + αn ank desarrollo de |A| por la columna k , y a los coeficientes αi , adjuntos de los aik en ese desarrollo. Por otro lado, las igualdades fk (Aj ) = 0 si j &= k significan que el vector α = (α1 , ..., αn ) es ⊥ a todas las demás columnas, porque α · Aj = fk (Aj ) = 0 . Cálculo de |A| De la PROPOSICION 2 y el COROLARIO 1, se deduce el: COROLARIO 2: Si se suma a una columna (o fila) de A un múltiplo de otra, |A| no varı́a. Porque si sumamos cAj a Ak , el determinante que resulta es fk (Ak + cAj ) = fk (Ak ) . De todo esto resulta el siguiente: ALGORITMO: Si operamos sobre A haciendo sólo las operaciones de • intercambiar filas (o columnas) de A , y • sumar a una de ellas un múltiplo de otra, hasta llegar a una triangular U , se tendrá det(A) = ± det(U ) , según la paridad del número de intercambios hechos. Pero si en el proceso multiplicamos alguna fila8 por un factor c , ese factor se incorpora al det(U ) obtenido. COROLARIO 3: A es invertible si y sólo si det(A) &= 0 . Porque tanto “A invertible” como “det(U ) &= 0” (para la U que resulta al usar el Algoritmo) equivalen a que haya n pivotes. Ver Ejemplos 6.5 y 6.6 8 eso puede convenir para evitar denominadores e2 c A2 P = A(Q) Q 6 DETERMINANTES. e1 33 A1 Significado geométrico del determinante Nos falta entender qué es o qué mide el det(A) . e2 c A2 P = A(Q) Q e1 Empecemos con este ejemplo: A1 e2 e1 + + 2 + + A1 Q c A2 P = A(Q) + 1 ++ = 2c c + Las columnas Aj de esta matriz son las imágenes A(ej ) , luego son (figura de la izquierda) los lados del paralelogramo A(Q) , imagen del cuadradoeunidad Q , y es fácil ver que 2c es su área. 2 figura serı́a la de la derecha, y se tendrı́a: Claro que hemos supuesto c > 0 , de lo contrario la A Q área de A(Q) = e |2c| 1 1 c versión (Esta ambos casos). A2 vale P =para A(Q) Hay otra diferencia entre los dos casos: para llevar e1 hacia e2 hay que girarlo hacia la izquierda (es decir, en sentido positivo de giro), mientras que para llevar A1 hacia A2 hay que girarlo en el mismo sentido si c > 0 , pero al contrario (en el sentido del reloj) si c < 0 . Decimos en cada caso que A conserva o invierte la orientación. El ejemplo admite tres niveles de generalización: • Dado cualquier par de vectores u, v se los puede girar juntos para que u apunte en la dirección de e1 , como el A1 de nuestro ejemplo. Como el giro no cambia áreas, orientación ni (como se verá más tarde) el det(u, v) , el caso general de una matriz 2 × 2 se reduce a éste, y resulta que el valor absoluto | det(A)| es el área de A(Q) , y su signo dice si A invierte o no la orientación. • Es fácil extender todo esto a IR3 : el caso básico es el de una matriz triangular a ∗ ∗ b ∗ , con a, b > 0 A= c como la de 6.4, a). El paralelepı́pedo de aristas Aj tiene base en el plano 1-2, y volumen |abc| . El “cambiar la orientación” significa ahora: transformar manos derechas en izquierdas, y el signo de |A| dice si eso ocurre; como en IR2 , un giro que coloque las tres columnas de cualquier otra matriz 3 × 3 en la posición de la de arriba, permite generalizar todo esto. • Pero extenderlo a IRn obliga a definir la orientación y el volumen n-dimensional antes de confirmar que mantienen su relación con el determinante. Al hacerlo, se define también (con las herramientas del Análisis Matemático) el volumen de cualquier otra figura, y se prueba que | det(A)| es el factor por el que A multiplica el área (o volumen, etc.) de cada trozo de IRn . 34 6 DETERMINANTES. Adjuntos y producto vectorial Los apartados 2. y 3. de la PROPOSICION 1 producen fórmulas para los coeficientes de las funciones fk (PROPOSICION 2), a los que hemos llamado adjuntos: αi = fk (ei ) = det(A1 , ..., ei , ..., An ) . Haciendo en esta matriz n − i intercambios de fila y n − k de columna, la fila i y columna k pasan al final, y la matriz toma la forma del apartado 3., con c = 1 y Bik la matriz que resulta al suprimir dichas fila y columna en A . Se suele llamar a |Bik | menor complementario de aik en A . Por lo tanto, αi = ±|Bik | , con signo (−1)n−i+n−k = (−1)i+k . Esto convierte el desarrollo |A| = α1 a1k + ... + αn ank en un algoritmo recursivo: el cálculo de |A| se reduce al de los |Bik | , que son determinantes de tamaño n − 1. Si se sigue hacia abajo, “bastará” finalmente calcular n!/2 determinantes de orden 2, y luego sustituir hacia arriba hasta llegar al desarrollo inicial... Ver Ejemplo 6.7 Pero la verdadera importancia de este desarrollo es teórica, como muestra el siguiente asunto: DEFINICION: En la matriz con columnas u, v, w ∈ IR3 , al vector de adjuntos de la columna w se le llama producto vectorial u × v . Es decir, u × v es el vector α tal que α · x = f3 (x) = det(u, v, x) . Recordemos que esto implica α · u = α · v = 0 , es decir (1) α es ⊥ al plano L{u, v} En cambio, det(u, v, α) = f3 (α) = |α|2 > 0 , y sabemos lo que eso significa: la terna u, v, α está orientada como e1 , e2 , e3 (2) Por fin, dijimos que el volumen del paralelepı́pedo P de aristas u, v, α es V = | det(u, v, α)| = |α|2 ; pero al ser α ⊥ al plano u, v , la altura de P sobre ese plano es |α| , luego V = |α|·área de la base (el paralelogramo de lados u, v) de donde |α| es el área del paralelogramo de lados u, v (3) Las afirmaciones (1), (2), (3), son las que suelen darse como DEFINICION del producto vectorial. Ver Ejemplo 6.8 Ejemplos: 6.1 Las trasposiciones cambian la paridad Convencerse de que componer σ con una trasposición equivale a “intercambiar dos de los números” en la lista σ(1), . . . , σ(n) , y ver por qué el número de inversiones cambia en cantidad impar al hacerlo (los intercambiados pasan de bien a mal o al revés; y cada uno de ellos con los que están entre ambos, igual). 6.2 Variación contraria Observar que las columnas de P son las ej de I , sólo que en distinto orden, y que ese orden es el de la permutación σ −1 ; es decir, P hace con los ej la permutación inversa que con las coordenadas. Si recordamos que las coordenadas son los coeficientes para expresar el vector en términos de los vectores unidad, vemos que esto es un ejemplo de una idea general: la variación contraria de medidas y unidades; por ejemplo, el número de Km es 1000 veces menor que el de m. 6 DETERMINANTES. 6.3 35 Permutaciones de 4 ı́ndices Hacer la tabla de las 4! = 24 posibles. Sugerencia: clasificarlas según el valor de σ(4) , observando primero que las que dejan fijo el 4 son exactamente las permutaciones de I3 , con sus mismos signos. 6.4 Calcular det(A) Para cada una de estas matrices, usar el apartado 3. de la PROPOSICION 1 para calcular |A| . En a), trasponer antes (apartado 1.); también se puede usar simplemente el 4. Las de b), c) , llevarlas a la forma de 3. intercambiando filas; luego usar el apartado 2. para deducir el valor de |A| . 1 2 1 −1 1 x 0 1 1 3 2 , a) A = b) A = c) A = 0 y 1 1 , 1 c 1 z 0 1 6.5 Revisar ideas, y buscar atajos En estos tres casos, y en los tres del Ejemplo anterior, revisar desde la DEFINICION de |A| hasta el Algoritmo recién visto. Separar las ideas de la rutina: recordar que da igual filas o columnas, triangular superior o inferior. + + + 1 1 ++ + + + + + + 1 a a2 + + + 1 1 + c −1 + + + + + + + + + + + 1 a) + , b) + a 1 a + , c) + + + 1 c + a2 a 1 + + + 1 −1 + + + 1 −1 + ¿Cuáles de estas matrices son invertibles, para qué valores de las constantes dadas? 6.6 Menores y rango de una matriz Un menor de una matriz B columnas”. + + 2 + Por ejemplo |A| = ++ 1 + 0 es el det de cualquier submatriz cuadrada que resulte al “tachar filas y/o + 2 0 1 1 0 1 ++ 1 1 1 0 1 1 ++ es un menor de B = 1 1 1 0 3 1 + 0 3 1 2 Razonar qué matrices L, R formadas por unos y ceros pueden usarse usar para “extraer” A = LBR . Deducir de esa igualdad (usando un resultado de la Sección 5) que |A| = & 0 ⇒ rango(B) ≥ 3 . ¿Qué afirmación general prueba el argumento usado en este ejemplo? 6.7 Comparemos algoritmos El algoritmo recursivo dado por el desarrollo de la PROPOSICION 2 es especialmente favorable cuando hay muchos ceros, como en el caso c) del Ejemplo 6.5. Empezar usando f3 , y luego ...? Ver sin embargo que, aun en ese caso, ese procedimiento no compite con el otro Algoritmo. Comparar ambos procedimientos en el ejemplo siguiente. + + + 2 0 1 2 + + + + 0 1 2 0 + + + + 1 0 1 0 + + + + 0 1 1 1 + 6.8 Productos vectoriales y su análogo en dimensión mayor Hallar el producto vectorial de las dos primeras columnas de la matriz b), Ejemplo 6.5. Luego hacer lo análogo con las 4 primeras columnas del determinante c), Ejemplo 6.5: hallar los coeficientes de la función f5 que lo desarrolla por la columna 5. Idea: sustituir esa columna con la x = [xi ] , y calcular ese determinante. 36 7 MÁS SOBRE EL MÉTODO DE GAUSS. 7 Más sobre el método de Gauss. Operaciones elementales El método consistı́a en aplicar a la matriz A una secuencia de operaciones de filas, en cada una de las cuales una fila es modificada o cambia de lugar; aunque los datos, como vimos en la Sección C, pueden aconsejar en la práctica variantes de este proceso, podemos verlo como una secuencia de operaciones elementales de uno de estos tipos: (I) intercambiar las filas i, k ; (para subir a la fila i el siguiente pivote) (II) sumar a la fila i múltiplos de las anteriores a ella. (para limpiar a la izquierda de ese pivote) La idea nueva, clave de esta Sección, es que cada operación elemental equivale a multiplicar a la izquierda por una cierta matriz E . Veámoslo en un ejemplo: E1 A 1 0 0 1 0 −3 0 0 1 −2 0 5 0 1 0 0 2 1 1 E2 1 2 0 E1 A 1 0 −3 2 1 1 −2 0 5 1 0 −3 2 1 −1 ( E1 intercambia las filas 2 y 3) ( E2 limpia la fila 3 a la izquierda del pivote) = E 2 E1 A = U En cada caso, vemos la matriz Ei como un operador, que modifica alguna(s) fila(s) de la que está a su derecha. En particular E = EI , es decir cada matriz elemental E coincide con el resultado de aplicar a la matriz unidad I la operación que E realiza: • las del tipo (I) son la I con las filas i, k intercambiadas; • las del tipo (II) son como la I , salvo números arbitrarios ei,j en las columnas j < i de la fila i sobre la que se opera. Nótese que la E1 coincide con su inversa, y la inversa de E2 es otra de tipo (II): basta cambiar los signos de los lugares i, j citados, para restarle a la fila i lo que E2 le habı́a sumado. (Por eso resulta un SEL equivalente al original, porque cada operación de fila puede deshacerse con otra). Como E invertible ⇒ r(EA) = r(A) , estas operaciones no cambian el rango, y el rango de A coincide con el de la matriz U que se obtiene al final (y que es obviamente el número r de pivotes). Ya sabemos (Sección 6) que las operaciones de tipo (II) tampoco cambian el det(A) , mientras que los intercambios de fila cambian su signo. En consecuencia, det(A) = ± det(U ) , según sea la paridad del número de intercambios. Ver Ejemplo 7.1 Si det(A) &= 0 (si A es invertible), podemos continuar la operación para hacer los pivotes iguales a 1 y limpiar sobre ellos; en nuestro ejemplo: F3 U 1 1 0 −3 1 2 1 −1 −1 1 F2 F3 U 1 0 −3 1/2 −1/2 2 1 1 1 F1 F2 F3 U 1 0 3 1 0 −3 1 = 1 1 1 1 1 1 (cada Fi deja lista la fila i) F1 F2 F3 U = I 37 7 MÁS SOBRE EL MÉTODO DE GAUSS. Llamemos a estas Fi matrices elementales de tipo (III) ; como antes, tienen inversas del mismo tipo (¿cuáles son?), y cada una aporta al determinante un factor fijo ci &= 0 : |Fi B| = ci |B| (Fi I = I , luego ci = |Fi |) El determinante de un producto, y la factorización LU Como consecuencia, probemos: PROPOSICION : |AB| = |A| |B| Prueba: Si |A| = 0 , es r(AB) ≤ r(A) < n , luego |AB| = 0 . Pero si |A| &= 0 , hay matrices elementales (de los tres tipos) tales que Ep · · · E1 A = I , luego cp · · · c1 |A| = |I| = 1 , y también Ep · · · E1 AB = B , luego |B| = cp · · · c1 |AB| . Basta ahora multiplicar ambas igualdades y cancelar los ci (que son &= 0). Ver Ejemplo 7.2 Por otro lado, la igualdad I = F1 · · · Fn U = F1 · · · Fn Er · · · E1 A implica que F1 · · · Fn = U −1 , U −1 Er · · · E1 = A−1 . Supongamos ahora que todas las operaciones de tipo (I) se hacen al principio y sea P el producto de esas matrices Ei , de modo que se tiene U = Er · · · Es P A , donde todas las Ei son de tipo (II). (P solamente permuta las filas). Entonces sus inversas también son de ese tipo, y la inversa de su producto: L = (Er · · · Es )−1 = Es−1 · · · Er−1 es triangular inferior, como ellas. Multiplicando por L a la izquierda, LU = P A . En el caso de que no haga falta permutar filas, esto se reduce a la factorización: A = LU , que tiene gran importancia desde el punto de vista del cálculo numérico9 . Consecuencias prácticas 1) Otra forma de calcular a mano una inversa A−1 , alternativa a la sugerida en la Sección 5 (y preferible si n > 3), es resolver AX = I con el método de Gauss; a la luz de lo recién explicado se puede aconsejar el procedimiento siguiente (que ilustramos con un caso n = 3 , fácil también de calcular por el otro método): • empezar con la “matriz de 2 bloques” [A|I] , y progresar hasta tener U, L−1 ; • copiarlas entonces, y continuar hasta conseguir una matriz diagonal D en el lado de la izquierda; L−1 U A= −1 2 2 3 3 3 1 7 3 2 1 2 6 −1 1 2 3 1 6 2 1 3 −7 • la B del otro lado cumplirá entonces BA = D : −1 2 D= 1 2 2 , B= 6 1 3 −7 −6 −3 9 −2 −1 3 3 1 −3 –1 1 verificarlo antes de seguir !! 3 1 −3 −2 −1 3 6 3 −7 • basta ahora dividir las filas de B por las entradas dii de D para obtener A−1 = D−1 B . 9 verlo por ejemplo en los libros citados de Lay y de Strang 38 7 MÁS SOBRE EL MÉTODO DE GAUSS. 2) En la interpretación geométrica de lo que es un SEL (fin de la Sección 2), el método de Gauss significa lo siguiente: Encontramos un isomorfismo E de IRm tal que la composición U = EA es triangular. De ese modo, los rangos de U y de “la ampliada” [U | Eb], que coinciden con los de A y [A|b], son evidentes a simple vista, como lo es (sin recurrir a esos rangos10 ) la compatibilidad o no del SEL, puesto que la imagen de U son todos los vectores que tengan yi = 0 para i > r(U ). 3) La rutina recomendada en la Sección C para resolver un SEL Ax = b (que sea compatible) puede ahora resumirse ası́: Una vez hallados los pivotes, reescribir el SEL separando el vector de variables pivote [xp ] del de variables libres [xl ]: U xp + B xl = c (los bloques U , B resultan de aplicar a A las operaciones ya hechas, agrupar las columnas pivote y suprimir en su caso las filas nulas; el vector c , de hacer lo mismo con b). La matriz U es entonces invertible y su inversa V = operadores que transforman U en I) nos da la solución: F1 · · · Fn (la composición de los xp = V c − V B xl , con las xl como parámetros. Ver Ejemplo 7.3 Ejemplos: 7.1 Inversas de las operaciones elementales En el ejemplo dado, hallar el producto F = E1−1 E2−1 , que es la inversa de E2 E1 , y comprobar que “deshace lo hecho”: F U = A . Comprobar también las relaciones entre los rangos y determinantes de las matrices A , U . Para cada una de las matrices siguientes, hallar las Ei que la convierten en una triangular U , y usar sus inversas para hallar la matriz F que deshace la operación. 0 −1 2 0 1 3 0 1 0 3 4 A1 = 3 7 4 A2 = −1 2 0 −3 0 4 −1 0 2 3 0 ¿Qué rango tiene cada una de ellas? Hacer lo mismo con la matriz que resulta al suprimir una o dos columnas de la matriz A2 . (Atención: no hay que volver a operar, sino reutilizar lo ya hecho). 7.2 Giros en IRn Si B T B = I , deducir de la PROPOSICION que |B| = ±1 . Las matrices G que cumplen GT G = I con |G| = 1 , se llaman giros (en dim 2 y 3 son lo que llamamos habitualmente giros); en consecuencia un giro conserva el det : det(G(v1 ), ..., G(vn )) = det(v1 , ..., vn ) 7.3 Soluciones de un SEL, y factorizaciones LU Identificar quiénes son esas matrices U, B, V en el ejemplo que se dió en la Sección C. Para las dadas en el Ejemplo 7.1, producir una factorización A = LU cuando la haya (si no, una factorización P A = LU ) ası́ como las inversas A−1 si las hay. 10 Es decir: en la práctica de resolver o estudiar un SEL, el teorema de Rouché-Frobenius es perfectamente inútil. 39 8 COORDENADAS, ISOMORFISMOS, CAMBIOS DE BASE. 8 Coordenadas, isomorfismos, cambios de base. Un espacio vectorial “abstracto” E como los que vimos en las Secciones 3 y 4, funciona como IRn , pero supone un “cambio de paisaje” radical: los vectores ya no son “ristras de números”, y las funciones lineales ya no se identifican con las matrices. Se puede neutralizar ese cambio fijando una base de E y representando cada vector v ∈ E con su vector de coordenadas respecto de ella; esa representación es totalmente fiel: cada relación entre vectores, subespacios, funciones, etc. de E es idéntica a la que hay (en IRn , si E tiene dimensión finita n) entre sus respectivas coordenadas, ecuaciones,... Esta “fidelidad fotográfica” queda recogida en el concepto de isomorfismo: un isomorfismo entre dos e.v. E, F es una función lineal biyectiva φ : E → F . Ya sabemos que un isomorfismo φ : IRn → IRm sólo es posible si n = m , porque: • φ no puede ser inyectiva si n > m , En resumen: n m IR no es isomorfo a IR • ni puede ser sobre si n < m . si n &= m . Veremos enseguida que dos e.v. E, F son isomorfos si (y sólo si) tienen igual dimensión. Coordenadas En lo que sigue, E será un e.v. (sobre IR ), B = {v1 , ..., vn } una base suya. DEFINICION: x1 Llamamos φB al isomorfismo dado por: x = ... ∈ IRn → φB (x) = x1 v1 + ... + xn vn ∈ E . xn Dicho de otro modo, x = [xi ] es el vector de coordenadas de v = φB (x) ∈ E ; llamaremos [v]B ∈ IRn a ese vector. Todo esto vale en el caso de dimensión = ∞ , si recordamos que en ese caso las combinaciones lineales deben tener, por definición, un número finito de coeficientes &= 0, y que eso se aplica a la definición de base; si B = {v1 , v2 , ...} , los “vectores de coordenadas” estarán en el espacio IR# = { sucesiones [xi ] con sólo un número finito de valores xi &= 0 } y φB será un isomorfismo : IR# → E . También vale todo para otros cuerpos de escalares: basta poner Kn en lugar de IRn , etc. La DEFINICION afirma que φB es isomorfismo; eso es cierto porque B es una base de E. Ver Ejemplos 8.1, 8.2 y 8.3 La PROPOSICION que sigue recuerda que una f lineal de E a otro e.v. F queda determinada por las imágenes f (vi ) de los vectores de una base, y que esas imágenes pueden escogerse de modo arbitrario11 : PROPOSICION 1: Si tomamos elementos cualesquiera w1 , ..., wn de un e.v. F , la función φW dada por x = [xi ] ∈ IRn → x1 w1 + ... + xn wn ∈ F es la composición de φB con una f : E → F lineal, que cumple f (vi ) = wi , y que es un isomorfismo si y sólo si {w1 , ..., wn } es una base de F . Prueba: La función f se define ası́: f (v) = φW (x) = x1 w1 + ... + xn wn con x = [v]B ; en particular es f (vi ) = φW (ei ) = wi , porque [vi ]B = ei . Como en la DEFINICION anterior, φW es obviamente lineal en x , y es isomorfismo si y sólo si los {wi } son base, luego f también. Una consecuencia inmediata: E, F son isomorfos si (y sólo si) tienen bases del mismo tamaño. Ver Ejemplo 8.4 11 Comparar con la PROPOSICION de la Sección 2. 40 8 COORDENADAS, ISOMORFISMOS, CAMBIOS DE BASE. Matriz de una función lineal f respecto de una base DEFINICION: Para una función lineal f : E → E , la matriz de f respecto de B = {v1 , ..., vn } es la matriz M con columnas [f (vj )]B . Dicho de otro modo, la función M : IRn → IRn dada por esa matriz, cumple: φB ◦ M = f ◦ φB En el caso general de una f : E → F , y si W = {w1 , ..., wm } es una base de F , la ecuación análoga φW ◦ M = f ◦ φB define la matriz de f respecto del par de bases B, W. ¿Qué son las columnas de M en el segundo caso? Ver Ejemplos 8.5 y 8.6 DEFINICION: Si B = {v1 , ..., vn } , W = {w1 , ..., wn } son dos bases de E , el cambio de referencia de B a W es el isomorfismo n φ−1 → IRn W ◦ φB : IR [v]B → [v]W La columna j de su matriz C es por lo tanto [vj ]W (puesto que [vj ]B = ej ). Obviamente, la matriz C −1 da el cambio inverso, y tiene columnas [wj ]B . Observación CLAVE: El cambio de referencia es exactamente como un cambio de unidades: • para pasar de ‘x m’ (metros) a su equivalente ‘y cm’, se multiplica por el factor c =100 = 1 m expresado en cm ; • para pasar de [v]B a [v]W , se multiplica por la matriz C cuyas columnas son los vectores de la base B expresados respecto de la W . Lo primero no es más que un caso particular de lo segundo, con dim = 1. Ver Ejemplos 8.7 y 8.8 Matrices ortogonales12 Son las matrices C que cumplen C T C = I , como los giros que hemos encontrado en el Ejemplo 7.2. Nótese que esto equivale a decir: sus columnas son perpendiculares entre sı́ y de longitud 1. Su importancia se debe a que son las funciones lineales que conservan longitudes: PROPOSICION 2: Para una matriz cuadrada C , equivalen las dos afirmaciones siguientes: • C es ortogonal. • Para cada vector x ∈ IRn se tiene |Cx|2 = |x|2 . Prueba: Sean x, y ∈ IRn . Usando la igualdad x · y = xT y , resulta (Cx) · (Cy) = xT C T Cy , y la igualdad C T C = I resulta ser equivalente a que se tenga (Cx) · (Cy) = xT y = x · y para cada dos vectores x, y . Pero si eso es cierto bajo la condición x = y , lo es en general, porque 2 x · y = |x + y|2 − |x|2 − |y|2 . Ver Ejemplo 8.9 12 Se estudiarán en detalle en el segundo cuatrimestre de Algebra Lineal. 8 COORDENADAS, ISOMORFISMOS, CAMBIOS DE BASE. 41 Ejemplos: 8.1 El isomorfismo φB Sean {v1 , ..., vn } vectores de E , y φ : IRn → E definido como el φB de una base: φ(x) = x1 v1 + ... + xn vn Probar que: φ es sobre ⇔ los {vi } son generadores; φ es inyectiva ⇔ los {vi } son independientes. 8.2 Un isomorfismo de IR3 1 Explicar por qué las columnas de B = −1 Hallar: forman una base B de E = IR3 . 1 −1 1 • las coordenadas respecto de B de los vectores unidad ei ; • quiénes son los φB (ej ) ; • cuál es la matriz de φB : IR3 → IR3 . 8.3 Espacios de polinomios Si E = P ol , B está formada por los monomios v0 = 1 , v1 = t , v2 = t2 , ... , y x es el vector con infinitas coordenadas (x0 , x1 , x2 , ... ) , todas = 0 a partir de i = m , ¿quién es φB (x)? Decir por qué los polinomios p0 = 1 , p1 = t , p2 = t2 − 1/3 , p3 = t3 − 3t/5 forman una base W del espacio P ol3 = {polinomios p(t) de grado ≤ 3} , y dar las coordenadas de los monomios 1, t, t2 , t3 respecto de esta base. 8.4 Inversas a un lado Si g : IRm → IRn es inyectiva (lo que implica m ≤ n), hay alguna base B = {v1 , ..., vn } de E = IRn en la que vi = g(ei ) para i = 1, ..., m . Como hay alguna f que cumple f (vi ) = ei para i = 1, ..., m , con los restantes f (vi ) arbitrarios, tenemos lo que ya sabı́amos en términos de producto de matrices: f es una inversa a la izquierda, f ◦ g =idIRm . Verificar cada detalle de esto, hallar el número de constantes arbitrarias que podemos poner para definir f si n > m , y compararlas con el número de variables libres que salı́an al resolver en X la ecuación XB = I para una matriz B dada de tamaño n × m. Luego, hacer lo análogo para construir inversas a la derecha en el caso n ≤ m , con g sobre; ahora habrá que empezar por escoger una base B = {v1 , ..., vn } entre los m elementos g(ei ) ∈ E . 8.5 Derivar es una operación lineal Para la función d dt : P ol3 → P ol3 , verificar que la matriz 0 1 0 M = 0 0 2 0 0 0 respecto de la base B = {1, t, t2 , t3 } es : 0 0 3 d Pero nada impide hablar de una matriz infinita M = [mij ] para la función dt : P ol → P ol respecto 2 de la base formada por todos los monomios: B = {1, t, t , ...} . Dar una expresión para los mij . 42 8 COORDENADAS, ISOMORFISMOS, CAMBIOS DE BASE. 8.6 Espacios de matrices El espacio vectorial Mm,n = {matrices m × n} con su suma y producto por escalares habituales, tiene dim =mn , lo que implica que es isomorfo a IRmn ; por ejemplo las 4 matrices ( ) ( ) 1 0 0 0 , , ... 0 0 1 0 forman la base “obvia” para E = M2,2 . Cuál es la matriz 4 × 4 que representa en esa base a la función lineal A ∈ M2,2 → AT ∈ M2,2 ? (Basta ir viendo cómo se expresa en esa base la traspuesta de cada uno de sus elementos). 8.7 Cada isomorfismo de IR3 es también un cambio de base La matriz B del Ejemplo 8.2 realiza el cambio de la base B formada por sus columnas a la base canónica: [v]B → [v] y el cambio inverso lo da la matriz inversa. Hallar esa inversa, cuyas columnas son [ej ]B . (Lo mismo es cierto para cualquier B con det &= 0). 8.8 Un cambio de base sencillo La matriz de cambio entre la base W dada en el Ejemplo 8.3 y la de los monomios B = {1, t, t2 , t3 } , es la siguiente 1 0 −1/3 0 1 0 −3/5 C= 1 0 1 pero ¿de qué base a qué base cambia C? La inversa de C ya se calculó en el Ejemplo 8.3. ¿Por qué? 8.9 Funciones ortogonales y cambios ortogonales de coordenadas Comprobar que son ortogonales las matrices siguientes: ( ) c −s 0 c −s 0 G= , H= s c s c 0 0 −1 , 0 1 P = 0 0 1 0 0 1 0 donde s, c son respectivamente el seno y coseno del ángulo α . Es fácil ver que la función G es un giro en el plano, y que P permuta las coordenadas; ¿qué hace la función H con los vectores de IR3 ? Razonar por qué es ortogonal el producto de dos matrices ortogonales. Si B es la base canónica de IRn y C es la matriz de cambio de referencia de B a otra base W, usar la Prueba de la PROPOSICION 2 para razonar lo siguiente: el cambio de coordenadas [v]W = Cv conserva los productos escalares si y sólo si C es ortogonal. Dado un vector u = (a, b, c) de longitud 1, querrı́amos una base W que tenga esa propiedad e incluya al vector w1 = u ; por ejemplo podemos tomar √ w2 = (b, −a, 0)/ a2 + b2 , y ¿cuál como tercer vector? Estos son por lo tanto los cambios de coordenadas “permisibles” si queremos conservar la geometrı́a: ángulos, perpendiculares, ... 43 Part I EPILOGO: Qué hacer con todo esto. X. Códigos binarios. Y. Ortogonalidad en espacios de funciones. Z. Relatividad especial. Lo que se pretende con este Epı́logo: • Hacer ver que las generalizaciones no son caprichosas: cómo pueden utilizarse cuerpos distintos de IR y C (por ejemplo en los códigos binarios); para qué generalizar el concepto de producto escalar (por ejemplo a espacios de funciones), cambiando incluso alguna de sus propiedades básicas (como en la métrica de Lorentz). • Dar con ello un pequeño atisbo de los innumerables problemas cuyo tratamiento utiliza ideas de Álgebra Lineal, como las que se verán en la segunda mitad de esta asignatura. 44 X. Códigos binarios. Queremos transmitir información por medio de secuencias de bits ( = “binary digits”: 0, 1). Por ejemplo, a cada letra se le podrı́a asignar una determinada secuencia, y ası́ transmitir texto; en vista de ese ejemplo, llamaremos a cada secuencia transmitida una letra (sea cual sea su naturaleza). El problema es que hay errores de transmisión, que pueden ocasionalmente cambiar algún bit. El remedio es no usar todas las posibles secuencias, y esperar que un cambio fortuito en una secuencia válida produzca una que no lo es, y permita detectar el error. Supongamos desde ahora que las secuencias tienen longitud n fijada, pero que sólo son letras las secuencias de un cierto subconjunto S del total de 2n secuencias posibles. Llamaremos en lo que sigue un código al conjunto S de secuencias elegidas. Mejor que detectar el error serı́a poder además corregirlo: al detectar una secuencia errónea ṽ, poder deducir cuál era la letra v ∈ S ; la idea obvia para hacer esto es el: Criterio NN (“nearest neighbour”): Elegir la v ∈ S más cercana a ṽ . ... de acuerdo con la siguiente DEFINICION: La distancia entre dos secuencias v, v # será el número de bits que tengan distintos. Si miramos v, v # como elementos de Bn , donde B ={0,1} es el cuerpo de los enteros módulo 2 (ver Sección 4), y llamamos N (v) = número de unos en v , la distancia entre v y v # es N (v # − v) . ¡Recordar que en B se tiene 1 = −1 ! La distancia que hemos definido se llama distancia de Hamming; es fácil comprobar que tiene la propiedad triangular, que debe tener toda distancia: si v, v # , v ## son tres secuencias de bits, se tendrá N (v − v ## ) ≤ N (v − v # ) + N (v # − v ## ) , porque v − v ## = (v − v # ) + (v # − v ## ) Si los errores son raros, podemos conformarnos con corregir las secuencias que tengan un solo error ; una tal secuencia será ṽ = v + εj , donde v ∈ S era la letra original y εj es un vector unidad de Bn . PROPOSICION : Llamemos δ a la mı́nima distancia entre dos elementos de S . • Si δ > 1, cada secuencia con un solo error ṽ = v + εj será detectada como errónea. • Cada tal secuencia podrá ser además corregida (con el criterio NN) si δ > 2 . • Si S es un subespacio vectorial de Bn , entonces δ = min{N (v) , 0 &= v ∈ S} . Prueba: • Si δ > 1 , v ∈ S ⇒ ṽ = v + εj ∈ / S , luego será reconocida como errónea. • Si δ > 2 , no puede haber otro v # ∈ S tal que ṽ = v # + εk , porque serı́a entonces v # − v = εj + εk , N (v # − v) = 2 , luego v es el único NN de ṽ. • Si S es subespacio vectorial, el conjunto de diferencias {v # − v , v ∈ S} coincide con S , para cada v # ∈ S. Ver Ejemplo E.1 Códigos dados por matrices Como en el Ejemplo E.1, pretendemos tomar S = Ker(H) ⊂ Bn , donde H es una matriz de r × n bits. ¿Cómo deben ser las columnas Hj de H para que S cumpla la condición δ > 2 ? Nótese que esa condición equivale a decir que ningún εj y ningún εj + εk está en S ; pero además H(εj ) = 0 ⇔ Hj = 0 , H(εj + εk ) = 0 ⇔ Hj = Hk (porque 1 = −1 en B) Por lo tanto: La condición δ > 2 para S = Ker(H) equivale a: columnas Hj distintas y no nulas. 45 Las n columnas Hj son vectores de Br , que tiene 2r − 1 vectores &= 0 , luego debe ser n ≤ 2r − 1 . Por ejemplo para r = 3, la matriz siguiente tiene todas las columnas posibles: 1 0 1 0 1 0 1 H= 0 1 1 0 0 1 1 0 0 0 1 1 1 1 y como Ker(H) tiene dimensión m = n − r = 4, el número de letras (con n = 7 bits) será 24 = 16. Nótese que las columnas se han escrito de modo que cada Hj (leı́da desde abajo hacia arriba) es la expresión binaria del número j = 1, ..., 7 , y que en consecuencia las j = 1, 2, 4 son las columnas de la matriz unidad; si las tomamos como columnas pivote, la expresión paramétrica de S será: x3 x1 . x5 x2 = − M x6 x4 x7 donde M está formada por las m = n − r columnas restantes; en consecuencia, los valores de esas m variables libres ya identifican la letra transmitida, por lo que se les suele llamar bits de información, y a los r pivotes, check bits: se añaden para poder detectar y corregir errores. Esta operación es la que suele llamarse codificación: partir de los m bits de información, que podemos pensar como el contenido mismo del mensaje, y producir la secuencia que vamos a transmitir. La ventaja de usar precisamente ese orden de las columnas es la siguiente: si el mensaje recibido es v ∈ S , se tendrá Hv = 0 , pero si el bit j se cambió en la transmisión, recibiremos ṽ = v + εj , y entonces H ṽ = Hv + Hεj = Hj , que leı́do como expresión binaria dice cuál es el bit erróneo y permite corregirlo. Una H como ésta produce lo que se llama el código de Hamming13 perfecto [n, m] : permite transmitir 2m letras con longitud n = r + m = 2r − 1 , y corregir errores simples. Ver Ejemplo E.2 Ejemplos: E.1 Un muy pequeño código Bajo la condición δ > 2 , detectaremos como errónea cada letra con dos errores ṽ = v + εj + εk ; pero si estamos corrigiendo errores, podemos confundirla con otra letra con un error. Ver por qué , y comprobar que cumple esa condición el subespacio S = Ker(H) ⊂ B3 , con ( ) 1 0 1 H= 0 1 1 En este caso S sólo tiene 2 elementos. ¿Cuáles? E.2 Codificar, corregir, descodificar Poner a prueba el código de Hamming [7, 4] : partir de cualquier secuencia de 4 bits, añadirle los 3 check bits para formar una “letra”, cambiar uno de sus 7 bits, usar H para localizar el error, recuperar la secuencia inicial. El siguiente código de Hamming perfecto será el [15, 11], que usa 211 = 2048 letras con 15 bits. Tendremos uno no perfecto si el número de bits que usamos es n < 2r − 1. Por ejemplo, ¿qué matriz H permitirı́a transmitir 26 = 64 letras y corregir errores simples? Referencias para este asunto: Una visión mucho más amplia se encontrará en cualquier introducción a la teorı́a de códigos, como • Hill. A first course in coding theory. 13 Richard Hamming (1915-98) publicó en 1950 el trabajo que inauguró este tipo de técnicas. 46 Y. Ortogonalidad en espacios de funciones. En la Sección 1 vimos cómo hallar la recta de regresión para N puntos (xi , yi ); el problema se reducı́a al de proyectar el vector y = [yi ] sobre un cierto plano de IRN . Por eso el cálculo de los coeficientes a0 , a1 de esa recta era un caso particular del problema revistado en las Secciones 2, 3, 5: el de encontrar en un cierto subespacio L el vector más cercano al vector dado b . Consideremos ahora posibles variantes de la recta de regresión: • En lugar de buscar una recta y = a0 + a1 x , podemos fijar un grado m > 1 y buscar el polinomio p(x) = a0 + a1 x + . . . + am xm que haga mı́nima la suma de errores cuadráticos: * |yi − p(xi )|2 y y = p(x) i La FIGURA muestra la solución para m = 3 y seis puntos dados, con abscisas x = ±0.2, ±0.6, ±1 y ordenadas y = (x + 1)cos(x) . x ¿Cómo hallarla? Exactamente como en la Sección 1, pero usando los 4 vectores u = [1] , x = [xi ] , x2 = [x2i ] , x3 = [x3i ] como base del subespacio sobre el que proyectamos. • En lugar de N ordenadas yi , podemos tratar de ! aproximar todos los valores de una función dada f (x) en un cierto intervalo [a, b] . El análogo de i |yi − p(xi )|2 es ahora / b S= |f (x) − p(x)|2 dx a ¿Cómo encontrar un polinomio p(x), de grado m fijado, que dé el valor menor posible a S ? La respuesta es igual que en el caso anterior, gracias a lo siguiente: Hay un cierto espacio vectorial H formado por funciones, en el que 0b < f, g > = a f (x)g(x)dx tiene las mismas propiedades que el producto escalar de IRn , y la distancia |f − g| dada por |f − g|2 = < f − g , f − g > , las mismas que la distancia entre puntos de IRn . Los polinomios de grado ≤ m forman un subespacio Pm de H , y el p ∈ Pm que minimiza 0b |f − p|2 = a |f (x) − p(x)|2 dx se puede hallar con las mismas fórmulas del caso anterior. ¿Por qué funcionan aún esas fórmulas? Porque para llegar a ellas sólo se usaron las propiedades del producto escalar de IRn , que siguen valiendo para el recién definido < f, g > . Por eso es razonable extender a este caso todo el lenguaje usado ya en IRn : distancias, perpendiculares, proyección ortogonal, . . . En particular, si usamos una base de Pm formada por polinomios {p0 , . . . , pm } que sean ortogonales entre sı́, se podrá utilizar la fórmula de proyección del Ejemplo 5.10. < f, p > Los coeficientes ci (f ) = < pi , pii > de esa fórmula se llaman entonces coeficientes de Fourier de la función f respecto de los pi . Ver Ejemplo E.3 47 Comentarios: • Nótese que los coeficientes ci (f ) hallados en el Ejemplo E.3 no dependen de cuál sea el grado m del polinomio buscado; por eso la operación puede verse como un desarrollo (análogo al de Taylor de la función f ), cuyos primeros m + 1 sumandos dan el polinomio buscado p ∈ Pm . Cualquier otra familia {φk } de funciones ortogonales respecto de < f, g > , como la de los φk (x) = sen(πk x) permite la misma operación. • Tal como se ha presentado el asunto, los pk parecı́an sólo un medio conveniente para el fin propuesto: hallar un polinomio “cercano” a la función dada. Pero el objeto de interés en este tipo de desarrollos son las funciones mismas que aparecen en él: las {φk } dadas arriba tienen una especial relación con la ecuación de las ondas, y los polinomios pk , con otra ecuación en derivadas parciales. El nombre “coeficientes de Fourier” apareció originalmente unido a los desarrollos en sen(πk x) y cos(πk x), usados desde el s. XVIII (por D. Bernoulli, Euler y Fourier, entre otros) para estudiar varios problemas de Fı́sica. En distintos problemas aparecen distintas familias de funciones adecuadas 14 al problema, y no todas ellas tienen la amabilidad de ser ortogonales respecto del producto escalar < f, g > que hemos definido. . . ¿Solución? Redefinir < f, g > de manera que lo sean. Este es uno de los (muchos) importantes motivos para estudiar productos escalares “arbitrarios”, como se hará en Algebra Lineal II. • Aunque las ideas que acabamos de ver se remontan al s. XVIII, el entender bien en qué espacio de funciones H se debe definir el producto escalar < f, g > no se consiguió hasta el s. XX, cuando se creó el lenguaje del Análisis Funcional ; la Fı́sica está abarrotada de problemas que necesitan ese lenguaje, no sólo para calcular soluciones, como en los problemas clásicos de Mecánica, sino para describir el comportamiento del Universo, como en la Mecánica Cuántica; y en muchos casos, la versión realmente necesaria de los productos escalares es la compleja. Ejemplos: E.3 Polinomios de Legendre15 Los polinomios p0 , ..., p3 del Ejemplo 8.3 son mutuamente ortogonales respecto del “producto escalar” 01 < f, g > = −1 f (x)g(x)dx Comprobarlo. Luego usar la fórmula de proyección del Ejemplo 5.10 para hallar el polinomio p ∈ P3 que esté más cerca de la función f (x) = (x + 1) cos(x). Ver cómo hallar un p4 (x) = x4 + . . . que sea ortogonal a los 4 anteriores, y convencerse de que el procedimiento se puede continuar indefinidamente. Los pk que resultan de ese modo son los polinomios de Legendre. Referencias para este asunto: Se puede apreciar mejor el peso del asunto al que nos referimos aquı́, si se echa una ojeada al clásico • Courant/ Hilbert. Methods of Mathematical Physics. Cuando ese libro fue originalmente escrito (1924), el lenguaje del Análisis Funcional, que reformulaba y extendı́a todas esas ideas ya clásicas, acababa de ser creado (por Hilbert entre otros), y la versión moderna del Algebra Lineal, requisito central de ese nuevo lenguaje, aún era poco conocida. 14 En general, esas funciones serán los autovectores de una cierta función lineal, asociada a una ecuación diferencial; el concepto de autovector es el más importante de los que se verán en Algebra Lineal II. 15 Adrien-Marie Legendre (1752-1833) fue otro de los grandes creadores del Cálculo Diferencial. 48 Z. Relatividad especial. Volvamos a nuestro punto de partida en la Sección A: si usamos IR2 como un modo de traducir las relaciones geométricas basadas en las distancias entre puntos de un plano, conviene que el sistema de coordenadas traduzca esas distancias del modo más simple posible: los vectores unidad escogidos deben ser perpendiculares entre sı́ y de longitud =1 en la unidad ! de longitud que hayamos decidido usar, para que las cordenadas xi de cada vector u = P Q cumplan i x2i = d2 , donde d es, en esa misma unidad, la distancia entre los puntos P, Q . Una vez hecho eso, hay muchos otros sistemas de ejes igual de buenos; podemos cambiar los vectores unidad e incluso cambiar el origen, pero para cada vector u = P Q , ! sus coordenadas (xi ) tendrán igual i x2i en cada sistema de coordenadas admisible. ! Decimos que la expresión i x2i es un invariante de los sistemas de coordenadas admisibles para representar la geometrı́a métrica del plano. Una pregunta parecida se plantea al escoger sistemas de coordenadas en el espacio fı́sico; en ese caso la complicación es que esos sistemas deben estar ligados a algún “laboratorio” o algún “sistema” que nos interesa estudiar, no siempre el mismo, y esos posibles puntos de referencia se mueven, de modo que su posición mutua cambia con el tiempo. Parece claro que las distancias deberı́an, también en este caso, ser las mismas en dos sistemas de referencia admisibles, pero las distancias ¿entre qué? Como todo se está moviendo, mejor que hablar de puntos será hablar de sucesos: la colisión de dos partı́culas, o el gol que decide el Mundial, se producen en un lugar e instante únicos, que tendrán en cada sistema sus coordenadas xi , t . Para evitar complicaciones irrelevantes, imaginemos el Universo con sólo una dimensión espacial, y dos sistemas de referencia R, R# con una relación sencilla: sus orı́genes coinciden en el instante t = 0, pero el de R# se mueve con velocidad constante v respecto de R, de modo que su posición en R es x = vt. Cada suceso tendrá su posición, digamos x en R , x# en R# , y no cabe esperar que la distancia |a − b| entre dos sucesos con posiciones x = a, x = b, sea la misma en R# , salvo que sean simultáneos. De modo que el criterio de “acuerdo entre referencias” deberı́a ser: que la distancia |a − b| entre dos sucesos simultáneos, sea la misma en ambos sistemas (?) Pensemos en un par de sucesos simultáneos, y cómo estar seguros de que lo son: colocamos detectores en los puntos de coordenadas x = ±a , y en el instante t = 0 lanzamos un destello desde el origen (común a ambos sistemas de referencia en ese instante). Como la luz viaja con velocidad c en cada dirección, los dos sucesos “llegada del destello a cada detector” serán simultáneos, y estarán a distancia 2a en R . Pero hay un problema: en el sistema R# , los detectores tienen posición variable x# = ±a − vt , es decir, uno de ellos viaja al encuentro del destello, y sólo tardará a/(c + v) en encontrarlo, mientras que el otro huye del destello, y tardará a/(c − v) en ser alcanzado por él; de modo que los dos sucesos, vistos en el sistema de referencia R# , ¡no son simultáneos!? La paradoja desaparece si suponemos que la luz, como si fuera un tren rápido, viaja sobre sus propias vı́as (el éter ), de modo que a su velocidad en cada sistema de referencia hay que restarle la de éste respecto del éter, y la velocidad del destello relativa a cada detector será la misma en ambos sistemas. . . sólo que esto es falso: ya antes de 1900 se habı́an hecho experimentos que dejaban poca duda sobre la constancia de la velocidad de la luz en cualquier sistema de referencia. El espacio-tiempo y las transformaciones de Lorentz16 La solución inevitable, a la que se llegó en los años siguientes, no deja en pie ninguno de nuestros supuestos intuitivos: al cambiar de sistema de referencia no se conserva ni la simultaneidad de dos sucesos (por lo tanto tampoco su distancia), ni el tiempo transcurrido entre ellos; cada suceso tiene sus coordenadas x, t en R , x# , t# en R# , no hay un reloj absoluto; y no es posible tratar el espacio y el tiempo por separado, sino como dimensiones de un mismo continuo: el espacio-tiempo. Por ese motivo tiene sentido tratar de usar las mismas unidades para ambos; podemos hacerlo aprovechando la constancia de la velocidad c de la luz, que es el hecho central, si medimos el tiempo en metros recorridos por la luz ; dicho de otro modo, tomamos como dimensión temporal τ = ct . 16 Hendrik Antoon Lorentz (1853-1928) introdujo en 1904 las ideas a partir de las cuales Albert Einstein formuló en los años siguientes la Relatividad Especial. 49 Entonces nos encontramos muchas analogı́as con la geometrı́a del plano: ( ) ( # ) x x • La relación entre ambos sistemas es todavı́a lineal: = (L) ct ct# • En el plano se conservaba la cantidad |P Q|2 = x2 + y 2 al cambiar de coordenadas “admisibles”; en el espacio-tiempo, para cada dos sucesos cuyas coordenadas difieran en (xi , t) , la cantidad ! ±d2 = |x|2 − τ 2 = i x2i − (ct)2 será la misma en cada sistema inercial de coordenadas y el signo de esa cantidad decide entre estas dos alternativas: – es positivo (es decir, |x|2 > τ 2 ) si y sólo si hay algún sistema en el que ambos sucesos son simultáneos, y entonces d es la distancia entre ambos en ese sistema. – si es negativo, es posible viajar a velocidad constante v < c y estar presente en ambos; en ese caso, d/c es la duración de ese viaje según el reloj de a bordo. Al invariante d se le llama intervalo entre ambos sucesos, y se dice que es espacial en el primer caso, temporal en el segundo. ( ) ( # ) x x • En el caso del plano, era fácil razonar qué transformaciones = (A) conservan las y y# T distancias: debe ser A A = I , para tener (para cada x, y) ( ) ( # ) x x (x, y) = (x# , y # ) y y# ( ) ( # ) x x El mismo argumento lleva en el caso de = (L) a la igualdad ct ct# 1 2 1 2 1 1 T L L= −1 −1 como condición para que se conserve el intervalo, y permite deducir la forma de L . Ver Ejemplo E.4 Ejemplos: E.4 Matrices de Lorentz • Poner L = 1 a1 a2 a3 a4 2 en la igualdad LT 1 1 −1 a24 − a23 = 1 = a22 − a21 2 L= 1 1 −1 a1 a3 = a2 a4 1 ch α y deducir de estas igualdades que L debe tener la forma L = sh α 2 para concluir que , 2 sh α . ch α ( ) ( ) vt 0 # • Volver al ejemplo de los dos sistemas R, R , y comparar las coordenadas = (L) del ct ct# # origen de R en ambos sistemas, para deducir que el parámetro α debe cumplir: th α = v/c . Usar esa igualdad para reescribir la matriz L , que da la transformación de Lorentz entre ambos sistemas de coordenadas. Referencias para este asunto: Más detalles sobre la geometrı́a del espacio-tiempo se pueden encontrar por ejemplo en • Golovina. Algebra Lineal (Cap. VIII). Una introducción detallada y divertida a la Fı́sica del asunto (es decir, al comportamiento del Universo y a la evidencia experimental de ese comportamiento), es • Taylor/ Wheeler. Spacetime Physics.