Anda di halaman 1dari 91

=

lgebra lineal = numrica con Matlab


Mtodos Matemticos de Especialidad (Mecnica-Mquinas) =

= Escuela Tcnica Superior de Ingenieros Industriales Universidad Politcnica de Madrid


Javier Garca de Jaln de la Fuente Septiembre 2004

lgebra lineal numrica con Matlab


Mtodos Matemticos de Especialidad (Mecnica-Mquinas)

Escuela Tcnica Superior de Ingenieros Industriales Universidad Politcnica de Madrid


Javier Garca de Jaln de la Fuente Septiembre 2004

ndice

pg. i

LGEBRA LINEAL NUMRICA CON MATLAB ndice


0. 1. Prefacio.......................................................................................................................................v Introduccin................................................................................................................................1
1.1 1.2 Tipos de matrices .......................................................................................................................... 1 Espacios vectoriales eucldeos ...................................................................................................... 1
1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 Definicin de producto escalar y de espacio vectorial eucldeo o hermtico............................... 1 Bases ortonormales en espacios eucldeos .................................................................................. 1 Coordenadas de un vector en una base ortonormal ..................................................................... 2 Existencia de bases ortonormales: mtodo de Gram-Schmidt..................................................... 2 Interpretacin grfica del mtodo de Gram-Schmidt .................................................................. 3 Matrices ortogonales ................................................................................................................... 4 Matrices de columnas ortogonales .............................................................................................. 4

1.3 1.4 1.5 1.6

Subespacios de una matriz ARmn .............................................................................................. 4 Matrices de rango 1....................................................................................................................... 5 Dos formas de interpretar el producto de matrices ....................................................................... 6 Matrices de rotacin, proyeccin y simetra ................................................................................. 7
1.6.1 1.6.2 1.6.3

Matrices de proyeccin y simetra en R2 ..................................................................................... 7 Matriz de rotacin en 2-D ........................................................................................................... 8 Matrices de rotacin de Givens ................................................................................................... 8 Teorema de la proyeccin ortogonal ........................................................................................... 9 Matriz de proyeccin ortogonal sobre un subespacio................................................................ 10 Simetra ortogonal respecto de un subespacio........................................................................... 10 Matriz de Householder .............................................................................................................. 11 Aplicacin de las matrices de Householder............................................................................... 11 Almacenamiento de las matrices de Householder:.................................................................... 13

1.7

Aproximacin en norma cuadrtica: Teorema de la proyeccin ortogonal .................................. 9


1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6

1.8

Normas de vectores y matrices ................................................................................................... 13


1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7

Normas vectoriales en Rn Cn .................................................................................................. 13 Norma de una matriz ................................................................................................................. 15 Norma matricial inducida por una norma vectorial (norma natural): ........................................ 15 Norma-1 matricial ..................................................................................................................... 16 Norma- matricial .................................................................................................................... 16 Norma espectral......................................................................................................................... 17 Teoremas relacionados con las normas matriciales (sin demostracin) .................................... 17

2.

Sistemas de ecuaciones lineales ...............................................................................................19


2.1 2.2 2.3 2.4 2.5 Introduccin a los sistemas de ecuaciones lineales..................................................................... 19 Interpretaciones del sistema Ax=b.............................................................................................. 19 Algunos casos posibles del sistema Ax=b en 2-D ...................................................................... 19 Sistema de m ecuaciones con n incgnitas.................................................................................. 20 El mtodo de eliminacin de Gauss bsico................................................................................. 21
2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 Operaciones con filas y matrices elementales ........................................................................... 21 Factorizacin LU equivalente ................................................................................................... 22 Programa de Gauss bsico nn ................................................................................................. 23 Programa para resolver un sistema en la forma LUx=b ............................................................ 24 Programa de Gauss vectorizado ................................................................................................ 25 Necesidad del pivotamiento ...................................................................................................... 25 Mtodo de Gauss con pivotamiento por columnas.................................................................... 26 Mtodo de Gauss con pivotamiento total .................................................................................. 28 Reduccin de una matriz a la forma de escalera........................................................................ 29 Conclusiones de la forma de escalera PA=LU .......................................................................... 29 La eliminacin de Gauss y los cuatro subespacios de la matriz A ............................................ 30

2.6

Mtodo de eliminacin de Gauss con pivotamiento ................................................................... 25


2.6.1 2.6.2 2.6.3

2.7

Resumen del mtodo de eliminacin de Gauss........................................................................... 29


2.7.1 2.7.2 2.7.3

2.8

Algunas funciones de Matlab en relacin con el mtodo de Gauss ............................................ 30

lgebra lineal numrica con Matlab

pg. ii

2.9

Errores en la resolucin de sistemas de ecuaciones lineales....................................................... 31


2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.10.1 2.10.2 2.10.3 Nmero de condicin de una matriz.......................................................................................... 31 Casos particulares de propagacin de errores en sistemas de ecuaciones lineales .................... 32 Frmula general de propagacin de errores en sistemas de ecuaciones lineales ....................... 32 Expresin general del nmero de condicin.............................................................................. 33 Nmero de condicin para la norma eucldea ........................................................................... 33 Inversas de matrices perturbadas............................................................................................... 34 Conclusiones sobre errores en sistemas de ecuaciones lineales ................................................ 35 Aplicacin del teorema de la proyeccin ortogonal .................................................................. 35 Sistema de ecuaciones ampliado ............................................................................................... 36 Problema de mnimos cuadrados con matrices de columnas ortogonales ................................. 37

2.10 Sistemas de ecuaciones lineales redundantes (m>n=r) ............................................................... 35

2.11 Sistemas de ecuaciones indeterminados (r=m<n)....................................................................... 38 2.12 Problema general de mnimo error cuadrtico y mnima norma................................................. 38 2.13 Matriz seudoinversa A+ ............................................................................................................... 40
2.13.1 Interpretacin del sistema de ecuaciones general Ax=b............................................................ 42

3.

Valores y vectores propios .......................................................................................................45


3.1 3.2 3.3 Definicin del problema de valores y vectores propios .............................................................. 45 Interpretacin geomtrica de los valores y vectores propios ...................................................... 46 Propiedades de los valores y vectores propios............................................................................ 46
3.3.1 3.3.2 3.3.3 3.3.4 Subespacios propios .................................................................................................................. 46 Relacin de los valores propios con la traza y el determinante ................................................. 46 Propiedad de "desplazamiento" de los valores propios ............................................................. 46 Casos particulares del problema de valores propios.................................................................. 47 Matrices semejantes .................................................................................................................. 47 Diagonalizacin mediante transformaciones de semejanza....................................................... 47 Reduccin a forma triangular mediante transformaciones de semejanza .................................. 48 Transformaciones de semejanza unitarias ................................................................................. 48 Lema de Schur........................................................................................................................... 49 Definicin, casos particulares y propiedades ............................................................................ 49 Teorema espectral para matrices normales................................................................................ 50 Corolarios del teorema espectral ............................................................................................... 51 Descomposicin espectral de matrices normales ...................................................................... 51 Definicin y propiedades de las formas cuadrticas.................................................................. 52 Transformaciones de congruencia............................................................................................. 52 Ley de Inercia de Sylvester ....................................................................................................... 52 Matrices definidas-positivas...................................................................................................... 53 Matrices semi-definidas positivas e indefinidas. ....................................................................... 54 Definicin y relacin con los valores y vectores propios .......................................................... 55 Error en los valores propios estimados mediante el cociente de Rayleigh ................................ 55 Teorema mini-max y maxi-min (Teoremas de Courant-Fischer).............................................. 56 Interpretacin geomtrica de los teoremas mini-max y maxi-min ............................................ 57 Propiedad de "separacin" de los valores propios..................................................................... 57 Introduccin a partir del problema estndar .............................................................................. 58 Planteamiento del problema generalizado de valores y vectores propios.................................. 58 Reduccin del problema generalizado al problema estndar..................................................... 59 Cociente de Rayleigh para Ax=Bx.......................................................................................... 61 Convergencia a otros valores propios. Tcnicas de deflaccin matricial .................................. 61

3.4

Transformaciones de semejanza ................................................................................................. 47


3.4.1 3.4.2 3.4.3 3.4.4 3.4.5

3.5

Matrices normales....................................................................................................................... 49
3.5.1 3.5.2 3.5.3 3.5.4

3.6

Formas cuadrticas y transformaciones de congruencia............................................................. 52


3.6.1 3.6.2 3.6.3 3.6.4 3.6.5

3.7

Cociente de Rayleigh .................................................................................................................. 55


3.7.1 3.7.2 3.7.3 3.7.4 3.7.5

3.8

Valores y vectores propios generalizados ................................................................................... 58


3.8.1 3.8.2 3.8.3 3.8.4 3.8.5

4.

Factorizaciones de una matriz ..................................................................................................63


4.1 Factorizacin LU ........................................................................................................................ 63
4.1.1 4.1.2 4.1.3 4.1.4 Ejemplo de factorizacin LU directa......................................................................................... 63 Frmulas generales para la factorizacin LU ............................................................................ 64 Factorizacin LU con matrices simtricas................................................................................. 64 Factorizacin LU vectorizada ................................................................................................... 66

ndice 4.1.5

pg. iii Factorizacin de Choleski ......................................................................................................... 67 Factorizacin QR por Gram-Schmidt........................................................................................ 67 Factorizacin QR de matrices rectangulares ............................................................................. 68 Factorizacin QR mediante matrices de Householder............................................................... 70 Factorizacin QR mediante rotaciones de Givens..................................................................... 71

4.2

Factorizacin QR ........................................................................................................................ 67
4.2.1 4.2.2 4.2.3 4.2.4

4.3 4.4

Descomposicin espectral de matrices normales........................................................................ 71 Descomposicin de valores singulares (DVS)............................................................................ 72


4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 Clculo y existencia de la DVS ................................................................................................. 73 Propiedades de las matrices U y V ............................................................................................ 74 Clculo de la DVS..................................................................................................................... 74 Aplicaciones de la DVS ............................................................................................................ 75 Valores singulares y perturbaciones en una matriz ................................................................... 76 Problemas de reduccin de la dimensionalidad......................................................................... 77 Aplicacin de la DVS a la solucin del sistema general Ax=b ................................................. 78

Prefacio

pg. v

0.

Prefacio

Los mtodos numricos para la resolucin de problemas de lgebra Lineal tienen una enorme importancia prctica en la asignatura de Mtodos Matemticos de Especialidad, asignatura troncal que se imparte en el primer semestre del cuarto curso en la Escuela Tcnica Superior de Ingenieros Industriales de la Universidad Politcnica de Madrid. Los mtodos matriciales se aplican en multitud de reas de la ingeniera, y adems su resolucin numrica es algo que se les da bastante bien a los computadores actuales. La experiencia del curso 2003-04 primero en el que se imparti esta asignatura del Plan 2000 y de la asignatura Matemticas de Especialidad del Plan 1976, aconseja no dar por supuesto que se mantienen los conocimientos adquiridos en las asignaturas de lgebra I y II de primer curso. Tampoco es posible dedicar un gran nmero de horas de clase a presentar de nuevo los contenidos fundamentales de dichas asignaturas. El objetivo de estos apuntes es facilitar a loa alumnos de cuarto el repaso personal de los temas ms importantes de clculo vectorial y matricial, que vieron al comienzo de la carrera. La idea no es dar por sabida el lgebra Lineal numrica en la asignatura de cuarto, sino liberarse de los aspectos ms tericos y poder dedicar las clases a los aspectos ms algortmicos y a las aplicaciones prcticas. Por tratarse de unos apuntes de repaso, el orden es diferente del que se utiliz o utilizara en primero, conteniendo algunas referencias a temas que se tratarn posteriormente. Algunas demostraciones se han omitido, sobre todo cuando son complicadas y no tienen gran inters pedaggico. Muchas otras se han incluido, aunque pueden omitirse en una primera lectura. En muchos casos, se les ha restado importancia utilizando una letra ms pequea. Se han incluido tambin algunos programas de Matlab, con objeto de ilustrar los algoritmos explicados en teora. Estos algoritmos pueden servir de base para muchos otros, introduciendo en ellos las modificaciones oportunas. El autor de estos apuntes asume ntegramente la responsabilidad de sus limitaciones y deficiencias, pero no puede desaprovechar la oportunidad de agradecer a sus compaeros del Departamento de Matemtica Aplicada a la Ingeniera Industrial, en particular a los profesores de Mtodos Matemticos de Especialidad y de lgebra II, el apoyo y la ayuda prestadas en estas materias a lo largo de los ltimos cursos. Madrid, 24 de septiembre de 2004,

Javier Garca de Jaln de la Fuente

Introduccin

pg. 1

1.
1.1

Introduccin
Tipos de matrices

Una matriz A Cmn es un conjunto de escalares reales o complejos dispuestos en m filas y n columnas. Si m = n la matriz se dice cuadrada y si m n la matriz se dice rectangular. Esta distincin es importante entre otras razones porque ciertas propiedades slo tienen sentido si la matriz es cuadrada. Por ejemplo, slo las matrices cuadradas tienen determinante, slo ellas pueden ser invertibles, slo ellas tienen valores y vectores propios, etc. Las matrices rectangulares tienen algunas propiedades que se pueden considerar como generalizacin de las anteriores. As, los conceptos de matriz seudoinversa y de valores singulares, pueden ser considerados como una generalizacin de los conceptos de matriz inversa y de valores propios. Teniendo en cuenta los elementos distintos de cero, las matrices pueden ser diagonales, bidiagonales, triangulares superior o inferior, tridiagonales, de Hessenberg, etc.

1.2

Espacios vectoriales eucldeos

1.2.1 Definicin de producto escalar y de espacio vectorial eucldeo o hermtico Un espacio vectorial eucldeo es un espacio vectorial real, de dimensin finita, dotado de un producto escalar. Anlogamente, un espacio vectorial hermtico es un espacio vectorial complejo, de dimensin finita, dotado de un producto escalar. Sea E un espacio vectorial eucldeo o hermtico. Se define el producto escalar en E como una aplicacin: , : E E R con las tres propiedades siguientes:

a ) Simetra: b) Lineal en la 1 variable: c ) Definida-positiva

u,v = v, u

u+ v, w = u,w + v, w
u,u > 0, si u 0; u,u = 0, slo si u = 0

(1)

La notacin a indica el complejo conjugado de a . El producto escalar estndar (eucldeo en R n hermtico en Cn ), se expresa respectivamente de modo matricial en la forma:
En R n : En Cn : x, y = x T y = y T x = x1 y1 + x2 y2 + ... + xn yn x, y = x H y = x T y = x1 y1 + x2 y2 + ... + xn yn

(2) (3)

El considerar el conjugado y transpuesto del primer factor en Cn es necesario para asegurar la propiedad c) de (1). Los espacios eucldeos son un caso particular de los espacios hermticos en el que todos los vectores y escalares son reales. En lo sucesivo se considerarn slo los espacios vectoriales eucldeos, salvo que se indique otra cosa. Prcticamente todo lo que se diga sobre ellos es vlido para los espacios hermticos cambiando la notacin de transpuesta (T) por la de conjugada y transpuesta (H).
1.2.2 Bases ortonormales en espacios eucldeos

Se dice que un vector u R n est normalizado cuando cumple:

uT u = u 2 = 1

(4)

lgebra lineal numrica con Matlab

pg. 2

Se dice que dos vectores u, v R n son ortogonales cuando su producto escalar es nulo: uT v = 0 (5) Se dice que una base ( q1 , q 2 ,..., q n ) en un espacio vectorial de dimensin n es ortonormal cuando est formada por n vectores de norma unidad y ortogonales entre s:
qT i q j = ij
i, j = 1, 2,..., n

(6)

1.2.3 Coordenadas de un vector en una base ortonormal Sea a un vector cualquiera en R n y ( q1 , q 2 ,..., q n ) los vectores de una base ortonormal de R n . Se desean hallar las componentes i de a expresado en dicha base ortonormal. El vector a se puede expresar como combinacin lineal de los vectores qi con coeficientes por determinar i : a = 1q1 + 2q 2 + ... + n q n Para determinar la componente i basta realizar el producto escalar por q i :
T T T T qT i a = 1q i q1 + 2 q i q 2 + ... + n q i q n = 0 + ... + i q i q i + ... + 0 = i

(7)

(8)

Despejando i de esta ecuacin y sustituyendo en (7):


T T a = ( q1 a ) q1 + ( qT 2 a ) q 2 + ... + ( q n a ) q n

(9)

O bien, utilizando formulacin matricial:


1 a = 1q1 + 2q 2 + ... + n q n = [ q1 , q 2 ,..., q n ] 2 =Q n

= Q 1a

(10)

La matriz Q [q1 , q 2 ,..., q n ] es una matriz cuadrada y ortogonal cuyas columnas son los vectores de la base. Comparando las expresiones (9) y (10) se concluye que la inversa de Q es su transpuesta, lo que caracteriza a las matrices ortogonales:
T q1 a qT a = 2 = QT a = Q 1a qT a 2

Q 1 = QT

(11)

1.2.4 Existencia de bases ortonormales: mtodo de Gram-Schmidt Se parte de n vectores ( a1 , a 2 ,..., a n ) linealmente independientes y se trata de hallar a partir de ellos una base ortogonal ( q1 , q 2 ,..., q n ) . El primer vector q1 se puede obtener normalizando a1:
b1 a1 q1 = b1 b1

(12)

Introduccin

pg. 3

Los vectores q2, q3, se obtienen quitando a los vectores a2, a3, las componentes segn los "q" anteriores (calculadas segn (9)) y normalizando (siempre existe bi 0 , por ser los ai linealmente independientes):
T b 2 a2 ( q1 a2 ) q1 T b3 a3 ( q1 a3 ) q1 ( qT 2 a3 ) q 2

q 2 = b2 b2 q 3 = b3 b3

(13) (14)

T b n an ( q1 an ) q1 ( qT n an ) q n

q n = bn bn

(15)

Existe otra forma de organizar los clculos (mtodo de Gram-Schmidt modificado) consistente en eliminar la componente segn qi a todos los vectores aj (j=i+1,...,n), tan pronto como qi ha sido calculado (se obtienen menores errores numricos):
q1 = a1 a1 q 2 = a2 a2 ... q i = ai ai a j = a j ( qT i a j ) qi j = i + 1,..., n
T a j = a j ( q1 a j ) q1

j = 2, 3,..., n j = 3, 4,..., n

a j = a j ( qT 2 a j ) q2

(16)

Obsrvese que en la expresin de cada qi (ai) slo intervienen a1,..., ai (q1,..., qi).
T b 3 = a3 ( q1 a3 ) q1 ( qT 2 a3 ) q 2

a3
T b 2 = a2 ( q1 a2 ) q1

q3 q1
b1 = a1

q2

a2
Figura 1. Interpretacin grfica del mtodo de Gram-Schmidt.

1.2.5 Interpretacin grfica del mtodo de Gram-Schmidt Se realizar para el espacio eucldeo tridimensional. Las expresiones (13)-(15) en este caso son: b1 a1
T b 2 a2 ( q1 a2 ) q1 T b3 a3 ( q1 a3 ) q1 ( qT 2 a3 ) q 2

q1 = b1 b1 q 2 = b2 b2 q 3 = b3 b3 (17)

les ( q1 , q 2 ,..., q i ) , los subespacios generados por ( a1 , a2 ,..., ai ) y por ( q1 , q 2 ,..., q i ) coinciden:

Teniendo en cuenta que cada vector ai slo tiene proyeccin no nula sobre los vectores ortonorma-

lgebra lineal numrica con Matlab

pg. 4

L [q1 ] = L [ a1 ] L [q1 , q 2 ] = L [ a1 , a2 ] L [q1 , q 2 , q 3 ] = L [ a1 , a2 , a3 ] La relacin entre los vectores ( a1 , a2 , a3 ) , ( b1 , b 2 , b3 ) y ( q1 , q 2 , q 3 ) se muestra en la Figura 1. 1.2.6 Matrices ortogonales Una matriz Q es ortogonal si es cuadrada y sus columnas q i son ortonormales entre s: Q R nn , qT i q j = ij (18)

(q q
T i

= 1; qT i q j = 0, i j )

(19)

Estas condiciones se expresan de modo grfico y matricial tal como se muestra en la Figura 2 y en la ecuacin (20).
T q1

qT 2

q1

q2

qn

qT n

1 0 0

0 1 0

0 0 1
(20)

Figura 2. Ortogonalidad entre las columnas de la matriz Q.

QT Q = I

Propiedades de las matrices ortogonales (se pueden demostrar como ejercicio): Se verifica que la inversa es igual a la traspuesta QT=Q1, como se concluye de la ec. (20). Todos los valores propios de una matriz ortogonal tienen mdulo unidad. El determinante de una matriz ortogonal es +1 1. Las matrices ortogonales conservan el producto escalar, y por tanto distancias y ngulos. Casos particulares de las matrices ortogonales son las matrices de permutacin, las de rotacin y las de simetra. 1.2.7 Matrices de columnas ortogonales Se llama matriz de columnas ortogonales Q a una matriz rectangular m n ( m > n ) , tal que sus columnas son un conjunto de vectores ortonormales. No son matrices ortogonales porque no son cuadradas. Las matrices rectangulares de columnas ortogonales, aunque cumplan QTQ=I, no son ortogonales pues QQTI . En este caso QT no es la inversa de Q, sino una inversa por la izquierda. Se ver ms adelante que QQT es una matriz de proyeccin sobre el subespacio de columnas de Q, Im(Q).

1.3

Subespacios de una matriz ARmn

Un subespacio se puede determinar, entre otras formas, de los dos modos siguientes (representados respectivamente en la Figura 3 y en la Figura 4):

Introduccin

pg. 5

1.

Por un conjunto de vectores generador (ejemplo, un plano determinado por dos vectores no colineales). Estos vectores pueden constituir una base, o ser un sistema linealmente dependiente del que se puede extraer una base. Por un conjunto de restricciones sobre un espacio vectorial que lo contiene (por ejemplo, un plano queda determinado por la recta a la que es perpendicular).

2.

Figura 3. Base de un subespacio.

Figura 4. Complemento ortogonal.

En relacin con una matriz rectangular A, de tamao mn y rango r, se pueden considerar los cuatro subespacios vectoriales fundamentales siguientes: 1. 2. 3. Subespacio de columnas Im(A). Es el subespacio de Rm generado por las columnas de A. Tendr dimensin r, pues hay r columnas independientes. Se verifica que AxIm(A), x. Subespacio de filas Im(AT). Es el subespacio de Rn generado por las filas de A. Tambin tendr dimensin r, pues slo hay r filas independientes. Subespacio nulo Ker(A). Es subespacio de Rn formado por todos los vectores x tales que Ax=0. Todos los vectores de Ker(A) son ortogonales a las filas de A (y a todas sus combinaciones lineales), por lo que Ker(A) e Im(AT) son subespacios ortogonales y complementarios en Rn. De aqu se concluye que la dimensin de Ker(A) es nr. Se tiene:
Ker ( A ) = Im ( A T )

(21)

4.

Subespacio nulo de la transpuesta Ker(AT). Es el subespacio de Rm formado por todos los vectores y que satisfacen yTA=0, es decir por todos los vectores ortogonales a las columnas de A (y a sus combinaciones lineales). Los subespacios Ker(AT) e Im(A) son ortogonales y complementarios, por lo que la dimensin de Ker(AT) es mr. En este caso, se tendr:
Ker ( A T ) = Im ( A )

(22)

1.4

Matrices de rango 1

Las matrices de rango 1 se pueden obtener como producto de un vector columna por un vector fila: A=uvT. Las columnas de A son mltiplos de u y las filas de A son mltiplos de vT, por ejemplo:
u1 T A = uv = u2 {v1 v2 u 3 u1v1 u1v2 v3} = u2 v1 u2v2 u3v1 u3v2 u1v3 u2 v3 = [ uv1 uv2 u3v3 u1v T uv3 ] = u2 v T u3vT

(23)

Como slo hay una fila y una columna linealmente independientes, el rango es uno. Como consecuencia de su rango, la matriz A=uvT tendr un valor propio 0 con multiplicidad n1, y un nico valor propio distinto de cero. Es fcil determinar este valor propio y el vector propio asociado. La ecuacin de valores y vectores propios de la matriz A es:
Ax = x

(24)

lgebra lineal numrica con Matlab

pg. 6

En la ec. (24) el miembro izquierdo pertenece a Im(A) porque es una combinacin de las columnas de A, luego para 0 tambin el miembro derecho, esto es x, pertenecer a Im(A). Por ello, en el caso de la matriz de rango uno A=uvT, el vector propio asociado con el nico valor propio distinto de cero ser u, asociado con el valor propio vTu, ya que se cumple:
Au = ( uv T ) u = u ( v T u ) = ( v T u ) u = u

= vT u

(25)

Tambin se puede decir algo acerca de los n1 vectores propios asociados con el valor propio nulo. Son todos los vectores del subespacio nulo o ncleo Ker(A), definido por la ecuacin:

( uv ) x = 0
T

u ( vT x ) = 0

vT x = 0

(26)

El ncleo es pues el complemento ortogonal del vector v: Ker ( A ) = L [ v ] (27)

Una matriz de rango uno P = uv T , con v T u = 1 es una matriz de proyeccin, pues cumple:
P2 = ( uvT )( uvT ) = u ( vT u ) vT = 1 uvT = P

(28)

Sin embargo, no es una matriz de proyeccin ortogonal, pues no es simtrica. Se podra hablar de proyeccin oblicua. Si v = u , imponiendo la condicin v T u = uT u = 1 se obtiene la expresin general de la matriz de proyeccin ortogonal sobre un subespacio de dimensin 1, que es:
P= uuT = uuT T u u

(29)

1.5

Dos formas de interpretar el producto de matrices

El producto de matrices C = AB se puede interpretar de varias formas diferentes, dos de las cuales estn basadas respectivamente en el producto escalar o interior y en el producto exterior de vectores. Denotando respectivamente como a j y aTj a la columna j y a la fila j de la matriz A:
T T T a1 a1 b1 a1 b2 T T T a a b a2 b 2 C = AB = 2 [ b1 b 2 b n ] = 2 1 T T T am a m b1 a m b 2 T a1 bn T a2 bn aT mbn

(30)

C = AB = [a1 a 2

T b1 T l b T T ... al ] 2 = a1b1 a b ai bT + a 2 bT + + = 2 l l i i =1 T bl

(31)

En la primera forma, el elemento (i, j) de la matriz producto es el producto escalar de la fila i de A por la columna j de B. En la segunda forma, el producto matricial se formula como una suma de l matrices de rango uno, formadas cada una por el producto de una columna de A por la correspondiente fila de B. Esta segunda forma es muy poco prctica desde el punto de vista del clculo numrico del producto, pero puede arrojar luz sobre ciertos aspectos del producto de matrices. Por ejemplo, las columnas o las filas de la matriz producto se pueden expresar en la forma:

Introduccin

pg. 7

[c1 , c 2 ,..., c n ] = AB = A [ b1 , b2 ,..., bn ] ,

T T c1 a1 T T c 2 = AB = a2 B T T c m am

(32)

1.6

Matrices de rotacin, proyeccin y simetra

1.6.1 Matrices de proyeccin y simetra en R2

Se comenzar considerando la forma de una matriz de proyeccin ortogonal P en 2-D. Se trata de determinar la proyeccin ortogonal de un punto b sobre el subespacio generado por el vector a.

b p=Pb

bp

Sb
Figura 5. Proyeccin y simetra sobre una recta en R2.

Sea p el vector proyeccin de b sobre a. Se trata de hallar una matriz P tal que Pb=p. Si x es la magnitud de dicha proyeccin, la matriz de proyeccin P se puede determinar como sigue:
p = xa, x=

(b p) a

aT ( b xa ) =0 P aaT aT a

aT b aT b aaT p = x a = a = b Pb aT a aT a aT a

(33)

Esta expresin de P coincide con la ec. (29). Esta expresin de P es general, en el sentido de que sirve para Rn cuando se proyecta sobre un subespacio de dimensin 1. Algunas propiedades de la matriz P son las siguientes: Es simtrica (slo si la proyeccin es ortogonal). Se verifica que P2=PP=P (idempotente). La matriz P tiene rango 1 (es singular) y su subespacio Im(A) est generado por el vector a. El subespacio nulo Ker(A) es el complemento ortogonal a Im(A). La proyeccin Pb pertenece a Im(A) (todas las columnas de P tienen la direccin de a). La Figura 5 muestra tambin el vector simtrico de b respecto de la recta a. La matriz de simetra S se puede determinar en funcin de la matriz de proyeccin P en la forma:
Sb = b + 2 ( Pb b ) = ( 2P I ) b S = ST , S = 2P I

(34)

La matriz de simetra es simtrica y ortogonal, es decir, su inversa es ella misma:


ST S = S 2 = ( 2P I )( 2P I ) = 4P 2 4P + I = I S 1 = S

(35)

Definiendo el vector a por medio de sus componentes c cos y s sen , la matriz de proyeccin P, correspondiente a la Figura 6, se puede calcular a partir de la expresin (33):

lgebra lineal numrica con Matlab

pg. 8

c {c s} c 2 cs aaT s P= T = = a a c sc s 2 {c s} s

(36)

Como era de esperar, la matriz P calculada es simtrica, singular e idempotente. Sustituyendo el resultado de (36) en (34) se obtiene una expresin para la matriz de simetra en R2 mostrada en la Figura 7:
c 2 cs 1 0 c 2 s 2 S = 2P I = 2 = 2 sc s 0 1 2 sc 2cs s2 c2

(37)

Ms adelante se determinarn expresiones anlogas y ms generales para P y S en espacios Rn.

b a

b a

ax

a ay

Pb

Sb

Figura 6. Proyeccin 2-D.

Figura 7. Simetra 2-D.

Figura 8. Rotacin 2-D.

1.6.2 Matriz de rotacin en 2-D

La Figura 8 muestra el resultado de rotar el vector a un ngulo para convertirse en el vector b. En este caso, en funcin del coseno y el seno del ngulo girado, la matriz de rotacin A es una matriz ortogonal dada por (b=Aa; ATA= AAT =I):
bx c s a x = by s c a y c cos , s sen

(38)

1.6.3 Matrices de rotacin de Givens

Las matrices de rotacin de Givens son rotaciones planas 2-D que se aplican a matrices nn. Se utilizan para hacer cero un elemento determinado (i,j) de una matriz A o como transformaciones de semejanza unitarias (como matrices de rotacin, son ortogonales). Sea la matriz Gij una matriz nn con todos sus elementos iguales a los de la matriz identidad I, excepto los cuatro elementos siguientes:
gii = g jj = cos c; g ji = gij = sen s (39)

Al pre-multiplicar la matriz A por Gij se combinan las filas i y j, y al post-multiplicar se combinan las columnas. En el primer caso se obtiene el siguiente resultado:

Introduccin

pg. 9

1 0 Gij A = 0 0

0 c s 0

a11 0 cai1 sa j1 s 0 A = sa + ca c 0 j1 i1 0 1 a n1 0

a1i caii sa ji saii + ca ji ani

a1 j

caij sa jj saij + ca jj anj

cain sa jn sain + ca jn ann a1n

(40)

Los valores de c y s se pueden determinar con la condicin de que el nuevo elemento (j,i) se anule:
saii + ca ji = 0; c= aii
2 aii + a2 ji

, s=

a ji
2 aii + a2 ji

(41)

Las matrices de Givens se pueden utilizar para triangularizar una matriz A de modo semejante a como se hace en el mtodo de eliminacin de Gauss. Haciendo ceros por columnas, de izquierda a derecha, los ceros anteriores se conservan y la matriz A se triangulariza con un n finito de operaciones aritmticas. Como se ha dicho anteriormente y es fcil de comprobar, las matrices de Givens son ortogonales y su producto, es decir la aplicacin sucesiva de varias rotaciones de este tipo, tambin lo es. Por tanto, la factorizacin de A con matrices de Givens ser del tipo A=QR (ver apartado 4.2). La factorizacin de Givens es ms costosa en operaciones aritmticas que la descomposicin LU.

1.7

Aproximacin en norma cuadrtica: Teorema de la proyeccin ortogonal

1.7.1 Teorema de la proyeccin ortogonal


Enunciado: Sea E un espacio eucldeo (o hermtico), y F un subespacio de E. Sea v E un vector cualquiera de E. Las dos condiciones siguientes son equivalentes:
w proyeccin ortogonal de b sobre F

b w

= min b w
wF

(42)

La 2 parte de la expresin (42) indica que el vector w*F es una aproximacin ptima en F del vector bE. Adems, dicha aproximacin ptima es nica. La Figura 9 ilustra este teorema.
Demostracin: Si w es la proyeccin ortogonal de b sobre F, se verificar que b w F . Si w es un punto cualquiera de F, se podr escribir:
b w = ( b w ) + ( w w ) =
2 2

(43)
2 2

= bw

+ w w + 2 b w ,w w = b w

+ w w bw

lo que demuestra que w es la aproximacin ptima, que adems es nica porque para alcanzar la igualdad es necesario que se cumpla w w = 0 . Recprocamente, la condicin de aproximacin ptima en (43) implica que w sea la proyeccin ortogonal de b sobre F.

lgebra lineal numrica con Matlab

pg. 10

rF

v w*=Pb

Sb
Figura 9. Teorema de la proyeccin ortogonal.

1.7.2 Matriz de proyeccin ortogonal sobre un subespacio


Sea F E un subespacio vectorial determinado por las columnas linealmente independientes de una matriz A R mn , que constituyen una base. Aplicando el teorema de la proyeccin ortogonal se puede calcular la matriz de proyeccin sobre dicho subespacio. Sea w = Ax la mejor aproximacin del vector b en el subespacio Im(A), siendo x un vector de coeficientes a determinar. Se define el residuo r en la forma:
r v Ax

(44)

El teorema de la proyeccin ortogonal establece que r debe ser ortogonal a Im(A). Esta condicin se puede imponer haciendo que r sea ortogonal a una base de Im(A), es decir, a las columnas de A:

AT r = 0

A T ( v Ax ) = 0

A T Ax = A T v

x = ( AT A ) AT v
1

(45)

El vector Ax es tambin la proyeccin ortogonal de v sobre el subespacio Im(A). Esta condicin permite determinar la matriz de proyeccin P:

Ax = Pv

A ( A T A ) A T v = Pv
1

P = A ( AT A ) AT
1

(46)

Obsrvese la analoga entre esta expresin y la de proyeccin sobre un subespacio de dimensin 1 vista en la ecuacin (33), particularmente si sta se transforma ligeramente:

P=

1 aaT = a ( aT a ) aT T a a

(47)

1.7.3 Simetra ortogonal respecto de un subespacio


Como en el caso 2-D, las matrices de proyeccin y simetra estn estrechamente relacionadas. En este no se trata de proyectar un punto sobre un subespacio, sino de hallar su simtrico respecto a dicho subespacio. Se llamar Sb al punto simtrico de b respecto al subespacio Im(A), determinado por las columnas de A. La transformacin de simetra puede ponerse en funcin de la proyeccin (ver Figura 9):
Sb = b 2r = b 2 ( b Pb ) = ( 2P I ) b

S = ( 2P I )

(48)

Introduccin

pg. 11

Propiedades de la matriz de simetra S: 1. Es simtrica, pues tanto P como I lo son. 2. Es ortogonal, pues se verifica que su inversa es su transpuesta, es decir, ella misma:
SS = S 2 = ( 2P I )( 2P I ) = 4P2 4P + I = I

(49)

A diferencia de la matriz de proyeccin, la matriz de simetra es invertible, como fcilmente se comprende a partir de su significado geomtrico. Si se aplica dos veces se vuelve al origen.

1.7.4 Matriz de Householder


La simetra o reflexin ms importante se define respecto a un hiperplano (subespacio de dimensin n1), determinado, no mediante una base (columnas de una matriz A), sino mediante un vector v perpendicular a dicho hiperplano, que genera su complemento ortogonal. Las matrices de simetra de Householder se denotan como H y se definen en la forma:

H =I2

vv T , vT v

o bien: H = I 2uuT

u =1

(50)

donde v es un vector cualquiera. La matriz de Householder define una simetra respecto al hiperplano perpendicular al vector v. La Figura 9 justifica la expresin (50): Sea P1 la matriz de proyeccin sobre el subespacio de dimensin 1 generado por v. La matriz de proyeccin P sobre el hiperplano ortogonal a v y la correspondiente matriz de simetra de acuerdo con la expresin (48), sern:

P = I P1 = I

vvT ; vT v

H = 2P I = 2 ( I P1 ) I = I 2P1 = I 2

vvT vT v

(51)

Es obvio que las matrices de Householder son simtricas, y es fcil demostrar que son ortogonales:

HT H = ( I 2uuT )( I 2uuT ) = I 4uuT + 4uuT uuT = I


Como son matrices ortogonales, conservan ngulos y distancias, y por eso son muy estables en su aplicacin numrica.

1.7.5 Aplicacin de las matrices de Householder


Las matrices de Householder se utilizan para, al multiplicarlas por un vector cualquiera x, anular todos los elementos excepto el primero, es decir, para alinear x con el vector e1 de la base natural. Supngase un vector cualquiera x. Si el vector v se define en la forma:
v = x x e1 ,
T e1 {1 0 0}

(52)

se demostrar que el producto Hx tiene nulos todos los elementos excepto el 1. Como H es ortogonal conserva las magnitudes, luego se deber cumplir:
Hx = x e1

(53)

En efecto, con H definida en la ecuacin (50) y v definido por la ecuacin (52), el producto Hx es:

lgebra lineal numrica con Matlab

pg. 12

2 ( x x e1 ) x vvT vvT x Hx = I 2 T x = x 2 T = x ( x x e1 ) = T T v v v v x x e x x e ( 1) ( 1)
T

= x ( x x e1 )

2x x 2 x x1
T

(54)

x x 2 x x1 + x
T

= x ( x x e1 ) = x e1

En el clculo del vector v segn (52) deben evitarse sustracciones o restas numricas que puedan disminuir la precisin. As, cuando x1>0, el clculo del elemento v1 se puede hacer mediante una expresin alternativa en la que todos los trminos son positivos:
2 2 2 ( x2 + ... + xn x12 x ) v1 = x1 x = = x1 + x x1 + x

(55)

Las matrices de Householder se pueden utilizar para hacer ceros debajo de la diagonal en una matriz A, en forma anloga al mtodo de Gauss: vv ; v = x x e1 T v v 1 = x
T

U1 = H1 = I 2

1 0 U1 A = 0 0

(56)

La segunda trasformacin es similar, pero con una matriz H de tamao n1 completada con la primera fila y columna de la matriz identidad: 1 0 0 0 0 U 2 = 0 , H2 0 1 0 2 U 2U1 A = 0 0 0 0

(57)

La Figura 10 y la Figura 11 muestran grficamente las transformaciones correspondientes.

Figura 10. Primera transformacin de Householder.

Figura 11. Segunda transformacin de Householder.

Cada transformacin conserva los ceros de las anteriores. Esta transformacin es ms estable que la de Gauss, aunque ms costosa en nmero de operaciones aritmticas. A continuacin de incluye una funcin de Matlab para calcular el vector v y el factor a partir de un vector cualquiera x. El vector v se normaliza haciendo v(1)=1, de modo que v se pueda almacenar en lugar de los ceros introducidos (el primer elemento vale siempre 1 y no necesita ser almacenado). Se utilizan las expresiones siguientes.

Introduccin

pg. 13

T e1 {1 0 0}

v = x x e1

Si x1 > 0 v1 =

( x + ... + x
2 2

2 n

x1 + x

T H = I vv ;

2 ; vT v

v = v / v1

(58)

% clculo del vector de Householder function [v,beta] = householder(x) n=length(x); % mdulo de x (sin primera componente) s=x(2:n)'*x(2:n); v=[1,x(2:n)']'; if s==0 % los elementos x(2), ... x(n) son cero beta=0 else % mdulo de x mx=sqrt(x(1)^2+s); if x(1)<=0 v(1)=x(1)-mx; else v(1)=-s/(x(1)+mx); end beta=2*v(1)^2/(s+v(1)^2); v=v/v(1); end

1.7.6 Almacenamiento de las matrices de Householder: No hace falta almacenar las matrices de Householder H, sino que basta almacenar el vector v. Si se hace v1=1, el vector v puede almacenarse en las posiciones de los ceros introducidos en la matriz A. El producto de una matriz de Householder H por una matriz A se puede hacer, sin tener que formar las matrices H U explcitamente y con menos operaciones aritmticas, de la forma siguiente:
T vv T H = I 2 T = I vv T , HA = A vvT A = A v ( A T v ) v v

(59)

Con la expresin (59) el producto HA no necesita O(n3) operaciones aritmticas como un producto de matrices estndar, sino que basta un n de operaciones aritmticas de orden O(n2).

1.8

Normas de vectores y matrices

Las normas de vectores y matrices proporcionan una forma sencilla de "medir" el tamao de un vector y/o una matriz por medio de un nmero real positivo, en la misma forma en la que se emplea el mdulo de un vector en Rn. 1.8.1 Normas vectoriales en Rn Cn Como se ha dicho, el objetivo es disponer de una medida del tamao de los vectores, con objeto de estudiar convergencias, relaciones de mayor o menor, proximidad a cero, etc. El producto escalar permite definir de modo natural una norma en Cn, que coincide con la longitud de un vector en R2 y R3. Esta norma se llama norma eucldea, y responde a la expresin: x2= x, x =

x
j =1

2 j

(60)

De un modo ms general (hay otros tipos de normas posibles), la norma de un vector x debe satisfacer las tres propiedades siguientes:

lgebra lineal numrica con Matlab

pg. 14

1. x 0, y x = 0 si y slo si x =0 2. x = x , para cualquier K (R o C) 3. x + y x + y (desigualdad triangular)

(61) (62) (63)

La norma eucldea no es la nica posibilidad. Puede considerarse que es un caso particular de una norma ms general, la llamada norma-p, que se define en la forma:
x n = xj j =1
p

p 1

(64)

Dependiendo del valor de p, existen varios casos particulares muy utilizados de la norma-p: 1. Norma-1: Se toma p=1,
x 1 = x j = x1 + x2 + ... + xn
j =1 n

(65)

2. Norma-2 norma eucldea: Se toma p=2,


2 n x 2 = xj j =1 1 2

= x1 + x2 + ... + xn

(66)

3. Norma- norma mxima: Se toma p=,


x = lim x
p

n = lim x j p j =1

= max x j
1 j n

(67)

x 1 1

a) p=1

b) p=2

c) p=

Figura 12. Representacin de los puntos x 1 con tres normas distintas.

En la Figura 12 se muestra el lugar geomtrico de los puntos de R2 que cumplen la condicin x 1 , con cada una de las tres normas-p consideradas. Es inmediato ver que las normas-p definidas cumplen las condiciones 1 y 2 (ecs. (62) y (63)) de la definicin de norma. Tambin se demuestra fcilmente que se cumple la condicin 3; por ejemplo, para p=1:
x + y 1 = xj + yj xj + yj = x 1 + y
j =1 j =1 j =1 n n n 1

(68)

A continuacin se enuncian dos teoremas (sin demostracin):

Introduccin

pg. 15

Teorema 1: Cada norma vectorial x tor x, es decir, de x1, x2, ..., xn,.

es una funcin continua de las componentes del vec-

Teorema 2: Para cada dos normas vectoriales x i y x j , existen dos constantes positivas m y M tales que:
m x i x j M x i , x C n

(69)

Este teorema establece una equivalencia de normas: por ejemplo, si con una norma una secuencia de vectores tiende a cero, tambin tender a cero con cualquier otra norma. 1.8.2 Norma de una matriz Una norma de una matriz es un nmero real positivo que "mide" el tamao de una matriz, y permite por ejemplo estudiar cuando una matriz tiende a otra matriz o a la matriz nula. A la norma de una matriz se le exige las mismas tres condiciones que deba satisfacer la norma de un vector, y una condicin adicional relacionada con el producto de matrices:
1. A 0, y A = 0 si y slo si A =0 2. A = A , para cualquier K 3. A + B A + B (desigualdad triangular) 4. AB A B

(70) (71) (72) (73)

Es posible definir normas de matrices directamente. Por ejemplo, en lgebra II se vio que las matrices ARmn forman un espacio vectorial eucldeo con un producto escalar definido como:
A, B = traza ( A T B ) = aij bij
i =1 j =1 m n

(74)

Este producto escalar induce una norma, la norma de Frobenius, que responde a la expresin: A m n 2 = traza ( A T A ) = aij i =1 j =1
1 2

(75)

Sin embargo, las normas matriciales ms utilizadas se definen por otro camino. 1.8.3 Norma matricial inducida por una norma vectorial (norma natural): En este caso la norma matricial se va a definir a partir de una norma vectorial en la forma:

A max
x 0

Ax , o bien: A max Au = Ay u =1 x

(y

= 1)

(76)

donde y es el vector concreto de Rn que produce el mximo (y la igualdad). El mximo se alcanza siempre porque el conjunto de vectores u es cerrado y acotado. De esta definicin de norma matricial se concluye que:
Ax A x

(77)

Se cumplen las cuatro condiciones de la definicin de norma matricial:

lgebra lineal numrica con Matlab

pg. 16

1. Si x 0, A 0, y A = 0 si y slo si A =0

(78)

2. A = max
x 0

Ax
x

= max
x 0

Ax
x

= A , K

( R o C)

(79) (80) (81)

3. A + B = ( A + B ) y = Ay + By Ay + By A + B 4. AB = ( AB ) y = A ( By ) A By A B

Se van a estudiar a continuacin las normas matriciales inducidas por las normas vectoriales x 1 ,
x
2

y x , que se denotarn con la notacin correspondiente.

1.8.4 Norma-1 matricial La expresin de la norma-1 de una matriz A es la siguiente:


A 1 = max j =1 a jk
n k

(82)

La norma-1 es el mximo de la suma de los valores absolutos de los elementos de cada columna.
Demostracin: Supngase que la igualdad en la definicin de la norma se alcanza para un vector y tal que:
A 1 = Ay 1 , siendo y 1 = 1.

(83)
n

Desarrollando la expresin de la norma-1 del vector Ay:


A 1 = Ay 1 = j =1 k =1 a jk yk j =1 k =1 a jk yk = k =1 yk
n n n n n

k =1 yk max j =1 a jm = y 1 max j =1 a jm = max j =1 a jm


n n n m m m

n j =1

a jk

(84)

El desarrollo anterior demuestra que el mximo de las sumas de los valores absolutos de cada columna es un lmite superior de la norma-1, pero para que sta sea verdaderamente la expresin de la norma-1 este lmite debe poder ser alcanzado, al menos para un cierto vector x. En efecto, supngase que la columna que da el mximo es la columna K. Tomando como vector x el vector eK de la base natural ( e K = 1) :
1

Ae K

= j =1 k =1 a jk kK = j =1 a jK = A
n n n

(85)

1.8.5 Norma- matricial La expresin de la norma- de una matriz A es la siguiente:


A

= max j =1 akj
n k

(86)

La norma- es el mximo de la suma de los valores absolutos de los elementos de cada fila.
Demostracin: Supngase que la igualdad en la definicin de la norma se alcanza para un vector y tal que:
A

= Ay , siendo y

= 1.

(87)

Desarrollando la expresin de la norma- del vector Ay:


A
k

= Ay
j

= max
j n

n k =1

a jk yk max k =1 a jk yk
n j

(88)

max yk max k =1 a jk = y

max k =1 a jk = max k =1 a jk
n n j j

Introduccin

pg. 17

Al igual que en el caso anterior, se ha obtenido un lmite superior para la norma-. Para que la expresin obtenida corresponda a dicha norma, hay que demostrar que dicho lmite se puede realmente alcanzar para un cierto vector x. En efecto, supngase que la fila que da la mxima suma de valores absolutos es la fila J. Se toma un vector x tal que xk = a Jk a Jk , si a Jk 0; xk = 0, si a Jk = 0 . Sustituyendo en (88):
Ax

= max
j

n k =1

2 a jk xk = k =1 a Jk xk = k =1 a Jk a Jk = k =1 a Jk , n n n

(x

= 1)

(89)

1.8.6 Norma espectral La expresin de la norma espectral o norma-2 de una matriz cualquiera A es la siguiente:
A 2 = (AH A)

(90)

donde ( M ) es el radio espectral, esto es, el valor absoluto del mximo valor propio en valor absoluto. La expresin (90) indica que la norma-2 es la raz cuadrada positiva del mximo valor propio de la matriz AHA, que es una matriz hermtica y al menos semidefinida positiva, cuyos valores propios son por tanto reales y no negativos.
Demostracin: La matriz AHA tendr una base ortonormal de vectores propios u1, u2, ..., un:
H A H Au j = j u j j = u H j A Au j

(91)

El vector yRn que produce la igualdad en la definicin de la norma inducida (76) se puede expresar como combinacin lineal de los n vectores propios uj:
y = k =1 k u k ;
n

y 2 = k =1 k2 = 1
2 n

(92)

Introduciendo ahora la definicin de la norma-2 del vector (Ay) y operando:


A 2 = Ay 2 = y H A H Ay = =
2 2

n j =1

ju

H j

)(

n k =1

k k u k = k =1 k k max i
n 2 i

n j =1

H juH j A A

n k =1 2

k uk =

n k =1

) = max = ( A
i i

A)

(93)

De nuevo ste es solamente un lmite superior, pero dicho lmite se puede alcanzar para x=un:
Au n
2 2 H H = un A H Au n = u n u n n = n = ( A H A )

(94)

1.8.7 Teoremas relacionados con las normas matriciales (sin demostracin) Teorema 1: Cualquier norma matricial A es una funcin continua de los mn elementos de la matriz ACmn. Teorema 2: Para cada par de normas matriciales A tivas m y M tales que:
i

y A

existen unas constantes posi(95)

m Ai A jM A

Este Teorema permite hablar de "equivalencia de normas matriciales". Teorema 3: Para cualquier norma natural y cualquier matriz cuadrada ACnn se verifica:

(A) A
pues A = max Ax Au n = n u n = n u n = n = ( A )
x =1

(96)

lgebra lineal numrica con Matlab

pg. 18

Teorema 4: Para cualquier matriz cuadrada ACnn y cualquier valor arbitrariamente pequeo, existe alguna norma natural A tal que:

(A) A (A) +

(97)

El radio espectral de una matriz cuadrada no es una norma (salvo que la matriz A sea normal, en cuyo caso A 2 = ( A ) ), pero puede ser utilizado como tal dada su "cercana". Corolario: Para cualquier matriz cuadrada A: ( A ) = inf A .

Sistemas de ecuaciones lineales

pg. 19

2.
2.1

Sistemas de ecuaciones lineales


Introduccin a los sistemas de ecuaciones lineales

La resolucin de sistemas de ecuaciones lineales es uno de los problemas matemticos ms importantes en ingeniera. Hasta la llegada de los computadores digitales (segunda mitad del s. XX) la capacidad de resolver sistemas de ecuaciones lineales estaba muy limitada, no por la dificultad conceptual del problema, sino por el gran nmero de operaciones aritmticas necesarias. Ahora se puede resolver con un PC un sistema 10001000 en menos de 1 seg. Con programas especiales que aprovechan la estructura de la matriz se pueden resolver con PCs, de forma rutinaria, sistemas de decenas cientos de miles de ecuaciones lineales. Muchos otros mtodos matemticos (clculo de valores y vectores propios, integracin de ecuaciones diferenciales, optimizacin, ...) se reducen a la resolucin repetida de sistemas de ecuaciones lineales. La resolucin de sistemas de ecuaciones lineales tiene adems un importante valor didctico para los mtodos numricos en general y para la programacin de ordenadores.

2.2

Interpretaciones del sistema Ax=b


1. Interseccin de hiperplanos. La solucin es el punto (o conjunto de puntos) que satisface las ecuaciones de todos los hiperplanos, es decir, su interseccin. La interseccin puede ser un punto, un subespacio de dimensin nr, o el conjunto vaco. 2. Combinacin lineal de vectores. El vector trmino independiente b es una combinacin lineal de las columnas de A, cuyos coeficientes son los valores de x. Con notacin de Matlab: Ax = b; A (:,1) x1 + A (:, 2) x2 + ... + A (:, n ) xn = b (98)

El sistema de ecuaciones lineales Ax=b admite al menos las dos interpretaciones siguientes:

b
A(:,1)x1 A(:,1) A(:,3)x3 A(:,3)

A(:,2) A(:,2)x2
Figura 13. Interseccin de hiperplanos. Figura 14. Combinacin lineal de vectores columna.

La expresin (98) indica que para que el sistema de ecuaciones Ax=b tenga solucin, es necesario y suficiente que el vector b pertenezca a Im(A), es decir, al subespacio generado por las columnas de A. La solucin ser nica si hay una nica forma de expresar b como combinacin lineal de las columnas de A.

2.3

Algunos casos posibles del sistema Ax=b en 2-D

Como ejemplo ilustrativo de lo dicho en el apartado anterior, en la Figura 15 se muestran geomtricamente algunos casos posibles de sistemas de ecuaciones en R2, teniendo en cuenta los nmeros de ecuaciones y de incgnitas, el rango de la matriz A y el vector b. La interpretacin es inmediata.

lgebra lineal numrica con Matlab

pg. 20

m=2, n=2,

m=3, n=2, r=2 bIm(A)

m=3, n=2, r=2 bIm(A)

m=1, n=2, r=1

m=2, n=2, r=1 bIm(A)

m=2, n=2, r=1 bIm(A)

Figura 15. Algunos casos posibles del sistema Ax=b en R2.

2.4

Sistema de m ecuaciones con n incgnitas


a11 a12 a a22 21 am1 am 2
a1n x1 b1 x b a2 n 2 2 = amn xn bm

Se parte de un sistema de ecuaciones lineales expresado en forma matricial del siguiente modo:
a11 x1 + a12 x2 + ... + a1n xn = b1 a21 x1 + a22 x2 + ... + a2 n xn = b2 Ax = b ... am1 x1 + am 2 x2 + ... + amn xn = bm

(99)

Como se ha dicho anteriormente, para que el sistema tenga solucin, el vector b debe ser combinacin lineal de las columnas de A (en Matlab, A(:,i) representa la columna i de A): Ax = b A (:,1) x1 + A (:, 2) x2 + ... + A (:, n ) xn = b (100)

El mtodo de eliminacin de Gauss est basado en el hecho de que una ecuacin cualquiera puede sustituirse por una combinacin lineal de esa ecuacin y de las dems, sin que vare la solucin del sistema. As pues, el mtodo de eliminacin de Gauss: Combina ecuaciones (filas de la matriz A y elementos del vector b) de forma que el sistema adopte una forma ms sencilla: forma triangular superior o forma de escalera. Permite entender mejor las caractersticas del sistema a resolver: si tiene solucin o no, si la solucin es nica, etc. Es equivalente a una factorizacin PA=LU, donde P es una matriz de permutacin, L es una matriz triangular inferior mm con unos en la diagonal, que contiene los factores por los que se han multiplicado las filas de los pivots y U es una matriz mn que resulta de transformar A a la forma de escalera.

Sistemas de ecuaciones lineales

pg. 21

2.5

El mtodo de eliminacin de Gauss bsico

2.5.1 Operaciones con filas y matrices elementales A continuacin se describe el mtodo de eliminacin de Gauss con un ejemplo 44. En primer lugar se hace un cero en la posicin (2,1) multiplicando el sistema por la matriz P21:
a11 a12 a a A = 21 22 a31 a32 a41 a42

a13 a23 a33 a43

a14 a24 , a34 a44

1 m P21 = 21 0 0

0 0 0 1 0 0 , 0 1 0 0 0 1

a11 a12 0 a 22 P21A = a31 a32 a41 a42

a13 a23 a33 a43

a14 a24 a34 a44

(101)

donde:

m21 =

a21 a = a21 m21a11 = a21 21 a11 = 0; a2 j = a2 j m21a1 j , j = 2,..., 4 ; a21 a11 a11

(102)

Seguidamente se obtienen ceros en los restantes elementos de la 1 columna pre-multiplicando por las matrices P31 y P41. Se llega a la situacin siguiente:
1 0 P31 = m31 0 0 1 0 0 0 0 1 0 0 0 , 0 1 0 0 0 1 a 0 mi1 = i1 1 0 0 , a11 P41 = 0 1 0 0 a = a m a ij i1 1 j ij m41 0 0 1 a13 a14 0 0 0 1 a24 a23 m 1 0 0 , P1 P41P31P21 = 21 a34 a33 m31 0 1 0 a44 a43 m41 0 0 1

a11 a12 0 a 22 P41P31P21A = 0 a32 0 a42

(103)

Obsrvese la forma peculiar en que se multiplican las matrices elementales Pi1. Si la matriz A es simtrica, la submatriz de P1A en la que hay que seguir haciendo ceros tambin lo es. De forma anloga se hacen ceros, debajo de la diagonal, en las columnas 2 y 3, pre-multiplicando por unas matrices P2 y P3:
a11 a12 0 a 22 P42 P32P1A = 0 0 0 0 a11 a12 0 a 22 P3P2P1A = 0 0 0 0

a13 a23
a33 a43

a14 a24 , a34 a44

0 1 0 1 P2 P42P32 = 0 m32 0 m42

0 0 0 0 1 0 0 1 0 0 0 1

(104)

a13 a14 a24 a23 , a34 a33 0 a44

1 0 P3 P43 = 0 0

0 1 0

0 0 1

(105)

0 m43

Para llegar a este resultado se ha supuesto que los elementos que aparecen sobre la diagonal los y a33 son distintos de cero, pues aparecen en los denominadores de los factores mji. pivots: a11 , a22 Finalmente se llega a un sistema de ecuaciones lineales equivalente al original, que tiene la forma:

lgebra lineal numrica con Matlab

pg. 22

( P3P2P1A ) x = P3P2P1b

(106)

Este sistema es mucho ms fcil de resolver que el original, por los ceros introducidos en la matriz. El sistema podra resolverse calculando x4 de la cuarta ecuacin, x3 de la tercera, x2 de la segunda, y finalmente x1 de la primera ecuacin. 2.5.2 Factorizacin LU equivalente Las matrices elementales Pi introducidas en las expresiones (103), (104) y (105) tienen propiedades especiales y operan de una forma particular. Por una parte, es fcil comprobar que el producto P3P2 no ofrece ninguna caracterstica especial:
1 0 P3P2 = 0 0
0 1 0 0 0 1 0 1 0 0 0 1 0 0 m32 1 0 m42 0 0 1 0 0 0 0 1 = m32 1 0 0 0 1 0 m43m32 m42 0 0 1 0 0 0 1

(107)

0 m43

m43

Sin embargo, la inversa de las matrices Pj tiene una forma muy sencilla, ya que se obtiene simplemente cambiando el signo de los factores mij, como se comprueba a continuacin para P2:
0 1 0 1 P2 P21 = 0 m32 0 m42 0 0 1 0 0 0 0 1 1 0 0 m32 0 1 0 m42 0 0 1 0 0 0 = 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1

(108)

Ahora se comprobar que el producto de las inversas de P3P2 en orden inverso se realiza mediante simple "superposicin":
1 0 0 1 1 1 P2 P3 = 0 m32 0 m42
0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 = 0 0 m32 1 0 m42 0 0 1 m43 0 0 0 1

(109)

0 m43

Pre-multiplicando la ecuacin (105) por las inversas de las matrices Pi y teniendo en cuenta la forma (109) que adopta dicho producto de inversas:
a11 a12 0 a 22 A = P11P21P31 0 0 0 0
a13 a23 a14 1 0 m21 1 a24 = m31 m32 a34 a44 m41 m42 0 0 1 m43 0 a11 a12 0 0 a22 0 0 0 1 0 0 a13 a23 a14 a24 a34 a44

a33
0

a33
0

(110)

La conclusin es que el mtodo de eliminacin de Gauss equivale a descomponer la matriz A en el producto de una matriz triangular inferior L con "unos" en la diagonal, por una matriz triangular superior U:
A = LU

(111)

La factorizacin LU tiene una gran importancia en lgebra lineal numrica y se estudiar con detalle en el apartado 4.1.

Sistemas de ecuaciones lineales

pg. 23

k k i
0

j k = i k

k * 0

i * = *k

Figura 16. Eliminacin de Gauss.

Figura 17. Vuelta atrs.

2.5.3 Programa de Gauss bsico nn A continuacin se presenta un programa bsico para resolver sistemas de ecuaciones lineales con Matlab (los programas en C y Fortran seran muy similares). Se realizan dos tares sucesivas: en primer lugar la triangularizacin, basada hacer cero el elemento (i,k) combinando las filas i y k:
% triangularizacin de la matriz A % se hacen ceros en las n-1 primeras columnas for k=1:n-1 % se hacen ceros en la columna k for i=k+1:n m=A(i,k)/A(k,k); % a la fila i se resta la fila k multiplicada por m for j=k+1:n A(i,j)=A(i,j)-m*A(k,j); end % se transforma del mismo modo el trmino independiente b(i)=b(i)-m*b(k); end end

En una segunda fase se calculan las incgnitas mediante la vuelta atrs, con el siguiente proceso:
% se calcula x(n) de la ltima ecuacin x(n)=b(n)/A(n,n); % se calcula x(k) de la ecuacin k for k=n-1:-1:1 s=0; for i=k+1:n s=s+A(k,i)*x(i); end x(k)=(b(k)-s)/A(k,k); end

El algoritmo bsico puede modificarse si la matriz A es simtrica, haciendo que el nmero de operaciones se reduzca aproximadamente a la mitad (en negrita las dos sentencias modificadas):
% triangularizacin de la matriz A (simtrica) % se hacen ceros en las n-1 primeras columnas for k=1:n-1 % se hacen ceros en la columna k for i=k+1:n m=A(k,i)/A(k,k); % se tiene en cuenta la simetra % a la fila i se resta la fila k multiplicada por m % slo se opera por encima de la diagonal for j=i:n A(i,j)=A(i,j)-m*A(k,j); end % se transforma del mismo modo el trmino independiente b(i)=b(i)-m*b(k); end end

lgebra lineal numrica con Matlab

pg. 24

2.5.4 Programa para resolver un sistema en la forma LUx=b Los programas anteriores suponen que las operaciones sobre las filas en el sistema Ax=b se realizan simultneamente en ambos miembros. En realidad, hay una opcin ms favorable, que permite separar las operaciones sobre la matriz A y sobre el vector b. En una primera fase se realiza la triangularizacin de la matriz A sin operar con el vector b, pero almacenando los factores m que aparecen en la ec. (110) en las posiciones de los nuevos ceros de A, con objeto de disponer al final de las matrices L y U. Una vez hecha la factorizacin, el sistema LUx=b se transforma definiendo un nuevo vector yUx, con lo que se tiene el sistema Ly=b, del que se puede despejar fcilmente el vector y porque L es triangular inferior. Conocido y, se despeja el vector x del sistema Ux=y teniendo en cuenta que U es triangular superior. A continuacin se dan los programas de Matlab que realizan la triangularizacin y las dos resoluciones con matrices triangulares (ver Figura 18 y Figura 19). Por brevedad, se han reducido al mnimo los comentarios en el cdigo.
% factorizacin A=LU for k=1:n-1 for i=k+1:n m=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-m*A(k,j); end % se almacena el factor m en la posicin del cero A(i,k)=m; end end % Resolucin del sistema Ly=b y=zeros(n,1); y(1)=b(1); for k=2:n s=0; for j=1:k-1 s=s+A(k,j)*y(j); end y(k)=b(k)-s; end % Resolucin del sistema Ux=y x=zeros(n,1); x(n)=y(n)/A(n,n); for k=n-1:-1:1 s=0; for j=k+1:n s=s+A(k,j)*x(j); end x(k)=(y(k)-s)/A(k,k); end

k 0 k 1 1 * = *k

k k * 0

i * = *k

Figura 18. Resolucin de Ly=b.

Figura 19. Resolucin de Ux=y.

Sistemas de ecuaciones lineales

pg. 25

2.5.5 Programa de Gauss vectorizado Matlab permite realizar una vectorizacin parcial o total del algoritmo: la velocidad de clculo con Matlab (sobre todo en versiones anteriores a Matlab 6.5) aumenta considerablemente reemplazando el for ms interno por una nica instruccin que trabaja con dos filas completas:
for k=1:n-1 for i=k+1:n m=A(i,k)/A(k,k); A(i,k+1:n)=A(i,k+1:n)-m*A(k,k+1:n); b(i)=b(i)-m*b(k); end end

La vectorizacin puede ser doble realizando las operaciones del mtodo de Gauss en otro orden diferente, mostrado en la Figura 20. Obsrvese que en vez de hacer ceros por columnas, se hacen cero los elementos de la fila i que estn delante de la diagonal. Los elementos mostrados en gris han alcanzado ya su valor definitivo. Para transformar la fila i (hacer ceros en ella) se crea el vector de factores por los que hay que multiplicar las filas anteriores a la i: v(1: i 1) = A (1: i 1, i ) '. / diag(( A (1: i 1,1: i 1)) ' (112) La fila i puede sufrir todas las transformaciones a la vez, resultando un mtodo sensiblemente ms rpido que los anteriores (con versiones antiguas de Matlab): A (i, i : n ) = A (i, i : n ) + A ( j, i : n ) v ( j ) = A (i, i : n ) + v(1: i 1) A (1: i 1, i : n )
j =1 i 1

(113)

A (i,1: i 1) = v (1: i 1)
i
Elementos que ya son 0 Elementos ya transformados Fila a transformar

i
Elementos a hacer 0

Elementos con el valor inicial

Figura 20. Vectorizacin doble del mtodo de Gauss.

2.6

Mtodo de eliminacin de Gauss con pivotamiento

2.6.1 Necesidad del pivotamiento En el proceso de eliminacin de Gauss bsico anteriormente explicado es necesario dividir por los elementos que aparecen en la diagonal, que se denominan "pivots" o "pivotes". En ocasiones puede aparecer un cero (o un elemento de valor muy pequeo) en la posicin de un pvot: en ese caso el proceso no puede continuar si se utiliza el algoritmo previo. Si debajo del pvot hay elementos no nulos se pueden permutar las filas correspondientes y proseguir la eliminacin (la solucin del sistema no vara). Se considerar un sistema 45, en el que se ha encontrado un elemento nulo en la posicin (2,2):

lgebra lineal numrica con Matlab

pg. 26

a11 a12 0 0 P1A = 0 a32 0 a42 1 0 PP1A = 0 0


0 0 0 a11 a12 0 0 1 0 0 1 0 0 0 a32 0 0 1 0 a42 a13 a23

a13 a23

a14 a24

a33 a43

a34 a44

a15 a25 a35 a45 a13 a33 a14 a34 a15 a35 a25 a45

(114)

La permutacin de filas puede hacerse pre-multiplicando por una matriz P en la forma:


a14 a24 a15 a11 a12 0 a32 a25 = 0 a35 0 0 a42 a45

a34 a33 a44 a43

a24 a23 a44 a43

(115)

La matriz P puede construirse a partir de un vector p que contiene el orden de los pivots [1,3,2,4]. Tambin puede suceder que algunas columnas carezcan de pvot vlido. Por ejemplo, si al hacer ceros en la columna 2 los elementos correspondientes de la columna 3 se han hecho tambin cero:
a11 a12 0 a 22 P2 P1A = 0 0 0 0
a13 a14 a24 a23 0 a34 0 a15 a25 , a35 a45

a44

1 0 P44 = 0 0

0 1

0 0

0 1 0 m43

0 0 P4 , 0 1

m43 =

a44 a34

(116)

el proceso normal falla y hay dos posibilidades: 1. La eliminacin puede proseguir en las columnas posteriores y llegar hasta un ltimo pvot en la ltima fila (x3 es una variable libre o independiente, que puede tomar un valor arbitrario).
a11 a12 0 a 22 P4P2P1A = 0 0 0 0
a13 a23 0 0 a14 a24 a15 a25 a35 a45

a34
0

(117)

2. La eliminacin se detiene porque debajo del ltimo pvot encontrado todas las filas restantes se han hecho cero (una fila dependiente de las dems, y dos variables libres: x3 y x5). a11 a12 0 a 22 P4P2P1A = 0 0 0 0 a13 a23 0 0 a14 a24 a34 0 a15 a25 a35 0

(118)

2.6.2 Mtodo de Gauss con pivotamiento por columnas Continuando con lo indicado en la seccin anterior, en el caso general el mtodo de Gauss con pivotamiento por columnas procede del siguiente modo, ilustrado con un ejemplo en la Figura 21: 1. Se busca el mayor elemento en valor absoluto de la primera columna. Este elemento servir como pvot para hacer ceros en dicha columna. 2. El segundo pvot es el mximo elemento en valor absoluto de la 2 columna, sin contar el elemento de la fila del primer pvot. Con este pvot se hacen ceros en los elementos de la 2 columna que no pertenecen a una fila de un pvot anterior.

Sistemas de ecuaciones lineales

pg. 27

3. De modo anlogo se calculan los pivots en las restantes columnas y se hacen cero los elementos de cada columna, pero slo en las filas en las que no han aparecido pivots. 4. En el sistema final es fcil hallar las incgnitas xn, ..., x1, partiendo de la fila en la que ha aparecido el ltimo pvot, luego en la del penltimo pvot, y as hasta la del primero. 5. En la prctica, no es necesario intercambiar filas: basta conocer las filas dnde han ido apareciendo los sucesivos pivots, almacenando en un vector la informacin correspondiente.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Figura 21. Mtodo de eliminacin de Gauss con pivotamiento por columnas.

Posibles dificultades del mtodo de Gauss con el pivotamiento por columnas descrito: Si una ecuacin del sistema (o una fila de la matriz) se multiplica por un nmero muy grande (por ejemplo, 1e10), la solucin del sistema no vara, pero se puede alterar el orden en el que se eligen los pivots, y con dicho orden la precisin de la solucin calculada. Por ello es conveniente que todas las filas de la matriz sean vectores que tengan aproximadamente la misma norma, o bien que, al elegir los pivots, se comparen los elementos de la columna correspondiente, dividiendo cada uno de ellos por la norma de su fila. A este proceso se le denomina escalamiento o scaling por filas. A continuacin se presenta un programa de Matlab, llamado pivotcol1.m, que selecciona directamente los pivots en cada columna, sin dividir por la norma de la fila.
% fichero pivotcol1.m % Gauss y pivotamiento por columnas. Vectorizacin simple % se generan aleatoriamente la matriz y el vector de un tamao dado n=5; A=round(rand(n,n)*20-10); b=round(rand(n,1)*20-10); x=zeros(n,1); % se calcula la solucin exacta con el operador (\) xe=AA\bb; % vector que contendr el orden de los pivots p=[1:n]; for k=1:n-1 % buscar el pvot en columna k. No intervienen las filas de pivots anteriores [pk,ik]=max(abs(A(p(k:n),k))); % se intercambian los elementos en p para indicar el orden de los pivots temp=p(k); p(k)=p(ik+k-1); p(ik+k-1)=temp; % hacer ceros en columna pvot for i=p(k+1:n) m=A(i,k)/A(p(k),k); A(i,k:n)=A(i,k:n)m*A(p(k),k:n); b(i)=b(i)-m*b(p(k)); %A(i,k)=m; end end % vuelta atrs: orden inverso de aparicin de pivots x(n)=b(p(n))/A(p(n),n); for i=n-1:-1:1 s=A(p(i),i+1:n)*x(i+1:n); x(i)=(b(p(i))-s)/A(p(i),i); end

...

lgebra lineal numrica con Matlab

pg. 28

disp('Solucin de Matlab'); disp(xe); disp('Solucin calculada'); disp(x); disp('Ya he terminado')

2.6.3 Mtodo de Gauss con pivotamiento total En muchas aplicaciones prcticas el pivotamiento por columnas descrito anteriormente es suficiente para obtener una solucin correcta y con pequeos errores numricos. Sin embargo, existen casos en los cuales es necesario realizar pivotamiento total, eligiendo el pvot no entre los elementos de una columna, sino entre todos los elementos de la matriz que no estn en una fila y/o columna de los pivots anteriores. Una posible aplicacin del pivotamiento total es en los sistemas indeterminados, cuando es necesario elegir las variables libres ms adecuadas. El mtodo de Gauss con pivotamiento total se ilustra en la Figura 22 y procede del siguiente modo: 1. En primer lugar se busca el mayor elemento en valor absoluto de toda la matriz. Este elemento ser el primer pvot: en el caso de la Figura 22 se supone que es la fila 4, columna 2. 2. Se hacen ceros todos los elementos de la columna 2 (menos el pvot). 3. Se busca el mximo elemento en valor absoluto de toda la matriz, excluyendo la fila 4 y la columna 2. Este elemento ser el 2 pvot (fila 3, columna 4). 4. Se hacen ceros en la columna 4 excepto en las filas de pivots anteriores. 5. Se prosigue de la misma forma hasta que todas las filas y/o columnas tienen un pvot. 6. En la vuelta atrs, las incgnitas se calculan en orden decreciente de columnas en las que han aparecido los pivots, y cada una de ellas se calcula en el orden decreciente de filas en las que han aparecido pivots.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Figura 22. Mtodo de eliminacin de Gauss con pivotamiento total.

El pivotamiento total mejora algo la estabilidad del proceso de eliminacin de Gauss, pero en general se considera que esta ganancia no merece la pena por el esfuerzo adicional que lleva consigo. Como ya se ha dicho, se utiliza en ocasiones cuando el objetivo es determinar el rango de la matriz o una particin ptima entre variables bsicas y variables libres. Con pivotamiento total puede ser conveniente utilizar escalamiento por filas y por columnas, segn la siguiente expresin (D1 y D2 permutaciones de una matriz diagonal): D1AD 2 y = D1b, siendo x = D 2 y (119) El escalamiento por columnas implica un cambio de unidades en las incgnitas: en algunos casos puede ser conveniente no mezclar metros con micras, y en otros casos puede ser necesario hacerlo. Hay que sealar que no hay criterios absolutos para hacer un buen escalamiento por columnas. Un buen criterio podra ser hacer que el mximo elemento de cada fila y columna tenga una magnitud parecida, por ejemplo que est entre y 1. Hay que tener en cuenta que si al hacer el scaling se multiplica y divide siempre por potencias de 2, no se introducen errores de redondeo adicionales.

Sistemas de ecuaciones lineales

pg. 29

2.7

Resumen del mtodo de eliminacin de Gauss

2.7.1 Reduccin de una matriz a la forma de escalera Mediante el mtodo de eliminacin de Gauss con pivotamiento por columnas y permutacin de filas un sistema Ax=b, de tamao mn, se puede reducir a la forma de "escalera" siguiente: 0 PA = LU = L 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P L pivot elemento 0 matriz de permutacin m m matriz triangular inferior m m

(120)

Esta forma de escalera es muy interesante, pues arroja mucha ms luz sobre el sistema de ecuaciones a resolver que el sistema original Ax=b. Aparecen r pivots (elementos distintos de cero), con ceros debajo y a la izquierda. El rango de la matriz A es r. En la prctica las cosas no estarn tan claras, por ejemplo cuando los elementos (3,3), (4,5), (4,6), (4,7) y (4,8) sean muy pequeos, pero no exactamente cero: Cundo un nmero pequeo debe pasar a considerarse cero? La mejor solucin a este tipo de preguntas no est en la forma de escalera, sino el la DVS (Descomposicin de Valores Singulares), que se ver en el apartado 4.2.4. De momento, se supondr que la forma de escalera no presenta confusin posible entre elementos cero y elementos muy pequeos. 2.7.2 Conclusiones de la forma de escalera PA=LU A partir de la forma de escalera dada por la expresin (120) se pueden extraer las conclusiones siguientes: La matriz P indica las posibles permutaciones de filas realizadas para que los pivots aparezcan siempre ordenadamente en las filas superiores. La factorizacin LU realizada corresponde a la matriz PA, es decir a la matriz A con las filas permutadas. En el sistema original slo r de las m ecuaciones eran independientes y por tanto slo r de los m vectores fila (en Rn) eran independientes. Por eso hay mr filas que se han hecho cero, correspondientes a las filas que eran linealmente dependientes de las dems. Las columnas (y las incgnitas) aparecen divididas en dos grupos: las que tienen pivots (variables bsicas o dependientes) y las que no tienen pivots (variables libres o independientes). Si hay variables libres, la solucin, caso de existir, no ser nica. Dependiendo de lo que haya sucedido con el vector b (que habr debido sufrir las mismas permutaciones y combinaciones de filas que la matriz A), se pueden presentar distintas posibilidades. Recurdese que, matricialmente, el sistema se ha transformado en la forma:
PAx = LUx = Pb Ux = L1Pb = ( P4 P3P2 P1 ) Pb

(121)

Existe solucin si las (mr) filas que se han hecho cero en el primer miembro Ux se hacen tambin cero en el segundo miembro L1Pb, es decir cuando los (mr) ltimos elementos de ( P4 P3 P2 P1 ) Pb se anulan al igual que las correspondientes filas de U. Adems, si el sistema tiene solucin y hay variables libres, el sistema tiene infinitas soluciones.

lgebra lineal numrica con Matlab

pg. 30

2.7.3 La eliminacin de Gauss y los cuatro subespacios de la matriz A El sistema de ecuaciones lineales Ax=b transformado a forma de escalera segn las ecuaciones (120) y (121), permite relacionar los cuatro subespacios fundamentales de las matrices A y U. 2.7.3.1 SUBESPACIO DE FILAS IM(AT)RN Supngase que el rango es rm. El subespacio de filas Im(AT) coincide con Im(UT) por la forma en la que se ha construido U mediante combinaciones lineales de las filas de A. Las filas no nulas de U constituyen una base de Im(A). Si r=m el sistema siempre tiene solucin. Si r<m slo existe solucin si los ltimos elementos de b se hacen cero a la vez que las ltimas filas de A: 0 PL1Ax = Ux = 0 0 0 0 0 0 0 0 x = PL1b = 0 ?

Ax = b

(122)

2.7.3.2 SUBESPACIO NULO KER(A)RN El ncleo de A, Ker(A), est formado por los vectores xRn que satisfacen Ax=0. Por tanto, Ker(A) es el complemento ortogonal de Im(AT) y su rango es nr. Se verifica que Ker ( U ) = Ker ( A ) . Se puede obtener una base de ambos subespacios resolviendo el sistema de ecuaciones nr veces, dando alternativamente valor unidad a una de las variables libres y cero a las dems. Los vectores de Ker(A) representan las relaciones de dependencia lineal que existen entre las columnas de A, como se ve de la ecuacin Ax=0. 2.7.3.3 SUBESPACIO DE COLUMNAS IM(A)RM La dimensin de Im(A) es r, rango de A. Si r=m el sistema tiene solucin para todo b. Si r<m slo existe solucin si bIm(A). Los subespacios Im(A) e Im(U) son completamente diferentes, pues las operaciones sobre las filas de A han cambiado sus vectores columna. Slo tienen en comn la dimensin (el rango de A y de U) y las relaciones de dependencia e independencia lineal (las columnas de U en las que han aparecido los pivots son tambin columnas independientes en A). 2.7.3.4 SUBESPACIO NULO DE LA TRANSPUESTA KER(AT)RM Ker(AT) contiene los vectores que cumplen yTA=0, y es el complemento ortogonal del subespacio de columnas Im(A). Su dimensin es pues mr. Los vectores y Ker ( AT ) definen las combinaciones lineales de las filas de A que dan el vector nulo, y esas mismas combinaciones debern anular los ltimos elementos del vector b, de acuerdo con (122). Tampoco Ker ( A T ) est relacionado con Ker ( UT ) .

2.8

Algunas funciones de Matlab en relacin con el mtodo de Gauss

En esta apartado se van a describir brevemente algunas funciones de Matlab en relacin con el mtodo de eliminacin de Gauss y la resolucin de sistemas de ecuaciones lineales. 1. Operador barra invertida (\) Por lo general, la operacin A\b produce el mismo resultado que inv(A)*b, con algunas diferencias, entre las que est la forma de realizar los clculos:

Sistemas de ecuaciones lineales

pg. 31

Si A es una matriz cuadrada no singular, A\b es la solucin de Ax=b calculada por eliminacin de Gauss con pivotamiento por columnas. Si A y b son tales que el sistema tiene infinitas soluciones o ninguna, A\b da la solucin de variables libres nulas o la de mnimos cuadrados, respectivamente. Adems, el operador \ es "inteligente", en el sentido de que es capaz de descubrir y aprovechar si A es simtrica y definida-positiva, o si tiene forma triangular. 2. Funcin [L,U,P]=lu(A) Calcula con pivotamiento por columnas la factorizacin LU de la matriz PA, donde P es una matriz de permutacin que representa el orden de filas en que han aparecido los pivots. 3. Funcin [R,c]=rref(A,tol) Reduce A a forma de escalera con pivots unidad y ceros tambin encima de cada pvot. El vector c es un vector de enteros cuyo nmero de elementos indica el rango de la matriz y cuyos elementos indican las columnas de los pivots (variables bsicas o dependientes).

2.9

Errores en la resolucin de sistemas de ecuaciones lineales

2.9.1 Nmero de condicin de una matriz


A continuacin se incluye un recordatorio de ciertos conceptos estudiados en lgebra, tiles para este apartado y los siguientes. Se llama matriz convergente a una matriz que cumple las condiciones:
m

lim A m = 0 ( A ) < 1 lim A m = 0


m

(123)

donde ( A ) es el radio espectral de A y la serie I + A + A 2 + A 3 + ... converge si A es convergente. En efecto, si A es convergente, la matriz (IA) es no singular y se puede expresar como:
S I + A + A 2 + A 3 + ... = I + A ( I + A + A 2 + A 3 + ... ) = I + AS S (I A) = I

(I A)

= I + A + A 2 + A 3 + ...

(124)

Proposicin: Si A < 1 , la matriz ( I A ) es no singular y se verifican las desigualdades:


1 1 1 (I A) b) 1 A 1 + A a)
Demostracin de la desigualdad a)
I = ( I A )( I A ) 1 I A (I A)
1 1

(125)

(1 + A ) ( I A )

1 1 (I A) 1+ A

(126)

Demostracin de la desigualdad b)

(I A) (I A ) = I
1

(I A)

(I A ) A = I (I A ) = I + (I A ) A
1 1 1 1

(I A)

1 + A (I A)

(I A)

1 1 A

(127)

lgebra lineal numrica con Matlab

pg. 32

2.9.2 Casos particulares de propagacin de errores en sistemas de ecuaciones lineales


Se estudiar en primer lugar el error relativo en la solucin debido exclusivamente a una perturbacin o error en el trmino independiente:
Ax = b Ax = b 1 A (x + x) = b + b A x = b x = A b Ax = b b A x

x A 1

(128)

Multiplicando miembro a miembro las desigualdades anteriores se puede calcular una acotacin para el error relativo de la solucin, en funcin del error relativo del trmino independiente:
b x A 1 A x b

x
x

A 1 A

b
b

(129)

A continuacin se estudiar el error relativo en la solucin debido a una perturbacin o error en la matriz del sistema:
A x + A ( x + x ) =0 x = A 1 A ( x + x ) ( A + A )( x + x ) = b Ax = b

(130)

Tomando normas y operando se llega al siguiente resultado:

x A 1 A x + x

x A 1 A x +x

x A A 1 A x +x A

(131)

Tanto en la expresin (129) como en la (131) el error relativo en los datos se multiplica por un mismo factor:

( A ) A 1 A ,

( A ) 1 pues I = A 1A, 1 A 1 A = ( A )

(132)

Este factor () se llama nmero de condicin o condicin numrica y es un nmero real mayor o igual a uno que controla la transmisin de errores en los sistemas de ecuaciones lineales. Tal y como se ha definido, se exige que la matriz A sea no singular. Otra observacin importante es que las cotas para el error relativo (129) y (131) son ptimas, en el sentido de que la igualdad es alcanzable.

2.9.3 Frmula general de propagacin de errores en sistemas de ecuaciones lineales


Los desarrollos matemticos en este caso general son un poco ms complicados que en los casos precedentes. Se suponen ahora unas perturbaciones en los datos A y b que producen un error x:

( A + A )( x + x ) = b + b
Se supone tambin que las perturbaciones en A son pequeas, de modo que se cumple:

(133)

A <

A A 1 = 1 = A 1 A A (A)

A
A

(A)

, ( A ) condicin numrica de A

(134)

La matriz ( A 1 A ) es convergente, pues por la hiptesis (134) se cumple que:


A 1 A A 1 A < 1

(I + A

A ) no singular

(135)

Aplicando a la matriz ( A 1 A ) la desigualdad b) de la proposicin (125):

(I + A

A)

1 1 1 A 1 A 1 A 1 A

(136)

Desarrollando la expresin (133) y simplificando:


A 1 ( A + A )( x + x ) = A 1 ( b + b )

(I + A

A ) ( x + x ) = x + A 1 b

(137)

Despejando x de la ecuacin (137) y tomando normas:

Sistemas de ecuaciones lineales

pg. 33

x = ( I + A 1 A ) A 1 ( b Ax )
1

x ( I + A 1 A )

A 1

( b

+ A x

(138)

Dividiendo por x y teniendo en cuenta la desigualdad (136):

x
x

1 1 A
1

b + A A 1 A x

bA x

x
x

A 1 1 A
1

b A + A A b

(139)

En esta expresin se hace aparecer ahora la condicin numrica (), y se llega a:

x
x

A 1 1 A
1

A 1 A b b A A + A = + A b A A b 1 A 1 A A

(140)

Finalmente:

x
x

b (A) A + A b A 1 (A) A

(141)

Al igual que en las expresiones (129) y (131), es de nuevo la condicin numrica el factor que controla la amplificacin en el resultado (siempre es ()1) de los errores relativos en los datos. Hay que sealar que la condicin numrica no depende de la magnitud de los elementos de una matriz: Si una matriz se multiplica por un escalar la condicin numrica permanece invariable. 2.9.4 Expresin general del nmero de condicin El nmero de condicin ( A ) definido en la expresin (132) exige que la matriz A sea invertible. De una forma ms general, vlida para cualquier tipo de matriz, el nmero de condicin se define en la forma:

(A) =

max Ax
x =1 x =1

min Ax

(142)

El resultado (142) es el cociente entre la magnitud de la imagen del vector unitario que ms crece con la matriz A, dividido por la magnitud de la imagen del vector unitario que menos crece. Ntese que esta definicin se aplica tambin a una matriz rectangular. Si el rango de A es menor que n, y R n , no nulo, tal que Ay = 0 y, por tanto, min Ax = 0 . Si A
x =1

no es la matriz nula, max Ax > 0 . En esta situacin, como extensin a la definicin de nmero de
x =1

condicin, se dice que ( A ) = . 2.9.5 Nmero de condicin para la norma eucldea El nmero de condicin se ha definido en (132) para una norma cualquiera, aunque suponiendo una matriz invertible. Ahora dicha expresin se va a particularizar para la norma eucldea o espectral. La norma eucldea de una matriz ACnn es la raz cuadrada positiva del radio espectral de AHA:
A 2 = (AH A)

(143)

lgebra lineal numrica con Matlab

pg. 34

La matriz AHA es hermtica y todos sus valores propios son reales y no negativos, pues dicha matriz es al menos semidefinida positiva. Adems, si la matriz A es normal y sus valores propios son j, los valores propios de la matriz AHA son:
U H AU = D, U H A H U = D
2

DD = U H AUU H A H U = U H AA H U

(144)
(145)

U H ( AA H ) U = DD = diag 1 ,..., n
2

A 2 = (AH A) =

n = n = ( A )
2

Si adems la matriz A es regular, los valores propios de A1 son los inversos de los valores propios de A. Por tanto, se verificar que:
A 1 = ( A H A 1 ) =
2

2 1

= ( A 1 )

(146)

De acuerdo con esto y con (132), el nmero de condicin de una matriz normal y regular ser:

( 2 ) ( A ) = A 1

A 2 = ( A 1 ) ( A ) =

n 1

(147)

Las matrices ortogonales y unitarias son las nicas que tienen todos sus valores propios de mdulo unidad, y por tanto son las nicas que tienen nmero de condicin igual a uno. Estas matrices son ptimas para resolver sistemas de ecuaciones sin errores significativos. 2.9.6 Inversas de matrices perturbadas
Ahora se va a estudiar la variacin en la inversa de una matriz A con una perturbacin A. Sea una matriz regular A en la que se introduce una pequea perturbacin A, tal que A1A es convergente. Se desea acotar la norma del error:

(A + A)

A 1

(148)

Se parte de la siguiente identidad matricial (se puede comprobar multiplicando por B):
B 1 = A 1 B 1 ( B A ) A 1

(149) (150) (151)

Sutituyendo B por A+A en la expresin (149):

(A + A)

= A 1 ( A + A )

( A ) A 1
A A 1

Pasando A1 al primer miembro y tomando normas:

(A + A)

A 1 ( A + A )

El primer factor del segundo miembro se puede transformar en un producto de inversas, y luego se le puede aplicar la desigualdad (136):

(A + A)

= A ( I + A 1 A )

= ( I + A 1 A ) A 1 A 1
1

(I + A

A)

A 1 1 A 1 A

(152)

Sustituyendo este resultado en la expresin (151) de la norma del error se obtiene:

(A + A)

A 1

A 1

1 A A
1

(A + A)
A

A 1

(A)

A
A
1

1 A A

(153)

Se ve que tambin en este caso el error relativo en el resultado depende del error en los datos a travs del nmero de condicin.

Sistemas de ecuaciones lineales

pg. 35

2.9.7 Conclusiones sobre errores en sistemas de ecuaciones lineales La condicin numrica o nmero de condicin (A) indica cmo se amplifican los errores A y b. Como mnimo, los errores relativos correspondientes son del orden de la precisin de los datos (eps=10e16, en un PC trabajando con doble precisin). Adems, en el transcurso de los clculos se introducen errores de redondeo en las operaciones aritmticas. Existen dos formas de estudiar los efectos de estos errores: El anlisis directo considera el error en cada operacin y trata de estudiar cmo se propaga y acumula hasta el resultado final. Conduce a resultados muy pesimistas. El anlisis inverso (Wilkinson, 1965) considera los errores de redondeo como efectos equivalentes a perturbaciones en los datos iniciales, y trata de acotar dichas perturbaciones. Los resultados son mucho ms precisos. Seguidamente se incluye un resultado del anlisis inverso de errores suponiendo la factorizacin : exacta de una matriz perturbada A + A = LU

( A )ij

(k ) 2n max aij
1i , j ,k n

(154)

donde n es el nmero de ecuaciones, es la precisin de la mquina (10e16 para los PCs, trabajan(k ) do en doble precisin) y aij son los elementos que van apareciendo en A a lo largo del proceso de factorizacin. El pivotamiento por columnas basta para evitar que estos elementos crezcan incontroladamente. Tngase en cuenta que las matrices definidas positivas no necesitan pivotamiento y que por tanto, en general, no suelen dar problemas de errores de redondeo salvo que el nmero de condicin sea muy elevado. Si existen dudas al respecto, siempre es conveniente estimar los errores a travs de un nmero de condicin aproximado. Matlab dispone de las funciones cond(A,p) y condest(A). La primera de ellas calcula de modo exacto la condicin numrica de A utilizando la norma-p (si se omite p, se supone p=2). Este clculo puede ser muy laborioso si A es de gran tamao. La funcin condest(A) calcula de modo econmico un valor aproximado de la condicin numrica.

n=r

Figura 23. Sistema de ecuaciones lineales incompatible.

2.10 Sistemas de ecuaciones lineales redundantes (m>n=r)


2.10.1 Aplicacin del teorema de la proyeccin ortogonal Supngase que se tiene un sistema de m ecuaciones lineales con n incgnitas (m>n), siendo r=n el rango de la matriz (ver Figura 23):
Ax = b

(155)

lgebra lineal numrica con Matlab

pg. 36

Como el subespacio Im(A) (columnas de A) es un subespacio de Rm de dimensin r<m, en general bIm(A), por lo que este sistema no tendr solucin. Sin embargo, cuando bIm(A) la solucin es nica, pues no hay variables libres (r=n). Se pretende hallar una solucin aproximada de dicho sistema. Se va a buscar el vector x0 que haga el producto (Ax0) tan parecido a b como sea posible:
min b Ax , o bien: r b Ax, min r n n
xR xR

(156)

donde r es el residuo o error con que se satisfacen las ecuaciones. El teorema de la proyeccin ortogonal (ver apartado 1.7) establece que r debe pertenecer al complemento ortogonal de Im(A), es decir, que es ortogonal a Im(A). Esta condicin se puede imponer haciendo que r sea ortogonal a una base de Im(A), por ejemplo, a las columnas de A:
AT r = 0 A T ( b Ax 0 ) = 0
1

A T Ax 0 = A T b

(157) (158)

x 0 = ( AT A ) AT b

El sistema de ecuaciones obtenido en (157) se conoce como sistema de ecuaciones normales, y es tpico del mtodo de los mnimos cuadrados. Es interesante estudiar las propiedades de la matriz ATA que aparece en la solucin (158): La matriz ATA es simtrica: (ATA)T=AT(AT)T= ATA La matriz ATA, de tamao nn, es invertible pues tiene rango r=n, por ser las n columnas de A linealmente independientes. La matriz ATA es definida-positiva ya que:
x T ( A T A ) x = ( Ax )
T

( Ax ) =

Ax > 0, x 0

(159)

La matriz ATA tiene el mismo ncleo o subespacio nulo que A (tambin aunque r<n):
o Si xKer(A) Ax=0 ATAx=0 xKer(ATA) o Si yKer(ATA) ATAy=0 yT ATAy=(Ay)T(Ay)=0 Ay=0 yKer(A)

En resumen, la solucin de mnimo error cuadrtico del sistema Ax=b, donde el rango de A coincide con el n de columnas m, se puede escribir por medio de las ecuaciones normales en la forma: x 0 = ( AT A ) AT b
1

(160)

Grficamente, las ecuaciones normales tienen la forma mostrada en la Figura 24:

AT

AT

ATA

Figura 24. Solucin de mnimo error cuadrtico de un sistema incompatible.

2.10.2 Sistema de ecuaciones ampliado Las ecuaciones del mtodo de los mnimos cuadrados se pueden tambin escribir mediante un sistema de ecuaciones ampliado. El residuo se ha definido en la forma:
r = b Ax

(161)

Sistemas de ecuaciones lineales

pg. 37

Adems, el residuo es ortogonal a Im(A) lo que se puede expresar matemticamente en la forma:

AT r = 0
I AT

(162)

Expresando conjuntamente las ecuaciones (161) y (162) se llega a la siguiente ecuacin matricial:
A r b = 0 x0 0

(163)

que es un sistema de m+n ecuaciones con m+n incgnitas. Este sistema de ecuaciones ampliado tiene o puede tener algunas ventajas: La ventaja ms importante es que la condicin numrica de la matriz ampliada es menor que la de ATA, lo que permite alcanzar la solucin con menor error. Si la matriz A es dispersa o sparse (la mayor parte de sus elementos cero) tambin los tiempos de clculo pueden ser inferiores con la matriz ampliada, al menos para ciertos tipos de matrices.

Figura 25. Ecuaciones incompatibles con matriz de columnas ortogonales.

2.10.3 Problema de mnimos cuadrados con matrices de columnas ortogonales La Figura 25 muestra un sistema de ecuaciones lineales incompatible en el que la matriz del sistema es una matriz de columnas ortogonales Q. Como m>n, Q no es una matriz ortogonal, pues no es cuadrada. Considrense pues los sistemas de ecuaciones m>n incompatibles:
Qx = b b Im ( Q )

(164)

Planteando las ecuaciones normales, la solucin de mnimo error cuadrtico es: QT Qx 0 = QT b x 0 = QT b (165) pues QT es una inversa por la izquierda de Q (no es una verdadera inversa porque no es cuadrada). La proyeccin de b sobre el Im(Q) est dada por una matriz P definida en la ecuacin (46): P = A ( AT A ) AT ,
1

para A = Q

P = Q ( QT Q ) QT = QQT
1

(166)

As como QT Q = I porque QT es una inversa por la izquierda de Q, la ecuacin (166) proporciona un significado para la matriz QQT, que resulta ser una matriz de proyeccin ortogonal sobre Im(Q). La Figura 26 y la Figura 27 ilustran los tamaos de ambas matrices y los significados citados:

=
QT Q = I
Figura 26. Producto QTQ=I.

=
QQT = P

Figura 27. Producto QQT=P.

lgebra lineal numrica con Matlab

pg. 38

2.11 Sistemas de ecuaciones indeterminados (r=m<n)


Supngase el siguiente sistema de ecuaciones lineales indeterminado, de rango pleno (r=m<n):
Ax =b

(167)

en el que habr infinitas soluciones, pues hay nr variables libres.

m=r n

Figura 28. Sistema de ecuaciones indeterminado de rango pleno.

Se trata de hallar la solucin de mnima norma eucldea del sistema (167), representado en la Figura 28. Recurdese que la solucin general de un sistema indeterminado se puede construir sumando la solucin general del sistema homogneo a una solucin particular del sistema completo. Sea N una matriz n(nr) cuyas columnas son una base de Ker(A). Si xP es una solucin particular de Ax=b, la solucin general de dicho sistema viene dada por:
x = x p + Nu u R nr

(168)

Para hallar la solucin de mnima norma se puede tener en cuenta que la ecuacin (168) representa todas las soluciones del sistema (167), que dependen de los elementos del vector u, que pueden ser considerados como parmetros independientes. Cualquier solucin es la suma de una componente en el ncleo de A y otra componente en su complemento ortogonal, que es Im(AT). Esta suma es directa, lo que implica que los sumandos estn unvocamente determinados. La solucin de mnima norma ser pues el vector que no tenga componente en Ker(A) y que pertenezca a Im(AT). Sea v el vector de coeficientes de la solucin de mnima norma x expresada como combinacin lineal de las filas de A: x = AT v, Ax = AAT v = b v Rr (169)

Sustituyendo este resultado en el sistema de ecuaciones a resolver:

( AA

invertible )

(170)

Despejando el vector v de la expresin (170) y sustituyendo en la expresin (169) de x : v = ( AAT ) b


1

x = AT ( AAT ) b
1

(171)

que es la expresin de la solucin de mnima norma. Para que la matriz AAT sea invertible es necesario que sea de mximo rango (r=m), es decir, que las filas de A sean linealmente independientes.

2.12 Problema general de mnimo error cuadrtico y mnima norma


En los apartados anteriores se han resuelto los casos de solucin de mnimo error cuadrtico de un sistema de ecuaciones incompatible (m>n) y de solucin de mnima norma de un sistema de ecuaciones indeterminado (m<n). En ambos casos se ha supuesto que la matriz A era de rango mximo, esto es, que las columnas (en el caso m>n) o las filas (en el caso m<n) eran linealmente independientes. Ahora se va a considerar el caso ms general.

Sistemas de ecuaciones lineales

pg. 39

Considrese el sistema de ecuaciones Ax =b , en el que la matriz A no es de rango mximo (r<min(m,n)). En general, en este caso no hay solucin (r<m) y si existe no es nica (r<n). Se puede intentar hallar la solucin que es al mismo tiempo de mnimo error y de mnima norma. Un ejemplo en 2-D de sistema incompatible cuya solucin de mnimo error no es nica se muestra en la Figura 29. Todos los puntos que equidistan de las dos rectas paralelas (la recta a trazos) tienen el mismo error. De todos estos puntos se ha sealado el nico que es al mismo tiempo de norma mnima.

Figura 29. Sistema incompatible de dos ecuaciones con dos incgnitas, sin solucin de mnimo error nica.

m m A

n C r

Figura 30. Descomposicin de A en el producto de dos matrices de rango mximo.

Sea cual sea la matriz A (de rango r), siempre se puede descomponer en el producto de dos matrices de rango mximo de tamaos (mr) y (rn), tal como se muestra en la Figura 30:
A =BC

(172)

Las columnas de B son una base de Im(A) y las filas de C lo son de Im(AT). Cada columna de C contiene los coeficientes con los que hay que combinar las columnas de B para obtener cada columna de A; anlogamente, cada fila de B contiene los coeficientes con los que hay que combinar las filas de C para obtener cada fila de A. Utilizando la factorizacin (172), el sistema Ax=b se puede escribir en la forma:
Ax =b

BCx = b

(173) (174) (175)

Introduciendo ahora un nuevo vector y definido en la forma: y Cx el sistema de ecuaciones (173) se puede escribir como: By =b Hay que tener en cuenta que la solucin de mnimo error cuadrtico de Ax=b se corresponde con la de By=b, pues: min ( b Ax ) = min ( b BCx ) = min ( b By ) n n r
xR xR yR

(176)

Como el rango de la matriz B es mximo (igual al nmero de columnas), se puede aplicar la expresin (171) de la solucin de mnimo error cuadrtico, reemplazando A por B: y = ( BT B ) BT b
1

(177)

Por otra parte, una vez conocido y, la ecuacin (174) constituye un sistema indeterminado con una matriz C de rango mximo. La solucin de mnima norma viene dada por la expresin (171):

lgebra lineal numrica con Matlab

pg. 40

x + = CT ( CCT ) y
1

(178)

Combinando los resultados de mnimo error (177) y mnima norma (178) se obtiene: x + = CT ( CCT ) y = CT ( CCT )
1 1

(B B)
T

BT b = A + b

(179)

donde la matriz A + es la matriz seudoinversa, que se estudiar en detalle en el siguiente apartado.

2.13 Matriz seudoinversa A+


La solucin ptima (179) obtenida para el caso general del sistema Ax=b se puede escribir como: x + = A + b, A + CT ( CCT )
1

(B B)
T

BT

(180)

La matriz A+ se conoce con el nombre de matriz seudoinversa, por analoga con la solucin de un sistema compatible y determinado x=A1b. Esta matriz juega un papel muy importante en la teora de sistemas de ecuaciones lineales. Caractersticas de la solucin dada por la ecuacin (180): Si la matriz A es cuadrada e invertible, tambin lo sern los factores B y C. En este caso la seudoinversa coincide con la inversa: x + = A + b = CT ( CCT )
1

(B B)
T

BT b = CT CT C1B 1B T BT b = C1B 1b = A 1b

(181)

Si el sistema es incompatible y la matriz A es de rango mximo, la solucin viene dada por las ecuaciones normales. En este caso C es cuadrada e invertible, por lo que se verifica: A T A = CT BT BC BT B = CT A T AC1

(B B)
T

= C ( A T A ) CT
1 1

(182)

Sustituyendo en la expresin (181) de la solucin aproximada x+: x + = CT CT C1 ( BT B ) BT b = CT C T C1C ( A T A ) CT BT b = ( A T A ) A T b


1 1

(183)

que es la solucin dada por las ecuaciones normales para mnimos cuadrados. Anlogamente se puede demostrar que si el sistema es indeterminado y la matriz A de rango mximo, la solucin (180) se reduce a la expresin (171) hallada anteriormente para la solucin de mnima norma. La matriz pseudoinversa A+ definida en la expresin (180) se puede expresar tambin en la forma: A + CT ( CCT )
1

(B B)
T

BT = CT ( BT BCCT ) BT = CT ( BT ACT ) BT
1 1

(184)

La expresin x+=A+b representa pues, en cada caso, la solucin ms conveniente para el sistema general de ecuaciones lineales Ax=b. La matriz inversa A1 slo existe cuando A es cuadrada y no singular. Sin embargo, la matriz seudoinversa A+ existe siempre y tiene algunas propiedades semejantes a las de la matriz inversa A1. Algunas de estas propiedades son (sin demostracin): La matriz A+ es nica, a pesar de que la factorizacin A=BC no est unvocamente definida. La seudoinversa de la seudoinversa es la matriz original: (A+)+=A Los operadores (T) y (+) se pueden permutar: (AT)+=(A+)T Relaciones entre rangos: r(A)=r(A+)=r(AA+)=r(A+A)

Sistemas de ecuaciones lineales

pg. 41

Si las columnas de A son independientes, la seudoinversa es una inversa por la izquierda:


r(A)=n A+A=In

(185) (186)

Si las filas de A son independientes, la seudoinversa es una inversa por la derecha:


r(A)=m A A+ =Im

Sin embargo, existen tambin diferencias importantes entre la inversa y la seudoinversa. En general:

( AB )

B+ A+ (187)
+ p

AA + I, A + A I, AA + A + A

(A ) (A )
p +

En la prctica, el clculo de la matriz seudoinversa no se hace por medio de la factorizacin A=BC sino mediante la descomposicin de valores singulares (DVS), que se ver en el apartado 4.2.4. Sin embargo, en ciertas ocasiones (por ejemplo cuando la matriz A es muy grande y dispersa) el mtodo expuesto en este apartado para calcular la seudoinversa A+ puede ser preferible a la DVS.
Propiedades adicionales relacionadas con la matriz seudoinversa: La matriz P=AA+ es la matriz de proyeccin ortogonal sobre Im(A). En efecto, se cumple que Ax+= Pb, siendo x+ la solucin de mnimo error en norma cuadrtica. Puesto que tambin se cumple que x+=A+b:
Ax + = AA + b = Pb P = AA +
T T

(188)

La matriz Q=A A es la matriz de proyeccin ortogonal sobre Im(A ). Utilizando A en lugar de A en la propiedad anterior se tendr:
Q = AT ( AT )
+

es la matriz de proyeccin sobre Im (A T ); Q = QT = A + A

(189) (190)

Las matrices A y P tienen el mismo espacio de columnas, Im(A)=Im(P):


x Im( P) u; Pu = x AA + u = x A ( A + u ) = x x Im( A )

Anlogamente se demuestra que: xIm(A) xIm(P). La solucin general del sistema Ax=b que minimiza el cuadrado de la norma del residuo (sin minimizar la norma de la solucin) viene dada por:
x = A +b + ( I A +A ) w

( w vector arbitrario )

(191)

pues (IA+A)=(IQ) es la matriz de proyeccin sobre el complemento ortogonal de Im(AT), que es Ker(A). Las cuatro propiedades siguientes caracterizan a la seudoinversa de A (se puede demostrar que A+ es la nica matriz que las cumple): 1. AA+A=A
AA + A = BC CT ( CCT )
1

(B B)
T

BT BC = BC = A

(192) (193) (194) (195)

2.

A+AA+=A+
A + AA + = CT ( CCT )
1

(B B)
T

BT BC CT ( CCT )

(B B)
T

BT = A +

3.

(AA+)T=AA+ (simetra del producto)

( AA ) = ( A )
+ T

+ T

A T = B ( BT B )

( CC )
T

C CT B T = B ( B T B ) B T
T

AA + = BC CT ( CCT )

(B B)
T

BT = B ( BT B ) BT
1

lgebra lineal numrica con Matlab 4. (A+A)T=A+A (simetra del producto) (demostracin anloga a la anterior)

pg. 42

Conviene finalmente recordar que la seudoinversa obtenida a partir de las expresiones (184) es nica, aunque la factorizacin A=BC no lo sea.

2.13.1 Interpretacin del sistema de ecuaciones general Ax=b En el producto Ax=b la matriz A transforma Rn en Rm. Los vectores x y b se pueden descomponer respectivamente en sus componentes en los subespacios suplementarios Im(AT) y Ker(A), e Im(A) y Ker(AT): x = x f + xn b = bc + bn

(x (b

Im ( A T ) , x n Ker ( A ) Im ( A ) , b n
T

) Ker ( A ) )

(196) (197)

Sustituyendo estos valores en el sistema Ax=b y teniendo en cuenta que Axn=0 y que bn nunca puede obtenerse como combinacin lineal de las columnas de A: Ax = Ax f + Ax n = Ax f = b c (198)

La expresin (198) indica que tanto x como xf se transforman a Im(A). Por otra parte, cada vector bcIm(A) proviene de un y slo un vector xfIm(AT), como se puede demostrar por reduccin al absurdo. Suponiendo dos vectores distintos en Im(AT) que se transforman en bc:
Ax f = b c Axf = b c A ( x f xf ) = 0

(x

xf ) Ker ( A )

Absurdo!

(199)

As pues, cada matriz A transforma el subespacio de filas Im(AT) en el subespacio de columnas Im(A) y esta parte de la transformacin siempre es invertible. Al mismo tiempo, hay una parte del vector b, el vector bn, que es inalcanzable por la transformacin Ax=b. Qu hace la matriz seudoinversa en un sistema general de estas caractersticas? De la definicin de la matriz seudoinversa (180) se concluye que: Im ( A + ) = Im ( CT ) = Im ( A T ) A +bn = 0 (200)

Si A1 no existe, la seudoinversa A+ la sustituye e invierte "lo que es invertible" en el sistema Ax=b, obteniendo xf a partir de bc:
A + Ax = A + A ( x f + x n ) = A + Ax f = x f + + + A b = A ( bc + bn ) = A bc x f = A +bc

(201)

La Figura 31, inspirada en el libro de G. Strang1, representa grficamente los 4 subespacios fundamentales de la matriz A e interpreta la transformacin Ax=b en funcin de dichos subespacios, resumiendo grficamente lo establecido en los prrafos precedentes. Obsrvese que la componente de x en Ker(A) no influye en la imagen Ax, y que la componente de b en Ker(AT) tampoco interviene porque es inalcanzable.

G. Strang, "Introduction to LinearAlgebra", 3rd edition, Wellesley-Cambridge, ch. 4, p. 188.

Sistemas de ecuaciones lineales

pg. 43

r xf xf Axf Ax xAx x Ker(A) n xn bn xn Axn 0 nr m

Im(A) r

Ax=bc

Im(AT) R
n

Rm

Ker(AT) mr

Figura 31. Relacin entre el sistema Ax=b y los cuatro subespacios fundamentales de la matriz A.

Valores y vectores propios

pg. 45

3.
3.1

Valores y vectores propios


Definicin del problema de valores y vectores propios

Los vectores propios de una matriz A Cnn son los vectores x Cn , x 0 que se transforman del modo:

Ax = x, C

(202)

El escalar , que puede ser real o complejo, es el valor propio asociado al vector propio x. La ecuacin (202) tambin se puede expresar como:

( A I) x = 0

(203)

El vector nulo no se considera vector propio. Para que exista una solucin x distinta de la trivial (x=0), el valor propio deber ser raz de la ecuacin caracterstica, que se obtiene igualando a cero el polinomio caracterstico (de grado n):
det ( A I ) = 0

(204)

Caractersticas generales del problema de valores y vectores propios: Es un problema no lineal en los valores propios y lineal en x. Dado que un polinomio de grado n siempre tiene n races reales y/o complejas, siempre existen n valores propios, que pueden ser reales o complejos. Si un valor propio es complejo, su complejo conjugado tambin es valor propio. Sin embargo, no siempre existen n vectores propios. Los valores propios de multiplicidad algebraica m>1 tienen un subespacio propio asociado de dimensin <=m (multiplicidad geomtrica). Todos los vectores en este subespacio propio son vectores propios. Las matrices que tienen menos de n vectores propios se llaman matrices defectivas. Los vectores propios pertenecen al subespacio nulo de (AxI) y no estn unvocamente determinados: Si x es un vector propio, (x) tambin lo es. Si un valor propio es mltiple y su subespacio propio tiene dimensin mayor que uno, hay infinitas posibilidades de elegir una base ortonormal de dicho subespacio propio.
Ax1 = 1x1

x1
Ax 2 = 2x 2

x2

Ax
x

Figura 32. Interpretacin geomtrica de los valores y vectores propios.

En lo sucesivo, salvo que se indique lo contrario, se considerarn matrices reales. Para las matrices reales, los vectores propios asociados con valores propios conjugados son tambin vectores complejos conjugados entre s.

lgebra lineal numrica con Matlab

pg. 46

3.2

Interpretacin geomtrica de los valores y vectores propios

Por lo general, el vector Ax no tiene la misma direccin que x. Los vectores propios son vectores que se transforman sin cambiar de direccin. El valor propio determina el cambio de longitud.

3.3

Propiedades de los valores y vectores propios

3.3.1 Subespacios propios Los vectores propios asociados con un mismo valor propio forman un subespacio vectorial de Rn. En efecto, si x1 y x2 son vectores propios asociados a un mismo valor propio , se verificar:
A ( x1 + x 2 ) = Ax1 + Ax 2 = ( x1 + x 2 )

(205)

lo que demuestra que una combinacin lineal de vectores propios asociados con un mismo valor propio es tambin vector propio. Estos subespacios vectoriales formados por vectores propios se conocen como subespacios propios. Por otra parte, los subespacios propios correspondientes a valores propios distintos slo tienen en comn el vector nulo. En efecto, si x es un vector propio comn, por reduccin al absurdo:
Ax = 1x 0 = (1 2 )x x = 0 Ax = 2x

(206)

Como consecuencia, los vectores propios correspondientes a valores propios distintos son linealmente independientes. 3.3.2 Relacin de los valores propios con la traza y el determinante Igualando coeficientes en las distintas expresiones del determinante det(AI)=0 de la ecuacin (204) se deducen las propiedades siguientes (frmulas de Vieta):
det ( A I ) = a11 a12 an1 a22 a12 an 2 a1n a2 n

ann

= ( 1) n j j = ( 1) ( 1 )( 2 ) ( n )
j n j =0

(207)

donde n j es la suma de los menores principales de orden ( n j ) de la matriz A:

1 = 1 + 2 + ... + n 2 = 12 + 13 + ... + n 1n

(208)

n = 123 ...n
En concreto, igualando los coeficientes de y de n se obtiene que: La suma de los valores propios es igual a la traza de la matriz. El producto de los valores propios es igual al determinante de la matriz. 3.3.3 Propiedad de "desplazamiento" de los valores propios Si los valores propios de la matriz A son i, los valores propios de la matriz (AI), siendo un escalar, son (i). Los vectores propios xi de la matriz A siguen siendo vectores propios de la matriz (AI):

Valores y vectores propios

pg. 47

Ax i = i x i ;

restando x i

( A I ) xi = ( i ) xi

(209)

Esta propiedad es importante en algunos mtodos numricos de clculo de valores propios. 3.3.4 Casos particulares del problema de valores propios De la expresin del determinante se deduce que los valores propios de una matriz diagonal, o de una matriz triangular superior o inferior son los elementos de la diagonal. Los vectores propios de las potencias de A son los mismos vectores propios de A; los valores propios de las potencias de A son las correspondientes potencias de los valores propios de A: Ax = x; A 2 x = Ax = 2 x; ... A n x = n x Anlogamente, para las potencias negativas, suponiendo que A sea invertible: Ax = x; A 1Ax = A 1x; A 1x = 1x (211) (210)

3.4

Transformaciones de semejanza

3.4.1 Matrices semejantes Dos matrices A y B son semejantes si existe una matriz no singular M tal que: B = M 1AM Se dice que A y B estn relacionadas mediante una transformacin de semejanza. Las matrices semejantes tienen los mismos valores propios. Partiendo de la definicin de valor propio de A: (212)

Ax = MBM 1x = x
Pre-multiplicando por la inversa de la matriz M: B( M 1x ) = M 1 x = ( M 1x ) de donde se deduce que es un valor propio de B asociado con el vector propio (M1x).

(213) (214)

Es fcil comprobar que dos matrices semejantes A y B tienen el mismo polinomio caracterstico:
det( B I) = det(M 1AM M 1M ) = = det( M 1 ( A I)M ) = det M 1 det( A I) det M = det( A I)

(215)

3.4.2 Diagonalizacin mediante transformaciones de semejanza Si una matriz A R nn tiene n vectores propios linealmente independientes se puede diagonalizar mediante una transformacin de semejanza. En efecto, expresando la condicin de valor y vector propio para los n valores y vectores propios simultneamente:
1 0 0 2 xn ] 0 0 0 0 n

Axi = i xi

A [ x1

x 2 x n ] = [ x1

x2

(216)

Llamando ahora P a la matriz cuyas columnas son los n vectores propios independientes y D a la matriz diagonal formada por los valores propios:

lgebra lineal numrica con Matlab

pg. 48

P [ x1 AP = PD

x2 xn ] ,

D diag ( 1 , 2 ,..., n )
y

P 1AP = D

A = PDP 1

(217)

Para que una matriz sea diagonalizable, debe tener n vectores propios linealmente independientes. Para que sea invertible, debe tener los n valores propios distintos de cero. Las matrices defectivas tienen menos de n vectores propios independientes. No se pueden diagonalizar mediante transformaciones de semejanza. Se pueden reducir a la forma cannica de Jordan. 3.4.3 Reduccin a forma triangular mediante transformaciones de semejanza
Teorema: Toda matriz cuadrada A Cnn se puede reducir mediante una transformacin de semejanza S1AS a una matriz triangular superior T, cuyos valores propios aparecen en la diagonal.
Demostracin: Siempre es posible encontrar para A un vector propio x1 asociado con 1 (en general, ambos complejos). Se puede construir una matriz no singular S1, con el vector x1 en la primera columna, tal que al multiplicar S1 por el primer vector de la base natural e1 se tiene:
S1e1 = x1

1 S1 x1 = e1

(218)

Aplicando a la matriz A la transformacin de semejanza definida por la matriz S1:


1 bT 1 1 1 1 B1 = S1 AS1 = S1 A [ x1 , X1 ] = S1 e S AX = , [1x1 , AX1 ] = 1 11 1 0 A1

(219)

Los valores propios de B1 son los de A, pues son matrices semejantes; los de A1 son los de A con la multiplicidad de 1 disminuida en una unidad. Ahora a la matriz A1 se le puede aplicar idntico razonamiento que a A, pues tambin tendr al menos un vector propio asociado con 2 . La segunda transformacin de semejanza se deber hacer con una matriz que respete los ceros introducidos por la primera, es decir mediante una matriz que tenga la forma:
1 0T P2 = 0 S 2

(220)

1 La matriz B 2 = P21S1 AS1P2 es semejante a A, y tiene ceros debajo de la diagonal en las dos primeras columnas. Continuando con transformaciones de semejanza de este tipo se llega finalmente a transformar A en una matriz triangular superior T, cuyos valores propios estn en la diagonal. La forma cannica de Jordan es un caso particular de matriz triangular superior a la que cualquier matriz es reducible por semejanza.

3.4.4 Transformaciones de semejanza unitarias Las matrices unitarias son una generalizacin de las matrices ortogonales al campo complejo. Estas matrices UCnn cumplen la propiedad de que su inversa es la conjugada y transpuesta: U 1 = U H U H U = UU H = I (221) Se llama transformacin de semejanza unitaria a una transformacin de semejanza realizada mediante una matriz unitaria: B = U H AU, siendo U 1 = U H (222)

Las transformaciones de semejanza unitarias tienen todas las propiedades de las transformaciones de semejanza (y algunas ms). Las matrices A y B relacionadas por la ecuacin (222) se dicen unitariamente semejantes. Se llaman matrices unitariamente diagonalizables (triangularizables) a las matrices que se pueden reducir a forma diagonal (triangular) mediante una transformacin de semejanza unitaria. Hay matrices diagonalizables que no son unitariamente diagonalizables.

Valores y vectores propios

pg. 49

Se cumple que si las matrices A y B son unitariamente semejantes, las matrices AHA y BHB tambin lo son (con la misma matriz U): B = U H AU, B H = U H A H U; U H A H AU = ( U H A H U )( U H AU ) = B H B (223)

Las transformaciones de semejanza conservan el polinomio caracterstico y por tanto la traza, luego la suma de los cuadrados de los mdulos de los elementos de la matriz se conserva en las transformaciones de semejanza unitarias:

i , j =1

aij = traza ( A H A ) = traza ( B H B ) =


2

i , j =1

ij

(224)

3.4.5 Lema de Schur


Enunciado: Para cualquier matriz cuadrada ACnn existe una matriz unitaria U tal que T=UHAU es triangular superior.
Demostracin: Se demuestra por induccin. La proposicin es cierta para n=1. Supngase que toda matriz (n1)(n1) es unitariamente semejante a una matriz triangular superior.
Para cualquier matriz nn siempre es posible encontrar un vector propio x1 asociado con un valor propio 1 (aunque 1 sea mltiple, su subespacio propio tendr al menos un vector propio). Construyendo una matriz unitaria U1 cuya primera columna es x1 y eligiendo las dems columnas de modo que sean ortonormales, se verificar:
1 * * 0 * * AU1 = U1 0 * * 1 0 H U1 AU1 = 0 * * 1 * * =0 0 * * 0 * * * B

(225)

Pero por hiptesis la matriz B es una matriz (n1)(n1) unitariamente semejante a una matriz triangular superior luego A es unitariamente semejante a una matriz triangular T. La matriz A se podr finalmente expresar B = U B TB U H B como:
1 0 U2 = 0 0
0 0 0 UB

1 H H H 0 U2 U1 AU1U 2 = U 2 0 0

* * * 1 U = 0 2 0 B 0

* * * TB

(226)

Desde un punto de vista constructivo, la matriz A se puede reducir a forma triangular determinando un vector propio para B y construyendo a partir de l la matriz UB, y continuando sucesivamente hasta que la matriz se haga triangular.

3.5

Matrices normales

3.5.1 Definicin, casos particulares y propiedades Una matriz ACnn se llama normal cuando el producto por su matriz conjugada transpuesta AH es conmutativo: AA H = A H A Casos particulares de matrices normales: En Cnn todas las matrices hermticas, antihermticas y/o unitarias son normales. En Rnn todas las matrices simtricas, antisimtricas u ortogonales son normales. Tambin existen matrices normales que no pertenecen a las categoras precedentes. Todas las matrices B unitariamente semejantes a una matriz normal A son tambin normales: (227)

lgebra lineal numrica con Matlab

pg. 50

BB H = ( U H AU )( U H A H U ) = U H AA H U = U H A H AU = U H A H ( UU H ) AU = B H B

(228)

Dada una matriz normal A, los vectores propios de AH son los mismos que los de A, y los valores propios de AH son los conjugados de los valores propios de A:

U H AU = D U H A = DU H

A H U = UD H = UD

(229)

3.5.2 Teorema espectral para matrices normales


Enunciado: Sea ACnn una matriz cuyos valores propios son 1, 2, ..., n. Las siguientes afirmaciones son equivalentes entre s (cada una de ellas implica todas las dems):

a) La matriz A es normal. b) La matriz A es unitariamente diagonalizable. c) Se verifica la igualdad:


n n

i , j =1

aij = i
2
i =1

d) La matriz A tiene n vectores propios ortonormales entre s.


Demostracin. Se demostrar la equivalencia entre a) y b), entre b) y c) y entre b) y d): a) b): Una matriz es unitariamente diagonalizable si y slo si es normal.
Por el Lema de Schur, toda matriz ACnn es unitariamente semejante a una matriz triangular superior T:
U H AU = T

(230)

Si A es normal, tambin lo ser T, pues la condicin de normal es conservada por las transformaciones de semejanza unitarias. Se va a demostrar que si una matriz triangular es normal, en realidad es diagonal. La Figura 33 muestra la forma del producto THT, mientras que la Figura 34 lo hace con el producto TTH. Si T es normal, ambos productos deben dar el mismo resultado.

0
T T
H

0 0
TT
H

0
Figura 34. Forma del producto TTH.

Figura 33. Forma del producto THT.

De la igualdad de elementos (1,1) se concluye que en la primera fila de T slo el elemento de la diagonal es distinto de cero:

(T T)
H

2 2 H ( TT )11 = t1 j t1 j = t11 + t1 j j =1 j =2
11

= t11t11 = t11
n

t
j =2

1j

=0

t1 j = 0, j = 2,3,..., n

(231)

De la igualdad de elementos (2,2) se concluye que en la segunda fila de T slo el elemento de la diagonal es no nulo:

(T T)
H H

22

= t12t12 + t22t22 = t22

( TT )

22

n n 2 2 = t2 j t2 j = t22 + t2 j j =2 j =3
2

t
j =3

2 2j

=0

t2 j = 0, j = 3, 4,..., n

(232)

Prosiguiendo del mismo modo con los restantes elementos de la diagonal de ambos productos se demuestra que T y TH deben ser diagonales. Por tanto, toda matriz A normal es unitariamente diagonalizable. El recproco, que toda matriz unitariamente diagonalizable es normal, se cumple porque toda matriz diagonal es normal, y por tanto tambin lo ser A que es unitariamente semejante a ella.

Valores y vectores propios

pg. 51

b) c): En una matriz unitariamente diagonalizable se cumple que:

i , j =1

ij

2 = i . i =1

La traza se conserva en las transformaciones de semejanza, pues es el 2 coeficiente del polinomio caracterstico, que es un invariante. Si A y D son unitariamente semejantes, aplicando la propiedad vista en la expresin (224):

i , j =1

ij

= traza ( A H A ) = traza ( D H D ) = i
i =1

(233)

Recprocamente, esta propiedad indica que la matriz triangular T = U H AU , unitariamente semejante a A y con los valores propios en la diagonal, debe ser diagonal, pues si se cumplen simultneamente la condicin c) y la ecuacin (224), la suma de los cuadrados de los mdulos de los elementos de fuera de la diagonal debe ser nula.

b) d): Toda matriz es unitariamente diagonalizable si y slo si tiene n vectores propios ortonormales entre s.
Si A es diagonalizable mediante una matriz unitaria U:
U H AU = D AU = UD

(234)

Las n columnas de U son vectores propios ortonormales de A y los elementos de D los valores propios. Recprocamente, si A tiene n vectores propios ortonormales que son las columnas de U, la misma expresin (234) indica que es unitariamente diagonalizable.

3.5.3 Corolarios del teorema espectral Si A es una matriz normal (y por tanto unitariamente diagonalizable) se cumple que: La matriz A es hermtica si y slo si sus valores propios son reales:
A = A H U H AU = D, U H A H U = D H D = D H D real

(235)

Como caso particular, las matrices reales y simtricas siempre tienen valores propios reales. La matriz A es antihermtica si y slo si sus valores propios son imaginarios puros: A = A H U H AU = D, U H A H U = D H = D D : d ii imaginarios puros (236)

La matriz A es unitaria si y slo si sus valores propios tienen mdulo unidad: AH A = I A H A = ( UD H U H )( UDU H ) = UD H DU H = I
H

DH D = I

(237)

La matriz A es normal si y slo si los vectores (Ax) y (A x) tienen la misma norma eucldea (sin demostracin): 3.5.4 Descomposicin espectral de matrices normales Toda matriz normal por tanto unitariamente diagonalizable admite una descomposicin espectral mediante la que se expresa como suma de matrices de rango 1, en la forma: A = UDU H = [u1
H 1 u1 n H k u k u k un ] = k =1 H n u n

(238)

Esta descomposicin es una forma alternativa de considerar la diagonalizacin unitaria de la matriz A. Se estudiar con algo ms de detalle en el apartado 4.3.

lgebra lineal numrica con Matlab

pg. 52

3.6

Formas cuadrticas y transformaciones de congruencia

3.6.1 Definicin y propiedades de las formas cuadrticas Una forma cuadrtica en Rn es un polinomio homogneo de grado dos en n variables, es decir funcin : R n R de la forma:

( x ) = ( x1 , x2 ,..., xn ) = aij xi x j = xT Ax,


i , j =1

A R nn , AT = A

(239)

Las formas cuadrticas pueden reducirse a forma diagonal mediante cambios de coordenadas en el vector x. Como A es simtrica, una forma particular de reducir la forma cuadrtica a forma diagonal es mediante una transformacin de semejanza unitaria que la diagonalice. Sin embargo, como no se exige que el cambio de coordenadas sea unitario u ortogonal, una misma forma cuadrtica puede transformarse en muchas formas cuadrticas diagonales diferentes, pero slo en una forma diagonal cannica. La forma diagonal cannica es aquella en la que todos los elementos de la diagonal son "1", "1" "0" (en este orden). 3.6.2 Transformaciones de congruencia Una transformacin de congruencia se define en la forma:
B = CT AC

( C no singular )

(240)

Estas transformaciones surgen de realizar un cambio de base en una forma cuadrtica:

= xT Ax; x = Cy; = y T CT ACy = y T By; B = CT AC

(241)

Las transformaciones de semejanza unitaria son tambin transformaciones de congruencia, pero no cualquier transformacin de congruencia es de semejanza o de semejanza unitaria. Permutar unas filas y las correspondientes columnas, multiplicar una fila y la correspondiente columna por un escalar, combinar filas y combinar del mismo modo las correspondientes columnas, son ejemplos de transformaciones de congruencia en una forma cuadrtica que pueden llevarla a una forma diagonal o a la forma diagonal cannica. 3.6.3 Ley de Inercia de Sylvester Enunciado: Todas las formas diagonales de una misma forma cuadrtica tienen el mismo nmero de coeficientes positivos, negativos y nulos. Como consecuencia, las transformaciones de congruencia conservan el signo de los valores propios, es decir, el nmero de valores propios negativos, iguales a cero y positivos.
Demostracin: Supngase dos formas diagonales de una misma forma cuadrtica (una misma forma cuadrtica en dos bases distintas) en un espacio E de dimensin n. Por la igualdad de rangos ambas tienen el mismo nmero de elementos no nulos.
2 2 2 2 2 ( u ) = y12 + ... + y 2 p y p +1 ... yq 1 yq yq +1 ... yr = 2 2 2 2 2 = z12 + ... + z 2 p + z p +1 + ... + zq 1 + zq zq +1 ... zr

(242)

Hay que demostrar que p=q. Se har por reduccin al absurdo. Supngase, por ejemplo, que p<q. Supngase un vector u0 cuya expresin en las coordenadas y tiene las p primeras coordenadas nulas, y en las coordenadas z dicho vector u tiene las (nq) ltimas coordenadas nulas.
y1 = y2 = ... = y p = 0; zq +1 = zq + 2 = ... = zn = 0

(243)

Tal vector u existe y es no trivial, pues hay (nq+p)<n condiciones. El vector u deber verificar simultneamente:

Valores y vectores propios


2 (u ) = y2 p +1 ... yr < 0, 2 ( u ) = z12 + ... + zq >0

pg. 53

(244)

lo cual es absurdo. De forma anloga se puede demostrar que p>q es imposible, luego p=q.

Una consecuencia prctica importante de la ley de inercia de Sylvester es que para cualquier matriz simtrica con una factorizacin A=LDLT, los signos de los pivots que aparecen en D coinciden con los signos de los valores propios de A, pues A y D estn relacionadas por una transformacin de congruencia. 3.6.4 Matrices definidas-positivas Una matriz simtrica A es definida-positiva si cumple: x H Ax > 0, x 0 Por otra parte, se dice que A es definida negativa cuando (A) es definida positiva. La condicin (245) es equivalente a cualquiera de las cuatro condiciones siguientes: Todos los valores propios de A son estrictamente positivos: i > 0, i Todos los menores principales de A son positivos: det( A k ) > 0, k Todos los pivots en la descomposicin A=LDLT son positivos: dii > 0, i La matriz A se puede descomponer en la forma: A = R H R
Demostracin:
1) (245) (246). Se pretende demostrar la siguiente equivalencia de propiedades:
xT Ax > 0, x 0 Ax j = j x j , j > 0 j

(245)

(246) (247) (248) (249)

( R no singular )

(250)

En efecto, si xT Ax > 0, x 0 , se cumplir:


Ax j = j x j xTj Ax j = j xTj x j

j > 0

(251)

Recprocamente, si todos los valores propios son positivos y los vectores propios ortonormales, la matriz A es definida positiva:
AQ = QD QT AQ = D, dii = i > 0
n i =1

x = Qy, xT Ax = y T QT AQy = y T Dy = i yi2 > 0, x = Qy 0

(252)

2)

(245) (247). Ahora se va a demostrar lo siguiente:


xT Ax > 0, x 0 det ( A k ) > 0, 1 k n

(253)

Si xT Ax > 0, x 0 , se verifica que det A = 12 ...n > 0 . Hay que demostrar que tambin se cumple para k<n. Todas las matrices Ak cumplen la condicin (245), y por tanto:
T xT Ax = xk

Ak 0T

x k T 0 = xk A k xk > 0

(254)

Como consecuencia todos los valores propios de Ak sern positivos y tambin sern positivos sus determinantes det Ak, que son el producto de los k valores propios correspondientes. Recprocamente, si det Ak>0 "k, la matriz A es definida positiva. Se demostrar por induccin en n. Est claro que si det A1>0, A1=a11>0 Se supone que An1 es definida positiva. Entonces existe una transformacin de congruencia tal que STA 1S=In1. La matriz A se puede escribir como:
n

lgebra lineal numrica con Matlab


ST T 0 0 A n 1 u S T T a 1 u 0

pg. 54

u A , u R n 1 , a R ; A = nT1 a u

0 I n 1 = T 1 v

v a

(255)

que es una matriz congruente con A y "casi" diagonal. Las ltimas fila y columna de esta matriz se pueden anular mediante transformaciones de congruencia (aadindoles alguna de las n1 primeras filas y columnas, multiplicadas por el factor adecuado). Estas transformaciones no alteran las n1 primeras filas y columnas, por lo que se llega finalmente a una matriz diagonal:
I 1 D = nT 0 0 , d det D = d

(256)

Este determinante (de una matriz congruente con A) debe tener el mismo signo que det A, que es positivo por hiptesis. As pues la matriz D es definida positiva, y tambin lo ser la matriz A que es congruente con ella. Esta propiedad que caracteriza a las matrices definidas positivas se conoce como criterio de Sylvester. 3) (247) (248). Ahora se va a demostrar lo siguiente:
det A k > 0, 1 k n

pivots eliminacin Gauss a (jjj 1) > 0

(257)

Si det A k > 0 , los pivots a jj

( j 1)

> 0 . La eliminacin de Gauss sin pivotamiento conserva los determinantes de


( k 1) akk = det A k det A k 1 > 0

las matrices Ak. Despus de triangularizar la matriz A, el pvot k se puede escribir en la forma:

(258)

y es positivo si los dos determinantes de Ak y Ak1 son positivos.


Recprocamente, si todos los pivots son positivos tambin los determinantes debern serlo, pues tanto el primer pvot como el primer determinante son a11.

4)

(245) (249). Se demostrar finalmente la equivalencia siguiente:


xT Ax > 0 x 0 A = RT R, rango R = n

(259) (260)

Si A=RTR la matriz A es definida positiva:


A = RT R xT Ax = xT R T Rx = Rx > 0 x 0, pues Ker ( R ) = 0
2

Recprocamente, si A es simtrica y definida positiva siempre admite la factorizacin de Choleski, como se puede demostrar a partir de la factorizacin:
A = LDLT =LD 2 D 2 LT = R T R
1 1

(261)

pues todos los pivots (elementos de la diagonal de D) son positivos. Es evidente que la matriz R es no singular.

3.6.5 Matrices semi-definidas positivas e indefinidas. Se dice que una matriz simtrica A es semi-definida positiva cuando cumple la condicin: x R n , xT Ax 0 y y 0, tal que yT Ay = 0 (262)

Las matrices semi-definidas positivas tienen valores propios positivos y nulos, pero no pueden tener ningn valor propio negativo. Siempre son singulares y tienen determinante nulo. Adems, su ncleo Ker(A) tiene al menos dimensin 1, como se deduce directamente de su definicin. Las matrices semi-definidas positivas A R nn se pueden factorizar en la forma A=RTR, siendo rango(R)<n. Se dice que la matriz A es semi-definida negativa cuando (A) es semidefinida positiva. Finalmente, se dice que una matriz simtrica A es indefinida cuando se cumple que: y , z 0 tal que y T Ay > 0 y zT Az < 0 (263)

Valores y vectores propios

pg. 55

Las matrices indefinidas tienen necesariamente valores propios positivos y negativos, y tambin pueden tener valores propios nulos. En este ltimo caso sern singulares, tendrn determinante nulo y un ncleo no vaco. Estas matrices no admiten factorizacin real en la forma A=RTR.

3.7

Cociente de Rayleigh

3.7.1 Definicin y relacin con los valores y vectores propios Para matrices simtricas se define el cociente de Rayleigh en la forma: x T Ax xT x

R(x ) =

(264)

Sustituyendo x por el vector propio xi se obtiene el valor propio i:

R(xi ) =

xT xT i Ax i i i x i = = i T xi xi xT x i i

(265)

Si los valores propios se ordenan de modo que 1 < 2 < ... < n , el cociente de Rayleigh es mnimo para x=x1, mximo para x=xn y presenta un valor estacionario para cualquier otro vector propio: R ( x ) = 2Ax(xT x) 2(xT Ax)x =0 (xT x) 2 2Ax(xT x) 2(xT Ax)x = 0 (266)

De aqu se concluye que la condicin de valor estacionario equivale a que el cociente de Rayleigh cumpla la ecuacin de valores propios: Ax x T Ax x = Ax R( x )x = 0 xT x (267)

Expresando x en base de vectores propios x=Qy:


R (x) =
2 2 1 y12 + 2 y2 + ... + n yn xT Ax y T QT AQy y T y = = = = 2 2 xT x yT y yT y + ... + yn y12 + y2

2 2 2 2 ( 2 1 ) y22 + ... + ( n 1 ) yn2 1 y12 + 2 y2 + ... + yn + ... + n yn y 2 + y2 = 1 1 12 + = + 1 1 2 2 2 2 2 2 + ... + yn + ... + yn + ... + yn y1 + y2 y12 + y2 y12 + y2

(268)

Si los valores propios se suponen ordenados de menor a mayor:

1 < 2 < ... < n

(269)

todos los trminos del numerador de la ltima fraccin son positivos y tambin la fraccin lo ser. Por tanto el mnimo de R(x) vale 1 y se produce cuando el vector x es x1 (y1=1, yj=0, j1). De forma anloga se puede demostrar que el mximo de R(x) vale n y se produce cuando x es el valor propio xn (yn=1, yj=0, jn) 3.7.2 Error en los valores propios estimados mediante el cociente de Rayleigh Si en el cociente de Rayleigh la aproximacin en el vector propio es lineal, la aproximacin en el valor propio es cuadrtica. En efecto, si x=xi+v, siendo v el error en xi, se cumple que R(x)=i+O(2).

lgebra lineal numrica con Matlab

pg. 56

Demostracin:
R ( xi + v ) =
T T 2 T (xT xT i + v )A(x i + v) i Ax i + 2 x i Av + v Av = T T 2 T (xT xT i + v )( x i + v ) i x i + 2 x i v + v v

(270)

Como el error v no tiene componente en xi, se cumplirn las relaciones:


v = j x j ,
j i

Axi = xi ,

xT i x j = ij ,

xT i Av = 0,

vT xi = 0,

vT Av = j 2 j
j i

(271)

Sustituyendo en la expresin (264) del cociente de Rayleigh:


R ( xi + v ) =

i + 0 + 2 j 2 j
1 + 2 2 j
j i j i

2 2 = i + 2 j 2 j 1 + j j i j i

(272)

Desarrollando en serie el segundo factor

((1 x )

= 1 x + x 2 x 3 + ... y agrupando trminos:

2 4 R ( x i + v ) = i + 2 j 2 j i j + ( j i j i

) + ...

(273)

3.7.3 Teorema mini-max y maxi-min (Teoremas de Courant-Fischer) Se comenzar explicando el teorema maxi-min para el 2 valor y vector propio. El mnimo valor del cociente de Rayleigh se obtiene para x = x1 y vale 1 . Supngase que ahora se quiere de nuevo calcular el mnimo de R(x) pero con la condicin de que x sea ortogonal a un vector dado w. Como hay menos libertad para elegir x que antes, el mnimo que se obtenga ser mayor que el mnimo obtenido cuando no haba restricciones, que era 1 . Supngase que ahora se toma otro w distinto y se vuelve a repetir el proceso, y as con todos los w posibles. Todos los mnimos obtenidos sern mayores o igual que 1 , pero por lo dems cada uno tendr una magnitud diferente. Para el segundo valor y vector propio, el teorema maxi-min establece que el mximo de los mnimos de R(x), sujeto a la restriccin xw, siendo w un vector arbitrario, es 2 y se obtiene cuando x=x2. En el caso general, para r2, el teorema maxi-min establece que:

r = max min
wi x

xT Ax xT x

r = 1, 2,...n

siendo xT w i = 0,

i = 1, 2,..., (r 1)

(274)

Demostracin: Expresando x en base de vectores propios y sustituyendo en R(x):


2 2 + ... + r2r + r2+1r +1 + ... + n n R = max min 1 1 2 2 2 2 j wi ... ... + + + + + r r +1 n 1

(275)

Operando de modo que aparezca el valor propio r :


2 ( 1 ) + ... + r21 (r r 1 ) + r2+1 (r r +1 ) + ... + n2 (r n ) R = max min r 1 r wi 12 + ... + r2 + r2+1 + ... + n2 j

(276)

Las incgnitas de la minimizacin son ahora los j, que estn restringidos por la condicin de que x sea ortogonal a los vectores wi:
T wT i x = w i j x j = 0,

i = 1, 2,..., r 1

(277)

Los valores de i deben minimizar el parntesis interior de la expresin (276), a la vez que satisfacen las restricciones (277). La fraccin, que tiene signo negativo (), deber ser lo mayor posible. Para ello, r+1=...=r=0, pues as se anulan los trminos negativos (que restan) del numerador de la fraccin. Los (r1) valores de (1, 2, ..., r1) se deben elegir

Valores y vectores propios

pg. 57

de modo que se cumplan las (r1) restricciones (277). Es evidente que R(x)<r pues a r se le est restando algo positivo. Sin embargo, para wi=xi, se cumple que 1=2= ...=r1=0 y se alcanza la igualdad R(x)=r. Con esto queda demostrado el teorema maxi-min. De forma anloga se puede demostrar en teorema mini-max.

Enunciado conjunto de los teoremas mini-max y maxi-min: El valor propio r se puede obtener de las expresiones siguientes:

r = 2,..., n 1

r = min max
wi x wi

xT Ax xT Ax = max min xw T T wi x x i x x

(278)

siendo xT w i = 0,

i = 1, 2,...,( r 1)

donde los wi son conjuntos de r vectores arbitrarios de Rn. 3.7.4 Interpretacin geomtrica de los teoremas mini-max y maxi-min La bsqueda de mximos y mnimos del cociente de Rayleigh se puede interpretar como la bsqueda de los puntos de un elipsoide que estn a una distancia mxima y mnima de su centro (ver Figura 35). La restriccin de ser perpendicular a un vector w obliga a buscar mnimos en la elipse que resulta de cortar el elipsoide con un plano perpendicular a dicho vector w. Se corta el elipsoide con muchos planos diferentes y se calcula el mnimo. El mximo de los mnimos es 2 y se obtiene cuando w=x1.

Figura 35. Elipsoide en R3.

3.7.5 Propiedad de "separacin" de los valores propios Si A(m) es la matriz que resulta de suprimir las ltimas m filas y columnas de la matriz A, se cumple que los (nm1) valores propios de A(m+1) separan estn entre los (nm) valores propios de A(m).
Demostracin: Esta propiedad se va a demostrar para A y A(1). La matriz A(1) resulta de suprimir la ltima fila y columna de A. Se trata de demostrar que se cumple la relacin:

r r(1) r +1

r = 1, 2,..., n 1

(279)

Considrense las tres caracterizaciones maxi-min siguientes:


x T Ax a) r +1 = max min T wi x wi x x
xT w i = 0

i = 1, 2,..., r

(280)

lgebra lineal numrica con Matlab


xT w i = 0 i = 1, 2,..., r w i arbitrario para i = 1, 2,..., r 1
xT wi = 0
i = 1, 2,..., r 1

pg. 58

xT Ax b) r(1) = max min T wi x wi x x

w r = en

(281) (282)

x T Ax c) r = max min T wi x wi x x

A ms libertad para elegir los vectores wi se podrn encontrar mayores mximos de los mnimos. La condicin a) deja ms libertad para elegir los wi que b), luego r +1 r(1) . La condicin b) deja ms libertad para elegir los wi que c), luego r(1) r .

3.8

Valores y vectores propios generalizados

3.8.1 Introduccin a partir del problema estndar El problema generalizado se puede introducir a partir del problema de valores y vectores propios estndar: Supngase que la matriz ARnn es simtrica. Sea el problema de valores y vectores propios estndar, planteado en la forma:
Ax = x

(283) (284)

Sea C una matriz relacionada con A mediante la transformacin de congruencia: C = PT AP donde la matriz P es una matriz cuadrada no singular. La ley de inercia de Sylvester asegura que los valores propios de C tienen los mismos signos que los de A, aunque en general tendrn diferentes valores numricos. Sean y y los vectores y valores propios de C: Cy = y, PT APy = y
1

(285) B ( PT P ) , Ax = Bx
1

Haciendo x=Py, la ecuacin (285) se puede poner en la forma: x = Py , y = P 1x Ax = P T P 1x = ( PT P ) x (286)

que es el llamado problema generalizado de valores y vectores propios. Muchas de las propiedades del problema estndar del que se ha partido se conservan en el problema generalizado. Por ejemplo, si la matriz C es simtrica y semidefinida positiva sus valores propios sern reales y no negativos. Estas mismas caractersticas tienen los valores propios generalizados de A y B cuando A es simtrica y semidefinida positiva, y B es simtrica y definida positiva (lo debe ser por la forma en que ha aparecido a partir de P, segn (286)). 3.8.2 Planteamiento del problema generalizado de valores y vectores propios Este problema se plantea matricialmente mediante la siguiente ecuacin en x y :
Ax = Bx

(287)

donde A y B son ser simtricas y definidas positivas al menos una de ellas, de ordinario B. La expresin anterior se puede poner en la forma:

( A B ) x = 0

(288)

Para que exista una solucin x distinta de la trivial, el valor propio deber ser raz del polinomio de grado n que resulta de desarrollar el determinante:
det ( A B ) = 0

(289)

Valores y vectores propios

pg. 59

Propiedades del problema de valores y vectores propios generalizado: Es un problema no lineal en los valores propios y lineal en los vectores x. Siempre existirn n valores propios, que pueden ser reales o complejos segn sean las matrices A y B. Los valores propios de multiplicidad m>1 tienen un subespacio propio asociado de dimensin m. Todos los vectores en este subespacio propio son vectores propios. Los vectores propios pertenecen a Ker(AB) y no estn unvocamente determinados: Si x es un vector propio, x tambin lo es. Este problema se considerar con menos generalidad que el problema estndar: se suele suponer que las matrices son reales y casi siempre simtricas y definidas positivas. La interpretacin geomtrica de este problema generalizado se puede ver en la Figura 36.
Ax1 = 1Bx1

Bx1 x1
x2

Bx 2

Ax 2 = 2 Bx 2

Bx
x

Ax

Figura 36. Interpretacin geomtrica del problema generalizado de valores y vectores propios.

Se pueden hacer algunos comentarios sobre la Figura 36: En general, los vectores Ax y Bx no tiene la misma direccin que el vector x. Los vectores propios generalizados son vectores que se transforman en vectores de la misma direccin con la matriz A que con la matriz B. El valor propio generalizado determina la diferencia en el cambio de longitud con una y otra matriz. La Figura 36 muestra un ejemplo en el que se observa la diferencia en cmo se transforma un vector cualquiera x y cmo se transforman dos vectores propios generalizados x1 y x2. En algunos casos prcticos el problema generalizado surge cuando se alinean fuerzas de distinta naturaleza, por ejemplo en Mecnica cuando se alinean las fuerzas de inercia y las fuerzas elsticas. 3.8.3 Reduccin del problema generalizado al problema estndar Supngase el problema generalizado de valores y vectores propios:
Ax = Bx

(290) (291)

Se desea transformarlo a la forma estndar. Pre-multiplicando por la inversa de B se obtiene:

B 1Ax = x

lgebra lineal numrica con Matlab

pg. 60

Este mtodo, aunque vlido, no es una forma prctica de resolver el problema porque se pierde la simetra y se hacen ms complicados los clculos. De otra forma, si la matriz B es simtrica y definida positiva se puede factorizar como B=RTR (R no singular) y se tiene:
Ax = Bx = R T Rx, AR 1y = R T y

y Rx

x = R 1y

R T AR 1y = y

(292)

Consecuencias: Si A y B son simtricas, la nueva matriz tambin lo es y los valores propios sern reales. Los valores propios del problema generalizado tienen los mismos signos que los valores propios de A (por la ley de inercia de Sylvester) Si A y B son simtricas, los vectores propios correspondientes a valores propios distintos son ortogonales respecto a dichas matrices:
Ax1 = 1Bx1 Ax 2 = 2 Bx 2
T xT 2 Ax1 = 1x 2 Bx1 T T x1 Ax 2 = 2 x1 Bx 2

( 1 2 ) xT 2 Bx1 = 0

xT 2 Bx1 = 0 T x 2 Ax1 = 0

(293)

Los vectores propios se suelen normalizar respecto a la matriz B: xT i Bx i = 1 (294)

Como consecuencia, la matriz P cuyas columnas son los vectores propios, diagonaliza por congruencia las matrices A y B simultneamente:
PT AP = D; PT BP = I
T

(295)

Introduciendo el cambio de variables x=Py y pre-multiplicando por P la ecuacin de valores y vectores propios se reduce a forma diagonal: Ax = Bx, x Py PT APy = PT BPy Dy = y (296) Obsrvese que la matriz de vectores propios P no es una matriz ortogonal puesto que PTPI. Para calcular la inversa de la matriz P (que no es PT) se puede proceder as:

PT BP = I

PT BPP 1 = IP 1

P 1 = PT B

(297)

Desplazamiento de los valores propios. Si se sustituye la matriz A por AB, los valores propios pasan a ser ():
AP = BPD;

( A B ) P = BPD BP;

( A B ) P = BP ( D I )

(298)

Los valores propios no cambian ante una transformacin de congruencia aplicada a ambas matrices A y B. La ecuacin de los valores y vectores propios es:
Ax = Bx

(299) (300)

Introduciendo la transformacin x=Cy y premultiplicando por CT CT ACy = CT BCy de donde se deduce que es un valor propio de las matrices CTAC y CTBC asociado con el vector propio y.

Valores y vectores propios

pg. 61

Valores propios cuando A tiene rango menor que n. En este caso los vectores de Ker(A) son vectores propios generalizados asociados con =0. Esto sucede cuando la matriz A es slo semidefinida positiva. Si es la matriz B la que tiene rango menor que n, los vectores de Ker(B) son vectores propios asociados con valor propio infinito: =. El papel de las matrices A y B puede intercambiarse escribiendo:

Ax = Bx
3.8.4 Cociente de Rayleigh para Ax=Bx

Bx = 1Ax

(301)

El cociente de Rayleigh para el problema generalizado se define en la forma:

R(x ) =
Propiedades:

xT Ax x T Bx

(302)

Derivando respecto a x para imponer la condicin de valor estacionario: (xT Bx) Ax (xT Ax)Bx R ( x ) = 2 =0 xT Bx xT Ax Ax T Bx = 0 x Bx (303)

de donde se deduce que los valores estacionarios se obtienen cuando x es un vector propio, en cuyo caso el cociente de Rayleigh es el valor propio correspondiente. Si las matrices A y B son simtricas y definidas-positivas
o Todos los valores propios son reales y mayores que cero. o El mnimo se obtiene para el valor propio ms pequeo 1 y el mximo para el valor propio ms grande n. o El caso de las matrices de rango menor que n se deduce fcilmente.

Clculo de valores y vectores propios. Si se conoce:


o el valor propio, el vector propio se calcula resolviendo (AiB)xi=0 y normalizando. o el vector propio, el valor propio se puede calcular con el cociente de Rayleigh.

Existen tambin versiones de los teoremas mini-max y maxi-min para este problema. 3.8.5 Convergencia a otros valores propios. Tcnicas de deflaccin matricial Para calcular el k-simo valor propio se itera con un vector B-ortogonal a los k1 vectores propios ya calculados (esta condicin se impone en cada paso). z k = z k j =1 ( xTj Bz k )x j
k 1

(304)

Tambin puede obtenerse la convergencia a otros valores y vectores propios mediante una transformacin de congruencia. Supngase calculado x1 y 1 ; sea S una matriz tal que: S = [ x1 s 2 s3 ... sn ] (305)

donde x1 es como se ha dicho un vector propio ya calculado, y s2, ..., sn son vectores linealmente independientes de x1 y entre s. Teniendo en cuenta que PTAP=D y PTBP=I:

lgebra lineal numrica con Matlab

pg. 62

1 0 ST AS = 0

A1

1 0 ST BS = 0

0 B1

(306)

Resulta que las matrices A1 y B1 ampliadas tienen los mismos valores propios que A y B, pues se relacionan con stas a travs de una transformacin de congruencia. Adems, tienen una fila y columna menos. Con transformaciones de este tipo se pueden calcular valores propios distintos de los ya calculados.

Factorizaciones de una matriz

pg. 63

4.
4.1

Factorizaciones de una matriz


Factorizacin LU

4.1.1 Ejemplo de factorizacin LU directa Para una matriz cuadrada de rango r=n la eliminacin de Gauss llega al siguiente resultado (ver apartado 2.5.2):
a11 a12 a a22 21 a31 a32 a41 a42

a13 a23 a33 a43

A = LU;

a14 1 0 a24 l21 1 = a34 l31 l32 a44 l41 l42

0 0 1

l43

0 u11 u12 0 0 u22 0 0 0 1 0 0

u13 u23 u33


0

u14 u24 u34 u44

(307)

Exactamente a este mismo resultado se puede llegar por identificacin directa de elementos, con el mismo n de operaciones aritmticas, pero con una secuencia ms favorable. Considrense los pasos siguientes: 1. A partir de la primera fila de A:

u1 j = a1 j
2.

j = 1, 2,..., n j = 2,3,...n

(308)

A partir de la primera columna de A:

a j1 = l j1u11;
3.

l j1 =a j1 / u11

(309)

A partir de la segunda fila de A, los elementos de la segunda fila de U:


a2 j = l21u1 j + 1 u2 j ; u2 j = a2 j l21u1 j = a2 j u12u1 j u11 j = 2,..., n

(310)

4.

A partir de la segunda columna de A, los elementos de la segunda columna de L:

a j 2 = l j1u12 + l j 2u22 ;
5.

l j2 =

1 ( a j 2 l j1u12 ) u22

j = 3,..., n

(311)

Para la tercera fila y columna de A: Elemento de la diagonal:

a33 = l31u13 + l32u23 + 1 u33


Resto de los elementos de la 3 fila:

u33 = a33 l31u13 l32u23 u34 = a34 l31u14 l32u24


1 ( a43 l41u13 l42u23 ) u33

(312)

a34 = l31u14 + l32u24 + u34

(313)

Resto de los elementos de la 3 columna:


a43 = l41u13 + l42u23 + l43u33 6. l43 = (314)

Para el ltimo elemento de la diagonal: a44 = l41u14 + l42u24 + l43u34 + 1 u44 u44 = a44 l41u14 l42u24 l43u34 (315)

lgebra lineal numrica con Matlab

pg. 64

4.1.2 Frmulas generales para la factorizacin LU


La Figura 37 muestra esquemticamente la factorizacin directa A=LU en un estado intermedio. Se supone que, utilizando los elementos de las partes rayadas de A, se han calculado ya las correspondientes partes rayadas de las matrices L y U. En el siguiente paso se van a calcular la columna i de L y la fila i de U, utilizando las correspondientes fila y columna de la matriz A (marcadas con lnea gruesa en la Figura). Hay que recordar que los elementos de la diagonal de L son unos.

0 0

Figura 37. Estado intermedio de la factorizacin A=LU.

Para calcular los elementos marcados (columna i de L y fila i de U, a partir de la diagonal) se procede del siguiente modo: 1. A partir de aii se calcula el elemento de la diagonal uii: aii = lik uki + uii
k =1 i 1 i 1

uii = aii lik uki


k =1

(316)

2. A partir de aij (j=i+1, , n) se calculan los elementos de la fila i de U: aij = lik ukj + uij
k =1 i 1

uij = aij lik ukj , j = i + 1,..., n


k =1

i 1

(317)

3. A partir de aji (j=i+1, , n) se calculan los elementos de la columna i de L: a ji = l jk uki + l ji uii


k =1 i 1

l ji =

i 1 1 a l jk uki , j = i + 1,..., n ji uii k =1

(318)

Las operaciones indicadas por las ecuaciones (316)-(318) presentan las siguientes ventajas respecto a la eliminacin de Gauss: 1. Estn fundamentalmente basadas en el producto escalar de vectores (fila de L por columna de U), operacin que se realiza de un modo muy eficiente en un computador. 2. Los elementos de las matrices L y U alcanzan su valor definitivo de una vez, sin resultados intermedios. De esta forma se minimiza el trasiego de datos entre el procesador y los distintos niveles de la memoria del ordenador. Tngase en cuenta que en los ordenadores modernos el acceso a memoria es tan costoso o ms que las propias operaciones aritmticas. En relacin con lo que se acaba de decir, todos los datos que se utilizan a la derecha de la igualdad en las expresiones (316)-(318) tienen ya su valor definitivo, por lo que pueden ser accedidos con operaciones de slo-lectura y hacer un uso muy eficiente de las memorias intermedias del procesador (memorias cache).

4.1.3 Factorizacin LU con matrices simtricas


Si la matriz A es simtrica las expresiones de lij y de uji coinciden, excepto en que los elementos lij estn divididos por los uii. Se puede escribir entonces la factorizacin en la forma:

Factorizaciones de una matriz

pg. 65

A = LU = LDLT
Hay dos posibilidades para almacenar los resultados de la factorizacin:

(319)

1. Almacenar U en la matriz resultado en su posicin habitual, incluyendo su diagonal. Se puede recuperar L fcilmente dividiendo las filas de U por el elemento de la diagonal y trasponiendo. 2. Almacenar D en la diagonal de la matriz resultado y LT en la mitad superior. En este caso, las filas de U se guardan ya divididas por el elemento de la diagonal. Los clculos pueden hacerse por filas o por columnas. A continuacin se desarrollar con detalle el clculo por filas, basndose en la representacin simblica de la matriz de la Figura 38. En el clculo por filas se supone que la parte rayada est ya calculada. Se van a calcular los elementos de la fila i de LT y el elemento de la diagonal de D (o de U). Se parte de las expresiones (316)(318) y se tiene en cuenta la relacin existente entre los elementos de U y los de LT y D. En primer lugar se calcula el elemento de la diagonal dii, distinguiendo segn las dos formas de almacenar los resultados: dii = aii lik uki = aii
k =1 i 1 i 1 i 1 uki u2 uki =aii ki k =1 ukk k =1 ukk i 1 i 1 2

(320)
Figura 38. Factorizacin LDLT de una matriz simtrica.

T T T dii = aii lki lki d kk = aii ( lki ) dkk k =1 k =1

(321)

El clculo de los elementos de la fila i (con lnea gruesa en la Figura 38) recuerda al producto escalar de la columna i por la columna j, excepto que cada sumando est dividido (o multiplicado) por el elemento de la diagonal. Estas divisiones restan eficiencia a los clculos. Calculando U:
uij = aij lik ukj = aij
k =1 k =1 i 1 i 1

uki ukj ukk

j = i + 1,..., n

(322)

Si se almacena LT, es decir, los elementos de U divididos por el elemento de la diagonal:


T = lij

1 dii

i 1 i 1 1 T T = a l u a lki lkj d kk , ij ik kj ij d k =1 k =1 ii

j = i + 1,..., n

(323)

El algoritmo puede modificarse para resolver la dificultad de tener que dividir (o multiplicar) por el elemento de la diagonal, al mismo tiempo que se vectoriza. La clave est en construir un vector auxiliar v cuyos elementos son los de la columna i de LT multiplicados cada uno de ellos por el correspondiente elemento de la diagonal. Las expresiones (321) y (323) se transforman en:
T T T dii = aii lki lki d kk =aii lki vk k =1 k =1 i 1 i 1 1 1 T T T l = aij lki lkj d kk = aij lkj vk , dii k =1 k =1 dii T ij i 1 i 1

(324) j = i + 1,..., n (325)

La factorizacin LU, almacenando D y LT sobre la propia matriz A y utilizando las ecuaciones (324) y (325), puede programarse en Matlab como se muestra a continuacin:

lgebra lineal numrica con Matlab

pg. 66

function [D,Lt]=LUsim(A) n=size(A,1); % primera fila de L' for j=2:n A(1,j)=A(1,j)/A(1,1); end for i=2:n % se forma el vector auxiliar v for k=1:i-1; v(k)=A(k,i)*A(k,k); end % clculo del elemento diagonal for k=1:i-1 A(i,i)=A(i,i)-v(k)*A(k,i); end % clculo del resto de la fila i for j=i+1:n for k=1:i-1 A(i,j)=A(i,j)-v(k)*A(k,j); end A(i,j)=A(i,j)/A(i,i); end end D=diag(A); Lt=eye(n)+triu(A,1);

4.1.4 Factorizacin LU vectorizada


Al igual que en el apartado anterior, el resultado contendr la matriz D y la matriz LT almacenadas sobre la matriz A original. Las expresiones utilizadas son las mismas que en el programa anterior. El programa de factorizacin puede ser como sigue (slo dos bucles for):
function [d,Lt]=LUsimVect1(A) % se guardan D y L' (A=L*D*L') n=size(A,1); v=zeros(n,1); d=zeros(n,1); d(1)=A(1,1); % se divide la fila 1 por A(1,1) A(1,2:n)=A(1,2:n)/A(1,1); for i=2:n % vector auxiliar v(1:i-1)=A(1:i-1,i).*d(1:i-1); % elemento diagonal fila i dii=A(i,i); dii=dii-v(1:i-1)'*A(1:i-1,i); d(i)=dii; A(i,i)=dii; % clculo del resto de la fila i for j=i+1:n A(i,j)=(A(i,j)-v(1:i-1)'*A(1:i-1,j))/dii; end end Lt=eye(n)+triu(A,1);

La vectorizacin del algoritmo de factorizacin directa puede llegar an ms lejos: El siguiente programa de Matlab calcula la factorizacin LU utilizando doble vectorizacin (con un solo bucle for):
function [d,Lt]=LUsimVect2(A) % se guardan D y L' (A=L*D*L') n=size(A,1); v=zeros(n,1); d=zeros(n,1); d(1)=A(1,1); % primera fila de L' A(1,2:n)=A(1,2:n)/A(1,1);

Factorizaciones de una matriz

pg. 67

% restantes filas for i=2:n % vector auxiliar: columna i dividida diagonal v(1:i-1)=A(1:i-1,i).*d(1:i-1); % elemento de la diagonal dii=A(i,i); dii=dii-v(1:i-1)'*A(1:i-1,i); A(i,i)=dii; d(i)=dii; % resto de la fila i A(i,i+1:n)=(A(i,i+1:n)-v(1:i-1)'*A(1:i-1,i+1:n))/dii; end Lt=eye(n)+triu(A,1);

Para ofrecer una idea de la eficiencia de la vectorizacin y de los propios ficheros *.m de Matlab, se ha construido y ejecutado una funcin comparativa que llama a las funciones anteriores y a la funcin lu() de Matlab. Los resultados obtenidos con un procesador Intel Pentium 4 a 3 Ghz han sido los siguientes (tiempo en segundos): n
250 500 1000

LUsim
0.2190 1.5940 12.2810

LUsimVect1 LUsimVect2
0.5470 2.4840 11.4380 0.0470 0.3280 3.4220

lu()
0.0160 0.0620 0.4060

Hay que tener en cuenta que se ha utilizado la versin 6.5 de Matlab, que incorpora un JIT (JustIn-Time) Accelerator. Los resultados de esta tabla muestran que el acelerador JIT consigue que el cdigo normal sea ms rpido que la vectorizacin simple, aunque no tan rpido como la vectorizacin doble. La funcin lu() de Matlab, escrita en Fortran C y compilada, es en cualquier caso mucho ms rpida que cualquiera de los ficheros *.m.

4.1.5 Factorizacin de Choleski


Esta factorizacin se aplica a matrices simtricas y definidas positivas, pues hace falta que est garantizado el que todos los pivots sean positivos. Est basada en la siguiente expresin:

A = LU = LDLT = LD1/ 2D1/ 2LT = LLT


Si se trabaja con L y con la parte inferior de A, las expresiones son las siguientes: Elemento de la diagonal: aii = l l = l + l
k =1 T ik ki k =1 2 ik i i 1 2 ii 1

(326)

i 1 2 lii = aii lik k =1

(327)

Restantes elementos de la columna i:


T = l jk lik + l ji lii a ji = l jk lki k =1 k =1 i i 1

l ji =

i 1 1 a l jk lik ji lii k =1

(328)

La factorizacin de Choleski requiere un cdigo muy similar al visto anteriormente.

4.2

Factorizacin QR

4.2.1 Factorizacin QR por Gram-Schmidt


El mtodo de ortogonalizacin de Gram-Schmidt fue ya considerado en el apartado 1.2.4. Ahora se va a utilizar para pasar de una matriz cuadrada A, de tamao nn, cuyas columnas son independientes, a una matriz ortogonal Q:

lgebra lineal numrica con Matlab

pg. 68

A = [a1

a2

an ]

Q = [q1

q2

qn ]

(329)

Recurdese que L [a1 , a 2 ,..., a k ] = L [q1 , q 2 ,..., q k ] , es decir, que las k primeras columnas de A general el mismo subespacio que las k primeras columnas de Q. Segn esto, cada vector ai slo tiene componentes en los i primeros vectores ortonormales q, es decir:
T a1 = ( q1 a1 ) q1 T a 2 = ( q1 a2 ) q1 + ( qT 2 a2 ) q 2 T T a3 = ( q1 a3 ) q1 + ( qT 2 a3 ) q 2 + ( q 3 a3 ) q 3

(330)

Las ecuaciones (330) indican que las matrices A y Q se relacionan a travs de una matriz triangular superior R, que es cuadrada nn e invertible:
T T q1 a1 q1 a2 T 0 q 2 a2 qn ] 0 0 T q1 an T q 2 an T q n an

[a1

a 2 an ] = [ q1 q 2

A = QR

(331)

La factorizacin QR suele aplicarse de modo que todos los elementos de la diagonal de R sean positivos (la funcin qr() de Matlab sin embargo, no cumple esta condicin). La fila i de Q representa las componentes de todas las columnas de A segn el vector qi de la base ortonormal. La columna j de R representa las componentes de aj en los vectores de la base ortonormal. Como se ver a continuacin, esta factorizacin mantiene pleno sentido aunque el nmero de columnas de A sea inferior al nmero de filas. El mtodo de Gram-Schmidt se suele aplicar segn el llamado algoritmo modificado, que utiliza una secuencia de operaciones diferente a la convencional. En el algoritmo modificado, tan pronto como se halla un vector de la base ortonormal qi se hacen ortogonales respecto a l todos los vectores aj, j=i+1,...,n. Las expresiones correspondientes son las siguientes:
q1 = a1 a1 q2 = a2 a2
...
T a j = a j ( q1 a j ) q1

j = 2,3,..., n j = 3, 4,..., n j = i + 1,..., n

a j = a j ( qT 2 a j ) q2 a j = a j ( qT i a j ) qi

(332)

q i = ai ai

4.2.2 Factorizacin QR de matrices rectangulares


Considrese una matriz rectangular A, de tamao mn (m>n). Se puede obtener una matriz Q, tambin mn, cuyas columnas son ortonormales y generan el mismo subespacio de Rm que las de A. Las frmulas anteriores (330) y (331) se aplican tambin en este caso. La matriz Q es mn, pero la matriz R es cuadrada nn. A esta factorizacin se le llama factorizacin QR incompleta, porque las columnas de Q no constituyen una base completa de Rm (en este caso Q no es una matriz ortogonal, sino lo que se llam matriz de columnas ortogonales). La factorizacin QR completa obtiene una matriz Q ortonormal (mm) aunque la matriz A sea rectangular, aadiendo a la matriz R tantas filas de ceros como columnas se han aadido a Q (la Figura 39 representa grficamente la factorizacin QR completa de una matriz rectangular):

Factorizaciones de una matriz

pg. 69

[a1

a 2 a n ] = [q1 q 2 q n

q n +1 q m ]

T T q1 a1 q1 a2 T q2 a2 0 0 0 0 0 0 0

T an q1 T q2 an T qn an 0 0

(333)

R A

Q 0

Figura 39. Factorizacin QR completa de una matriz rectangular.

La factorizacin QR se puede utilizar para resolver sistemas de ecuaciones lineales. En s es ms cara que la factorizacin LU, pero es ms estable y es ventajosa siempre que por algn motivo se disponga ya de ella. Con la factorizacin QR la resolucin de un sistema de ecuaciones lineales se reduce a un producto por QT y a una vuelta atrs con una matriz triangular superior:

Ax = b

A = QR

QRx = b

Rx = y y = QT b x = R 1y Qy = b

(334)

En el caso de las ecuaciones normales propias del mtodo de los mnimos cuadrados su aplicacin es mucho ms ventajosa, porque las ecuaciones normales suelen tener nmeros de condicin altos. En este caso se llega a:
Ax = b A T Ax = A T b A = QR R T QT QRx = R T QT b

(335)

y como Q es ortogonal y R triangular superior e invertible, la ecuacin final es muy fcil de resolver
R T Rx = RT QT b

Rx = QT b

(336)

A continuacin se incluye una funcin de Matlab para la factorizacin QR incompleta mediante el mtodo de Gram-Schmidt modificado
function [Q,R]=QRgsmod(A) % Factorizacin QR (G.-S. modificado) [m,n]=size(Q); R=zeros(n,n); for k=1:n % norma de la columna k R(k,k)=norm(Q(:,k)); % se normaliza la columna k Q(:,k)=Q(:,k)/R(k,k); % Se elimina la columna k de las siguientes columnas for j=k+1:n R(k,j)=Q(:,k)'*Q(:,j); Q(:,j)=Q(:,j)-Q(:,k)*R(k,j); end end

lgebra lineal numrica con Matlab

pg. 70

4.2.3 Factorizacin QR mediante matrices de Householder


La factorizacin QR puede hacerse tambin por medio de transformaciones de Householder, de modo an ms estable que con Gram-Schmidt. Adems este mtodo es ms adecuado cuando se desea obtener la factorizacin QR completa. En el apartado 1.7.5 se vio que pre-multiplicando por matrices de Householder se pueden hacer ceros por debajo de la diagonal principal en todas las columnas de una matriz rectangular A:

U n 1...U 2 U1A = R

(337)

Cada matriz Uj tiene las (j1) primeras filas y columnas iguales a las de la matriz identidad Im. Los restantes elementos contienen una matriz de simetra de Householder que responde a la expresin:

H =I2

vvT = I vvT , vT v

v = x x e1

(338)

siendo x el vector cuyas componentes 2, 3, ..., n se quiere anular. Pre-multiplicando la expresin (337) por las inversas de las matrices de simetra Ui y teniendo en cuenta que el producto de matrices unitarias es tambin unitaria:
1 1 1 A = U1 U 2 ...U n 1R = U1 U 2 ...U n 1R = QR ,

Q U1 U 2 ...U n 1

(339)

No es necesario formar explcitamente las matrices Ui y menos an realizar los productos de matrices que aparecen en las expresiones anteriores. La matriz Hi se puede calcular mediante la expresin (338) a partir del vector v cuando se necesite, pero para hacer un producto HA basta disponer del vector v, como se explic en el apartado 1.7.6:

HA = ( I vvT ) A = A vvT A = A v ( AT v )

Por otra parte, el vector v se puede calcular a partir de x mediante la funcin householder.m, explicada en el apartado 1.7.5. Con este mtodo, aunque la matriz A sea rectangular (m>n), se obtiene la factorizacin QR completa. A continuacin se muestra un programa de Matlab para hacer la factorizacin QR por Householder.
% QR por el mtodo de Householder function [Q,R]=QRhouse(A) [m,n]=size(A); if m<n, disp('m no puede ser menor que n'), exit, end R=zeros(n,n); Q=eye(m); beta=zeros(n,1); for j=1:n % crear el vector de Householder if j<m [v,beta(j)]=householder(A(j:m,j)); % actualizar la matriz H A(j:m,j:n)=(A(j:m,j:n)-beta(j)*v(1:m-j+1)*(v(1:m-j+1)'*A(j:m,j:n))); % almacenar v en los ceros hechos en la matriz A A(j+1:m,j)=v(2:m-j+1); end end % Q y R no se guardan explcitamente % Para obtener Q se puede multiplicar I(n,n) por la secuencia de transformaciones % Q=H1*H2*...*Hn-1*I % Q=I; Q=Hj*Q; j=n-1:-1:1

Factorizaciones de una matriz

pg. 71

for j=n:-1:1 % se extrae v de H, aadiendo el "1" v(j:m)=[1;A(j+1:m,j)]; % se aplica la frmula H*Q=Q-v*w'; % donde w=beta*Q'*v; Q(j:m,j:m)=(eye(m-j+1)-beta(j)*v(j:m)*v(j:m)')*Q(j:m,j:m); end % R est en la parte superior de A R=[triu(A(1:n,1:n)); zeros(m-n,n)];

4.2.4 Factorizacin QR mediante rotaciones de Givens


Las matrices de simetra de Householder permiten hacer ceros en una columna, debajo de la diagonal, en un solo producto matricial. Las matrices de rotacin de Givens, vistas en el apartado 1.6.3, slo introducen un cero en cada producto matricial. Las matrices de Givens son tambin ortogonales y ms sencillas que las de Householder, pero en general no resultan rentables para hacer en muchos pasos los ceros que las matrices de Householder hacen en uno solo. Sin embargo, las matrices de Givens se aplican con ventajas respecto a las de Householder en todos aquellos casos en los que se trata de hacer ceros selectivamente, es decir, en slo unos pocos elementos debajo de la diagonal. Tal sucede por ejemplo en las matrices tridiagonales o con forma de Hessenberg, como las que se muestran en la Figura 40. Para anular los elementos de debajo de la diagonal de estas matrices hay que aplicar (n1) rotaciones de Givens, exactamente el mismo nmero que simetras de Householder. * * 0 0 0 * * * 0 0 0 * * * 0 0 0 * * * 0 0 0 , * * * * 0 0 0 * * * 0 0 * * * * 0 * * * * * * * * * *

Figura 40. Matrices simtrica y con forma de Hessenberg.

La factorizacin QR se deduce fcilmente a partir de las rotaciones de Givens que convierten A en una matriz triangular superior R. En general:
G n ,n 1 G n 2 G 32G n1 G 31G 21A = R
T T T T T A = GT 21G 31 G n1G 32 G n 2 G n , n 1R = QR T T T T T Q GT 21G 31 G n1G 32 G n 2 G n , n 1

(340)

4.3

Descomposicin espectral de matrices normales

Sea A R nn una matriz normal. Toda matriz normal por tanto unitariamente diagonalizable admite una descomposicin espectral en la forma:

A = UDU H = [u1

H 1 u1 n = u uH un ] k k k k =1 H n u n

(341)

En el caso de que haya valores propios mltiples, es posible agrupar en una matriz Pi las mi matrices de rango 1 asociadas con el valor propio i . En este caso, la descomposicin espectral se expresa en la forma:

lgebra lineal numrica con Matlab


m1 + m2 k = m1 +1

pg. 72

T A = UDUT = k u k uT k = 1 u k u k + 2 k =1 k =1

m1

u k uT k + ... + s

k = n ms +1

u k uT k =

(342)

= 1P1 + 2 P2 + ... + s Ps

( m1 + m2 + ... + ms = n )

Las matrices Pi son matrices de proyeccin ortogonal sobre los subespacios propios, pues son simtricas e idempotentes. La simetra es evidente, pues cada Pi es una suma de matrices simtricas. La idempotencia se demuestra tambin fcilmente:
T T T T T Pi2 = i = p ui uT i j = p u j u j = i = p j = p u i u i u j u j = i = p j = p u i ij u j = i = p u i u i = Pi q q q q q q q

(343)

Se verifican adems las siguientes propiedades:


T T T Pi P j = m = p u muT m k = r u k u k = m = p k = r u mu mu k u k = q s q s T T = m = p k = r u m ( uT m u k ) u k = m = p k = r u m mk u k = 0 q s q s

( m k siempre )

(344)

(
4.4

s j =1

T P j x = i = p u i uT i x = i = p u i ( u i x ) = i = p u i i = x q q q

s j =1

Pj = I

(345)

La expresin (345) indica que la suma de todas las matrices Pi es la matriz identidad I, pues cualquier vector x se puede expresar como suma directa de sus componentes en la base ui.

Descomposicin de valores singulares (DVS)

Para todas las matrices normales nn existe una matriz unitaria U tal que A se puede factorizar mediante la descomposicin espectral (ver apartado 4.3):

A = UDU H

(346)

donde las columnas de U son los vectores propios de A. Si la matriz A no es cuadrada, no tiene vectores propios ni descomposicin espectral. Sin embargo, para toda matriz real mn siempre existe una factorizacin anloga a la espectral en la forma:

A = UV H

(347)

donde U y V son matrices unitarias (ortogonales, en casi todas las aplicaciones de este curso) de tamao mm y nn, respectivamente, y es una matriz diagonal de tamao mn cuyos elementos son tales que ii>0 (i=1,2,...,r) y ii=0 (i>r), siendo r el rango de la matriz A. Es habitual considerar los valores singulares ordenados de mayor a menor:

1 2 ... r > r +1 = ... = p = 0,

p = min ( m, n )

(348)

en cuyo caso las columnas de U y V deben estar ordenadas de modo acorde. La forma de estas matrices se puede ver grficamente en la Figura 41, que distingue los casos en que A tenga ms o menos filas que columnas.

VH

VH

Figura 41. Descomposicin de valores singulares de una matriz con menos y ms filas que columnas.

Factorizaciones de una matriz

pg. 73

A esta factorizacin se le llama "Descomposicin de Valores Singulares o DVS" (Singular Value Decomposition o SVD, en ingls) y tiene aplicaciones muy importantes en ingeniera, tanto tericas como prcticas. En lo sucesivo se considerarn exclusivamente matrices A reales, por lo que se har referencia a matrices ortogonales.

4.4.1 Clculo y existencia de la DVS


Sea A R mn . La prueba de la existencia de la DVS va a ser de tipo constructivo, es decir, se demostrar que existe definiendo un proceso que permite calcularla. La matriz ATA es simtrica y al menos semi-definida positiva. Por tanto tiene n vectores propios ortogonales vi que pueden formar las columnas de la matriz ortogonal V R nn :

A T Av i = i v i

( A A ) V = VD
T

(349)

Los valores propios i son no-negativos. Multiplicando la expresin (349) por vT i , i se puede expresar en la forma (cociente de Rayleigh):
T T vT i A Av i = i v i v i =i T i = v T i A Av i = Av i 2

(350)

Si A tiene rango r la matriz ATA tendr tambin rango r (pues Ker(A)=Ker(ATA)). Habr r valores propios i mayores que cero y nr valores propios nulos. Se definen ahora el valor singular j y el vector singular uj (ujRm) en la forma:

j + j ,

u j Av j j ;

j = 1, 2,..., r

(351)

Los vectores uj as formados constituyen un sistema ortonormal en el espacio Rm. En efecto:

uTj u j = vTj AT Av j 2 j = j j = 1,

j = 1, 2,..., r

T T T uT i j i u j = v i A Av j i j = j v i v j i j = 0,

(352)

Los r vectores ortogonales uj se pueden completar por el teorema de la base incompleta (y el mtodo de Gram-Schmidt) con otros (mr) vectores ortogonales, hasta constituir una base de Rm. Este sistema ampliado de m vectores ortogonales uj constituyen las columnas de la matriz ortogonal U R mm . Se pretende demostrar la existencia de la DVS (A=UVT), pero para ello se estudiar en primer lugar el producto UTAV. El elemento (i,j) de este producto matricial tiene como valor:

( U AV )
T

ij

T = uT i Av j = u i u j j = ij j =0

si j r , por la definicin de u j si j > r, pues Av j = 0

(353)

En definitiva, el producto UTAV es igual a una matriz , de tamao mn, que slo tiene distintos de cero los r primeros elementos de la diagonal. Estos elementos son los valores singulares j. Se ha demostrado pues que existen unas matrices ortogonales U y V que diagonalizan a la matriz A:

UT AV =
Como las matrices U y V son ortogonales y por tanto invertibles, se puede escribir:

(354)

A = UVT = i =1

min ( m , n )

i ui vT i

(355)

lgebra lineal numrica con Matlab

pg. 74

que es la expresin de la descomposicin de valores singulares (DVS). Los vectores v j y u j son, respectivamente, los vectores singulares por la derecha y por la izquierda de la matriz A:
Av j = j u j , A H u j = j v j j = 1, 2,..., r

(356)

Como no se ha presupuesto ninguna condicin para la matriz A, la DVS existe para cualquier matriz rectangular, cualquiera que sea su rango r. La DVS tiene propiedades muy importantes, derivadas de la ortogonalidad de las matrices U y V, y del carcter no negativo de los valores singulares j.

4.4.2 Propiedades de las matrices U y V


Las matrices ortogonales U y V que aparecen en la descomposicin de valores singulares A=UVT tienen entre otras las siguientes propiedades: 1. Las columnas de U son vectores propios de AAT

AA T = UV T VT UT = UT UT = UDm UT
2. Las columnas de V son vectores propios de ATA

(357)

A T A = VT UT UV T = VT V T = VD n V T

(358)

3. Tanto AAT como ATA tienen los mismos valores propios no nulos, lo que deduce de la relacin de Dm y Dn con T y T, respectivamente. 4. Relacin de las matrices U y V con los subespacios de A:
o Las columnas 1 a r de U son una base ortonormal de Im(A) o Las columnas r+1 a m de U son una base ortonormal de Ker(AT) o Las columnas 1 a r de V son una base ortonormal de Im(AT) o Las columnas r+1 a n de V son una base ortonormal de Ker(A)

Las propiedades anteriores se deducen de las relaciones siguientes:


o Ker(ATA)=Ker(A), pues si Ax=0 tambin se verifica ATAx=0 y si ATAx=0 se verifica que xTATAx=(Ax)TAx=0, luego Ax=0. o Im(ATA)=Im(AT), pues ambos son los espacios ortogonales complementarios de Ker(ATA) y Ker(A) en Rn. o Anlogamente, Ker(AAT)=Ker(AT), Im(ATA)=Im(A) y Im(AAT)=Im(A)

4.4.3 Clculo de la DVS


Las propiedades 1. y 2. del apartado anterior no son suficientes por s mismas para determinar las matrices U y V, puesto que los vectores propios de una matriz no estn unvocamente determinados (por ejemplo, si uj es vector propio de AAT, el vector uj tambin lo es; si hay valores propios mltiples lo que est determinado es el subespacio propio correspondiente, pero no una base ortonormada de dicho subespacio). Las matrices U y V deben calcularse de modo que sean compatibles entre s, segn la expresin (351), que tambin se puede escribir en la forma:
AV = U

(359)

Para calcular las matrices U, V y se puede proceder del siguiente modo: 1. Se calculan las matrices V y resolviendo el problema de valores y vectores propios:

Factorizaciones de una matriz

pg. 75

A T AV = VDn ,

i = d ii , i = 1, 2,..., r

(360)

2. Ahora se calcula una matriz U compatible con la V ya calculada por medio de la ecuacin (359). Esta ecuacin slo permite calcular directamente las r primeras columnas de U, pues son las que estn multiplicadas por un valor singular distinto de cero. Las mr columnas restantes se calculan simplemente completando una base ortonormal de Rm. De forma anloga, es tambin posible calcular en primer lugar las matrices U y resolviendo el problema de valores y vectores propios AAT U = UDm , y luego calcular V de modo compatible con la U ya calculada por medio de la ecuacin UT A = V T (o bien, trasponiendo: AT U = VT ). La DVS de la matriz A no es nica. Est claro que los valores singulares, ordenados de mayor a menor, s estn unvocamente determinados. Los vectores singulares por la derecha vi, correspondientes a valores singulares simples, no estn unvocamente determinados pues pueden ser multiplicados por un factor escalar de mdulo unidad (1, en el caso real). En el caso de valores singulares mltiples, lo que est unvocamente determinado es un subespacio singular de dimensin igual a la multiplicidad del valor singular. Sin embargo, dentro de este subespacio se puede tomar cualquier base ortonormal de vectores singulares.

4.4.4 Aplicaciones de la DVS


Una de las aplicaciones ms importantes de la DVS es el clculo del rango de la matriz A. El producto por matrices unitarias conserva el rango, luego se tendr:
rango ( A ) = rango ( )

(361)

lo que indica que el rango de una matriz es igual al nmero de valores singulares no nulos. En un prximo apartado se ver cmo tratar el caso de valores singulares distintos de cero pero muy pequeos. Si la matriz A es cuadrada e invertible, los valores singulares sern todos no nulos y positivos. La matriz inversa de A se puede expresar como:

A 1 = V 1UT = i =1
n

v i uT i

(362)

Anlogamente, la solucin de un sistema de ecuaciones lineales compatible y determinado Ax=b se puede expresar en la forma:

Ax = b

x = A 1b = V 1UT b = i =1
n

v i uT i b = i =1
n

uT i b

vi

(363)

La DVS conserva las normas espectral y de Frobenius, como se demuestra a continuacin:


A 2 = ( AT A ) = ( VT UT UV T ) = ( VT VT ) = ( T ) = 2 = 12
2 2

(364)
= i2 (365)

2 F

= traza ( A H A ) = traza ( VT U H UV H ) = traza ( VT V H ) = traza ( T ) =

2 F

La DVS se puede aplicar tambin al clculo de la condicin numrica de una matriz, que para una matriz cualquiera se defini como el cociente entre el vector unitario que ms "crece" al multiplicarse por la matriz A dividido por el vector unitario que menos crece:

( A ) = max Au min Au
u =1 u =1

(366)

lgebra lineal numrica con Matlab

pg. 76

Considerando la norma eucldea, hay que tener en cuenta que el producto por una matriz ortogonal no cambia la norma eucldea, por lo que las normas mxima y mnima de la expresin (366) son respectivamente el mximo y mnimo valor singular. Por ejemplo, para el mximo de la norma: max Au 2 = max UV T u = max VT u
u 2 =1 u 2 =1
2

v = VT u
2

u 2 =1

= max v 2 = 1e1
v 2 =1

= 1

(367)

Por tanto, el nmero de condicin espectral ser:

2 ( A ) = 1 p ,

p = min ( m, n )

(368)

La condicin numrica de una matriz unitaria u ortogonal es la unidad, pues sus valores singulares son los valores propios de UTU=UUT=I, que son todos la unidad. Operar con estas matrices no amplifica los errores en los datos.

4.4.5 Valores singulares y perturbaciones en una matriz


En este apartado se va a considerar la sensibilidad de los valores singulares ante perturbaciones de la matriz. Evaluar el rango de una matriz puede ser muy difcil, pues el rango es un valor entero, mientras que los elementos de la matriz pueden varar de modo continuo. Para resolver esta dificultad se introduce el concepto de rango numrico de una matriz. Sea un nmero muy pequeo. Se define el rango numrico o rango- de la matriz A como:
rango ( A, ) min rango A
A A <
2

( )

(369)

son todas las posibles maEs importante interpretar correctamente esta definicin: Las matrices A trices que estn a una distancia de A menor que , medida en la norma espectral. El rango numrico de A se define como el rango de aquella matriz que menor rango tiene y que est a una distancia de A menor que .

Teorema 1: Sea ARmn una matriz cuya DVS es A = UV T = i =1 i ui vT i . Se define la matriz Ak


r

como una matriz de rango k formada por la suma A k = i =1 i ui vT i . Se cumple que la matriz de
k

rango k que mejor aproxima a A en norma espectral es Ak, es decir:


=k rango A

min ( )

= AA AA k
2

= k +1

(370)

y adems el error en la aproximacin es el valor singular k+1, que es el mayor valor singular no incluido en Ak.
Demostracin: Utilizando la DVS y la definicin de Ak se tiene que:
U H A k V = diag ( 1 ,..., k , 0,...0 ) , rango ( A k ) = k

(371)
= k +1

U H ( A A k ) V = diag ( 0,..., 0, k +1 ,..., p ) ,

A Ak

(372)

Hay que demostrar que Ak es la matriz de rango k que mejor aproxima a A. Supngase una matriz BRmn tal que rango(B)=k. El ncleo de B tendr dimensin (nk) y podr ser generado por (n k) vectores independientes:
Ker ( B ) = L [ x1 , x 2 ,..., x n k ]

(373)

Considerando el subespacio F = L [ v1 , v 2 ,..., v k +1 ] , la interseccin de F y Ker(B) no podr ser slo el vector nulo, sino que tendr dimensin 1, pues la suma de dimensiones es (nk)+(k+1)=n+1.

Factorizaciones de una matriz

pg. 77

Sea z un vector de F Ker ( B ) tal que z

= 1 . Por pertenecer a ambos subespacios se tendr que:


Bz = 0

Az =

u vT z = i =1 i ( vT i z ) ui i =1 i i i
r k +1

(374)

Estudiando el cuadrado de la norma espectral de (AB) y recordando que se tiene:

(v z)
k +1 i =1 T i

= 1 por ser z un vector unitario,


2

T T 2 2 A B 2 ( A B ) z 2 Az 2 Bz 2 = i =1 i2 ( vT i z ) u i u i k +1 i =1 ( v i z ) = k +1 2 2 2 2 k +1 2 k +1

(375)

En esta expresin la igualdad se obtiene cuando B=Ak. Con esto queda demostrado el teorema. Observacin: El valor singular ms pequeo de A es la distancia, en norma espectral, entre A y el conjunto de matrices de rango inferior al de A.

Teorema 2: La perturbacin en los valores singulares de una matriz ante una perturbacin E en la matriz A est acotada mediante la expresin:

k ( A + E) k ( A ) E

(376)

Esto quiere decir que los valores singulares son muy estables ante perturbaciones de la matriz.
Demostracin: En funcin de los valores y vectores singulares de la matriz A se puede escribir:
A = j =1 j u j vTj , A k 1 = j =1 j u j vTj ,
r k 1

r ( A k 1 ) = k 1

(377)

donde r(A) es el rango de la matriz A. En virtud del teorema 1 anteriormente demostrado:


r ( B ) k 1

min

( A + E) B 2 = k ( A + E)

(378)

Sustituyendo B=Ak1 en la expresin (378), se obtiene:

k ( A + E ) A + E A k 1 2 A A k 1 2 + E 2 = k ( A ) + E
A partir de este resultado:

(379) (380)

k ( A + E) k ( A ) E
valores y vectores singulares de la matriz perturbada A+E:
A + E = j =1 j u j vTj ,
r

Esto es slo parte de lo que hay que demostrar segn (376). Mediante un razonamiento similar, si j , u j y v j son los

( A + E )k 1 = j =1 j u j vTj ,
k 1

r ( A + E )k 1 = k 1

(381)

Aplicando ahora el teorema 1 y tomando B = ( A + E )k 1 se obtiene:


r ( B ) k 1

min A B 2 = k ( A )
2

(382) (383)

k ( A ) A + E E ( A + E )k 1 2 A + E ( A + E )k 1 2 + E 2 = k ( A + E ) + E
De esta expresin se concluye lo que falta para probar (376), es decir:

k ( A ) k ( A + E) E

(384)

4.4.6 Problemas de reduccin de la dimensionalidad


La descomposicin de valores singulares permite expresar una matriz cualquiera A de rango r, como suma de r matrices de rango 1:
A = UV T = i =1 i ui vT i
r

(385)

lgebra lineal numrica con Matlab

pg. 78

En funcin del valor de los valores singulares, la matriz A puede ser aproximada mediante las primeras k matrices de rango 1 (k<r):
A A k = i =1 i ui vT i
k

(386)
2

En virtud del teorema 1, el error de esta aproximacin en norma cuadrtica es A A k

= k +1 .

La aproximacin de la matriz A con reduccin de la dimensionalidad dada por la expresin (386) tiene importantes ventajas y aplicaciones prcticas, como por ejemplo: La matriz aproximada requiere mucha menos memoria (2k vectores de m y n elementos) y tambin es mucho ms fcil operar con ella. Adems, la DVS proporciona informacin precisa y fiable sobre el error cometido en esta aproximacin, que viene dado por el primer valor singular no incluido en la aproximacin.

4.4.7 Aplicacin de la DVS a la solucin del sistema general Ax=b


Se considerar en primer lugar la solucin de mnimos cuadrados del sistema Ax=b (m n = r). La solucin de mnimo error cuadrtico viene dada por las ecuaciones normales (ver apartado 2.10):

x 0 = ( AT A ) A T b
1

(387)

Utilizando la DVS (A=UVT) esta expresin se puede escribir en la forma:

A = UV T , AT = VT UT

2 T AT A = VT VT =V n V
1
1 nm n,m R

(388) (389)

(A A)
T

1 T 2 T T AT = V n U = V n ,m U

1 T x 0 = ( AT A ) AT b = V n , m U b,

Desarrollando los sumatorios implicados por esta expresin se llega a:

x0 = i =1
n

v i uT i b = i =1
r

uT i b

vi

(390)

A continuacin se estudiar la solucin de mnima norma para el sistema indeterminado de rango mximo Ax=b (r = m n), que viene dada por la expresin (171) (ver apartado 2.11):

x = AT ( AAT ) b
1

(391)

Introduciendo la DVS de A, tal como se ha hecho en el caso anterior:


2 AAT = UV T VT UT = U m UT , 2 T T AT ( AAT ) b = VT UT U m U b = V 1 n,m U b 1

(392)

Poniendo este resultado en forma de sumatorio:

x = i =1
m

v i uT i b = i =1
r

uT i b

vi

(393)

Obsrvese las expresiones (390) y (393) son idnticas. Esto induce a aplicar la DVS al caso general de un sistema de ecuaciones lineales incompatible y sin solucin de mnimo error nica, es decir al caso r < min ( m, n ) . Este caso fue estudiado en el apartado 2.12 y condujo a la introduccin de la
matriz seudoinversa A+. La DVS permite estudiar la pseudoinversa de un modo ms sencillo.

Factorizaciones de una matriz

pg. 79

Sea el sistema de ecuaciones lineales Ax=b (ARmn y rango(A)<min(m,n)). Para unos vectores bRm este sistema tiene solucin y para otros no (r<m). La solucin de mnimo error cuadrtico puede no ser nica (r<n). Introduciendo la DVS, el sistema de ecuaciones Ax=b se puede reformular del modo siguiente:

Ax = b, A = UVT

UV T x = b

(394)

Haciendo el cambio de variable y=VTx y pre-multiplicando por UT se obtiene:


y = UT b c, = diag ( 1 , 2 ,..., r , 0,..., 0 ) , R mn

(395)

El sistema de ecuaciones y = c es incompatible e indeterminado, pero es tambin muy fcil de tratar porque la matriz del sistema slo tiene elementos no nulos en la diagonal. Este sistema se muestra grficamente en la Figura 42.

i1

y = c
Figura 42. Sistema de ecuaciones y=c. Figura 43. Solucin de mnimo error y mnima norma y=+c.

Las variables libres yi , r + 1 i n, estn multiplicadas por ceros y no tienen ninguna influencia en la solucin. Para que la solucin y sea de norma mnima estas variables deben ser nulas: yi = 0, r + 1 i n. Por otra parte, las r primeras ecuaciones se satisfacen exactamente en la forma: yi = ci i , 1 i r , mientras que las restantes ecuaciones no se pueden satisfacer en ningn caso, pues son: 0 yi = ci , r i m. (398) Definiendo la matriz pseudoinversa + como una matriz nm con los inversos de los valores singulares distintos de cero en la diagonal, la solucin de mnimo error cuadrtico y mnima norma vendr dada por (ver Figura 43): (397) (396)

y = +c

(399)

Esta solucin minimiza tambin el residuo y la norma en el sistema de ecuaciones original Ax=b, pues las matrices ortogonales no cambian la norma eucldea:
r 2 = c y 2 = UT b V T x = b UVT x = b Ax 2 ,
2 2

y 2 = VT x = x
2

(400)

Se concluye que la matriz que conduce a la solucin de mnimo error y mnima en el caso general, es decir, la matriz pseudoinversa de A, es la matriz:
y = + c, ( y = V T x , c = U T b ) V T x = + UT b x = V + UT b = A + b, A + = V + UT

(401)

Esta matriz seudoinversa es nica, coincide con la vista anteriormente y tiene todas sus propiedades.

lgebra lineal numrica con Matlab

pg. 80

La aplicacin convencional del mtodo de los mnimos cuadrados a travs de las ecuaciones normales puede dar problemas numricos, pues la norma espectral de la matriz ATA es el cuadrado de la norma espectral de la matriz A. Como consecuencia la condicin numrica de ATA es el cuadrado de la de A, lo que puede crear dificultades numricas. Anteriormente se ha sugerido la utilizacin de un sistema de ecuaciones ampliado o de la factorizacin QR como formas de resolver este problema. Si existen estas dificultades y adems es posible que el rango de la matriz A sea menor que min(m,n) el mtodo ms estable de resolver el problema es aplicar la DVS segn las expresiones (390) (393) vistas anteriormente, que se repiten aqu haciendo intervenir a la matriz seudoinversa:

Ax = b, x = A b = V U b = i =1
+ +
T r

v i u b = i =1
T i r

uT i b

vi

(402)

La DVS permite determinar el rango con precisin numrica, separando la informacin propia de la matriz de las componentes que se han podido introducir por errores de distinto tipo.

Aplicaciones en ingeniera mecnica (mquinas)

pg. 81

Anda mungkin juga menyukai