Derivación Matricial Fernando Lara Fundación Universitaria Konrad Lorenz Director: Leonardo Jiménez Moscovitz Matemático Fundación Universitaria Konrad Lorenz 11 de junio de 2007 Resumen En este trabajo se hace una presentación de algunos aspectos teóricos y prácticos acerca de la derivación matricial. Este tema es especialmente importante, ya que las matrices no solo proveen una notación muy compacta para algunos desarrollos matemáticos, sino que además permiten una mayor generalización. Después de la presentación teórica, se expone un caso de aplicación a las redes neuronales, y se exponen algunas lineas de código en Matlab para la resolución de problemas que involucren la derivación matricial. This work develops a presentation of some theorical and practical topics about matrix derivation. This area is specially important because matrix theory not only provides a compact notation for some mathematical developments, it also provides a greater generalization. After the theoric presentation, this paper exposes an application to neural networks, and some code in Matlab to help in the solutions of problems involving matrix derivation. 1 Índice Introducción 3 1. Preliminares 1.1. Matrices . . . . . . . . . . . . . . 1.2. Conceptos Básicos . . . . . . . . 1.3. Matrices . . . . . . . . . . . . . . 1.3.1. Operaciones con Matrices 1.3.2. Matrices Especiales. . . . . . . . . . . . . . 2. Derivación. 2.0.3. Interpretación de la derivada tangente. . . . . . . . . . . . 2.0.4. Reglas de Derivacion. . . . . 2.0.5. Derivación Parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 8 10 14 23 como la . . . . . . . . . . . . . . . pendiente . . . . . . . . . . . . . . . . . . de una . . . . . . . . . . . . . . . 24 25 33 35 35 35 36 37 37 39 49 60 70 3. Derivación Matricial 3.1. Funciones Matriciales . . . . . . . . . . . . . . . . . 3.1.1. Funciones de Variable Escalar . . . . . . . . . 3.1.2. Funciones de Variable Vectorial . . . . . . . . 3.1.3. Funciones de Variable Matricial . . . . . . . . 3.2. Otras Matrices Especiales . . . . . . . . . . . . . . . 3.3. Producto de Kronecker . . . . . . . . . . . . . . . . . 3.4. Fórmulas de Derivación Matricial. . . . . . . . . . . 3.5. Reglas de Derivación. . . . . . . . . . . . . . . . . . 3.6. Propiedades de Derivación de Funciones Matriciales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Aplicaciónes 4.1. Redes Neuronales . . . . . . . . . . . . . 4.1.1. Características del Algoritmo . . 4.1.2. Propagación hacia adelante. 4.1.3. Propagación hacia atrás. . . . . . 4.1.4. Resumen (Algoritmo) . . . . . . 4.1.5. Propagación hacia adelante. . . . 4.1.6. Propagación hacia atrás. . . . . . 4.1.7. Propagación hacia atrás. . . . . . 4.2. Derivadas Matriciales en Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 . 87 . 87 . 88 . 89 . 96 . 97 . 97 . 100 . 101 5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 2 Introducción El Álgebra matricial se ha convertido en los últimos años en una parte esencial de los conocimientos de matemáticas, necesarios en campos tan diversos como la ingeniería, la física, la pedagogía, la química, la sociología y en el campo científico, así como la estadística y la matemática pura. Este requerimiento refleja la importancia y la amplitud de sus aplicaciones. Muchos de los temas tratados en los campos mencionados comparten métodos comunes para resolver algunos de los problemas específicos. Los programas de las materias de matemáticas han ido evolucionando para facilitar que el profesional domine las técnicas empleadas en el tratamiento de los problemas. Sin embargo, por razones obvias, la mayoría de los textos de matemáticas se han centrado en lo que es el núcleo básico de los programas de cálculo y álgebra. Por otra parte, asignaturas de corte matemático dirigidos a dotar de conocimientos adecuados para abordar problemas, con un nivel más riguroso, tienen carácter optativo. Con respecto a esas asignaturas, no es fácil encontrar manuales adecuados a sus contenidos específicos, lo que significa que un estudiante ha de confiar en las referencias bibliográficas recomendadas, que en múltiples ocasiones no se ajustan a sus necesidades de rigor de planteamiento, o bien, apuntes tomados en clase, con los conocidos inconvenientes que esta práctica conlleva. Como ejemplos, pensemos en temas como derivadas de vectores y matrices y derivadas de funciones matriciales. Basado en la importancia que ha adquirido el cálculo matricial, el compendio que se ha proyectado, se presentará como suplemento a los textos sobre cálculo matricial, que entre otros, son bastante exiguos en nuestro medio. El objetivo fundamental es fijar un criterio de derivación, indicar su relación con las aproximaciones vectoriales a la derivada y, a partir de ello, obtener resultados que permitan enfrentarse formalmente y con mayor comodidad al estudio de variables matriciales. Antes de abordar el proceso de derivación matricial, se presenta un compendio con los elementos básicos del álgebra lineal, específicamente sobre matrices, y un compendio que incluye las propiedades básicas del cálculo diferencial, necesarios para comprender la manera como se aborda el estudio sobre cálculo matricial. De la misma forma, dada la complejidad del problema, se hizo preciso incluir algunas nuevas operaciones entre matrices que completan el cálculo matricial tradicional; para estas nuevas operaciones, se incluyen conceptos y propiedades sobre producto de Kronecker, vectorización de matrices y se definen las matrices de permutación que se utilizan en algunos desarrollos. En el presente trabajo se ha utilizado extensivamente la presentación de [Bar98]; este excelente libro es uno de los pocos escritos en español que tratan el tema de la derivación matricial. En particular, se ha utilizado mucho en la sección 3, donde se expone la presentación teórica y de las propiedades. Otros escritos que se han podido disponer tienen una presentación algo diferente; en particular, muchos de ellos utilizan el concepto de diferencial al trabajar con derivadas matriciales, lo que implica entre otros aspectos, cambios en la no3 tación. En el capítulo 4, se presenta el desarrollo de un problema de redes neuronales que en su forma original es un aporte del Ing. Pervys Rengifo, profesor de la F.U.K.L., a quien se le agradece su amable colaboración. En este ejemplo se observa la aplicación de la derivación matricial en la solución de un problema de este tipo. Finalmente, se exponen algunas líneas de código en Matlab para ayudar en la resolución de problemas de derivación matricial o vectorial. 4 1. Preliminares En este capítulo se exponen los conceptos y reglas más importantes que sirven de base a la comprensión de la diferenciación matricial, así como de los conceptos y procesos asociados. Por ello, se explican en primera instancia las definiciones y los conceptos básicos de matrices, así como las operaciones a las que se pueden someter estos objetos. Luego se presentan los tipos de matrices más importantes y las propiedades que éstos poseen. 1.1. Matrices Aquí se introducirá el concepto de matriz y se presentarán ciertas operaciones algebráicas definidas sobre ellas. Las nociones expuestas serán la base para comprender los conceptos relativos al cálculo vectorial y matricial en general. De la manera más general posible, se puede definir una matriz como una tabla o arreglo rectangular de objetos matemáticos que pueden someterse a las operaciones de suma y producto. Esto requiere por una parte, detallar cuales son esos objetos o elementos de la matriz que son de interés primordial para el matemático, y por otra parte especificar algunas de las propiedades asociadas con las operaciones sobre dichos elementos: éstos, junto con las operaciones de suma y producto, deben formar un cuerpo k [Her86]. Los elementos de una matriz pueden ser o bien los números reales (k = R) o bien los números complejos (k = C); en estos caso, los elementos se llaman escalares. Pero los elementos de una matriz también pueden ser funciones definidas en los números reales o los complejos. En el presente trabajo se tratarán las matrices definidas sobre los reales, se definirá posteriormente la matriz de funciones. El otro caso en que se considerarán las matrices y vectores es en la propia definición de las funciones. Para el presente trabajo el interés no radica en funciones de variable real por ejemplo, sino que la función puede ser de variable vectorial, o matricial y por otra parte su salida puede ser a su vez un valor escalar, vectorial o matricial. 1.2. Conceptos Básicos En esta sección se expondrán los principales conceptos relacionados con la temática a tratar. Por una parte, se hace referencia a algunos conceptos del álgebra abstracta como es el concepto de cuerpo, y por otra parte se hace referencia al concepto de espacio vectorial. A través del concepto de cuerpo se describe el comportamiento de los elementos que conforman una matriz al realizar sobre ellos ciertas operaciones; el concepto de espacio vectorial es una generalización tanto de vectores en Rn como del propio concepto de matriz. Definición 1.1 (Campo o Cuerpo) Un campo o cuerpo k es una estructura algebraica conformada por un conjunto y dos operaciones definidas sobre los elementos del conjunto, < K, +, ∗ > que se comportan como un anillo conmutativo en el cual todo elemento diferente de 0 tiene inverso multiplicativo. [Her86]. 5 Definición 1.2 (Espacio Vectorial) Un espacio vectorial definido sobre un cuerpo k, es un conjunto V de objetos llamados vectores, junto con las operaciones cerradas de suma y producto por escalar, que cumplen ocho propiedades [San94]: Si u, v, w ∈ V y α, β son escalares cualesquiera, entonces 1. (u + v) + w = u + (v + w) 2. u + v = v + u 3. Existe 0 ∈ V tal que v + 0 = 0 + v = v 4. Para cada v existe un vector −v tal que v + (−v) = (−v) + v = 0 5. α(u + v) = αu + αv 6. (α + β)u = αu + βu 7. (αβ)u = α(βu) 8. 1 · v = v Definición 1.3 (Subespacios Vectoriales) Un subespacio U de un espacio vectorial V es un subconjunto de V que es en sí mismo, un espacio vectorial sobre el mismo cuerpo. Dentro de los espacios vectoriales más importantes, se tienen los espacios k = Rn así como k = Cn . Un vector en Rn se puede expresar como v1 = α1 x1 + α2 x2 + ... + αn xn . Esto se puede generalizar a continuación. Definición 1.4 (Combinación Lineal) Sea V un espacio vectorial, y U = {u1 , u2 , ...ur } un conjunto finito de vectores de V. Entonces un vector de la forma: v = α1 u1 + α2 u2 + ... + αr ur = r i=1 αi ui se llama una combinación lineal de vectores en U. Es importante considerar el caso en el que se generan todas las posibles combinaciones lineales con elementos de U, y con todos los posibles escalares αi ∈ k. Definición 1.5 (Subespacio Generado) Sea V un espacio vectorial, y U = {u1 , u2 , ...ur } un conjunto finito de vectores de V. El conjunto de todas las posibles combinaciones lineales de elementos de U se llama el subespacio generado por U, y se denota: S (U ) = {v|v = n i=1 αk ui , ∀αk ∈ k} 6 Un concepto muy importante relacionado con estos vectores es el de dependencia o independencia lineal. Definición 1.6 (Dependencia Lineal) Sea V un espacio vectorial, y U = {u1 , u2 , ...ur } un conjunto finito de vectores de V. Entonces, U es linealmente dependiente o ligado si y solo si existen escalares α1 , α, ...αr no todos ceros, tal que: α1 u1 + α2 u2 + ... + αr ur = 0 Se dice que U es linealmente independiente o libre si no es dependiente. Un conjunto U linealmente independiente y de especial importancia, se define a continuación. Definición 1.7 (Base) Sea V un espacio vectorial sobre k. Si en V existe un subconjunto finito U de vectores linealmente independientes, tal que S(U ) = V, o en otras palabras, que todo vector v ∈ V puede ser expresado como combinación lineal de vectores en U, entonces se dice que U es una base de V . Si una base consiste de una cantidad finita de elementos, entoces se puede demostrar que toda base de un espacio vectorial V tiene la misma cantidad de elementos: Definición 1.8 (Dimensión) Sea V un espacio vectorial con una base B con n elementos. Entonces, se define a n como la dimensión del espacio vectorial V, y se expresa como dim(V ) = n. Para el caso V = Rn con n = 3 se tiene la dimensión del conjunto de vectores en el espacio. Es necesario en muchos casos considerar funciones o morfismos entre espacios vectoriales diferentes, esto es, f : V → W donde V, W son espacios vectoriales sobre el mismo cuerpo k. Estas funciones, cuya descripción se puede encontrar en libros de álgebra abstracta tales como [Her86] son de especial importancia si poseen ciertas propiedades, tal como se observa en la siguiente definición. Definición 1.9 (Isomorfismo) Sean V, W son espacios vectoriales sobre el mismo cuerpo k, y sea f una función f : V → W que cumple con las siguientes propiedades que para todo xi ∈ V y para todo a, b ∈ k: 1. f −1 existe. Esto es, f es invertible 2. f (ax1 + bx2 ) = f(ax1 ) + f(bx2 ) = af(x1 ) + bf(x2 ) A los espacios vectoriales V, W se les llama espacios isomorfos, es decir, que tienen la misma estructura. 7 Definición 1.10 (Transformación Lineal) Sea U un espacio vectorial n-dimensional y sea V un espacio vectorial m-dimensional, ambos sobre el mismo cuerpo k. Sea BU una base de U y BV una base de V. Una transformación lineal es una función T : U → V tal que, para escalares arbitrarios a, b ∈ k y vectores x1 , x2 ∈ U : T (ax1 + bx2 ) = T (ax1 ) + T (bx2 ) = aT (x1 ) + bT (x2 ) Una transformación lineal es entonces, una operación entre dos espacios vectoriales que preserva las operaciones. Son de especial importancia también las transformaciones lineales T : V → V que reciben el nombre de endomorfismos. 1.3. Matrices En esta sección se establecerán las condiciones para definir adecuadamente el concepto de matriz, sus diferentes tipos y examinar luego algunas de sus propiedades. En el presente trabajo, las matrices se establecerán con referencia al espacio vectorial definido por Mmn , el conjunto de todas las matrices de tamaño m × n, así: Definición 1.11 (Matriz) Sea k un cuerpo, y sea Mmn el espacio vectorial de todas las matrices de tamaño m × n definidas sobre k. Se define una matriz A ∈ Mmn con elementos en k, y se expresa diciendo que A es una matriz sobre k, a un arreglo de mn elementos aij ∈ k, ordenados de manera rectangular con m filas y n columnas encerrados entre corchetes, donde 1 ≤ i ≤ m y 1≤j≤n: a11 a12 ... a1n a21 ... ... a2n ... ... ... ... am1 am2 ... amn Las líneas horizontales en una matriz se denominan filas y las líneas verticales se denominan columnas. El primero de los coeficientes indica la fila y el segundo la columna en que está ubicado el elemento. A una matriz con m filas y n columnas se le denomina matriz m-por-n (escrito m × n), siendo los valores m y n sus dimensiones. La matriz anterior se denota también por (aij ). Bajo esta definición, entonces sobre las matrices se pueden definir dos operaciones: suma y producto por escalar, que deben cumplir con las propiedades mencionadas en la definición 1.2. Definición 1.12 (Matriz como Transformación Lineal) Sean V, W espacios vectoriales de dimensión finita. Si se han determinado las bases BV del espacio V con dimensión n, y BW del espacio W con dimensión m, entonces cada transformación lineal T : V → W puede ser representada por una matriz A. 8 Ejemplo 1.1 Sean V, W espacios vectoriales. Sea {v1 , v2 , ...vn } una base de V y {w1 , w2 , ...wm } una base de W. Cada vector v ∈ V puede ser representado de manera única mediante los escalares α1 , α, ...αn ∈ k. mediante la combinación lineal α1 v1 + α2 v2 + ... + αr vn Si f : V → W es una aplicación lineal, entonces f (a1 v1 + a2 v2 + ... + ar vn ) = a1 f (v1 ) + a1 f (v2 ) + ...ar f (vn ) La función queda completamente determinada por los valores f(v1 ) + ... + f(vn ). Como {w1 , w2 , ...wm } es una base de W, entonces cada f(vj ) puede representarse como: f (vj ) = a1j f (w1 ) + a2j f(w2 ) + ...anj f (wm ) Luego la función queda completamente determinada por los valores aij . Si estos valores se utilizan para construir una matriz A de tamaño m×n, Entonces la matriz A se puede utilizar para calcular el valor de f(v) para todo vector en V. Otra manera de representar la interpretación de una matriz como una aplicación lineal es tomando x ∈ kn , y ∈ km , luego el morfismo f : kn → km puede ser representado por y = Ax. Las dimensiones de una matriz siempre se dan con el número de filas primero y el número de columnas después. La entrada de una matriz A que se encuentra en la fila i-ésima y la columna j-ésima se le llama entrada i, j o entrada (i, j)ésima de A. Esto se escribe como Ai,j o A[i, j]. Entonces, el primero de los subíndices indica la fila y el segundo la columna a las que pertenece dicho elemento. Las filas de la matriz son las m n-plas horizontales: a11 a12 ··· a1n , a21 a22 ··· a2n , · · · , am1 am2 ··· amn y las columnas de la matriz son las n m-plas verticales: a12 a11 a21 a22 .. , .. , · · · . . am1 am2 a1n a2n , . .. amn Nótese que el elemento aij llamado entrada ij, aparece en la fila i-ésima y en la columna j-ésima. Una matriz con m filas y n columnas se denomina matriz m por n, o matriz m × n; el par de números (m, n) se llama su tamaño o forma. Las matrices se denotan usualmente por letras mayúsculas A, B, . . . y los elementos del cuerpo k por minúsculas, a, b, . . . con sus respectivos subíndices. Una matriz con una sola columna o una sola fila se denomina a menudo vector, y se interpreta como un elemento del espacio euclídeo [Her86]. 9 Definición 1.13 (Vector) Un vector es una matriz que posee una sola fila o una sola columna. Una matriz 1× n (una fila y n columnas) se denomina vector fila, y una matriz m× 1 (una columna y m filas) se denomina vector columna. En general, dada una matriz A, al vector (ai1 , ai2 , ...ain ) que forma la i-ésima fila de A se le llama un vector fila, mientras que al vector (a1j , a2j , ...amj ) que forma la j-ésima columna de A se le llama vector columna. Nótese que en particular, un elemento del cuerpo k puede verse como una matriz o vector de tamaño 1 × 1. 1 −3 4 Ejemplo 1.2 Se tiene la matriz A2×3 : 0 5 −2 Sus filas son 1 −3 4 y 0 5 −2 y cada una de ellas es un vector fila, mientras que 1 −3 4 sus columnas son , , y cada una de ellas es un vector 0 5 −2 columna. Ejemplo 1.3 La aserción x+y x−y 2z + w 3 5 = es equivalente al siguiz−w 1 4 ente sistema de ecuaciones: x+y =3 x−y =1 2z + w = 5 z−w =4 Definición 1.14 (Igualdad de Matrices) La condición necesaria y suficiente para que dos matrices A = (aij ) y B = (bij ) sean iguales (A = B) es que tengan el mismo orden y que cada uno de los elementos de una de ellas sea igual al correspondiente de la otra. Esto es aij = bij (i = 1, 2, ..., m; j = 1, 2, ..., n) En otras palabras, dos matrices son iguales solo cuando una es copia de la otra. 1.3.1. Operaciones con Matrices Las matrices se han definido dentro del espacio vectorial que se ha llamado el espacio vectorial Mmn de las matrices de tamaño m × n. Por tanto, las dos primeras operaciones que son de interés son la suma y el producto por escalar. Dichas operaciones deben dar como resultado otra matriz del mismo tamaño. Además, para estas operaciones, más adelante,(def 1.19) se definirá la matriz 0m×n tal que para cualquier matriz Am×n , A + 0 = 0 + A = A y obviamente, se tendrá un escalar 1 tal que 1A = A 10 Definición 1.15 (Suma de Matrices) Sean A = (aij ) y B = (bij ) dos matrices del espacio vectorial Mmn , ambas de igual tamaño m × n. La suma (o diferencia) de ellas, denotada como A ± B, es otra matriz C = (cij ) de orden m × n, en la cual cada elemento de C es la suma (o diferencia) de los elementos correspondientes de A y B. Esto es, (cij ) = (aij + bij ) a11 a21 A= . .. a12 a22 .. . ··· ··· .. . am1 b11 a1n b21 a2n .. ; B = .. . . amn bm1 am2 · · · a11 + b11 a21 + b21 C =A+B = .. . am1 + bm1 b12 b22 .. . ··· ··· .. . bm2 ··· a21 + b21 a22 + b22 .. . ··· ··· .. . am2 + bm2 ··· b1n b2n .. . bmn a1n + b1n a2n + b2n .. . amn + bmn Dos matrices del mismo órden se llaman conformes respecto de la suma algebraica. La suma de matrices no está definida para matrices no conformes. Definición 1.16 (Producto por Escalar) Sea A una matriz del espacio vectorial Mmn , y k ∈ k un escalar. El producto del escalar k por la matriz A, escrito kA es la matriz C obtenida multiplicando cada entrada de A por k: ka11 ka21 · · · ka1n ka21 ka22 · · · ka2n C = kA = . .. .. .. .. . . . kam1 kam2 ··· kamn Obsérvese que A + B y kA son también matrices de tamaño m × n. Además se define: −A = −1 · A y A − B = A + (−B) 1 −2 3 3 0 2 Ejemplo 1.4 Sean A = ,B = entonces 4 5 −6 −7 1 8 1 + 3 −2 + 0 3 + 2 4 −2 5 A+B = = 4 − 7 5 + 1 −6 + 8 −3 6 2 3x1 3x (−2) 3x3 3 −6 9 3A = = 3x4 3x5 3x (−6) 12 15 −18 2 −4 6 −9 0 −6 −7 −4 0 2A − 3B = + = 8 10 −12 21 −3 −24 29 7 −36 11 Proposición 1.1 (Propiedades de la Suma y el Producto por Escalar) Sea V el conjunto de todas las matrices m × n sobre un campo k. En tal caso, para matrices arbitrarias A, B, C, 0 ∈ V y escalares cualesquiera k1 , k2 ∈ k y los valores 0, 1 ∈ k se cumple: 1. (A + B) + C = A + (B + C) 2. A + 0 = A 3. A + (−A) = 0 4. A + B = B + A 5. k1 (A + B) = k1 A + k1 B 6. (k1 + k2 )A = k1 A + k2 A 7. (k1 k2 )A = k1 (k2 A) 8. 1 · A = A y 0 · A = 0 Estas propiedades son de esperarse, dado que las matrices pertenecen a un espacio vectorial, y k es un escalar. Si se supone que los vectores en Rn se representan por vectores fila se tiene u = a1 a2 ··· an v = b1 b2 ··· bn Entonces, vistos como matrices, la suma u + v y el producto ku son las siguientes: u + v = a1 + b1 a2 + b2 ··· an + bn ku = ka1 ka2 ··· kan Definición 1.17 (Producto de vector fila por vector columna) Sea A = (ai ) un vector fila, y B = (bi ) un vector columna con el mismo número de elementos. El producto de estos vectores A y B, escrito A × B es un vector c de tamaño 1 × 1 definido como: a1 a2 ··· b1 n b2 an . = a1 b1 + a2 b2 + · · · + an bn = ak bk = c .. k=1 bn 12 Nótese que para este caso, el producto de vectores se puede ver como un escalar c ∈ k. El producto A × B no está definido si los vectores A y B tienen diferente cantidad de elementos. 3 Ejemplo 1.5 8 −4 5 2 = 8 · 3 + (−4) · 2 + 5 · (−1) = 24 − 8 − 5 = 11 −1 Ahora se puede ampliar este procedimiento para realizar el producto de matrices de tamaño m × n en general. Definición 1.18 (Producto de Matrices) Sean A = (aij ) y B = (bij ) matrices tales que el número de las columnas de A coincide con el mismo número de filas de B; esto es, A es una matriz m × p y B es una matriz p × n. Entonces el producto de las dos matrices AB, en este orden, es otra matriz C de tamaño m × n cuya entrada ij se obtiene multiplicando la fila i-ésima Ai de A por la columna j-ésima Bj de B (cada elemento de la fila se multiplica por el correspondiente de la columna y a continuación se suman los productos obtenidos según la definición 1.17): C = Am×p Bp×n A1 B 1 A2 B 1 = . .. Am B 1 A1 B 2 A1 B 2 .. . ··· ··· .. . Am B 2 ··· A1 B n A1 B n .. . Am B n Donde cij = ai1 b1j + ai2 b2j + · · · + aip bpj = p m×n aik bkj para todo i, j en C. k=1 Se observa que en general, el producto de matrices no es conmutativo. Dos matrices en las cuales el número de columnas de A es igual al número de filas de B se llaman matrices conformes respecto de la multiplicación. Se debe tener en cuenta el hecho de que el producto AB sólo está definido para matrices conformes. Esto es, no está definido si A es una matriz m × p y B una matriz q × n con p = q. r s a1 a2 a3 ra1 + sb1 ra2 + sb2 ra3 + sb3 Ejemplo 1.6 = t u b1 b2 b3 ta1 + ub1 ta2 + ub2 ta3 + ub3 1 2 1 1 1 × 1 + 2x0 1 × 1 + 2 × 2 1 5 = = 3 4 0 2 3×1+4×0 3×1+4×2 3 11 1 1 1 2 1×1+1×3 1×2+1×4 4 6 = = 0 2 3 4 0×1+2×3 0×2+2×4 6 8 13 Lo anterior muestra que el producto de matrices no es conmutativo, es decir los productos AB y BA de matrices no son necesariamente iguales. Proposición 1.2 (Propiedades del Producto de Matrices) Sean A, B, C matrices conformes para la multiplicación o para la suma, según corresponda, y k un escalar. Entonces, se cumplen las siguientes propiedades: 1. (AB)C = A(BC) 2. A(B + C) = AB + AC 3. (B + C)A = BA + CA 4. k(AB) = (kA)B = A(kB) 5. 0A = 0 y B0 = 0 donde 0 es la matriz nula conforme 1.3.2. Matrices Especiales. Definición 1.19 (Matriz Nula) Una matriz que tenga nulos todos sus elementos se llama matriz nula o matriz cero y se denota por 0m,n . En el caso de que una matriz A sea nula y no haya lugar a confusiones con respecto a su orden, se escribe simplemente A = 0 en lugar de la disposición m × n con sus elementos iguales a cero. 0 0 0 Ejemplo 1.7 La matriz cero de tamaño 2 × 3 es: 02×3 = 0 0 0 Para cualquier matriz Am,n y 0m,n , se tiene que A + 0 = 0 + A = A. Esto es de esperarse, ya que 0 cumple la función de vector nulo en el espacio vectorial Mmn . Definición 1.20 (Matriz Traspuesta) La matriz traspuesta de una matriz A de orden m × n es la matriz A de orden n × m llamada la traspuesta de A que se obtiene permutando las filas por las columnas. Por tanto, el elemento aij de A corresponde al elemento aji de A 1 4 1 2 3 Ejemplo 1.8 La traspuesta de la matriz A = es A = 2 5 4 5 6 3 6 Obsérvese que el elemento aij de A (fila i, columna j) es aji de A (fila j, columna i). Proposición 1.3 Sean A y B, respectivamente, las traspuestas de las matrices A y B, y sea k ∈ k un escalar; en estas condiciones se cumple que: 1. (A) = A 14 2. (kA) = kA 3. (A + B) = A + B 4. (A × B) = B × A 4 −3 6 7 8 9 Ejemplo 1.9 A = −2 5 −1 , B = 3 2 1 1 0 3 −5 6 −4 11 5 15 11 1 −4 A + B = 1 7 0 , (A + B) = 5 7 6 −4 6 −1 15 0 −1 4 −2 1 7 3 −5 11 1 −4 A = −3 5 0 , B = 8 2 6 , A + B = 5 7 6 6 −1 3 9 1 −4 15 0 −1 11 1 −4 11 1 −4 Por tanto (A + B) = 5 7 6 = A + B = 5 7 6 15 0 −1 15 0 −1 Matrices Cuadradas. Dentro de las matrices más utilizadas en álgebra, se encuentran las matrices cuadradas. Definición 1.21 (Matriz Cuadrada) Una matriz A se llama matriz cuadrada si el número de filas es igual al número columnas. Es decir n = m. Se dice que una matriz cuadrada n × n es de orden n y se le asigna el nombre de matriz n-cuadrada: a11 a12 · · · a1n a21 a22 · · · a2n .. .. .. . . . ··· an1 an2 · · · ann Las matrices cuadradas son de especial importancia. Es en estas matrices donde surge el concepto de determinante y de traza. Además poseen algunas propiedades interesantes, por ejemplo toda matriz cuadrada se puede descomponer en la suma de una matriz simétrica y una matriz antisimétrica. Además, si A y B son matrices del mismo orden, entonces se pueden sumar entre sí y sus productos son válidos en ambos sentidos, esto es, tanto AB como BA están definidos. 15 Definición 1.22 (Traza de una Matriz Cuadrada) Sea A una matriz cuadrada de orden n. La diagonal principal es la línea formada por los elementos a11 , a22 , ..., ann . La suma de los elementos de la diagonal principal de una nmatriz cuadrada A, se llama traza de la misma, y se denota como tr(A) = aii . i=1 1 2 3 2 −5 1 Ejemplo 1.10 Sean A = −4 −4 −4 B = 0 3 −2 5 6 7 1 2 −4 Entonces A y B son matrices cuadradas de orden 3, y sus trazas son tr(A) = 4 y tr(B) = 1. Definición 1.23 (Matriz Triangular) Una matriz cuadrada A cuyos elementos aij = 0 para i ≥ j se llama triangular superior; una matriz cuadrada cuyos elementos aij = 0 para i ≤ j se denomina triangular inferior. Así, pues a11 0 0 .. . 0 a11 a21 a31 .. . an1 a1n a2n a3n es una matriz triangular superior .. . ann a12 a22 0 .. . a13 a23 a33 .. . ··· ··· ··· .. . 0 0 ··· 0 a22 a32 .. . 0 0 a33 .. . ··· ··· ··· .. . 0 0 0 .. . an2 an3 ··· ann es una matriz triangular inferior. Definición 1.24 (Matriz Diagonal) La matriz D que es triangular superior e inferior, se llama matriz diagonal. Se representa por: D = diag a11 a22 a33 ··· a11 0 ann = 0 .. . 0 0 a22 0 .. . 0 0 a33 .. . ··· ··· ··· .. . 0 0 0 .. . 0 0 ··· ann El producto AB de una matriz diagonal cuadrada de orden m, A = diag (a11 , a22 , ...amm ) por otra matriz cualquiera B de orden n × m se obtiene multiplicando la primera fila de B por a11 , la segunda de B por a22 y así sucesivamente. Esto es: 16 a11 0 .. . 0 0 a22 .. . ··· ··· .. . 0 0 .. . 0 ··· ann a11 b11 a22 b21 .. . = amm bm1 b11 b21 .. . bn1 b12 b22 .. . ··· ··· .. . bn2 ··· a11 b12 a22 b22 .. . ··· ··· .. . a11 b1n a22 b2n .. . amm bm2 ··· amm bmn b1n b2n .. . b3n Definición 1.25 (Matriz Escalar y Matriz Unidad) Si en una matriz diagonal D se verifica que a11 = a22 = . . . = ann = k, entonces D recibe el nombre de matriz escalar. Si además k = 1, la matriz se denomina unidad o identica y se representa por In . Las matrices unitarias tienen algunas de las todo caso, se verifica que: Im × Am×n = Am×n × In = Im × Am×n × In 1 0 1 0 Ejemplo 1.11 I2 = I3 = 0 1 0 1 0 0 propiedades del entero 1. En =A 0 0 1 Definición 1.26 (Matrices Conmutativas y Anticonmutativas) Si A y B son dos matrices cuadradas y se verifica que AB = BA dichas matrices se llaman permutables, conmutativas o que conmutan. Es fácil demostrar que si A es una matriz cuadrada de orden n, conmuta consigo misma y también con In . En las condiciones anteriores, si A y B son tales que AB = −BA, las matrices A y B se llaman antipermutables o anticonmutativas a b c d Ejemplo 1.12 Demostrar que las matrices y son permutables b a d c para todos los valores de a, b, c, d. Esto se deduce de: a b c d ac + bd ad + bd × = = b a d c bc + ad bc + ad ca + db da + db c d a b = × cb + da cb + da d c b a 17 Definición 1.27 (Matriz Idempotente) Una matriz A de manera que Ak+1 = A, se llama matriz idempotente de grado k la matriz A. Al grado k también se le llama periodo. 2 −2 −4 4 Verificar si la matriz A es idempotente: Ejemplo 1.13 A = −1 3 1 −2 −3 2 −2 −4 2 −2 −4 2 −2 −4 4 = −1 3 4 =A 4 × −1 3 A2 = −1 3 1 −2 −3 1 −2 −3 1 −2 −3 Definición 1.28 (Matriz Nilpotente) Una matriz A tal que AP = 0, siendo p un número entero y positivo, se llama nilpotente. Si p es el menor número entero y positivo para la cual AP = 0, la matriz A se llama nilpotente de índice p. 1 1 3 2 6 Demostrar que A es una matriz nilpotente Ejemplo 1.14 A = 5 −2 −1 −3 de índice 3. 1 1 3 1 1 3 0 0 0 2 6 × 5 2 6 = 3 3 9 A2 = 5 −2 −1 −3 −2 −1 −3 −1 −1 −3 0 0 0 1 1 3 3 9 × 5 2 6 =0 A3 = A2 × A = 3 −1 −1 −3 −2 −1 −3 Definición 1.29 (Matriz Involutiva) Una matriz cuadrada A tal que A2 = I se llama involutiva. Una matriz unidad, por ejemplo, es involutiva. La inversa de una matriz involutiva es ella misma. Proposición 1.4 La condición necesaria y suficiente para que una matriz A sea involutiva es que (I − A)(I + A) = 0 Demostración. Supóngase (I − A)(I + A) = I − A2 = 0; luego A2 = I y A es involutiva. Supóngase que A es involutiva; entonces A2 = I y (I − A)(I + A) = I − A2 = I − I = 0 Definición 1.30 (Matriz Simétrica) Una matriz cuadrada A tal que A = A se llama simétrica. Por tanto, en una matriz cuadrada A = [aij ]simétrica se verifica que aij = aji para todos los valores de i y de j. 18 1 2 3 Ejemplo 1.15 A = 2 4 −5 3 −5 6 k∈k es simétrica y también kA para cualquier Si A es una matriz cuadrada de orden n, la matriz A + A es simétrica. 1 2 3 1 2 3 A = 2 4 −5 , A = 2 4 −5 entonces 3 −5 6 3 −5 6 2 4 6 8 −10 A + A = 4 6 −10 12 Definición 1.31 (Matriz Antisimétrica) Una matriz cuadrada A tal que A = −A se llama hemisimétrica o antisimétrica. Por tanto, en una matriz cuadrada A hemisimétrica se verifica que aij = −aji para todos los valores de i y de j . Evidentemente, los elementos de la diagonal principal deben ser nulos. 0 2 −3 0 −2 3 0 2 −3 0 4 A = −2 0 −4 = −A = −2 0 −4 Ejemplo 1.16 A = 2 3 4 0 −3 −4 0 3 4 0 La anterior es una matriz hemisimétrica, así como kA, cualquiera que sea el escalar k ∈ k. Proposición 1.5 Toda matriz cuadrada A se puede descomponer en la suma de una matriz simétrica B = 12 (A + A) y otra matriz antisimétrica C = 12 (A − A). La inversa de una matriz juega un papél muy importante en el desarrollo de diferentes procedimientos algebraicos y de cálculo matricial. Así como en R , para todo a ∈ R con a = 0, existe un b ∈ R que es el inverso multiplicativo, para el caso de una matriz A análogamente se plantea la posibilidad de que exista una matriz B conformable, tal que AB = I. Definición 1.32 (Matriz Inversa) Sean A y B dos matrices cuadradas del mismo orden, para las cuales se cumple que AB = BA = I. A la matriz B se llama inversa de A y se escribe B = A−1 (B igual a inversa de A), Recíprocamente, la matriz A es la inversa de B, y se puede escribir A = B −1 . 1 2 3 6 −2 −3 1 0 0 0 = 0 1 0 = I Ejemplo 1.17 Como 1 3 3 × −1 1 1 2 4 −1 0 1 0 0 1 Cada una de las matrices del producto es inversa de la otra. 19 No todas las matrices poseen inversa. Se puede demostrar, sin embargo, que si A posee matriz inversa, ésta es única. Proposición 1.6 (Propiedades de la Inversa) La inversa de una matriz cumple con las siguientes propiedades 1. Si A es una matriz que tiene inversa, ésta es única Demostración. Sean A, B, C tres matrices cuadradas de forma que AB = BA = I y CA = AC = I. En estas condiciones, (CA)B = C(AB) y por tanto B = C. En otra forma, B = C = A−1 es la única inversa de A. 2. (AB)−1 = B −1 A−1 Demostración. Por definición (AB)−1 (AB) = (AB)(AB)−1 = I. Ahora bien: (B −1 A−1 )AB = B −1 (A−1 A)B = B −1 IB = B −1 B = I AB(B −1 A−1 ) = A(BB −1 )A−1 = AA−1 = I Como (AB)−1 es única, luego (AB)−1 = B −1 A−1 Una matriz que posee inversa se llama invertible o no singular. Definición 1.33 (Matriz Ortogonal) Se dice que una matriz A definida sobre un cuerpo k, es ortogonal si AAT = AT A = I. Una matriz ortogonal A es necesariamente cuadrada e invertible, con una inversa A−1 = AT a1 Sea A = b1 c1 a2 b2 c2 Si A es ortogonal, a1 a2 AAT = b1 b2 c1 c2 a3 b3 c3 entonces se debe cumplir: a3 a1 b1 c1 1 0 0 b3 a2 b2 c2 = 0 1 0 a3 b3 c3 0 0 1 c3 Esto proporciona el siguiente conjunto de ecuaciones: a21 + a22 + a23 = 1 a1 b1 + a2 b2 + a3 b3 = 0 a1 c1 + a2 c2 + a3 c3 = 0 b1 a1 + b2 a2 + b3 a3 = 0 b21 + b22 + b23 = 1 b1 c1 + b2 c2 + b3 c3 = 0 c1 a1 + c2 a2 + c3 a3 = 0 c1 b1 + c1 b1 + c1 b1 = 0 c21 + c22 + c23 = 1 o en otras palabras: u1 • u1 = 1 u1 • u2 = 0 u1 • u3 = 0 u2 • u1 = 0 u2 • u2 = 1 u2 • u3 = 0 u3 • u1 = 0 u3 • u2 = 0 u3 • u3 = 1 20 donde u1 = (a1 , a2 , a3 ) , u2 = (b1 , b2 , b3 ) , u3 = (c1 , c2 , c3 ) son las filas de A. Así las filas u1 , u2 y u3 son ortogonales entre sí y tienen longitudes unidad o, dicho de otro modo, forman un conjunto ortonormal de vectores Definición 1.34 (Matriz Escalonada) Sean A A · · · A matri1 2 S ces cuadradas de órdenes m1 m2 · · · mS , respectivamente. A1 0 La generalización A = . .. 0 0 A2 .. . ··· ··· .. . 0 0 .. . 0 ··· AS = diag A1 de la matriz diagonal se llama suma directa o matriz matrices .Ai 1 2 1 2 Ejemplo 1.18 Sean A1 = 2 , A2 = , A3 = 2 0 3 4 4 1 La suma directa de A1, A2 , A3 es la matriz escalonada: 2 0 0 diag (A1, A2 , A3 ) = 0 0 0 0 1 3 0 0 0 0 2 4 0 0 0 0 0 0 1 2 0 A2 ··· AS escalonada de las −1 3 −2 0 0 0 0 0 0 2 −1 0 3 1 −2 Tambien se puede ver a la matriz escalonada como una matriz particionada o una matriz de bloques en la cual las submatrices no nulas están sobre la diagonal . Definición 1.35 (Determinante de una Matriz Cuadrada) El determinante de una matriz cuadrada se puede definir recursivamente mediante desarrollos por columnas o por filas. Sea A = (aij ) una matriz n × n, donde i es el índice de la fila y j es el índice de la columna. Se nota por Aij la matriz (n − 1) × (n − 1) que se obtiene al quitar la fila i y la columna j de la matriz A. Entonces Desarrollo por la fila i : detA = |A| = n i+j aij det(Aij). j=1 (−1) Desarrollo por la columna j : detA = |A| = n i=1 (−1) i+j aij det(Aij). Aplicando repetidamente estas fórmulas, se va reduciendo el orden de las determinantes hasta llegar a determinantes de órdenes uno, dos o tres que se pueden calcular usando las reglas de Sarrus: 21 |a11 | = a11 a11 a12 = a11 a22 − a12 a21 a21 a22 a11 a21 a31 a12 a22 a32 a13 a23 = a11 a22 a33 + a12 a23 a31 + a21 a32 a13 a33 −a13 a22 a31 − a23 a32 a11 − a21 a12 a33 El valor del determinante no depende de las filas o columnas escogidas, mientras que la dificultad del cálculo probablemente sí. Proposición 1.7 (Propiedades del Determinante) Las principales propiedades de los determinantes de matrices cuadradas son las siguientes. 1. Si una columna es cero, el determinante es cero. 2. Si hay dos columnas iguales, el determinante es cero. 3. Si las columnas son ld, el determinante es cero. 4. El determinante cambia de signo al permutar dos columnas. 5. El determinante no cambia si a una columna se le suma una columna de las restantes. 6. El determinante es lineal respecto a cada columna: det(..., ci + ci , ...) = det(..., ci , ...) + det(..., ci , ...). det(..., ci , ...) = det(..., ci , ...). 7. Las filas también cumplen las anteriores propiedades. 8. det(λA) = λn det(A). 9. El determinante del producto es igual al producto de determinantes: det(AB) = detA·detB. 10. Una matriz A es invertible si y solo si detA = 0. Además, det(A−1 ) = (detA)−1 . 11. Una matriz y su traspuesta tienen el mismo determinante: det(AT ) = detA. 12. El determinante de una matriz triangular es igual al producto de los elementos diagonales. 13. El determinante de una matriz triangular por bloques es igual al producto de los determinantes de los bloques diagonales. 22 2. Derivación. En esta sección se exponen los conceptos fundamentales de la derivación de funciones reales, y algunas de las reglas principales. Se consideran principalmente las funciones algebraicas, y al final de la sección se exponen las fórmulas de algunas funciones trigonométricas y logarítmicas que podrán ser utilizadas posteriormente. Definición 2.1 (Pendiente) Se define la pendiente, en el punto donde x = a, de la tangente a una curva cuya ecuación es y = f (x), como m = lı́mh→0 f (a − h) − f (a) h De hecho, los límites con esta forma surgen siempre al calcular una rapidez de cambio en cualquier ciencia o rama de la ingeniería, como la rapidez de reacción en química o un costo marginal en economía. Dado que este tipo de límite se presenta con suma frecuencia, se le da un nombre y una notación especial. Definición 2.2 (Derivada) La derivada de la función f en un número a representada por f (a) es f (a) = lı́mh→0 f (a + h) − f (a) dado el caso de que el límite exista. h Si se escribe x = a + h, entonces h = x − a y h → 0 si y solo si x → a; por consiguiente de acuerdo con la determinación de las tangentes, un modo equivalente de enunciar la definición de derivada, es f (a) = lı́mx→a f (x) − f (a) x−a Ejemplo 2.1 Determinar la derivada de la función f (x) = x2 − 8x + 9 en el número a. f (a) lı́mh→0 f (a + h) − f (a) h [(a+h)2 −8(a+h)+9]−[a2 −8a+9] f (a) lı́mh→0 h 2 2 2 +8a−9 f (a) lı́mh→0 a +2ah+h −8a−8h+9−a h 2ah+h2 −8h f (a) lı́mh→0 = lı́mh→0 (2a + h − 8) h f (a) = 2a − 8 El proceso de calcular la derivada de una función se llama derivación. 23 Figura 1: Notación 2.1 (Derivada) Si se emplea la notación tradicional y = f (x) para indicar que la variable independiente es x y que la dependiente es y , hay otras notaciones alternativas comunes de la derivada: f (x) = y = dy df d = = f (x) = Df (x) = Dx f (x) dx dx dx d Los símbolos D y se denominan operadores de diferenciación porque indx dican la operación de diferenciación, que es el proceso de calcular una derivada. d El símbolo fue introducido por Leibniz y no se debe considerar como una dx relación, solo es un símbolo de f (x). No obstante, es una notación muy útil y sugerente, en especial cuando se usa con la notación de incrementos. 2.0.3. Interpretación de la derivada como la pendiente de una tangente. Si se parte de la definición de que la línea tangente o recta tangente a la curva y = f (x) en el punto P (a, f (a)) es la línea que pasa por P cuya pendiente es m = lı́mx→a f (x) − f (a) x−a siempre que exista ese límite Como, según la definición 2.2 es la misma que la derivada f (a) ahora se puede decir que la recta tangente a y = f (x) en (a, f (a)) es la línea que pasa por (a, f (a)) cuya pendiente es igual a f (a) la derivada de f en a Así, la interpretación geométrica de una derivada (como se tiene en la definición 2.2) es lo que registra la figura ??. 24 f (a + h) − f (a) f (x) − f (a) , b) f (a) = lı́mx→a h x−a = pendiente de tangente en P, =pendiente de tangente en P f (a) = lı́mh→0 Al emplear la forma punto-pendiente de la ecuación de la recta, se llega a: Si existe f (a) entonces una ecuación de la recta tangente a la curva y = f (x) en el punto (a, f (a)) es la siguiente: y − f (a) = f (a) (x − a) Ejemplo 2.2 Deducir una ecuación de la tangente a la parábola y = x2 −8x+9 en el punto (3, −6). De acuerdo con el ejemplo anterior se sabe que la derivada de f (x) = x2 − 8x + 9, en el número a es f (a) = 2a − 8 . Entonces la pendiente de la tangente en (3, −6) es f (3) = 2 (3) − 8 = −2. Así, la ecuación de la recta tangente y − (−6) = (−2) (x − 3) o sea y = −2x. 2.0.4. Reglas de Derivacion. Una función se dice diferenciable en un intervalo si lo es en cada uno de sus puntos. Las funciones del cálculo elemental son diferenciables, excepto posiblemente en puntos aislados, en sus intervalos de definición. Si siempre fuera necesario determinar las derivadas directamente a partir de la definición, las operaciones serían tediosas y se requeriría mucho ingenio para evaluar algunos límites. Por fortuna, se han desarrollado varias reglas para hallar derivadas que obvian ese proceso y simplifican mucho la diferenciación. Las reglas siguientes suponen que se trabaja con funciones diferenciables. Regla 2.1 (Derivada de una Constante) Si f es una función constante, f (x) = c, entonces f (x) = 0 Este resultado es geométricamente evidente porque la gráfica de una función constante es una recta horizontal con pendiente 0; la demostración formal también es simple. f (x) = lı́mh→0 f (x + h) − f (x) c−c = lı́mh→0 = lı́mh→0 0 = 0 h h En notación de Leibniz, se escribe: d c=0 dx Regla 2.2 (Regla de Potencias) Si f (x) = xn en donde n es un entero positivo, f (x) = nxn−1 d En la notación de Leibniz la regla de potencias se expresa como: dx (xn ) = n−1 nx 25 Demostración. La fórmula xn − an = (x − a) xn−1 + xn−2 a + . . . + xan−2 + an−1 Se comprueba multiplicando el lado derecho, o sumando el segundo factor como una serie geométrica. Así, si se usa la ecuación 2.2 para f (a) y después se utiliza la expresión de arriba, se obtiene: f (a) = lı́mx→a f (x) − f (a) xn − an = lı́mx→a x−a x−a f (a) = lı́mx→a xn−1 + xn−2 a + ... + xan−2 + an−1 f (a) = an−1 + an−2 + ... + xaan−2 + an−1 Demostración. f (a) = nan−1 f (x) = lı́mh→0 f (x + h) − f (x) (x + h)n − xn = lı́mh→0 h h Al desarrollar (x + h)n de acuerdo con el teorema del binomio, se llega a: f (x) = lı́mh→0 xn + nxn−1 h + (x) = lı́mh→0 nxn−1 + n(n−1) n−2 2 x h 2 h n(n−1) n−2 x h + ... 2 + ... + nxhn−1 + hn − xn + nxhn−2 + hn−1 f (x) = nxn−1 Por cuanto todos los términos excepto el primero, tienen a h como factor; por consiguiente, tienden a 0. Ejemplo 2.3 Los siguientes ejemplos Si y = t5 entonces dy dt = 5t4 Du (um ) = mum−1 Si y = x20 , entonces y = 20x19 d dr r6 = 6r5 26 d √ dx x = d dx 1 1 x 2 = 12 x( 2 )−1 = 1 √ 2 x 1 √ 3 2 x Sea y = Entonces 2 dy 2 2 5 d −2 = x 3 = − x−( 3 )−1 = − x− 3 dx dx 3 3 Derivar la función f (t) = √ t (1 − t) . Aplicando la regla del producto se tiene: f (t) = √ d √ d t dt (1 − t) + (1 − t) dt t f (t) = √ 1 t (−1) + (1 − t) 21 t− 2 √ f (t) = − t + 1−t √ 2 t = 1−3t √ 2 t Si se utilizan primero las leyes de los exponentes, después se podrá proceder directamente, sin recurrir a la regla del producto. √ √ 1 3 f (t) = t − t t = t 2 − t 2 1 1 f (t) = 12 t− 2 − 32 t 2 que equivale a la respuesta en la solución anterior Las fórmulas de diferenciación que siguen indican que la derivada de una constante multiplicada por una función es igual a la constante multiplicada por la derivada de la función, y que la derivada de una suma (o resta) de funciones es igual a la suma (o resta) de las derivadas, siempre y cuando las derivadas existan. Para definir las siguientes reglas, se supone que c es una constante y que tanto f (x) como g (x) existen. Regla 2.3 Si g (x) = cf (x), entonces f (x) existe y g (x) = cf (x) También se escribe: d df (cf ) = c dx dx 27 Demostración. g (x) = lı́mh→0 f (x + h) − f (x) h cf (x + h) − cf (x) h f (x + h) − f (x) g (x) = lı́mh→0 c h = lı́mh→0 g (x) = c lı́mh→0 f (x + h) − f (x) h g (x) = cf (x) Regla 2.4 Si H (x) = f (x) ± g (x) , entonces H (x) existe, y H (x) = f (x) ± g (x) d df dg También se escribe: (f ± g) = ± dx dx dx Este resultado se puede ampliar para la suma de cualquier número de funciones. Demostración. H (x) = lı́mh→0 H (x_h) − H (x) h [f (x + h) ± g (x + h)] − [f (x) ± g (x)] h f (x + h) − f (x) g (x + h) − g (x) H (x) = lı́mh→0 ± h h H (x) = lı́mh→0 H (x) = lı́mh→0 f (x + h) − f (x) g (x + h) − g (x) ± lı́mh→0 h h H (x) = f (x) ± g (x) De manera resumida, las dos reglas anteriores se pueden expresar como: (cf ) = cf (f ± g) = f ± g Ejemplo 2.4 = d dx d dx x8 + 12x5 − 4x4 + 10x3 − 6x + 5 d d d d x8 + 12 dx x5 − 4 dx x4 + 10 dx x3 − 6 dx (x) + = 8x7 + 12 5x4 − 4 4x3 + 10 3x2 − 6 (1) + 0 = 8x7 + 60x4 − 16x3 + 30x2 − 6 28 d dx (5) Ejemplo 2.5 Si f (x) = x4 − x3 + x2 − x + 1, deducir la ecuación de la tangente a la gráfica de f en el punto (1, 1). La pendiente de f (1) que se calculara como sigue: f (x) = 4x3 − 3x2 + 2x − 1 f (1) = 4 − 3 + 2 − 1 = 2 Por tanto, la ecuación de la tangente en (1, 1) es y − 1 = 2 (x − 1) o bien 2x − y − 1 = 0 A continuación se necesita una fórmula para la derivada de un producto de dos funciones; es posible sentirse inclinado a suponer, como lo hizo Leibniz hace tres siglos, que la derivada de un producto es igual al producto de las derivadas; pero se puede ver que tal hipótesis no es correcta si se considera un ejemplo en particular. Sean f (x) = x y g (x) = x2 . Entonces, la regla de potencias establece que f (x) = 1 y g (x) = 2x y se tendría f · g = 2x. Sin embargo, si se toma h = f · g = x3 y, por consiguiente, hl = (f · g) = 3x2 . Entonces (f · g) = f · g . Leibniz descubrió la fórmula correcta, la cual se llama regla del producto. Regla 2.5 (Regla del Producto) Si H (x) = f (x) g (x) y tanto f (x) como g (x) existen a la vez, entonces H (x) = f (x) g (x) + f (x) g (x) También se puede expresar como: d dg df (f g) = f +g dx dx dx y de manera abreviada: (f g) = f g + fg Demostración. H (x) = lı́mh→0 H (x) = lı́mh→0 H (x + h) − H (x) h f (x + h) g (x + h) − f (x) g (x) h Para evaluar este límite, se van a separar las funciones f y g sumando y restando el término f (x + h) g (x) en el numerador H (x) = f (x + h) g (x + h) − f (x + h) g (x) + f (x + h) g (x) − f (x) g (x) h g (x + h) − g (x) f (x + h) − f (x) = lı́mh→0 f (x + h) + g (x) h h = lı́mh→0 29 = lı́mh→0 f (x + h) lı́mh→0 + lı́mh→0 g (x) lı́mh→0 g (x + h) − g (x) + h f (x + h) − f (x) h H (x) = f (x) g (x) + f (x) g (x) Ejemplo 2.6 Determinar F (x) si F (x) = 6x3 7x4 Según la regla del producto: d d 7x4 + 7x4 dx 6x3 F (x) = 6x3 dx 3 3 4 2 F (x) = 6x 28x + 7x 18x F (x) = 168x6 + 126x6 = 294x6 Se podría comprobar la respuesta a este ejemplo en forma directa multiplicando primero los factores: F (x) = 6x3 7x4 = 42x7 ⇒ F (x) = 42 7x6 = 294x6 (x) Regla 2.6 (Regla del Cociente) Si F (x) = fg(x) y existen f (x) y g (x) a g (x) f (x) − f (x) g (x) la vez, entonces existe F (x) y F (x) = [g (x)]2 En la notación de Leibniz: d dx f (x) g (x) = d d g (x) dx f (x) − f (x) dx g (x) [g (x)]2 f gf − fg y de manera abreviada: = g g2 Demostración. F (x) lı́mh→0 F (x) lı́mh→0 F (x + h) F (x) = lı́mh→0 h f (x+h) g(x+h) − f (x) g(x) h f (x + h) g (x) − f (x) g (x + h) hg (x + h) g (x) Para separar f y g en esta expresión se suma y resta el término f (x) g (x) al numerador: F (x) lı́mh→0 f (x + h) g (x) − f (x) g (x) + f (x) g (x) − f (x) g (x + h) hg (x + h) g (x) 30 F (x) lı́mh→0 F (x) g (x) f (x+h)−f(x) − f (x) g(x+h)−g(x) h h g (x + h) g (x) (x) − lı́mh→0 f (x) lı́mh→0 lı́mh→0 g (x) lı́mh→0 f (x+h)−f h lı́mh→0 g (x + h) lı́mh→0 g (x) F (x) = g(x+h)−g(x) h g (x) f (x) − f (x) g (x) [g (x)]2 En palabras, la derivada de un cociente es igual al denominador multiplicado por la derivada del numerador, menos el numerador multiplicado por la derivada del denominador, y todo ello se divide entre el cuadrado del denominador. Ejemplo 2.7 Sea y = Entonces y = y = x2 −x−2 x3 +6 (x3 +6)D(x2 +x−2)−(x2 +x−2)D(x3 +6) (x3 +6)2 (x3 +6)(2x+1)−(x2 +x−2)(3x2 ) (x3 +6)2 y = (2x4 +x3 +12x+6)−(3x4 +3x3 −6x2 ) y = −x4 −2x3 +6x2 +12x+6 (x3 +6)2 (x3 +6)2 También se puede emplear la regla del cociente para ampliar la regla de potencias al caso en que el exponente es un entero negativo. Regla 2.7 Si f (x) = x−n , donde n es un entero positivo, f (x) = −nx−n−1 Demostración. f (x) = f (x) = f (x) = d dx (x−n ) = d dx 1 xn xn D(1)−1D(xn ) (xn )2 −nxn−1 x2n = −nxn−1−2n = nx−n−1 Ejemplo 2.8 Si y = Entonces, Ejemplo 2.9 dy dx d dt = d dx 6 t3 1 x x−1 = −x−2 = − x12 d = 6 dt t−3 = 6 (−3) t−4 = − 18 t4 31 Ejemplo 2.10 Derivar la función f (t) = ducto se tiene: f (t) = √ d √ d t dt (1 − t) + (1 − t) dt t f (t) = √ 1 t (−1) + (1 − t) 12 t− 2 √ f (t) = − t + 1−t √ 2 t = √ t (1 − t) Aplicando la regla del pro- 1−3t √ 2 t Si se utilizan primero las leyes de los exponentes, después se podrá proceder directamente, sin recurrir a la regla del producto. f (t) = √ √ 1 3 t − t t = t2 − t2 1 1 f (t) = 12 t− 2 − 32 t 2 que equivale a la respuesta en la solución anterior Ejemplo 2.11 En qué puntos de la hipérbola xy = 12 la tangente es paralela a la recta 3x + y = 0? Como xy = 12 se puede escribir en la forma y = 12 x dy dx d = 12 dy x−1 = 12 −x−2 = 12 x2 Sea a la abscisa de uno de los puntos en cuestión. Entonces, la pendiente de la tangente en ese punto es −12 a2 . Esa tangente será paralela a la recta 3x +y = 0 o y = −3x, si tiene la misma pendiente, que es −3. Al igualar las pendientes se llega a − a122 = −3 , o sea a2 = 4 , o sea a = ±2 Por consiguiente, los puntos buscados son(2, 6) y (−2, −6). Regla 2.8 (Regla de la Cadena) Sean f, g dos funciones. Si existen a la vez las derivadas g y f y si H = f ◦ g es la función compuesta definida por H (x) = f (g (x)) , entonces H(x) existe y está dada por el producto H (x) = f (g (x)) g (x) En la notación de Leibnitz, si y = f (u) y u = g(x) son dos funciones diferenciables, entonces dy dx = dy du du dx Demostración. Se desarrollará mediante el examen de dos casos. du dx = 0 Aquí ∆u = 0 si ∆x es suficientemente pequeña (porque si no du/dx sería 0)pero en este caso se puede dividir entre y multiplicar por ∆u en 32 1. dy dx ∆y ∆x = lı́m∆x−→0 por tanto dy dx ∆y ∆u ∆u ∆x = lı́m∆x−→0 ∆y = lı́m∆x−→0 ∆u • lı́m∆x−→0 porque g es contínua dy dx 2. dy dx = lı́m∆u−→0 dy dx = du dx =0 ∆y ∆u • lı́m∆x−→0 ∆u ∆x ∆u −→ 0 cuando ∆x −→ 0 ∆u ∆x dy du du dx Aquí ∆u = 0 para algunos casos de ∆x, y ∆u = 0 para otros valores de ∆x. Si se tiene ∆x −→ 0 pasando por valores tales que ∆u = 0 , podemos escribir ∆y ∆x = ∆y ∆u • ∆u ∆x −→ dy du • du dx = dy du •0=0 Si ∆x −→ 0 pasando por valores tales que ∆u = 0 , entonces\ ∆y = f (u + ∆u) − f (u) = f (u) − f (u) = 0 y así ∆y ∆x =0 En ambos casos y entonces dy dx ∆y ∆x −→ 0, =0= dy du du dx En estas circunstancias se comprueba la regla de la cadena, porque ambos lados son 0. 2.0.5. Derivación Parcial Los casos expuestos anteriormente se aplican para funciones de una sola variable. Cuando se trabaja con funciones de varias variables f (x, y, z, ...) el proceso es similar, teniendo en cuenta que se puede derivar de manera separada la función f con respecto a cada una de sus variables independientes. Para simplificar la presentación, se considerará en las líneas siguientes el caso de una función de dos variables, pero cada caso se puede llevar por analogía a funciones de tres o más variables. 33 Definición 2.3 Sea z = f (x, y) una función de dos variables independientes x, y. Entonces, las derivadas parciales de z son las funciones fx y fy que se definen como: f (x + h, y) − f (x, y) h→0 h f (x, y + h) − f (x, y) fy (x, y) = lı́m h→0 h fx (x, y) = lı́m Donde fx se denomina la primera derivada parcial de f(x, y) con respecto a x, y fy se denomina la primera derivada parcial de f(x, y) con respecto a y. Por tanto, fx permite calcular la variación de f a medida que cambia x, con todas las demás variables fijas, y equivalentemente para fy . Notación 2.2 Sea z = f(x, y). Entonces, las derivadas parciales de esta función con respecto a x y con respecto a y son: ∂f ∂ = f (x, y) = ∂x ∂x ∂ ∂f fy (x, y) = fy = = f(x, y) = ∂y ∂y fx (x, y) = fx = 34 ∂z = f1 = D1 f = Dx f ∂x ∂z = f2 = D2 f = Dy f ∂y 3. Derivación Matricial El cálculo matricial es en gran manera una ampliación de la notación tradicional del cálculo univariado, que permite una notación más compacta a la hora de realizar cálculo multivariado, en el cual las funciones pueden ser de un tipo más amplio, ya que la variable puede ser vectorial o matricial. En general, el cálculo matricial trabaja sobre espacios de matrices M (m, n) de tamaño m × n definidas sobre k = R. Antes de abordar el proceso de la derivación matricial dada la complejidad técnica del problema, es preciso incorporar algunas nuevas operaciones entre matrices que completan el cálculo matricial tradicional. Por ello, se definen las matrices de permutación y los conceptos de producto Kronecker y vectorización junto con sus propiedades. Primero se exponen nuevos tipos de matrices que son de especial interés para desarrollos del cálculo matricial. Nota 3.1 Es importante resaltar en todo caso, que en este escrito se identificarán explícitamente los espacios de matrices Mpn con Rpn y Mmq con Rmq , respectivamente. 3.1. Funciones Matriciales Dentro de esta sección se presentarán los diversos casos de funciones de acuerdo con su variable, hasta llegar al caso general de las funciones de variable matricial. Para ello, sea Mmn el espacio vectorial de las matrices de tamaño m × n, en el cual se definen las matrices X, Y. Dentro del espacio vectorial M1n se definen los vectores fila A, B. Además se definen los escalares x, y ∈ k. Se define además una función f. 3.1.1. Funciones de Variable Escalar Sea Mmn el espacio vectorial de las matrices de tamaño m × n, y X, Y matrices de Mmn . Sea M1n el espacio vectorial de los vectores fila de tamaño n, y sean A, B vectores de M1n . Sean x, y ∈ k escalares reales. Entonces se pueden dar los siguientes casos: Caso 3.1 f : R → R f (x) = y Este es el caso usual, cuya derivación y propiedades de la derivación se ha expuesto en la sección 2. Ejemplo 3.1 f (x) = x + 1 35 Caso 3.2 f : R → M1n f (x) = A Es el caso de una función de variable escalar, cuya salida es un vector. Ejemplo 3.2 f (x) = (2x, x2 ) Caso 3.3 f : R → Mmn f (x) = Y Ejemplo 3.3 f (x) = 3.1.2. 1 x x + 1 x2 Funciones de Variable Vectorial Sea Mmn el espacio vectorial de las matrices de tamaño m × n, y X, Y matrices de Mmn . Sea M1n el espacio vectorial de los vectores fila de tamaño n, y sean A, B vectores de M1n . Sean x, y ∈ k escalares reales. Entonces se pueden dar los siguientes casos: Caso 3.4 f : M1n → R f (A) = y Caso 3.5 f : M1n → M1n f (A) = B Es el caso de una función de variable vectorial, cuya salida es un vector. Caso 3.6 f : M1n → Mmn f (A) = Y 36 3.1.3. Funciones de Variable Matricial Sea Mmn el espacio vectorial de las matrices de tamaño m × n, y X, Y matrices de Mmn . Sea M1n el espacio vectorial de los vectores fila de tamaño n, y sean A, B vectores de M1n . Sean x, y ∈ k escalares reales. Entonces se pueden dar los siguientes casos: Caso 3.7 f : Mmn → R f (X) = y Caso 3.8 f : Mmn → M1n f (X) = B Es el caso de una función de variable vectorial, cuya salida es un vector. Caso 3.9 f : Mmn → Mmn f (X) = Y 3.2. Otras Matrices Especiales Se definen las siguientes matrices: Definición 3.1 (Partición de una Matriz) Una matriz es particionada, si es subdividida en matrices más pequeñas llamadas submatrices o bloques mediante lineas horizontales y verticales que demarcan filas y columnas completas: a11 a21 .. . a12 ··· .. . ··· ··· .. . a1n a2n .. . am1 am2 ··· amn Una matriz Am×n se puede particionar de 2m+n−2 − 1 maneras distintas, con al menos una línea de partición. Definición 3.2 (Matriz de Bloques) Una matriz a la que se ha realizado una partición se llama matriz de bloques o Matriz Particionada.. Ejemplo 3.4 Dada la matriz A3×4 ,, se le pueden realizar 25 − 1 = 31 particiones diferentes. Una de ellas puede ser: a11 a12 a13 a14 B C A3×4 = a21 a22 a23 a24 = D E a31 a32 a33 a34 37 Donde a las submatrices o bloques se les ha denominado B, C, D, E y corresponden a: a B = 11 a21 a12 a22 a13 a , C = 14 , D = a31 a23 a24 a32 a33 , E = a34 Definición 3.3 (Matriz de Permutación) Una matriz de permutación P es una matriz cuadrada de órden n, donde todos los elementos son 0, a excepción de uno cualquiera por cada fila y columna que tiene el valor 1 Existen n! matrices de permutación de tamaño n × n. Las matrices de conmutación de orden n forman un grupo [Her86], cuyo elemento neutro es la matriz identidad de orden n, mientras que el elemento inverso es la transpuesta de la matriz dada. Ejemplo 3.5 Para n = 3 se tienen las siguientes matrices de permutación: 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 Se les llama matrices de permutación por cuanto al multiplicar por P otra matriz conforme A, da como resultado una matriz con los mismos elementos de la matriz original A, pero con sus posiciones permutadas de acuerdo con la ubicación de los elementos con valor 1 de P. Definición 3.4 (Matrices de Permutación Par e Impar) A una matriz de permutación P que tiene determinante igual a 1 se le denomina matriz de permutación par, y a la que tiene determinante igual a −1 se le denomina matriz de conmutación impar. La mitad de las matrices de permutación de tamaño n × n son matrices de permutación pares, y la otra mitad son impares. Definición 3.5 (Matrices de Permutación en Bloques) Una matriz de permutación por bloques de orden mn, que se denota por Pm,n , es una matriz cuadrada de orden mn, dividida en n × m bloques o cajas cada una de ellas de orden m × n, de manera que el bloque (i, j) , i = 1, ..., n, j = 1, ..., m tiene todos sus elementos nulos salvo el que está situado en su j-ésima fila e i-ésima columna que es igual a la unidad Esta definición muestra que tanto el primer elemento como el último elemento de una matriz de permutación por bloques es 1. 38 Proposición 3.1 (Propiedades Matrices de Permutación por Bloques) Las matrices de permutación en bloques cumplen las siguientes propiedades: 1. Pm,1 = P1,m = Im 2. Pm,n = Pn,m 3. Pm,n Pn,m = Inm 4. La matriz Pm,n es ortogonal Demostración. Se va a demostrar la propiedad 4; la demostración de las demás propiedades se hacen de manera análoga. Las demostraciones se pueden consultar en [Bar98]. Pm,n = Pn,m entonces de (3)., resulta Pm,n Pn,m = Pn,m Pm,n = In,m −1 de donde se deduce que Pm,n es ortogonal ya que Pm,n = Pm,n 3.3. Producto de Kronecker En ocasiones el producto de matrices que se asocia a la composición de aplicaciones lineales es insuficiente. El producto de Kronecker que a continuación se define, en cierto sentido lo generaliza. Definición 3.6 (Producto de Kronecker) Sea A una matriz m×n y B una una matriz p × q. El producto de Kronecker de la matriz A por la matriz B, denotado como A ⊗ B, es la matriz bloque C de tamaño mp × nq definida como: a11 B · · · a1n B .. .. C = A ⊗ B = ... . . am1 B ··· amn B y desarrollando las operaciones implícitas en cada bloque aij B, se tiene para C = A ⊗B que a11 b11 a11 b12 · · · a11 b1q · · · · · · a1n b11 a1n b12 · · · a1n b1q a11 b21 a11 b21 · · · a11 b2q · · · · · · a1n b21 a1n b22 · · · a1n b2q .. .. .. .. .. .. .. .. . . . . . . . . a11 bp1 a11 bp2 · · · a11 bpq · · · · · · a1n bp1 a1n bp2 · · · a1n bpq .. .. .. .. .. .. .. . . . . . . . C = .. . . . . . . .. .. .. .. .. .. . am1 b11 am1 b12 · · · am1 b1q · · · · · · amn b11 amn b12 · · · amn b1q am1 b21 am1 b22 · · · am1 b2q · · · · · · amn b22 am1 b21 · · · amn b2q . .. .. .. .. .. .. .. .. . . . . . . . am1 bp1 am1 bp2 ··· am1 bpq ··· ··· amn bp1 amn bp2 ··· amn bpq El producto de Kronecker también recibe el nombre de Producto Tensorial o Producto Directo. 39 Se llama producto de Kronecker, denotado con ⊗, a una operación sobre dos matrices de tamaño arbitrario que da como resultado una matriz bloque. El producto de Kronecker no debe confundirse con el producto de matrices habitual, que es una operación totalmente diferente. Debe su nombre al matemático alemán Leopold Kronecker. a11 Ejemplo 3.6 a21 a31 a11 b11 a11 b21 a21 b11 a21 b21 a31 b11 a31 b21 a11 b12 a11 b22 a21 b12 a21 b22 a31 b12 a31 b22 a12 b a22 ⊗ 11 b21 a32 a11 b13 a11 b23 a21 b13 a21 b23 a31 b13 a31 b23 b12 b22 a12 b11 a12 b21 a22 b11 a22 b21 a32 b11 a32 b21 a12 b12 a12 b22 a22 b12 a22 b22 a32 b12 a32 b22 1 2 5 6 Ejemplo 3.7 ⊗ = 3 4 7 8 1,5 1,7 3,5 3,7 1,6 1,8 3,6 3,8 2,5 2,7 4,5 4,7 2,6 5 6 10 2,8 = 7 8 14 4,6 15 18 20 4,8 21 24 28 5 6 1 2 Ejemplo 3.8 ⊗ = 7 8 3 4 5,1 5,3 7,1 7,3 5,2 5,4 7,2 7,4 6,1 6,3 8,1 8,3 b13 = b23 6,2 5 15 6,4 = 8,2 7 8,4 21 a12 b13 a12 b23 a22 b13 a22 b23 a32 b13 a32 b23 12 16 24 32 10 6 12 20 18 24 14 8 16 28 24 32 Con el ejemplo 3.8 se muestra que el producto de Kronecker no es conmutativo. En general, A⊗B y B ⊗A son matrices diferentes. Sin embargo disfruta de otras propiedades, algunas de las cuales se recogen en la siguiente proposición. Proposición 3.2 (Propiedades del Producto Kronecker) Sean, A1 , A2 ∈ Mm×n y B1 , B2 ∈ Mp×q . Para el producto Kronecker se verifican las siguientes propiedades: 40 1. (A1 ⊗ B1 ) + (A2 ⊗ B1 ) = (A1 + A2 ) ⊗ B1 (A1 ⊗ B1 ) + (A1 ⊗ B2 ) = A1 ⊗ (B1 + B2 ) . 2. Dadas Am×n , Bp×q y α ∈ R, se verifica (αA ⊗ B) = (A ⊗ αB) = α (A ⊗ B) . 3. Dadas las matrices Am×n , Bp×q , Cr×s , se verifica que [(A ⊗ B) ⊗ C] = [A ⊗ (B ⊗ C)] . 4. Dadas A1 ∈ Mm×n , A2 ∈ Mm×p , B1 ∈ Mq×r , B2 ∈ Mr×s , si se consideran las matrices C1 = A1 ⊗B1 y C2 = A2 ⊗B2 de ordenes mq×nr y nr×ps respectivamente, entonces C1 C2 = (A1 ⊗ B1 ) (A2 ⊗ B2 ) = A1 A2 ⊗ B1 B2 . 5. Dadas A y B matrices de ordenes m × n y p × q, respectivamente, en general A ⊗ B = B ⊗ A. Esto quiere decir, el producto de Kronecker no es conmutativo, si bien se verifica que Pm,p (A ⊗ B) Pq,n = (B ⊗ A) 6. Si A ∈ Mn y B ∈ Mm son dos matrices invertibles, entonces se verifica que A ⊗ B es invertible y su inversa (A ⊗ B)−1 = A−1 ⊗ B −1 . 7. Supuestas A y B dos matrices cualesquiera, se verifica que (A ⊗ B) = A ⊗ B. 8. Dadas A y B dos matrices cuadradas de órdenes m y n, respectivamente, se verifica que tr (A ⊗ B) = tr (A) · tr (B) . 9. Sean, A ∈ Mn×n y B ∈ Mm×m entonces se verifica que |A ⊗ B| = |Am | |B n | . 10. Dadas A y B matrices cualesquiera, se tiene que rg (A ⊗ B) = rg (A) · rg (B) . 41 11. Si A es una matriz m × n particionada en cuatro bloques Aij , i, j = 1, 2 de dimensiones mi × nj , i, j = 1, 2 con m1 + m2 = m y n1 + n2 = n y B es una matriz de orden p × q, entonces A11 ⊗ B A⊗B = A21 ⊗ B A12 ⊗ B A22 ⊗ B Se presenta ahora la demostración de algunas de las anteriores proposiciones. Demostración. Si para k = 1, 2 se tiene Ak = akij , i = 1, ..., m, j = 1, ..., n, Bk = bkij , i = 1, ..., p, j = 1, ..., q entonces como A1 ⊗ B1 = a1ij B1 ij A2 ⊗ B1 = a2ij B1 ij , resulta que (A1 ⊗ B1 ) + (A2 ⊗ B1 ) = a1ij + a2ij B1 ij = (A1 + A2 ) ⊗ B1 Análogamente se comprueba la otra igualdad. Demostración. Dado que a11 B · · · a11 B a11 B · · · a11 B A⊗B = . .. , .. . a11 B · · · a11 B por definición de Kronecker resulta que de matriz traspuesta y producto a11 B a21 B · · · am1 B .. .. , (A ⊗ B) = ... . . a1n B a2n B · · · amn B tal como se quería probar. Nota 3.2 Si se comparan las propiedades del producto ordinario de matrices y del producto Kronecker se tiene: Producto Matricial (AB) = BA (AB)−1 = B −1 A−1 tr (AB) = tr (A) tr (B) |AB| = |A| |B| rg (AB) ≤ mı́n {rg (A) , rg (A)} Producto Kronecker (A ⊗ B) = A ⊗ B (A ⊗ B)−1 = A−1 ⊗ B −1 tr (A ⊗ B) = tr (A) tr (B) |A ⊗ B| = |Am | |B n | rg (A ⊗ B) = rg (A) · rg (B) 42 Ejemplo 3.9 Las matrices: −1 1 1 1 −1 A= B = 1 0 −1 2 1 0 2 4 son tales que tr (A) = 2, tr (B) = 3; rg (A) = 2, rg (B) = 3; |A| = 3, |B| = −4 Entonces para −1 1 0 A⊗B = −2 2 0 la matriz: 1 1 1 −1 −1 0 −1 −1 0 1 2 4 0 −2 −4 2 2 −1 1 1 0 −2 1 0 −1 4 8 0 2 4 Sin necesidad de trabajar con ella directamente, en virtud de las propiedades del producto de Kronecker se pueden calcular los siguientes valores: tr (A ⊗ B) = tr (A) tr (B) = 6 rg (A ⊗ B) = rg (A) · rgB = 6 |A ⊗ B| = |A|3 |B|2 = 32 (−4)2 = 432 Además como rg (A ⊗ B) = 6, la matriz A ⊗ B es invertible, siendo su inversa, de acuerdo con la propiedad 6: (A ⊗ B)−1 = A−1 ⊗ B −1 por tanto, como: A−1 = 1 3 − 23 1 3 1 3 y B −1 se tiene que: (A ⊗ B)−1 1 −6 1 3 1 − 6 = 1 3 2 − 3 1 3 1 6 1 3 − 16 − 13 − 23 1 3 1 −2 = 1 − 12 1 12 0 1 12 − 61 0 − 61 1 2 1 − 12 − 61 1 4 0 1 4 1 6 1 3 − 16 1 6 1 3 − 16 1 3 − 61 − 16 1 3 − 16 43 1 12 0 1 12 1 12 0 1 12 Un ámbito en el que puede resultar útil expresar una matriz como un vector columna es el de la derivación de matrices o expresiones matriciales. Por ello, a continuación se define lo que se entiende por vectorización de una matriz y se analizan algunas de sus propiedades. Definición 3.7 (Vectorización de una Matriz) La vectorización de una matriz es una transformación lineal que convierte una matriz en un vector columna. Dada una matriz A de orden m×n, la vectorización de A es el vector columna de mn elementos que se obtiene escribiendo las columnas de A una a continuación de otra y se denota por vec (A) . Entonces: a•1 a1j a•2 a2j vec (A) = . , con a•1 = . , j = 1, ..., n. .. .. a•n anj Ejemplo 3.10 Dada la matriz 1 −5 3 −2 1 −2 −1 0 A = −5 1 se tiene que vec (A) = 1 3 0 2 0 −1 0 2 Proposición 3.3 (Propiedades de la Vectorización) de matrices verifica las siguientes propiedades: La vectorización 1. Sean A, B ∈ Mm×n dos matrices cualesquiera, y sea α ∈ R. Se verifica las siguientes propiedades: vec (A + B) = vec (A) + vec (B) vec (αA) = αvec (A) 2. Dadas las matrices Am×n y Bn×q se verifica que: vec (AB) = (B ⊗ Im ) vec (A) = (Ip ⊗ A) vec (B) = (B ⊗ A) vec (In ) 3. Dada la matriz A de orden m × n, se verifica que: vec (A) = (In ⊗ A) vec (In ) = (A ⊗ Im ) vec (Im ) 44 4. Dadas las matrices Am×n , Bn×p y Cp×q , se verifica que: vec (ABC) = (C ⊗ A) vec (B) = (Iq ⊗ AB) vec (C) = (CB ⊗ Im ) vec (A) 5. Dada la matriz A de orden m × n, se verifica: vec (A) = Pm,n vec (A) , vec (A) = Pn,m vec (A) 6. Dada la matriz A de orden m × n, se verifica: [(vecIn ) ⊗ Im ] [In ⊗ vec (A)] = A [vec (A) ⊗ Im ] [In ⊗ vec (Im )] = A [Im ⊗ (vec (A)) ] [vec (Im ) ⊗ In ] = A. [Im ⊗ (vec (In )) ] [vec (A) ⊗ In ] = A 7. Dadas las matrices A y B de orden m × n y C, D de orden m × p, se tiene que: vec [(A + B) (C + D)] = [(Ip ⊗ A) + (Ip ⊗ B)] [vec (C) + vec (D)] vec [(A + B) (C + D)] = [(C ⊗ Im ) + (D ⊗ Im )] [vec (A) + vec (B)] 8. Sean las matrices Am×n y Bn×m , entonces se tiene que tr (AB) = (vec (A)) vec (B) = (vec (B)) vec (A) En particular si n = m y B = In : tr (A) = (vec (A)) vec (In ) = (vec (In )) vec (A) Demostración. La j-ésima columna del producto AB es Ab•j , entonces por definición de vectorización y el producto de matrices particionadas de tiene A 0mXn Ab•1 Ab•2 0 A vecAB = . = . .. .. .. . 0 0 Ab•p ··· ··· .. . ··· 0 0 .. . A b•1 b•2 .. . b•p Ahora bien, teniendo en cuenta el producto Kronecker de matrices, esto se puede expresar como 45 vec (AB) = (Ip ⊗ A) · vec (B) Por otra parte, la j-ésima columna de AB es n i=1 a•i bij pues la componenete k-ésima de este vector coincide con el elemento de la k-ésima fila y la j-ésima columna de AB que es ni=1 aki bij Por tanto: n a•i bi1 i=1 n B 0pXn a•i bi2 0 B vec (AB) = i=1 = . .. . .. . . . 0 0 n a•i bip ··· ··· ··· 0 0 .. . B a•1 a•2 .. . a•n i=1 y por definición de producto de Kronecker y vectorización, resulta: vec (AB) = (B ⊗ I) vec (A) Demostración. Como A = Im A por la proposición 3.3,2: vec (A) = vec (Im A) = (A ⊗ Im ) vec (Im ) Análogamente, como A = AIn , de nuevo por la proposición 3.3,2: vec (A) = vec (AIn ) = (In ⊗ A) vec (In ) Demostración. De acuerdo con la proposición 3.3,2 se verifica que: vec (ABC) = vec [(AB) C] = (Iq ⊗ AB) vec (C) vec (ABC) = vec [(AB) C] = ((BC) ⊗ Im ) vec (A) vec (ABC) = vec [(AB) C] = (CB ⊗ Im ) vec (A) Además, como en virtud de la proposición 3.3, 1, se tiene también que vec (ABC) = vec [(AB) C] = (C ⊗ AB) vec (Ip ) entonces por la proposición 3.3, 4 del producto de Kronecker, (C ⊗ AB) = (C ⊗ A) (Ip ⊗ B) 46 y, teniendo en cuenta la proposición 3.3, 3, se obtiene finalmente vec (ABC) = (C ⊗ A) (Ip ⊗ B) vec (Ip ) = (C ⊗ A) vec (B) Las proposiciónes 3.3, 2 y 8 pueden generalizarse para el producto de un número finito de matrices. Así, para matrices A1 , A2 , A3 y A4 de dimensiones adecuadas, se tiene que: vec (A1 A2 A3 A4 ) = (I ⊗ A1 A2 A3 ) vec (A4 ) vec (A1 A2 A3 A4 ) = (A4 ⊗ A1 A2 ) vec (A3 ) vec (A1 A2 A3 A4 ) = (A4 A3 ⊗ A1 ) vec (A2 ) vec (A1 A2 A3 A4 ) = (A4 A3 A2 ⊗ I) vec (A1 ) y tr (A1 A2 A3 ) = (vec (A1 )) (A3 ⊗ I) vec (A2 ) tr (A1 A2 A3 ) = (vec (A1 )) (I ⊗ A2 ) vec (A3 ) tr (A1 A2 A3 ) = (vec (A2 )) (I ⊗ A3 ) vec (A1 ) tr (A1 A2 A3 ) = (vec (A2 )) (A1 ⊗ I) vec (A3 ) tr (A1 A2 A3 ) = (vec (A3 )) (A2 ⊗ I) vec (A1 ) tr (A1 A2 A3 ) = (vec (A3 )) (I ⊗ A1 ) vec (A2 ) que se pueden demostrar fácilmente, pues son consecuencia de la vectorización y traza del producto de dos matrices y de las propiedades del producto de Kronecker. Resultados análogos existen para el producto de un número finito de matrices. En algunas ocasiones, cuando se vectoriza una matriz, conviene hacerlo a partir de sus filas. Definición 3.8 (Vectorización por Filas) Dada A una matriz de orden m× n, se define: a1• a2• vec (A) = . con ai• (ai1 , ..., ain ) , i = 1, ..., m .. am• Es obvio y fácil de verificar que vec (A) = vec (A) . Por tanto, pueden enunciarse las propiedades de vec (A) . Por ejemplo: vec (AB) = vec ((AB) ) = vec (BA) = [(A ⊗ I) vec (B)] vec (AB) = (A ⊗ I) vec (B) y 47 tr (AB) = (vec (A)) vec (B) = (vec (A)) vec (B) tr (AB) = (vec (A)) vec (B) Definición 3.9 (vec) Dada una matriz simétrica A de orden n, puede definirse una vectorización diferente de las ya indicadas de manera que en dicha vectorización, solo se recojan los elementos distintos de la matriz A. Así, se denota n (n + 1) dado por: por vec (A) el vector columna de orden r = 2 a11 a12 a22 a13 a23 a33 vec (A) = . .. a1n a2n .. . ann En vec (A) se incluyen los elementos situados por encima de la diagonal principal de cada una de las columnas de A. Por otra parte, la relación entre esta vectorización y la indicada en la definción 3.7 se establece por la igualdad vec (A) = Qvec (A) , (donde Q es la matriz diagonal por bloques de orden r×n): Q1 Q= Q2 .. . Qn donde i = 1, ..., n, y el bloque Qi una matriz de orden i × n dada por 1 0 ··· 0 1 · · · Qi = . . .. .. 0 0 ··· 0 ··· 0 ··· .... .. 1 ··· i-ésima columna 48 0 0 .... .. 0 Nota 3.3 La vectorización se utiliza en conjunto con el producto Kronecker para expresar la multiplicación de matrices como una transformación lineal sobre las matrices. Por ejemplo, si A, B, X son matrices conformes: vec(AXB) = (B T ⊗ A)vec(X) 3.4. Fórmulas de Derivación Matricial. La derivada de una función matricial de variable matricial no difiere sustancialmente del concepto de derivada habitual. La diferencia y dificultad se presenta cuando es preciso manipular estas derivadas matriciales, debido a su dimensión y la ubicación de sus elementos [Bar98]. En esta sección se indican las definiciones de funciones escalares, vectoriales y matriciales de variable escalar, vectorial o matricial, adoptando un criterio común para la colocación de los distintos elementos que componen cada una de estas derivadas. En las definiciones de las derivadas de funciones escalar o vectorial, bien sean de variable escalar o vectorial, existe casi unanimidad en la literatura en cuanto a su ordenación. Se acostumbra usar la variable en negrilla cuando se trata de una variable de tipo vectorial o matricial; sin embargo, en las siguientes secciones no se utilizará esta notación ya que el contexto hará claridad. Así, si x ∈ Rn e y ∈ Rm , entonces se puede observar que una notación bastante usual se expone así: ∂y ∂y ∂y = ... , que es el caso de ∂x ∂x1 ∂xn las funciones escalares de variable vectorial. Si y = y (x1 , ..., xn ) su derivada es ∂y1 (x) y1 (x) ∂x ∂y . Si y = y (x) = ... su derivada es = .. , . que es el caso ∂x ∂ym (x) yn (x) ∂x de las funciones vectoriales de variable escalar. ∂y1 ··· y1 (x1 , ..., xn ) ∂x ∂y . 1 . .. Si y = y (x) = = .. su derivada es ∂x ∂ym yn (x1 , ..., xn ) ··· ∂x1 que es el caso de las funciones matriciales de variable vectorial ∂y1 ∂xn .. , . ∂ym ∂xn Cuando se ha de calcular el gradiente de y = f (x) , se respeta la ordenación del vector fila x = (x1 , ..., xn ) de las variables explicativas; luego parece lógico que este mismo criterio de ubicación de elementos se adopte para definir la derivada de una función escalar de variable matricial.[Bar98]. Siguiendo este acuerdo se exponen las siguientes definiciones. 49 Definición 3.10 Sea y = y (x) una función real de variable vectorial, es decir, y es una función definida de Rn en R. La derivada de y respecto de x es el ∂y (x) ∂y (x) ∂y (x) vector fila = , ..., ∂x ∂x1 ∂xn Se adopta esta notación ya que se está derivando un escalar y (x) con respecto ∂y (x) a un vector fila x = (x1 , ..., xn ). Obsérvese que es el vector gradiente de ∂x la función y (x) . Si se precisa que el vector de variables x respecto a las que se efectúa la derivada de y se toma como columna, entonces se denotará por ∂y (x) ∂y (x) = ∂x ∂x es decir, este vector coincide con el traspuesto del vector gradiente de y. Definición 3.11 Sea y = y (x) una función vectorial de variable real, es decir y1 (x) y (x) = ... yn (x) es una función definida de R en Rm . La derivada de y respecto del escalar x es el vector columna ∂y1 (x) ∂y (x) = ∂x ∂x .. . ∂ym (x) ∂x Definición 3.12 Sea y = y (x) una función vectorial de variable vectorial, es decir, una función definida de Rn en Rm . Como y1 (x) y (x) = ... entonces: ym (x) ∂y(x) ∂x ∂y1 (x) = ∂x .. . ∂ym (x) ∂x ∂y = 1 (x) ∂x1 .. . ∂ym (x) ∂x1 ··· ∂y1 (x) ∂xn ··· ∂ym (x) ∂xn| 50 .. . Obsérvese que esta matriz de orden m× n es el Jacobiano de la función y(x), ya que cada una de sus filas es el gradiente de las funciones y1 (x) , ..., yn (x) , que son las componentes de y(x). Definición 3.13 Sea y = y (X) una función real de variable matricial, es decir, la función y está definida de Mpn en R. La derivada de y respecto de la matriz X de orden p × n, es la matriz del mismo orden dada por ∂y (X) = ∂X ∂y(X) ∂x11 ··· ∂y(X) ∂x1n ∂y(X) ∂xp1 ··· ∂y(X) ∂xpn .. . .. . = ∂y (X) ∂xij i=1,...,p j=1,...,n Definición 3.14 Sea Y = Y (x) una función matricial de variable escalar, es decir la función Y está definida de R en Mmq . La derivada de Y = Y (x) respecto de la variable x está dada por la matriz de orden m × q ∂y11 (x) ∂Y (x) = ∂x ∂x .. . ∂ym1 (x) ∂x ··· ∂y1q (x) ∂x ··· ∂ymq (x) ∂x ··· = ∂yij (x) ∂x i=1,...,m j=1,...,q Definición 3.15 Sea y = y(X) una función vectorial de variable matricial definida de Mpn en R. La derivada de y(X) respecto de la matriz A de orden p × n es la matriz de orden pm × n dada por ∂y1 (X) ∂y (X) = ∂X ∂X .. . ∂ym (X) ∂X , ya que, de acuerdo con la definición 3.13, para cada k = 1, ..., m ∂yk (X) = ∂X ∂yk (X) ∂xij i=1,...,p j=1,...,n Definición 3.16 Sea Y = Y (x) una función matricial de variable vectorial definida de Rn en Mmq . La derivada de Y (x) respecto del vector x es la matriz de orden m × qn cuya expresión es ∂y11 (x) ∂Y (x) = ∂x ∂x .. . ∂ym1 (x) ∂x ··· ∂y1q (x) ∂x ··· ∂ymq (x) ∂x .. . 51 donde, teniendo en cuenta la definición 3.10, ∂yij (x) ∂yij (x) ∂yij (x) = , ..., ∂x ∂x1 ∂xn con i = 1, ..., m, j = 1, ..., q Definición 3.17 (Derivada Funcion Matricial de Variable Matricial) Sea Y = Y (X) una función matricial de variable matricial, es decir, definida de Mpn en Mmq . La derivada de Y (X) respecto de la matriz X está dada por la matriz de orden pm × nq ∂y11 (X) ∂Y (X) = ∂X ∂X .. . ∂ym1 (X) ∂X ··· ∂y1q (X) ∂X ··· ∂ymq (X) ∂X .. . ya que, teniendo en cuenta la definición 3.14, para cada i − 1, ..., m, j = 1, ..., q ∂yij (X) ∂yij (X) = k=1,...,p ∂X ∂xk =1,...,n La definición 3.17 hace referencia al caso general que se puede tratar en el caso de la derivación matricial. Este caso se convierte en los casos particulares de las definiciones 3.10 hasta la definición 3.16 si se dan las siguientes condiciones: 1. p = q = m = q se obtiene la definición 3.10 2. p = n = q = 1 se obtiene la definición 3.11 3. p = q = 1 se obtiene la definición 3.12 4. q = m = 1 se obtiene la definición 3.13 5. p = n = 1 se obtiene la definición 3.14 6. q = 1 se obtiene la definición 3.15 7. p = 1 se obtiene la definición 3.16 Existen múltiples formas de dar la expresión de derivadas matriciales, ya que pueden considerarse distintas ordenaciones de los elementos de la matriz final que se obtiene al derivar una matriz respecto de otra. Algunas derivadas matriciales se pueden definir a través de la vectorización de la matriz de variables dependientes e incluso de la de variables independientes. 52 1. En el presente trabajo, empleando el concepto de vectorización de una matriz, pueden obtenerse las siguientes expresiones alternativas de las definiciones 3.13, 3.14, 3.15, 3.16 y 3.17 en términos de vectorización: ∂y(X) ∂x .11 .. ∂y(X) ∂xp1 ∂y (X) ∂y (X) • = ... = vec ∂vec(X) ∂(X) ∂y(X) ∂x1n . . . ∂y(X) ∂xpn ∂y11 (x) ∂x11 . .. ∂y1m (x) ∂x ∂vecY (x) .. = vec ∂Y (x) • = . ∂x ∂x ∂y1q (x) ∂x .. . ∂ymq (x) ∂x • ∂y ∂y (X) = ∂vec(X) siendo nativa. 1 (X) ∂vec(X) .. . ∂ym (X) ∂vec(X) , ∂yi (X) para i = 1, ..., m lo indicado en la primera expresión alter∂vec(X) ∂y (X) de orden mnp, teniendo en cuenta propiedades ∂vec(X) del producto de Kronecker y de la vectorización, se puede expresar también como El vector columna ∂y (X) = ∂vec(X) ∂y (X) ⊗ Ip (vecIp ) ,siendo ∂X ∂y (X) = ∂X ∂y (X) ∂X 53 . Nótese que en este caso ∂y (X) = vec ∂vec(X) ∂y11 (x) ∂y 11 (x) ∂x1 ∂x . .. .. . ∂ym1 (x) ∂ym1 (x) ∂x ∂x1 ∂vecY (x) . .. = = • . .. ∂x ∂y1q (x) ∂y1q (x) ∂x ∂x1 .. .. . . ∂ymq (x) ∂x Se observa que ∂ymq (x) ∂x1 ∂y (X) ∂X ··· ··· ··· ··· ∂y11 (x) ∂xn ∂ym1 (x) ∂xn .. . ∂y1q (x) ∂xn .. . .. . ∂ymq (x) ∂xn ∂vec (Y (x)) es una matriz de orden mq × n, mientras que ∂x ∂Y (x) es de orden m × qn. Entre estas dos matrices puede establecerse la sigui∂x ente relación: ∂vec (Y (x)) ∂Y (x) = Iq ⊗ (vec (Iq ) ⊗ In ) ∂x ∂x Mediante las definiciones anteriores y las expresiones en términos de la vectorización y las propiedades del producto de Kronecker se obtienen las siguientes ∂Y (X) formas alternativas para el cálculo de : ∂X ∂y11 (X) ∂X .. . ∂ym1 (X) ∂X ∂vec (Y (X)) .. = Iq ⊗ ∂Y (X) (vec (Iq ) ⊗ In ) • = . ∂X ∂X ∂y1q (X) ∂X .. . ∂ymq (X) ∂X ∂y ∂Y (X) • = ∂vecX 11 (X) ∂vec(X) .. . ∂ym1 (X) ∂vec(X) ··· ∂y1q (X) ∂vec(X) ··· ∂ymq (X) ∂vec(X) .. . 54 = ∂Y (X) ⊗ Ip (Iq vec (Ip )) ∂X • ∂vec (Y (X)) = vec ∂vec(X) ∂Y (X) ∂vecX ∂Y (X) = Iq ⊗ ⊗ Ip (vec (Iq ) ⊗ vec (Ip )) ∂X Alternativamente, es posible otra formulación para la derivada de expresiones matriciales. Para ello, es necesario considerar para cualquier m, n, p, q ∈ N y cualquier función: Y (X) : Mpn −→ Mmq la definición ∂ [Y (X))] ∂Y (X) ≡ ∂X ∂ (vecX) Retomando lo expresado anteriormente, en este trabajo se identificarán explícitamente los espacios de matrices Mpn y Mmq con Rpn y Rmq , respectivamente.Lo que se está considerando generalmente es Y (X) como función vectorial de variable vectorial definida de Rpn en Rmq , por lo que la expresión ∂vec [Y (X))] ∂ (vecX) es el Jacobiano de dicha función vectorial. La elección de esta definición de derivada puede resultar útil para aplicar a funciones matriciales resultados matemáticos relativos a funciones vectoriales. Ejemplo 3.11 Dada la función y = y (x) de R2 en R2 definida por 2 y1 (x1 , x2 ) x1 + x32 y (x) = = , y2 (x1 , x2 ) 2x1 x2 de acuerdo con la Definición 3.12 se tiene que ∂y1 (x) ∂y1 (x) ∂y1 (x) ∂y (x) ∂x2 2x1 ∂x ∂x1 = = = ∂y2 (x) ∂y2 (x) ∂y2 (x) 2x2 ∂x ∂x1 ∂x2 ∂x 3x22 2x1 Por otra parte, teniendo en cuenta la Definición 3.16 ∂ ∂y (x) 2 0 0 6x2 = = 0 2 2 0 ∂x ∂x 55 Observese que el resultado anterior difiere de ∂ vec ∂y(x) ∂x ∂x 2x1 2 0 ∂ 2x22 = 0 2 = 3x2 0 6x2 ∂x 2x1 2 0 Ejemplo 3.12 Dada la matriz A = (aij ) , i = 1, ..., m, j = 1, ..., q, se verifica que la derivada de A respecto del primer vector fila que se denota por a1• es la matriz de orden m × q 2 ∂a11 ∂a1• ∂A = .. ∂a1• . ∂am1 ∂a1• = ∂a1q ∂a1• ... .. . ... .. . ∂amq ∂a1• 1 0 .. . 0 0 .. . ··· ··· 0 0 .. . 0 0 .. . 1 0 .. . ··· ··· 0 0 .. . ··· ··· 0 0 .. . 0 0 .. . ··· ··· 1 0 .. . 0 0 ··· 0 0 0 ··· 0 ··· 0 0 ··· 0 Haciendo uso de la expresión alternativa se obtiene ∂vec (A) ∂A = Iq ⊗ (vec (Iq ) ⊗ Iq ) = ∂a1• ∂a1• 1 0 .. . 0 0 .. . 0 0 .. . ··· ··· 0 0 .. . 0 0 0 .. . 0 1 0 .. . 0 0 0 .. . ··· ··· ··· 0 0 0 .. . 0 .. . 0 .. . 0 .. . ··· 0 .. . 0 0 .. . 0 0 .. . 0 0 .. . ··· ··· 1 0 .. . 0 0 0 ··· 0 La derivada de la matriz A respecto de sí misma viene dada por la matriz de orden m2 × q 2 56 ∂a11 ∂A ··· ∂a1q ∂A ∂am1 ∂A ··· ∂amq ∂A ∂A . = .. ∂A .. = (vecI ) (vecI ) m q . para cada i = 1, ..., m, j = 1, ..., q se tiene que 0 0 ··· .. .. . . ∂aij = 0 0 · · · ∂A .. .. . . 0 0 ··· 0 ··· .. . 1 ··· .. . 0 .. . 0 ←− i − ésima fila .. . 0 0 ··· ↑ y j-ésima columna. La derivada de la matriz A respecto de A es una matriz cuadrada de orden mq definida como ∂a11 ∂A ∂A . = .. ∂A ∂a 1q ∂A ∂am1 ∂A ... .. . .. . = P, m, q, ∂amq ∂A ... para cada i = 1, ..., m, j = 1, ..., q 0 0 ··· .. .. . . ∂aij = 0 0 · · · ∂A .. .. . . 0 0 ··· 0 ··· .. . 1 ··· .. . 0 .. . 0 ←− j-ésima fila .. . 0 0 ··· ↑ y la j-ésima columna Ejemplo 3.13 Sea y = y(A) una función definida de M2×2 en R2 dada por a211 + 2a12 − a222 y1 (A) y = y(A) = = y2 (A) (a11 + a22 )2 − 2a12 a21 donde A = a11 a21 a12 a22 La derivada de la función y = y(A) respecto de la matriz A de variables independientes, de acuerdo con la definición 3.15 es 57 ∂y(A) = ∂A ∂y1 (A) ∂A ∂y2 (A) ∂A = 2a11 0 = 2a11 + 2a22 −2a12 ∂y1 (A) ∂a11 ∂y1 (A) ∂a21 ∂y2 (A) ∂a11 ∂y2 (A) ∂a21 2 −2a22 −2a21 2a11 + 2a22 ∂y1 (A) ∂a12 ∂y1 (A) ∂a22 ∂y2 (A) ∂a12 ∂y2 (A) ∂a22 , y la derivada de y(A) respecto a la vectorización de A, teniendo en cuenta la definición 3.17, tiene la expresión ∂y1 (A) ∂y(A) ∂vec(A) = ∂y (A) = 2 ∂vec (A) ∂vec(A) 2a11 0 2 0 = 2a11 + 2a22 0 −2a21 0 2a11 2 = 2a11 + 2a22 −2a21 = ∂y(A) ∂A ⊗ I2 ∂y1 (A) 11 ∂y∂a(A) 1 ∂a21 ∂y (A) 1 ∂a12 ∂y (A) 1 ∂a22 ∂y2 (A) ∂a11 ∂y2 (A) ∂a21 ∂y2 (A) ∂a12 ∂y2 (A) ∂a22 0 2a11 0 2 0 2a11 + 2a22 0 −2a21 2a11 0 2 −2a 22 = 2a11 + 2a22 −2a 12 −2a21 2a11 + 2a22 0 0 −2a22 0 −2a12 0 2a11 + 2a22 0 0 0 1 0 −2a22 0 0 0 −2a12 1 0 2a11 + 2a22 0 1 −2a22 1 0 0 ⊗ 0 1 0 −2a21 1 2a11 + 2a22 vec (I2 ) 58 Ejemplo 3.14 Sea Y (X)definida de M2×2 en la función Y = M3×2 por y11 (X) y12 (X) x11 + x12 2x12 ex21 , Y = Y (X) = y21 (X) y22 (X) = x222 y31 (X) y32 (X) x11 + x12 x21 x12 siendo y11 (X) y ∂X 21 (X) X = ∂X y31 (X) ∂X y12 (X) ∂X y22 (X) ∂X y32 (X) ∂X = 1 0 0 0 x22 0 1 0 0 2x22 0 x11 0 0 0 ex21 0 x12 2 0 0 0 x21 0 Ahora bien, de acuerdo con la expresión alternativa ∂vecY (X) ∂Y (X) = I2 ⊗ (vec (I2 ) ⊗ I2 ) ∂X ∂X 1 0 0 0 x22 0 = 0 0 0 0 0 0 1 0 0 0 x22 0 = 0 0 0 x e 21 0 x12 1 0 0 2x22 0 x11 0 0 0 0 0 0 0 0 0 ex21 0 x12 0 0 0 0 0 0 2 0 0 0 x21 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 x22 0 0 0 0 0 0 0 1 0 0 2x22 0 x11 1 0 0 2x22 0 x11 2 0 0 0 x21 0 59 0 0 0 0 0 0 0 0 0 ex21 0 x12 . 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 1 0 0 x21 0 0 1 0 0 0 0 0 1 3.5. Reglas de Derivación. La derivada de un vector o de una matriz respecto de un escalar, vector o matriz, no difiere sustancialmente de la derivación habitual de funciones. Sin embargo esto no conlleva que sean válidas, en general las reglas usuales para derivar, por ejemplo, las de suma, el producto o la composición de funciones. Ahora bien, como se verá a continuación, si se hace uso del producto Kronecker en lugar del producto matricial estandar, en algunos casos es posible obtener reglas de derivación análogas a las habituales para funciones. Proposición 3.4 Sea C una matriz de variables independientes de orden p × n , esto es, C ∈ Mpn : 1. Derivada del Producto por Escalar. Sea A una matriz de orden m×q cuyos elementos dependen de los de la matriz C de orden p × n. Entonces, para cualquier λ ∈ R, se verifica que ∂ (λA) ∂A =λ· ∂C ∂C 2. Derivada de la Suma. Sean A y B dos matrices de orden m × q, cuyos elementos dependen de los de la matriz C de orden p × n. Se verifica que ∂ (A + B) ∂A ∂B = + . ∂C ∂C ∂C 3. Derivada de Producto. Sean A, B y C matrices de ordenes m × q, q × r, p × n, respectivamente, tales que los elementos de A y B son funciones de los elementos de la matriz C. Entonces se verifica que a) Si p = n = 1 ó m = q = 1 ∂AB ∂A ∂B = ·B+A· ∂C ∂C ∂C b) Si p = 1, es decir, C es un vector fila de Rn , entonces ∂AB ∂A ∂B = (B ⊗ In ) + A · ∂C ∂C ∂C c) Si p = 1 y n = 1 ∂AB ∂A ∂B = (B ⊗ In ) + (A ⊗ Ip ) · ∂C ∂C ∂C 60 4. Derivada del Producto de Kronecker. Sean A, B y C matrices de ordenes m × q, t × r, p × n,respectivamente, tales que los elementos de A y B son función de los elementos de la matriz C.Entonces se verifica que ∂A ⊗ B ∂B ∂ (A ⊗ Ir ) = A⊗ + (Im ⊗ B ⊗ Ip ) ∂C ∂C ∂C donde ∂ (A ⊗ Ir ) ∂A = (Pr,m ⊗ Ip ) Ir ⊗ (Pq,r ⊗ In ) ∂C ∂C 5. Regla de la Cadena. Sea y = y (A) uma función real de variable matricial, donde A es una matriz de orden t × r cuyos elementos a su vez son funciones de la matriz C de orden p × n. Se verifica ∂y (A) = ∂C ∂y (A) ∂vec (A) ⊗ Ip ∂vec (A) ∂C o también ∂y (A) = [(vec (It )) ⊗ Ip ] ∂C ∂y (A) ∂A ⊗ ∂A ∂C (vec (Ir ) ⊗ In ) . ∂λA Demostración. La derivada de acuerdo con la definición 3.17 es una ∂C matriz de orden mp × nq dada por ∂λaij ∂λA = ∂C ∂C i=1,...,m j=1,...,q y como para cada i = 1, ...m ; j = 1, ..., q, según la definición 3.10, ∂λaij ∂λaij ∂aij = =λ ∂C ∂ck ∂ck k=1,...,p =1,...,n ∂λA se obtiene que =λ ∂C ∂A ∂C Demostración. La derivada de orden mp × qn . ∂ (A + B) según la definición 3.17, es la matriz ∂C 61 ∂ (A + B) = ∂C ∂ (aij + bij ) ∂C i=1,...,m j=1,...,q Ahora bien, para cada i = 1, ...m ; j = 1, ..., q, a partir de la definición 3.13 se obtiene ∂ (aij + bij ) ∂aij ∂bij = + ∂C ∂C ∂C y sumando por bloques se puede concluir ∂ (A + B) ∂A ∂B = + ∂C ∂C ∂C Demostración. a) Si p = n = 1, entonces ∂A ∂B ∂AB = B+A , ∂C ∂C ∂C ya que para cada i = 1, ...m ; j = 1, ..., r la derivada del elemento dij de la matriz D = AB es q ∂dij (C) ∂ = aik (C) bkj (C) ∂C ∂C k=1 q q k=1 k=1 ∂dij (C) aik (C) bkj (C) aik (C) = bkj (C) + ∂C ∂C ∂C b) En el caso en que n = q = r = 1, según la definición 3.13 se tiene ∂AB ∂c11 ··· ∂cp1 ··· ∂A ∂c11 ··· ∂cp1 ··· ∂AB . = .. ∂C ∂AB ∂AB . = .. ∂C ∂A ∂AB ∂c1n .. . ∂AB ∂cpn ∂A ∂c1n ∂B ∂c11 ··· ∂B ∂cp1 ··· . .. . B + A .. ∂A ∂cpn 62 ∂B ∂c1n .. . , ∂B ∂cpn dado que para cada i = 1, ...p ; j = 1, ..., n ∂ (AB) ∂A ∂B = B+A , ∂cij ∂cij ∂cij y por tanto, ∂ (AB) ∂A ∂B = B+A ∂C ∂C ∂C c) Ahora, si p = 1, n = 1 y D = AB = (dij ) i = 1, ...m ; j = 1, ..., r, se tiene que q q k=1 k=1 ∂dij (C) aik (C) bkj (C) = bkj (C) + aik (C) , ∂C ∂C ∂C de donde bij (C) In b2j (C) In ∂dij (C) ∂ai1 ∂aiq = ... bij (C) In .. ∂C ∂C ∂C . bqj (C) In ∂b1j (C) + (ai1 (C) Ip ...ain (C) Ip ) ∂C .. . ∂bqj (C) ∂C y por la definición de producto Kronecker y la definición 3.12, resulta ∂ai• ∂b•j (C) ∂dij (C) = (b•j (C) ⊗ In ) + (ai• (C) ⊗ Ip ) , ∂C ∂C ∂C y, por consiguiente, ∂ (AB) ∂A ∂B ∂D = = (B ⊗ In ) + (A ⊗ Ip ) . ∂C ∂C ∂C ∂C Si p = 1 como Ip = 1, la expresión anterior se transforma en ∂ (AB) ∂A ∂B = (B ⊗ In ) + A ∂C ∂C ∂C Demostración. Atendiendo a la definición de producto Kronecker 63 ∂ (A ⊗ B) ∂aij B = ,i=1,...,m , ∂C ∂C j=1,...,q y por la definición 3.17, para cada i = 1, ...m ; j = 1, ..., q se tiene que ∂aij B ∂ (aij bk ) = . k=1,...,t ∂C ∂c =1,...,r Ahora bien, en virtud del apartado anterior, ∂aij bk ∂aij ∂bk = bk + aij . ∂c ∂C ∂C Así pues, ∂aij ∂C ∂aij B = ∂C ∂a ij ∂C 11 b11 + aij ∂b ∂C .. . ··· ∂aij ∂C b1r t1 bt1 + aij ∂b ∂C ··· ∂aij ∂C btr 1r + aij ∂b ∂C .. . tr + aij ∂b ∂C o lo que es equivalente ∂aij B = B⊗ ∂C Por tanto, ∂aij ∂C + ∂aij ∂B . ∂C ∂a11 ∂B B ⊗ ∂C + ∂a11 ∂C ∂ (A ⊗ B) .. = . ∂C ∂am1 ∂B B⊗ + ∂am1 ∂C ∂C ∂a11 B ⊗ ∂C ∂B ∂ (A ⊗ B) .. = A⊗ + . ∂C ∂C ∂am1 B⊗ ∂C ··· ··· ··· ··· ∂a1q ∂B B⊗ + ∂a1q ∂C ∂C .. . ∂amq ∂B B⊗ + ∂amq ∂C ∂C ∂a1q B⊗ ∂C .. . ∂amq B⊗ ∂C ∂ (A ⊗ B) ∂C ∂B ∂ (A ⊗ Ir ) Solución 3.1 = A ⊗ + (Im ⊗ B ⊗ Iq ) ∂C ∂C 64 Ahora bien, a partir de la propiedad 5 del producto de Kronecker, se tiene A ⊗ Ir = Pr,m (Ir ⊗ A) Pq,r y aplicando dos veces la regla de derivación del producto indicada en la proposición 3.4,3 se obtiene ∂ (A ⊗ Ir ) ∂ (Ir ⊗ A) = (Pr,m ⊗ Ip ) (Pq,r ⊗ In ) , ∂C ∂C lo que de acuerdo con la solución 3.1, tomando A = Ir y B = A conduce a ∂ (A ⊗ Ir ) ∂A = (Pr,m ⊗ Ip ) Ir ⊗ (Pq,r ⊗ In ) . ∂C ∂C Demostración. Teniendo en cuenta la definición 3.13, ∂y (A) ∂y (A) = , i=1,...,p ∂C ∂cij j=1,...,n y por la regla de la cadena para el caso unidimensional t r ∂y (A) ∂y(A) ∂akl (C) = . ∂akl ∂cij ∂cij t=1 k=1 Por tanto, ∂y ∂a11 ··· ∂y ∂a1n ∂ap1 ··· ∂y ∂apn ∂y (A) . = .. ∂C ∂y de donde t .. . = t r k=1 t=1 ∂a ∂y (A) ∂akl r ∂y (A) ∂y (A) ∂akl (C) = · ∂C ∂akl ∂C t=1 k=1 ahora bien, como ∂y (A) ∂vec (A) = ∂y ∂y ∂y ∂y , ..., , ..., , ..., ∂a11 ∂at1 ∂a1r ∂atr y 65 kl (C) ∂c11 .. . ∂akl (C) ∂cp1 ··· ∂akl (C) ∂c1n ··· ∂akl (C) ∂cpn .. . ∂a11 ∂C .. . ∂at1 ∂C ∂vec (A) .. = . ∂C ∂a1r ∂C . .. ∂atr ∂C ∂y (A) resulta = ∂C Solución 3.2 = ∂y (A) ∂vec (A) ⊗ Ip · ∂vec (A) ∂C ∂y (A) ∂vec (A) ⊗ Ip · ∂vec (A) ∂C Para obtener la expresión alternativa de la regla de la cadena que se indica en el enunciado, hasta tener en cuenta, que de acuerdo con la propiedad 3 de la vectorización ∂y (A) ∂y (A) ∂y (A) = vec = ⊗ It vec (It ) , ∂vec (A) ∂A ∂C lo que sustituido en la solución 3.2 permite obtener ∂y (A) ∂y (A) ∂vec (A) = vec ⊗ Ip ∂C ∂A ∂C ∂y (A) = ∂C ∂y (A) ∂A ! ∂vec (A) ⊗ It vec (It ) ⊗ Ip · ∂C # ∂vec (A) ∂y (A) " ∂y(A) = ⊗ It vec (It ) ⊗ Ip · ∂A ∂C ∂C ∂y (A) ∂y (A) ∂vec (A) = (vec (It )) ⊗ It ⊗ Ip · , ∂C ∂A ∂C y tomando B2 = Ip en la propiedad 4 del producto de Kronecker se tiene ∂y (A) = ((vec (It )) ⊗ Ip ) ∂C ∂y (A) ∂vec (A) ⊗ Itp · . ∂A ∂C Finalmente de acuerdo con las formas alternativas, como ∂vec (A) ∂A = Ir ⊗ (vec (Ir ) ⊗ In ) ∂C ∂C 66 ∂vec (A) y haciendo uso de nuevo de la propiedad 4 del sustituyendo en ∂C producto de Kronecker se tiene ∂vec (A) ∂y (A) ∂A = ((vec (It )) ⊗ Ip ) ⊗ (vec (Ir ) ⊗ In ) ∂C ∂A ∂C Ejemplo 3.15 Dadas las matrices 2 x2 y xy (y + 1) A= ,B= 3 x x+1 y e ex+y C= como x w z y 0 0 0 0 x+y 1 ∂A = ∂C 2x 0 = 1 0 2y 0 ∂x2 ∂x ∂x2 ∂w ∂(x+1) ∂x ∂(x+1) ∂w 0 0 0 1 0 0 0 3y 2 0 ∂B 0 y = ex+y ∂C 0 ∂x2 ∂z ∂x2 ∂y ∂(x+1) ∂z ∂(x+1) ∂y y 0 ex 0 0 2 (y + 1) 0 ex+y ∂y ∂x ∂y ∂w ∂y 3 ∂x ∂y 3 ∂w ∂y ∂z ∂y ∂y ∂y 3 ∂z ∂y 3 ∂y 0 x 0 0 0 0 0 0 0 2 0 0 1 0 0 0 se tiene 2x ∂ (A + B) ∂A ∂B 0 = + = ∂C ∂C ∂C 1 + ex+y 0 Asi mismo se verifica que 6x 0 ∂ (3A) ∂A =3 = 3 ∂C ∂C 0 0 0 0 0 0 0 0 3 0 0 0 9y 2 67 ∂xy ∂x ∂xy ∂w ∂ez ∂x ∂ez ∂w y ∂xy ∂z ∂xy ∂y ∂ez ∂z ∂ez ∂y 0 1 0 0 0 2 (y + 1) 0 ex+y 3y 0 3ex 0 0 3x 0 0 0 0 0 3 0 0 0 3y 2 1+y 0 ex 0 0 1 + x 0 0 Ejemplo 3.16 Dadas las matrices A y C del ejemplo anterior y el vector x+y b = 2x yz ∂Ab ∂A ∂b = (b ⊗ I2 ) + (A ⊗ I2 ) ∂C ∂C ∂C 1 0 0 1 ∂A ∂B 2 0 como ya se conoce y, = ∂C ∂C 0 0 0 y 0 z teniendo en cuenta sustituyendo en la expresión inicial resulta 2x ∂Ab 0 = 1 ∂C 0 0 0 0 0 0 0 0 1 0 0 0 3y2 x2 0 y 2 0 x 0 + x + 1 0 y3 0 x+1 0 0 y 0 y3 y 0 ex 0 xy 0 ex 0 x+y 0 0 x 2x 0 0 0 yz 0 1 0 0 xy 2 0 0 ex 0 0 0 x + y 0 2x 0 yz 0 1 0 0 y z 3x2 + 2xy + y 2 z + 2y xy2 0 x2 + 2xyz + 2x = 2x + y + 2y3 + yzex + 1 yex 0 6y 2 x + x + zex + 1 Este resultado coincide con: ∂ ∂Ab x3 + x2 y + 2xy + xy2 z = ∂C ∂C x2 + xy + x + y + 2xy 3 + yzex 68 Ejemplo 3.17 Dadas las matrices A, B y C definidas por x+y A = xy ex 2z 2y x + z , B = 1 3 y 2 z 3z x , C = y z se verifica, de acuerdo con el apartado cuarto de la proposición anterior ∂ (A ⊗ B) ∂B ∂ (A ⊗ I2 ) = A⊗ + (I3 ⊗ B ⊗ I3 ) ∂C ∂C ∂C siendo en este caso 0 0 2 0 ∂B 0 2z = 0 0 ∂C 0 0 0 3 ∂A ∂ (A ⊗ I2 ) = (P2,3 ⊗ I3 ) I2 ⊗ P2,2 ∂C ∂C donde P2,3 = ∂A = ∂C Así pues 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 y x 0 ex 0 0 0 0 2 1 0 1 1 3y 2 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 , P2,2 = 0 0 69 0 0 1 0 0 1 0 0 0 0 0 1 ∂ (A ⊗ B) = ∂C 2y 2x + 4y 0 1 1 0 2y 2 4xy 0 y x 0 2yex 2ex 0 ex 0 0 z2 z2 2xz + 2yz 3z 3z 3x + 3y yz 2 xz 2 2xyz 3yz 3xz 3xy z 2 ex 0 2zex 3zex 0 3ex 0 4z 4y 0 0 2 2y 2x + 2z 2y 1 0 1 0 8y 3 0 0 3y 2 0 0 0 6z 2 0 0 12z z2 0 2xz + 3z 2 3z 0 3x + 6z 0 3y 2 z 2 2y 3 z 0 9y 2 z 3y 3 x w Ejemplo 3.18 Si y = y (A) = |A| = xy − zw donde A = y cada z y elemento de A es función del vector c = (t, u) en la forma x = t + u, y = tu, z = t2 + u, w = 2u, se verifica que ∂y (A) = u2 − 2ut, 2ut − t2 − 4u , pues por la regla de la cadena, y las ∂c proposiciones 3.4 y 5 ∂y (A) = ∂c = y 3.6. −z ∂y (A) ∂vec (A) ∂y (A) ∂vec (A) ⊗ I1 = ∂vec (A) ∂c ∂vec (A) ∂c −w 1 1 0 2 x 2t 1 = y − 2tw + xu y − 2x − w + xt u t Propiedades de Derivación de Funciones Matriciales. En esta sección se recogen algunas de las que aparecen con mayor frecuencia. Los resultados que se indican se obtienen utilizando las definiciones propuestas en este trabajo, las reglas de derivación y las diferentes propiedades tanto del producto de Kronecker como de la vectorización de matrices. 70 Proposición 3.5 Sea A una matriz m × n y sean x y z vectores de Rn y Rm , respectivamente. Entonces 1. Si y (x) = Ax se verifica que ∂y (x) = A. ∂x 2. Si y (x, z) = zAx se verifica que ∂y = zA ∂x ∂y = xA. ∂z 3. Si m = n e y (x) = xAx, se verifica que ∂y (x) ∂ 2 y (x) = x (A + A) , = (A + A) , ∂x ∂x∂x y si además A es una matriz simétrica se tiene que ∂y (x) ∂ 2 y (x) = 2xA, = 2A. ∂x ∂x∂x 4. Si m = n, A es simétrica, X es una matriz de orden n×p e Y (X) = XAX, se verifica que ∂Y (X) = Pn,p (AX ⊗ Ip ) + (vec (AX)) (vecIp ) . ∂X Demostración. Si y(x) = Ax entonces n a1j xj j=1 n a2j xj y(x) = Ax = j=1 .. . n amj xj j=1 y teniendo en cuenta la definición 3.12 71 ∂y(x) ∂x ∂ ∂x n a1j xj j=1 n a11 ∂ a x 2j j ∂x a21 = . = j=1 . . .. a . m1 n ∂ a x a12 a22 .. . ··· ··· am2 ··· a1n a2n .. = A . amn mj j ∂x j=1 Demostración. Dado que y (x, z) = zAx = (zA) x, por la proposición 3.5, 1 resulta ∂y ∂ (zA) x = = zA ∂x ∂x Por otra parte, como y = zAx = y = (xA) z, razonando de forma análoga se tiene que ∂y = xA. ∂x Demostración. Si y(x) = xAx dado que y = n n xi xj aij , entonces, j=1 i=1 como para cada k = 1, ..., n, se tiene que n n ∂y aik xi = xak• + xa•k = akj xj + ∂xk i=1 kj=1 aplicando la definición 3.10 resulta ∂y (x) ∂y ∂y = ··· = xA + xA = x (A + A) ∂x ∂x1 ∂xn teniendo en cuenta esta expresión y la proposición 3.5, 1, se deduce que ∂ 2 y (x) ∂ = ∂x∂x ∂x ∂y (x) ∂x = ∂ [x (A + A)] = (A + A) = A + A ∂x = ∂ ∂x lo que coincide con ∂ 2 y (x) ∂ = ∂x∂x ∂x ∂y (x) ∂x ∂y (x) ∂x = ∂ ∂x [(A + A) x] = A + A Si A es una matriz simétrica, los resultados son inmediatos. 72 Demostración. Si Y (X) = XAX = X (AX) aplicando la regla de derivación de un producto 3, se tiene ∂X (AX) ∂X ∂AX = (AX ⊗ Ip ) + (X ⊗ In ) ∂X ∂X ∂X y aplicándola nuevamente al producto AX resulta ∂X (AX) ∂X = Pn,p (AX ⊗ Ip ) + (X ⊗ In ) + (A ⊗ In ) ∂X ∂X ya que ∂X ∂A = Pn,p y es la matriz nula. ∂X ∂X Finalmente a partir de las propiedades 4 del producto de Kronecker y la propiedad 2 de la vectorización, se concluye ∂X (AX) = Pn,p (AX ⊗ Ip ) + (X ⊗ In ) (vecIn ) (vecIp ) ∂X ∂X (AX) = Pn,p (AX ⊗ Ip ) + (vec(AX)) (vecIp ) , ∂X ya que vec(AX) = vec(AX) por se A una matriz simétrica. Proposición 3.6 Sea A una matriz regular de orden m. Entonces se verifica 1. ∂A−1 = −vec A−1 vec A−1 . ∂A 2. ∂vec A−1 =− ∂ (vecA) A−1 ⊗ A−1 . Si además se supone que los elementos de la matriz A son funciones del vector x ∈ Rn , entonces 3. −1 ∂A−1 (x) ∂A ∂ (vecA) = (Im ⊗ (vecIm ) ) ⊗ Im ⊗ ∂x ∂A ∂x 4. ∂ (vecA) ∂vec A−1 (x) = − (A)−1 ⊗ A−1 ∂x ∂x 73 Demostración. Si A es una matriz regular, entonces existe A−1 verificando AA−1 = Im , y aplicando en esta expresión la regla de derivación de un producto resulta 0m2 = ∂AA−1 ∂A−1 ∂A −1 = A ⊗ Im + (A ⊗ Im ) , ∂A ∂A ∂A de donde ∂A−1 = − (A ⊗ Im )−1 ∂A ∂A ∂A A−1 ⊗ Im . Ahora bien como ∂A = (vecIm ) (vecIm ) ∂A a partir de las propiedades 6, 7 del producto de Kronecker y la propiedad 3 de la vectorización se obtiene ∂A−1 = − A−1 ⊗ Im (vecIm ) (vecIm ) A−1 ⊗ Im ∂A ∂A−1 = − A−1 ⊗ Im (vecIm ) A−1 ⊗ Im vecIm ∂A ∂A−1 = −vec A−1 vec A−1 ∂A Demostración. Dado que AA−1 = Im , aplicando el resultado 3a de la Proposición 3.4 para cada i, j = 1, ..., m se tiene que ∂ AA−1 ∂A −1 ∂A−1 = 0m = A +A ∂aij ∂aij ∂aij y, por tanto, ∂A−1 ∂A −1 = −A−1 A . ∂aij ∂aij Como j ↓ 74 ∂A−1 ∂aij 0 0 ··· .. .. . . = 0 0 · · · . . .. .. 0 0 ··· 0 ··· .. . 1 ··· .. . 0 ··· 0 .. . 0 ←− i .. . 0 si se denota por ai• y a•j la fila i − ésima y la columna j − ésima de A−1 , respectivamente, se obtiene ∂A−1 ∂aij −a•i aj• . − a1• − a2• = − .. . − am• 0 0 ··· − . . .. .. − 0 0 ··· .. .. . . − 0 0 ··· 0 ··· .. . 1 ··· .. . 0 ··· 0 .. . | a•1 0 .. | . 0 ··· | a•m = | que de acuerdo con la segunda expresión alternativa y la propiedad 2 de la vectorización de matrices, resulta ∂vec A−1 = vec (−a•i aj• ) = − (Im ⊗ a•i ) vecaj• = − (aj• ⊗ a•i ) ∂aij de donde ∂vec A−1 = ∂a•j ∂vec A−1 ∂vec A−1 ∂vec A−1 , , ..., ∂a1j ∂a2j ∂amj = − [aj• ⊗ a•1 , aj• ⊗ a•2 , ..., aj• ⊗ a•m ] = aj• ⊗ A−1 , y por tanto ∂vec A−1 = − a1• ⊗ A−1 , a2• ⊗ A−1 , ..., am• ⊗ A−1 = ∂vec (A) − A−1 ⊗ A−1 Demostración. Si los elementos de la matriz A son función del vector x ∈ Rn , entonces, para cada i, j = 1, ..., m, la derivada del elemento aij de A−1 respecto de x, en virtud de la regla de la cadena (Proposición 3.4, 5) es ∂aij = ∂x ∂aij ∂vec (A) ∂vec (A) ∂aij ∂vec (A) = , ∂x ∂ (vecA) ∂x y por tanto 75 ∂A−1 = ∂x ∂A−1 ∂vec (A) ⊗ ∂ (vecA) ∂x . Ahora bien, como ∂A−1 = ∂ (vecA) ∂ A−1 ∂vec (A) y ∂ A−1 = ∂A ∂A−1 ∂A de acuerdo con las formas alternativas ∂ A−1 ∂ A−1 = ⊗ Im (Im ⊗ vec (Im )) = ∂vec (A) ∂A ∂A−1 ∂A ⊗ Im (Im ⊗ vec (Im )) , de donde ∂A−1 = ∂x ∂A−1 ∂A ! ∂vec (A) ⊗ Im (Im ⊗ vec (Im )) ⊗ , ∂x o lo que es igual −1 ∂A−1 ∂A ∂vec (A) = (Im ⊗ vec (Im ) ) ⊗ Im ⊗ . ∂x ∂A ∂x Pero como de acuerdo con las expresiones alternativas ∂vec (A) ∂A = Im ⊗ (vec (Im ) ⊗ In ) ∂x ∂x se obtiene finalmente −1 ∂A−1 (x) ∂A ∂A = (Im ⊗ (vecIm ) ) ⊗ Im ⊗ Im ⊗ (vec (Im ) ⊗ In ) . ∂x ∂A ∂x Demostración. Como ya se indicó antes ∂aij = ∂x ∂aij ∂ (vecA) ∂vec (A) ∂x , 76 así pues, de acuerdo con la proposición 3.6, 2 resulta ∂vec (A) ∂vec A−1 ∂vec A−1 ∂vec (A) = = − A−1 ⊗ A−1 . ∂x ∂ (vecA) ∂x ∂x Proposición 3.7 sean A, B y X matrices de ordenes m × m , m × n , y n × m respectivamente. Entonces 1. Si y (A) = tr (A) , se tiene que ∂y (A) ∂tr (A) = = Im ∂A ∂A 2. Si y (X) = tr (BX) , se tiene que ∂y (X) ∂tr (BX) = = B ∂X ∂X 3. Si y (X) = tr (BXA) , se tiene que ∂y (X) ∂tr (BXA) = = BA ∂X ∂X 4. Si C es una matriz de orden n e y (X) = tr (AXCX) , se tiene que ∂tr (AXCX) ∂y (X) = = CXA + CXA ∂X ∂X y si además C es una matriz simetrica y A = I/m , entonces Demostración. Dado que tr (A) = 3.13, es trivial obtener m i=1 aii , ∂y (X) = 2CX ∂X de acuerdo con la Definición ∂tr (A) ∂y (A) = = Im ∂A ∂A m n Demostración. Si y (X) = tr (BX) , entonces y (X) = bik xki i=1 k=1 y por tanto, m n ∂ bik xki m n ∂x1. i=1 k=1 ∂tr (BX) ∂ . .. = bik xki = = ∂X ∂X i=1 k=1 m n ∂ bik xki ∂xn. i=1 k=1 77 b.1 .. . = B b.n Demostración. Teniendo en cuenta que tr (BXA) = tr (ABX) , aplicando la proposición 3.7, 2 , resulta ∂y (X) ∂tr (ABX) = = (AB) = BA ∂X ∂X Demostración. De acuerdo con las propiedades 8 y 2 de la vectorización de una matriz y la propiedad 4 del producto de Kronecker se tiene tr (AXCX) = [vec (AX) ] vec (CX) = [vec (XA)] vec (CX) = [(A ⊗ In ) vec (X)] (Im ⊗ C) vec (X) = [vec (X)] (A ⊗ C) vec (X) La derivada de esta expresión respecto a vec (X) es, en virtud de la Proposición 3.5,3 ∂tr (AXCX) ∂tr (AXCX) = = ((vec (X)) [(A ⊗ C) + (A ⊗ C)]) ∂vec (X) ∂ [vec (X)] = [(A ⊗ C) vec (X)] + [(A ⊗ C) vec (X)] = vec (CXA) + V EC (CXA) = vec (CXA + CXA) Por ultimo, teniendo en cuenta la primera expresión alternativa, como ∂tr (AXCX) ∂tr (AXCX) vec = = vec (CXA + CXA) ∂X ∂vec (X) se concluye que ∂tr (AXCX) = CXA + CXA ∂X y, en caso de ser C simetrica y A = Im , es inmediato que ∂tr (XCX) = 2CX ∂X Proposición 3.8 Sea A una matriz cuadrada de orden m y X una matriz de orden m × p . Entonces 78 1. Si y (A) = |A| , se tiene que ∂y (A) ∂ |A| = = Adj (A) ∂A ∂A 2. Si A es simetrica e y (X) = |XAX| , se tiene que ∂y (X) = 2AX Adj (XAX) ∂X 3. Si A es simetrica e y (X) = In |XAX| con XAX no singular, se tiene que ∂y (X) 2 = AX Adj (XAX) = 2AX (XAX)−1 ∂X |XAX| Si se supone que los elementos de la matirz A son funciones de x ∈ Rn , entonces 4. Si y (x) = |A (x)| , se tiene que ∂y (x) ∂A (x) = [vec (Adj (A) )] Im ⊗ (vec (Im ) ⊗ In ) ∂x ∂x verificandose tambien que si A (x) es no singular ∂In |A(x)| ∂A(x) = tr (A−1 ) ∂x ∂xi i=l,...,n Demostración. Dada A matriz cuadrada de orden m, si para cada elemento aij i, j = 1, ..., n se denota por A ij su cofactor correspondiente, se tiene que |A| = n aik Aik k=1 Entonces n ∂ ∂ |A| = aik Aik = Aij ∂aij ∂aij k=1 Teniendo en cuenta la Definición 3.12 resulta A11 A12 · · · A1n ∂ |A| . .. .. = Adj (A) = .. . . ∂aij An1 An2 · · · Ann 79 Demostración. Si se denota por bij i, j = 1, ..., p a los elementos de la matriz B = XAX , aplicando la regla de la cadena, resulta para cada k = 1, ..., m, 7 = 1, ..., p p p ∂y (X) ∂ |B| ∂bij = ∂xk ∂bij ∂xk i=1 j=1 Como para cada i, j = 1, ..., p tiene p ∂ |B| es el cofactor correspondiente Bij , se ∂bij p ∂ |XAX| ∂bij ∂y (X) = = Bij = ∂xk ∂xk ∂x k i=1 j=1 [vec (Adj (XAX))] vec ∂XAX ∂xk que de acuerdo con la propiedad 8 de la vectorización se puede reducir a ∂ |XAX| ∂XAX = tr Adj (XAX) ∂xk ∂xk Teniendo en cuenta la derivada de un producto (Proposición 3, 3a), para cada k = 1, ..., m , 7 = 1, ..., p , se verifica ∂XAX ∂X ∂X = AX + XA donde ∂xk ∂xk ∂xk ∂X ∂X p = em = em ek y k ek ∂xk ∂xk p además, em k y ek representan dos vectores columna de m y p elementos todos ellos nulos salvo el k-ésimo y el 7-esimo, respectivamente, que son iguales a la unidad. En virtud de esto y teniendo en cuenta las propiedades de la traza, ∂ |XAX| p m p = tr Adj (XAX) em ek AX + XAek e ∂xk p m p = Adj (XAX) em ek AX + tr XAek e Adj (XAX) = tr (b∗· ak· X) + tr (Xa·k b∗· ) = tr (ak· Xb∗· ) + tr (a·k Xb∗ · ) = ak· Xb∗· + a·k Xb∗ · 80 siendo b∗· y b∗· la 7-ésima columna y fila, respectivamente, de la matriz Adj (B) = Adj (XAX) y a·k y ak· la k-ésima columna y fila, respectivamente, de la matriz A De acuerdo con la Definición 3.13, ∂x (X) ∂ |XAX| = = AX Adj (XAX) + AX (Adj (XAX)) = ∂X ∂X 2AXAdj (XAX) ya que tanto A como XAX y, por consiguiente, Adj (XAX) , son matrices simétricas Demostración. Aplicando la regla de la cadena y teniendo en cuenta el apartado anterior, resulta ∂x (X) ∂In |XAX| ∂ |XAX| = ∂X ∂ |XAX| ∂X = 1 2AXAdj (XAX) |XAX| = 2AX (XAX)−1 pues por hipótesis, XAX es simétrica y no singular Demostración. Si y (x) = |A (x)| con x ∈ Rn , por la regla de la cadena, ∂ |A (x)| = ∂x ∂ |A (x)| ∂vecA (x) ∂vecA (x) ∂ |A (x)| ∂vecA (x) = vec ∂x ∂A (x) ∂x de donde, en virtud de la demostración 3.6 se obtiene ∂A (x) ∂ |A (x)| = [vec (Adj (A (x)) )] Im ⊗ (vecIm ⊗ In ) ∂x ∂x considerando ahora que A (x) es una matriz no singular para cada x ∈ Rn , por definición se tiene que ∂In |A (x)| = ∂x ∂In |A (x)| ∂In |A (x)| ,··· , ∂x1 ∂xn Para cada i = 1, ..., n ∂In |A (x)| ∂In |A (x)| ∂ |A (x)| 1 ∂ |A (x)| = = ∂xi ∂ |A (x)| ∂xi |A (x)| ∂xi 81 y según la regla de la cadena ∂ |A (x)| ∂ |A (x)| ∂vec (A (x)) ∂vec (A (x)) = = [vec (Adj (A (x)) )] ∂xi ∂vec (A (x)) ∂xi ∂xi se tiene ∂In |A (x)| 1 ∂vec (A (x)) = vec Adj (A (x)) ∂xi |A (x)| ∂xi ∂A (x) = vec A−1 vec ∂xi y utilizando la propiedad 8 de la vectorización, se obtiene ∂In |A (x)| ∂A (x) −1 ∂A (x) = tr A = tr A−1 ∂xi ∂xi ∂xi Por tanto ∂In |A (x)| −1 ∂A (x) −1 ∂A (x) = tr A , ..., tr A ∂x ∂x1 ∂xn Ejemplo 3.19 Sea la función y (x) = x Ax con A matriz simétrica y no singular de orden n. Supóngase que se desea conocer si y (x) tiene máximo o mínimo global en algún punto x ∈ Rn . para ello habrá que estudiar si y (x) tiene puntos críticos, lo que presupone resolver el sistema de ecuaciones ∂y (x) =0 ∂x es decir, de acuerdo con la Proposición 3.5, 3 ∂y (x) = 2xA = 0 ∂x Cuya solución es x∗ = 0 por ser A no singular. Si y (x) tiene máximo, mínimo o punto de silla lo alcanzará en x∗ = 0. Para poder decidir el comportamiento de y (x) en x∗ bastará utilizar condiciones de segundo orden, y como en este caso ∂ 2 y (x) = 2A ∂x∂x para todo x ∈ Rn se verificará que x∗ = 0 es mínimo global si A es definida o semidefinida positiva x∗ = 0 es máximo global si A es definida o semidefinida negativa x∗ = 0 es punto de silla si A es indefinida 82 Ejemplo 3.20 Sea la matriz a11 a12 A= a21 a22 cuyos elementos dependen de x = (x1 , x2 , x3 ) de forma que a11 = a22 = x1 + x3 a12 = x1 + x2 a21 = x1 − x2 De acuerdo con las proposiciones 3.6 y 3, se verifica que para todo x ∈ R3++ −1 ∂vec [A (x)] ∂A−1 (x) ⊗ I ⊗ = (I2 ⊗ (vecI2 ) ) ∂A 2 ∂A ∂x ∂x dado que a−1 = 1 |A| a22 −a21 −a12 a11 resulta ∂A−1 = −vec A−1 vecA−1 = ∂A a22 2 −a12 1 a22 −a21 a12 − |A| −a21 a11 a222 1 −a12 a22 =− |A| −a21 a22 a11 a22 −a21 a22 a12 a21 a221 −a11 a21 −a12 a22 a212 a12 a21 −a12 a11 Por otra parte se obtiene que ∂vec [A (x)] ∂x ∂a11 (x) ∂x ∂a21 (x) ∂x ∂a12 (x) ∂x ∂a22 (x) ∂x a11 a22 a11 −a12 a11 −a21 a11 a211 1 0 1 1 −1 0 = 1 1 0 1 0 1 Por tanto, efectuando los correspondientes productos y teniendo en cuenta la propiedad 2 del producto de Kronecker, se tiene que ∂A−1 (x) tr (A) =− ∂x |A|2 83 a22 0 0 a22 −a21 0 0 −a21 −a12 0 0 −a12 a11 0 0 a11 1 0 1 1 −1 0 ⊗ 1 1 0 1 0 1 Ejemplo 3.21 Sea la función y (x) = tr (AX) donde 1 3 A = 2 0 −1 1 y X= x11 x21 x12 x22 x13 x23 como tr (AX) = x11 + 3x21 + 2x12 − x13 + x23 entonces ∂tr (AX) 1 2 −1 = = A 3 0 1 ∂X tal como se indica en la Proposición 3.7, 2 Ejemplo 3.22 Sea A una matriz no singular de orden n , entonces aplicando la regla de la cadena ∂In |A| 1 ∂ |A| = ∂A |A| ∂A y, de acuerdo con la Proposición 3.8, 1, se tiene ∂In |A| 1 = Adj (A) = A−1 ∂A |A| es decir, en virtud de la Definición 3.13, para cada i, j = 1, ..., n ∂In |A| 1 = Aji ∂aij |A| a11 Ejemplo 3.23 Dada A = a21 a12 a22 cuyos elementos dependen de x = (x1 , x2 ) de forma que aij = ix1 + jx2 con x1 0 y x2 ≺ 0 , i , j = 1, 2, se verifica que ∂In |A (x)| ∂In (a11 (x) a22 (x) − a21 (x) a12 (x)) = ∂x ∂x 1 ∂ (a11 (x) a22 (x) − a21 (x) a12 (x)) ∂ (a11 (x) a22 (x) − a21 (x) a12 (x)) = , |A| ∂x1 ∂x2 84 = 1 1 , x1 x2 que coincide con lo que se señala en la Proposición 3.8, 4 ∂In |A (x)| −1 ∂A (x) −1 ∂A (x) = tr A , tr A pues como ∂x ∂x1 ∂x2 A (x) = x1 + x2 2x1 + x2 x1 + 2x2 2x1 + 2x2 entonces 1 x1 + x2 A−1 = −2 (x1 + x2 ) x1 + 2x2 2x1 + x2 − (x1 + x2 ) y ∂A (x) ∂A (x) 1 1 1 2 = , = 2 2 1 2 ∂x1 ∂x2 y, por tanto tr tr −1 ∂A (x) ∂x1 −1 ∂A (x) ∂x2 A A = 1 1 (2x2 − x2 ) = x1 x2 x1 = 1 1 (2x1 − x1 ) = x1 x2 x2 Cuando la matriz respecto de la que se deriva es simétrica, debe de tenerse en cuenta esta característica pues, en caso contrario, pueden obtenerse resultados aparentemente contradictorios [Bar98]. Por ejemplo si y (A) = a211 + a222 + a212 , donde A= a11 a12 a21 a22 y cada elemento de la matriz A es función del vector x = (x1 , x2 ) en la forma: a11 = x1 + 2x2 , a22 = x1 , a12 = x1 x2 al aplicar la regla de la cadena (Proposiciones 3.4, 4) resulta ∂y (A) = ∂x ∂y (A) ∂vec (A) ∂vec (A (x)) ∂x 85 = 2a11 2a12 2a12 2a22 = 4x1 + 4x2 + 4xs1 x22 1 x2 x2 1 2 x1 x1 0 4x1 + 8x2 + 4x21 x2 sustituyendo directamente y considerando que 2 2 y (A (x)) = (x1 + 2x2 ) + x21 + (x1 x2 ) = 2x21 + 4x22 + 4x1 x2 + x21 x22 al calcular el gradiente se obtiene un resultado diferente, debido a que ∇y = 4x1 + 4x2 + 2x1 x22 , 8x2 + 4x1 + 2x21 x2 Hay una aparente contradicción, que se debe a que tras sustituir se ha considerado y (A) como una función de tres variables a11 , a12 , a22 cuando en realidad es una función de R4 −→ R, la cual está definida en puntos cuyas componentes segunda y tercera son iguales. Al tener esto en cuenta, los calculos de la derivada coinciden. Para manejar esta aparente disparidad en los resultados al calcular la derivada respecto de una matriz simétrica A , usualmente se deriva únicamente respecto de los elementos distintos de A, utilizando la vec (A) cuya descripción se encuentra en la definición 3.9. 86 APLICACIÓN A REDES NEURONALES CAPA 0 1.0 CAPA 1 CAPA 2 b11 ∑ b21 S11 W111 f 1(S11 ) y11 W121 1 3 b W112 b22 b12 d1 2 21 W ∑ y10 S12 ( ) f 2 S12 y12 e12 e1 W122 W211 ∑ S21 f 1(S21 ) y12 ∑ 2 22 W W311 d2 1 22 W ∑ W132 1 32 W ∑ S31 f 1(S31) y31 S22 ( ) f 2 S22 y22 e2 e22 W232 y20 Figura 2: 4. 4.1. Aplicaciónes Redes Neuronales A continuación se expone el desarrollo completo de una aplicación típica de la derivación de funciones vectoriales y matriciales, que es el caso de la solución de problemas mediante las redes neuronales artificiales.Esta aplicación es un trabajo realizado por [Per07] Utilizando notación matricial, es fácil comprobar que una red multicapa cuyas funciones de activación son lineales se pueden reducir a una red de una capa lineal; por ello es preciso utilizar funciones de activación no lineales. El algoritmo Backpropagation es un algoritmo iterativo que permite entrenarredes multicapa. La figura ?? muestra una red neuronal típica, donde y son las entradas, S las salidas, W los pesos, e el error y f (s) la salida deseada 4.1.1. Características del Algoritmo 1. Busca el mínimo de la función error a partir de un conjunto de patrones de entrenamiento. 2. Precisa que la función de activación sea diferenciable (fácilmente). 3. Entrenar consiste en modificar los pesos de la red. 87 ε 4. Los pesos se modifican hacia la direcció descendente de la función error. 5. La red entrenada es capaz de generalizar, clasificando correctamente patrones ruidosos o incompletos. 6. α indica cuánto cambian los pesos. 7. Si α es muy pequeño, la velocidad de aprendizaje es muy lenta. Si α es muy grande aparecen efectos oscilatorios. 1 1 2 b1 y1 b e b1 = b12 , b2 = 12 , y 1 = y21 ,e = 1 b2 nn(2)x1 e2 1 1 b3 nn(1)x1 y3 nn(1)x1 1 2 2 S1 S y S 1 = S21 , S 2 = 12 , y 2 = 12 S2 nn(2)x1 y2 nn(2)x1 1 S3 nn(1)x1 1 2 1 2 W11 W12 W11 W12 1 1 2 2 W22 W22 W 1 = W21 , W 2 = W21 1 1 2 2 W31 W32 nn(1)×nn(0) W31 W32 nn(2)×nn(1) nn (k) = número de neuronas de la capa k, nc = índice de la última capa En general e nn(nc)x1 4.1.2. k S nn(k)x1 , y k nn(k)x1 , bk nn(k)x1 , W k nn(k)xnn(k−1) , Propagación hacia adelante. Cálculo 1 0 1 0 S11 = W11 y1 + W12 y2 + b11 1 0 1 0 S21 = W21 y1 + W22 y2 + b12 1 0 1 0 S31 = W31 y1 + W32 y2 + b13 1 W11 1 Matricialmente S 1 = W21 1 W31 1 1 0 W12 b1 y 1 1 1 W22 0 + b2 y2 1 W32 b13 Por lo tanto, S 1 = W 1 y 0 + b1 , y en general, S k = W k yk−1 + bk y11 = f11 S11 , y21 = f21 S21 , y31 = f31 S31 88 1 1 1 1 1 y1 f1 S1 f1 S1 y21 = f21 S21 , haciendo F 1 S 1 = f21 S21 , queda y 1 = F 1 S 1 y31 f31 S31 f31 S31 En general: yk = F k S k e1 = d1 − y12 e2 = d2 − y22 2 e1 d y = 1 − 12 −→ e = d − y 2 , en general e = d − y nc e2 d2 y2 donde nc = índice de la última capa El error cuadrático 8 = e21 + e22 = e1 4.1.3. e1 e2 = eT e e2 Propagación hacia atrás. Escalarmente Wij2 (n + 1) = Wij2 (n) − α b2i (n + 1) = b2i (n) − α ∂8 (n) ∂Wij2 (n) ∂8 (n) ∂b2i (n) donde n indica el número de iteración 2 2 2 (n + 1) W13 (n + 1) W11 (n + 1) W12 = 2 2 2 W21 (n + 1) W22 (n + 1) W23 (n + 1) ∂)(n) 2 2 2 2 W11 (n) W12 (n) W13 (n) 11 (n) − α ∂W 2 2 2 ∂)(n) W21 (n) W22 (n) W23 (n) 2 ∂W21 (n) Es decir, W 2 (n + 1) = W 2 (n) − α ∂)(n) 2 (n) ∂W12 ∂)(n) 2 (n) ∂W22 ∂8 (n) ∂W 2 (n) y escalarmente: ∂8 ∂8 ∂ei ∂yi2 ∂Si2 ∂8 ∂Si2 = = ∂Wij2 ∂ei ∂yi2 ∂Si2 ∂Wij2 ∂Si2 ∂Wij2 89 ∂)(n) 2 (n) ∂W13 ∂)(n) 2 (n) ∂W23 Matricialmente ∂8 ∂8 ∂S 2 = ∂W 2 ∂S 2 ∂W 2 ∂8 = derivada de una función escalar con respecto a un vector ∂S 2 ∂S 2 = derivada de una función vectorial de argumento matricial con res∂W 2 pecto a una matriz Escalarmente ∂8 ∂ei ∂yi2 ∂8 = 2 ∂Si ∂ei ∂yi2 ∂Si2 Matricialmente se debe tener en cuenta que si z es una función de p, la cual es una función de y, que a su vez es una función del vector x, entonces dz dy ∂p ∂z = dx dx ∂y ∂p Teniendo en cuenta lo anterior ∂y 2 ∂e ∂8 ∂8 ∂y2 ∂e ∂8 ∂S 2 ∂8 = −→ = ∗ ∂S 2 ∂S 2 ∂y2 ∂e ∂W 2 ∂S 2 ∂y 2 ∂e ∂W 2 Teniendo en cuenta que dAx ∂S 2 ∂ = xT −→ = W 2 y 1 + b2 = y1 2 dA ∂W ∂W 2 En general, ∂S k = y k−1 ∂W k 2 ∂y1 ∂y 2 ∂S12 = ∂y2 1 ∂S 2 2 ∂S2 ∂y22 ∂S12 , ∂y22 ∂S22 T T ya que yi2 = fi2 Si2 , entonces, ∂yi2 = 0, para ∂Sj2 ∂yi2 ∀i = j y = fi2 Si2 ∂Sj2 2 ∂y1 2 0 2 ∂y 2 ∂S1 , como yi2 = fi2 Si2 −→ ∂yi = fi2 Si2 = 2 ∂y2 ∂S 2 ∂Si2 0 ∂S 2 2 90 y 2 = F 2 S 2 −→ se puede hacer F 2 S 2 = ∂e 1 ∂e ∂y12 = ∂e1 ∂y 2 ∂y22 ∂ei = −1 y ∂yi2 ∂e = ∂y 2 ∂e ∂e2 ∂y12 ∂e2 ∂y22 0 1 ∂y12 ∂e2 ∂y22 0 , ya que ei = di − yi2 , entonces −1 0 = 0 −1 ∂y2 ∂S 2 ∂ei = 0, para ∀i = j ∂yj2 ∂ε ∂ T e = e e = 2e = 2 1 e2 ∂e ∂e Acoplando todos estos resultados 2 ∂y1 ∂ε ∂S12 = ∂W 2 0 ∂ε =2 ∂W 2 ∂y12 ∂S 12 0 ∂y22 ∂S22 0 ∂y12 − ∂S 2 ∂ε 1 = 2 ∂W 2 0 ∂e1 ∂y12 0 ∂e2 ∂y22 0 ∗2 e1 ∗ y11 e2 −1 0 e1 1 y1 ∂y22 0 −1 e2 2 0 ∂S2 e1 1 y1 ∂y 2 e2 − 22 ∂S2 0 y21 y21 y31 y21 y31 y31 ∂y12 e1 1 − ∂S 2 ∂ε y1 y21 y31 = = 2 ∂y21 2 2 ∂W − ∂S 2 e2 2 2 ∂y ∂y 2 ∂y 2 −2e1 ∂S12 y11 −2e1 ∂S12 y21 −2e1 ∂S12 y31 1 1 1 ∂y2 ∂y 2 ∂y 2 −2e2 ∂S22 y11 −2e2 ∂S22 y21 −2e2 ∂S22 y31 2 2 2 Si se hace ∂y 2 − ∂S12 ∂ε 2 1 δ = − 2 = 2 ∂S 0 Matricialmente 2 2 ∂y12 2 2 e e1 = ∂S212 1 = 2f12 S12 e1 = δ 12 2 ∂y ∂y e2 2f2 S2 e2 δ2 − 22 2 22 e2 0 ∂S2 ∂S2 91 δ 2 = 2F 2 S 2 e −→ donde F 2 S 2 = 2 f1 S12 0 0 f22 S22 Entonces, ∂ε = −δ 2 y1 ∂W 2 T recordando que W 2 (n + 1) = W 2 (n)−α ∂ε (n) −→ donde n es el contador de iteraciones ∂W 2 (n) T 1 W 2 (n + 1) = W 2 (n) + αδ 2 (n) y(n) Ahora b2 (n + 1) = b2 (n) − α ∂ε (n) ∂b2 (n) ∂ε ∂S 2 ∂ε ∂S 2 = = − 2 δ2 2 2 2 ∂b ∂b ∂S ∂b pero S 2 = W 2 y1 + b2 recuérdese que yk+1 = W k S K + bk 2 ∂S = ∂b2 ∂S12 ∂b212 ∂S1 ∂b22 ∂S22 ∂b21 ∂S22 ∂b22 = 1 0 0 1 2 ∂ε 1 0 δ 21 δ1 = − = − = −δ 2 0 1 δ 22 δ 22 ∂b2 Por lo tanto b2 (n + 1) = b2 (n) + αδ 2 En general, para los pesos y el BAS de la última capa se tiene δ nc = 2F nc (S nc ) e ∂ε = −δ nc ync−1 ∂W nc T T nc−1 W nc (n + 1) = W nc (n) + αδ 2 (n) y(n) 92 ∂ε = −δ nc y bnc (n + 1) = bnc (n) + δ nc (n) donde nc es el número de capas ∂bnc de la red Ahora es necesario hallar la fórmula para la actualización de W 1 y b1 W 1 (n + 1) = W 1 (n) − α ∂ε (n) ∂W 1 (n) ∂ε ∂ε ∂S 1 ∂ε ∂y1 ∂S 2 ∂y 2 ∂ε ∂ε ∂y 1 ∂S 2 ∂ε ∂S 2 ∂ε = y = = = ∂W 1 ∂S 1 ∂W 1 ∂S 1 ∂S 1 ∂y 1 ∂S 2 ∂y 2 ∂e ∂S 1 ∂y 1 ∂S 2 ∂S 1 ∂S 2 ∂y1 ∂y 1 = ∂S 1 1 ∂S11 ∂y11 ∂S21 ∂y11 ∂S31 ∂y21 ∂S11 ∂y31 ∂S11 ∂y21 ∂S21 ∂y31 ∂S21 ∂y21 ∂S31 ∂y31 ∂S31 Recordando que yi1 = fi1 Si1 −→ ∂y1 ∂y 1 = 0 ∂S 1 0 1 f1 S11 0 0 = 0 ∂y31 0 1 ∂S11 0 ∂y21 ∂S21 0 ∂S 2 = ∂y 1 1 ∂y11 ∂S12 ∂y21 ∂S12 ∂y31 ∂S22 ∂y11 ∂S22 ∂y21 ∂S22 ∂y31 T recordando que 2 1 2 1 2 1 S12 = Wi1 y1 + Wi2 y2 + Wi3 y3 + b2i −→ 2 W ∂S 2 11 2 W12 = ∂y 1 2 W13 2 W21 2 W22 = W2 2 W23 Recordando que 0 f21 S21 0 ∂S31 ∂ ∂S 2 = 1 W 2 y 1 + b2 = W 2 1 ∂y ∂y Es decir ∂S 2 ∂yi1 ∂yi1 = 0, ∀i = j −→ = f 1 Si1 ∂Sj1 ∂Si1 T ∂8 = −δ 2 ∂S 2 93 ∂Si2 = Wij2 ∂yj1 0 0 = F 1 S1 1 f3 S31 ∂y1 0 1 ∂S11 ∂8 = − 0 ∂S 1 0 ∂y21 ∂S21 ∂ε = −F 1 S 1 ∂S 1 0 2 W11 2 0 W12 2 1 W13 ∂y3 0 ∂S31 W2 haciendo δ 1 = F 1 S 1 T 2 2 W21 2 δ1 W22 δ 22 2 W23 δ2 W2 T δ2 ∂ε = −δ 1 ∂S 1 ∂ W 1 y 0 + b1 ∂S 1 = = y0 ∂W 1 ∂W 1 en general ∂S k = y k−1 ∂W k T T ∂ε ∂ε ∂S 1 = = −δ 1 y0 ∂W 1 ∂S 1 ∂W 1 T En general ∂ε ∂S k ∂ε = ∂W k ∂S k ∂W k ∂ε ∂S k+1 ∂ε = ∂S k ∂S k ∂S k+1 ∂S k+1 ∂y k ∂S k+1 ∂y k = −→ = F k Sk k k k ∂S ∂S ∂y ∂S k ∂ W k+1 yk + bk+1 ∂S k+1 ∂S k+1 = −→ = W k+1 ∂y k ∂y k ∂yk ∂S k+1 = F k Sk ∂y k W k+1 T T ∂ε ∂ε = −δ k+1 −→ = −F k S k ∂S k+1 ∂S k W k+1 T δ k+1 Si se generaliza ∂ε T −→ δ k = F k S k W k+1 δ k+1 −→ δ k = ∂S k T k+1 W k+1 F k S k δ ya que F k S k es simétrica δk = − 94 ∂ε ∂ε ∂S k = = δ k y k−1 ∂W k ∂S k ∂W k T T 0 W 1 (n + 1) = W 1 (n) + αδ 1(n) y(n) y, en general T k−1 W k (n + 1) = W k (n) + αδ k(n) y(n) Ahora se determina la fórmula de actualización para b1 b1 (n + 1) = b1 (n) − α ∂ε (n) ∂b1 (n) ∂ε ∂S 1 ∂ε = 1 ∂b ∂b1 ∂S 1 ∂S 1 ∂ε ∂S 1 ∂b11 ∂S21 ∂b11 ∂S31 ∂b11 ∂S11 ∂b13 ∂S21 ∂b12 ∂S21 ∂b13 ∂S31 ∂b12 ∂S31 ∂b13 1 ∂S 1 11 = ∂S 1 1 ∂b ∂b2 = −δ 1 1 0 0 = 0 1 0 = I nn(1) 0 0 1 En general, ∂S k = I nn(k) ∂bk ∂ε ∂b1 1 0 0 = − 0 1 0 δ 1 = −δ 1 0 0 1 En general, ∂ε = − I nn(k) δ k = −δ k k ∂b b1 (n + 1) = b1 (n) + αδ 1 (n) bk (n + 1) = bk (n) + αδ k (n) 95 4.1.4. Resumen (Algoritmo) Datos de Entrada Patrones de entrenamiento X con su salida deseada. X nn(0)Xnp donde np = número de patrones. d nn(c)Xnp donde nc = número de capas de la red (recuerde que la capa de entrada no se considera como una capa de la red). Número máximo de iteraciones: N U MIT Valor de la tasa de aprendizaje: α Valor de la tolerancia: T OL Inicializar: 1 2 nc W(1) , W(1) , ..., W(1) b1(1) , b2(1) , ..., bnc (1) con valores aleatorios pequeños, k Wij nn(k)Xnn(k−1) k bi nn(k) n = 0, ∈ [−0,5, 0,5] ∈ [−0,5, 0,5] ε=0 Mientras que n <= N U MIT ó ε < T OL 0 y(n) = X(n) , donde X(n) es un vector de entrada escogido aleatoriamente 96 4.1.5. Propagación hacia adelante. Para k = 1 hasta nc k−1 k k S(n) = W(n) • y(n) + bk(n) k k y(n) = F k S(n) Fin para k. e(n) = d(n) − y nc (n) ε(n) = e(n)T ∗ e(n) 4.1.6. Propagación hacia atrás. δ nc (n) = 2F nc (S nc (n)) e (n) W nc (n + 1) = W nc (n) + αδ nc (n) y nc−1 (n) bnc (n + 1) = bnc (n) + αδ nc (n) Para k = nc − 1 hasta 1 δ k (n) = F k S k (n) W k+1 (n) T δ k+1 (n) W k (n + 1) = W k (n) + αδ k (n) y k−1 (n) bk (n + 1) = bk (n) + αδ k (n) Fin para k 97 T T APLICACIÓN A REDES NEURONALES 1 .0 ∑ S11 y 11 1 1+ e − S11 ∑ S12 tanh( S12 ) y12 y 10 ∑ S 21 y12 1 1 1 + e − S2 y20 ∑ ∑ S 31 tanh( S 22 ) y22 y 31 1 1+ e S22 − S31 Figura 3: Ejemplo 4.1 n x1 1 −1 2 −1 3 1 4 1 Entrenar una red neuronal para aprender los siguientes patrones x2 d1 d2 −1 −1 −1 1 −1 1 −1 −1 1 1 1 −1 Utilice una red 2-3-2 (2 entradas, 3 neuronas en la capa oculta y dos neuronas en la capa de salida. Utilice función logística como función de activación para todas las neuronas de la capa oculta (capa 1) y tanh para todas las neuronas de la capa de salida (capa 2). Se va a trabajar con α = 0,5 La figura ?? muestra la red propuesta. Primer Patrón n = 0 Inicialización: 0,7826 0,609 0,0636 −0,6596 −2,0639 W 1 (1) = −1,4372 −1,6513 , W 2 (1) = 0,582 −1,8127 2,2377 −2,713 −2,8013 0,437 −0,7279 b1 (1) = −1,298 , b2 (1) = −1,9579 2,2137 98 y 0 (1) = X(1) = x1 (1) −1 = x2 (1) −1 S 1 (1) = W 1 (1) · y 0 (1) + b1 (1) 0,7826 0,609 0,437 −1 S 1 (1) = −1,4372 −1,6513 + −1,298 −1 −2,713 −2,8013 2,2137 −0,9576 S 1 (1) = 1,7905 7,728 1 1 1 1 f1 S1 (1) 0,27796067 1+e−S1 1 y 1 (1) = f21 S21 (1) = 1+e−S21 = 0,85698857 1 1 1 0,99955987 f3 S3 (1) −S1 1+e 3 S 2 (1) = W 2 (1) · y 1 (1) + b2 (1) 0,27796067 0,0636 −0,6596 −2,0639 −0,7279 0,85698857 + S 2 (1) = 0,582 −1,8127 2,2377 −1,9579 0,99955987 S 2 (1) = y 2 (1) = −3,33848298 −1,11287495 2 2 f1 S1 (1) tanh S12 (1) tanh (−3,33848298) = = tanh (−1,11287495) f22 S22 (1) tanh S22 (1) −0,99748398 y (1) = −0,80507629 2 e (1) = d (1) − y 2 (1) −1 −0,99748398 −0,00251602 e (1) = − = −1 −0,80507629 −0,19492371 99 4.1.7. Propagación hacia atrás. Ejemplo 4.2 1. δ 2 (1) = 2F 2 S 2 (1) e (1) Recuerde que: f 2 1 S12 (1) = tanh S22 (1) = y12 (1) f 21 S12 (1) = 1 − y12 (1) f 2 2 2 S22 (1) = tanh S22 (1) = y22 (1) 2 f 22 S22 (1) = 1 − y22 (1) 2 f 1 S12 (1) 0 2F 2 S 2 (1) = 0 f 22 S22 (1) 2 1 − y12 (1) 0 = 2 0 1 − y22 (1) 1 − (−0,99748398) 0 −0,00251602 2 δ (1) = 2 0 1 − (−0,80507629) −0,19492371 −2,52896 X 10−5 δ 2 (1) = −0,13716866 T W 2 (2) = W 2 (1) + αδ 2 (1) · y1 (1) 0,0636 −0,6596 −2,0639 W 2 (2) = + 0,582 −1,8127 2,2377 −2,52896 X 10−5 0,27796067 0,85698857 0,99955987 0,5 ∗ −0,13716866 0,0636 −0,6596 −2,0639 W 2 (2) = + 0,582 −1,8127 2,2377 −3,514775 X 10−6 −1,08364 X 10−5 −1,2639 X 10−5 −0,019063746 −0,0587755987 −0,06855414 0,063596485 −0,659610836 −2,063912639 W 2 (2) = 0,562936254 −1,871475987 2,169145856 b2 (2) = b2 (1) + αδ 2 (1) −0,7279 b2 (2) = + 0,5∗ −1,9579 T δ 1 (1) = F 1 S 1 (1) W 2 (1) δ 2 (1) 1 y1 (1) 1 − y11 (1) 0 1 δ (1) = 0 y21 (1) 1 − y21 (1) 0 0 100 0 ∗ 0 1 1 y3 (1) 1 − y3 (1) 0,0636 0,582 −5 −0,6596 −1,8127 −2,52896 X 10 −0,13716866 −2,0639 2,2377 −0,01602252 δ 1 (1) = 0,03047584 −0,00013501 T W 1 (2) = W 1 (1) + αδ 1 (1) · y0 (1) 0,7826 0,609 −0,01602252 W 1 (2) = −1,4372 −1,6513 + 0,5 ∗ 0,03047584 −1 −1 −2,713 −2,8013 −0,00013501 0,7826 0,609 0,00801126 0,00801126 W 1 (2) = −1,4372 −1,6513 + −0,01523792 −0,01523792 −2,713 −2,8013 6,7506 X 10−5 6,7506 X 10−5 0,79061126 0,61701126 W 1 (2) = −1,45243792 −1,66653792 −2,71293249 −2,80123249 b1 (2) = b1 (1) + αδ 1 (1) 0,437 −0,01602252 b1 (2) = −1,298 + 0,5 ∗ 0,03047584 2,2137 −0,00013501 0,42898874 b1 (2) = −1,28276208 2,21363249 4.2. Derivadas Matriciales en Matlab. Aprovechando las funciones básicas y las operaciones que con respecto a matrices se pueden utilizar en Matlab, se diseñaron unas pequeñas funciones que permiten a través de la utilización de las propiedades de la derivación matricial, empleando la vectorización y el producto de Kronecker, resolver derivadas matriciales. Se adjuntan los códigos fuente de las mismas, las cuales son solo un ejemplo, teniendo en cuenta que las funciones f1, f2 y demás que se presentan, pueden ser modificadas de acuerdo con la necesidad de solución. Un exámen previo de las figuras 4 hasta la 8 puede facilitar la lectura de esta sección, ya que el lenguaje Matlab es bastante intuitivo. Inicialmente se han creado dos funciones vec() que realiza la vectorización de una matriz por columnas, tal como se observa en la figura 4 y vecf () que realiza la vectorización por filas de una matriz, tal como se observa en la figura 5. En primera instancia, se debe tener claro que es posible definir funciones nuevas y archivos de sencuencia de comandos (script) en Matlab. De hecho, las 101 function [vec] = vec(mat) %vectorizacion (columna) %CAPTURA TAMAÑO [m,n] = size(mat); %LEE ELEMENTOS Y REUBICA for I = 1:m, for J = 1:n, pos=n*(Ipos=n*(I-1)+J; vecf(pos) = mat(I,J); end end %TRANSPONE vec=vecf.'; end end Figura 4: Vectorización de una matriz. function [vecf] = vecf(mat) %CAPTURA TAMAÑO [m,n] = size(mat); %LEE ELEMENTOS Y REUBICA for I = 1:m, for J = 1:n, pos=n*(Ipos=n*(I-1)+J; vecf(pos) = mat(I,J); end end end Figura 5: Vectorización por filas de una matriz. % CREA VARIABLES syms v syms w syms x syms y syms z %CREA MATRICES IDENTICAS DE ORDEN 1 HASTA 5 I1=eye(1); I2=eye(2); I3=eye(3); I4=eye(4); I5=eye(5); return Figura 6: Inicialización, crea variables simbólicas y matrices idénticas. 102 % CASO: % DERIVACIÓN DE f(x,y,z,...) RESPECTO DE CADA VARIABLE INDEPENDIENTE % BORRA VARIABLES DE LA MEMORIA clear % INICIALIZA VARIABLES Y CREA MATRICES UTILITARIAS ini % USUARIO: SE DEFINEN FUNCIONES %EJEMPLO: f1=x^2+y^3; f2=2*x*y; %Fn=... % USUARIO: SE DEFINEN VECTORES O MATRICES % EJEMPLO: Y=[f1 ; f2]; X=[x y]; %%% PROCESANDO... %%% % EXTRAE EL TAMAÑO DE LOS VECTORES O MATRICES: [P,N]=size(X); [M,Q]=size(Y); % EXPANSION: for I = 1:M, for J = 1:Q, %DERIVAR CADA ELEMENTO DE Y RESPECTO A MATRIZ MATRIZ X: for K=1:P, for L=1:N, %DERIVACIÓN INDIVIDUAL: R(P*(IR(P*(I-1)+K,N*(J1)+K,N*(J-1)+L)=diff(Y(I,J),X(K,L)); end end end end R Figura 7: Codigo completo para realizar una derivación matricial simple. figuras referenciadas muestran código de cada uno de ellos. Tanto las funciones como los scripts pueden utilizar funciones de control de flujo para detallar la forma como se desea ejecutar una secuencia de procesos. Por ejemplo, en Matlab se dispone de los comandos: for, if, else, elseif, while, return, break, con un uso bastante similar al de otros programas más conocidos, aunque con una sintaxis ligeramente diferente. De interés particular para este trabajo, se encuentran las funciones para la generación, manipulación de matrices y operaciones con matrices. Algunas de ellas son: trace(M): calcula la traza de una matriz.M kron(M, N) : desarrolla el producto de kronecker de las matrices M y N. eye(M, N): devuelve una matríz idéntica de tamaño M × N. ones(M, N): devuelve una matríz de unos de tamaño M × N. 103 %BORRA VARIABLES DE LA MEMORIA clear %INICIALIZA VARIABLES Y CREA IDENTICAS ini %SE DEFINEN FUNCIONES f1=2*x+3*y; f2=x^2+2*y; f3=exp(x); f4=2*x*y; f5=1/x; f6=4*yf6=4*y-x^2; %SE DEFINEN MATRICES X=[f1 f2 ; f3 f4; f5 f6]; [filas,col]=size(X); dXrX=(vec(eye(filas))*vecf(eye(col))) dXrX=(vec(eye(filas))*vecf(eye(col))) R=kron(eye(col),dXrX)*kron(vec(eye(col)),eye(col)) Figura 8: Desarrollo de δvec(X) utilizando las propiedades. δX zeros(n): devuelve una matríz idéntica de tamaño M × N. : (dos puntos) crea un vector espaciado regularmente. linspace: crea un vector espaciado linealmente. logspace: crea un vector espaciado logarítmicamente. diag: crea o extrae diagonales. reshape: cambia la dimensión de la matriz. tril: extrae la matriz triangular inferior. triu: extrae la matriz triangular superior. det: calcula el determinante de una matriz. eig: calcula los autovalores y autovectores. expm: calcula la exponencial de una matriz. logm: calcula el logaritmo de una matriz. Se pueden consultar funciones adicionales mediante el menú de ayuda del programa o mediante el comando help de Matlab. El código que muestra la figura 6 tiene por objeto crear variables simbólicas, con el fin de poder utilizarlas dentro de expresiones más complejas. Además, crea un conjunto de matrices idénticas, para utilizar cuando se necesiten. 104 En la figura 7, se expone el código necesario para derivar una función matricial de variable matricial, aunque se ha desarrollado como primer ejemplo el caso particular en que tanto la función como la variable son vectoriales. δvec(X) En el ejemplo de la figura 8 se muestra como resolver el problema de . δX Para ello, después de observar las propiedades que cumple este desarrollo, se ha planteado la solución como lo indica el código allí expuesto. Al utilizar las propiedades de la derivación, el proceso se hace más simple y menos costoso computacionalmente. Los resultados de la ejecución de los ejercicios expuestos coinciden plenamente con los desarrollos mediante otros paquetes o técnicas,siempre y cuando se definan correctamente los tipos de datos (entero, real, etc). Mediante la aplicación iterativa de las fórmulas presentadas, se pueden obtener las derivadas de orden superior o la aplicación de la regla de la cadena. En primera instancia, hay una gran cantidad de opciones para desarrollar en este caso, cada una de las cuales requiere que se definan correctamente las variables dependientes e independientes, la relación funcional, y las matrices o vectores que intervienen. Matlab es un lenguaje de programación que facilita el trabajo con matrices. Dado que la representación interna de Matlab es en forma matricial, los programas finales son compactos y relativamente sencillos. 105 5. Conclusiones Al finalizar el trabajo, es necesario presentar algunos puntos importantes, considerados como vitales en la comprensión y realización del mismo. Al iniciar el estudio de la derivación matricial es fundamental tener claridad en conceptos y definiciones de la teoría básica del álgebra lineal y del cálculo diferencial. Antes de introducirse directamente en el tema, es necesario comprender las operaciones que complementan el álgebra lineal y que son el soporte de la derivación matricial, tales como la permutación de matrices por bloques, el producto de Kronecker y la vectorización de matrices por fila y por columna. Al abordar la derivación matricial es fundamental analizar las propiedades del producto de Kronecker, de la vectorización de matrices, las reglas de derivación matricial y las formas alternativas de derivación con el fin de minimizar la solución de problemas, teniendo en cuenta que en algunos casos la expansión de las matyrices es bastante amplia y utilizando adecuadamnte la o las reglas enumeradas anteriormente, el procedimiento de solución es más ágil, más eficiente y esposible que la expansión de las matrices sea más reducida. A nivel personal puedo concluir que adquirí el conocimiento de nuevas operaciones del álgebra lineal y el del tema central: el cálculo matricial, lo que significa un avance personal muy interesante, que aunque mínimo si se tiene en cuenta la amplitud del campo matemático, si muy importante en el desarrollo y el conocimiento de nuevos temas relacionados con la matemática. A nivel profesional, es como haber dado el primer paso en la profundización de conceptos y conocimientos, los cuales se logran solo a través del tiempo y con la dedicación necesaria que permiten realmente formar al verdadero matemático. Por último, espero que el trabajo haya respondido a las expectativas de las directivas y docentes de la Fundación y que sirva como un aporte interesante no solo para los matemáticos, sino para los profesionales que de una u otra forma en sus aplicaciones requieren de la derivación matricial. 106 Referencias [Her86] I. Herstein, Álgebra Abstracta. México: Grupo Editorial Iberoamericano (1985). [Bar98] R. Barbolla, P. Sans, Álgebra Lineal y Teoría de Matrices. Madrid: Prentice-Hall (1998). [San94] R. Sánchez, A. Velasco, Curso Básico de Algebra Lineal. Bogotá: Ed Trillas (1994). [Mey07] C. Meyer, Matrix Analysis and http://www.matrixanalysis.com/ (2007) Applied Linear Algebra. [Rad99] C. Radhakrishna, H. Toutenburg, Linear Models: Least Squares and Alternatives. New York: Springer (1999). [Per07] P Rengifo. Borradores de Trabajo y Notas de Clase Sistemas Basados en el Conocimiento. FUKL. (2007) [Mag06] J. Magnus, Matrix Calculus and Econometrics. Tilburg University (2006) 107