Upload
pedirstuff
View
218
Download
1
Embed Size (px)
Citation preview
7/26/2019 Clase Mincua Lineal 2016
1/84
1/84Universidad Politcnica de MadridEscuela Tcnica Superior de Ingenieros Industriales
Grado en Ingeniera en Tecnologas Industriales. Curso 2015-2016-3
Matemticas de EspecialidadIngeniera Elctrica
Mnimos cuadrados lineales
Jos Luis de la Fuente [email protected]
Clase_mincua_lineal_2016.pdf
7/26/2019 Clase Mincua Lineal 2016
2/84
2/84
ndice
Introduccin Fundamentos tericos
Sistemas incompatibles. Ecuaciones normales Sistemas indeterminados
Resolucin numrica del problema Mtodo de Gram-Schmidt Mtodo de Gram-Schmidt modificado Factorizacin QR
Descomposicin numrica en valores singulares Comparacin de los mtodos
Matlab y la solucin de problemas de mnimos cuadrados
7/26/2019 Clase Mincua Lineal 2016
3/84
3/84Introduccin
Muchos modelos matemticos modernos, especialmente aquellos que usan
tcnicas de estimacin y regresin, se han convertido en herramientas
fundamentales en la ciencia, la ingeniera, el marketing y la toma de decisiones.
Para dotarse de datos a gran escala o conocer y controlar en tiempo real el
estado y funcionamiento de diversos sistemas de operacin, control y prediccin
es necesario primero tomar medidas adecuadamente de los mismos y
posteriormente actuar a partir de determinados modelos o estimadores.
Cualquiermedidasiempre estsujeta a errores, por pequeos que sean, por eldesajuste fsico de la calibracin del aparato que la realiza, su propia
imperfeccin, las condiciones ambientales, las vibraciones, el envejecimiento de
la maquinaria, etc. En el caso de datos sociales por la falta de homogeneidad de
la muestra, dispersin de la poblacin, etc.
7/26/2019 Clase Mincua Lineal 2016
4/84
4/84
Par mitigar el efecto de esos errores, aislarlos, identificarlos yfiltrarlosse tomaun nmero de medidas de los parmetros que definen un sistema bastante
mayor del estrictamente necesario redundante.
Laredundanciade medidas conduce normalmente, en los modelos matemticosque determinan cmo se relacionan los parmetros y variables de
funcionamiento de un sistema, asistemas de ecuaciones incompatibles: con
muchas ms ecuaciones que incgnitas.Lafaltade suficientesmedidas, llevaa sistemas indeterminados.
Para obtener la solucin ms probable que represente un sistema y que mejor se
aproxime a la ideal si no se diesen esos errores, seproyectael problema en unsubespacio de menor dimensin para filtrar o aislar los datos irrelevantes.
Laproyeccin ms comnes la ortogonal, que determina el mtodo de losmnimos cuadrados(ver teorema de la proyeccin).
7/26/2019 Clase Mincua Lineal 2016
5/84
5/84
Casos posibles de sistemas lineales, una vez ms
=
m = n
rango(A) = m= n
=
m = n
rango(A)< m = n
=m > n
rango(A) = n < m
=m > n
rango(A)< n < m
=
m < n
rango(A) = m < n
=
m < n
rango(A) < m < n
7/26/2019 Clase Mincua Lineal 2016
6/84
6/84
Estudiaremos puesproblemas sin solucin, en los querango.Ajb/rango.A/pues bIm.A/.
0 1 2 3 4
a6
b
a8
O determinaremos unapseudosolucinque cumpla un criterio concreto: porejemplo, el de minimizar la normakAx bk2.
Ax
Ax
Ax
Im( )A
b
0
7/26/2019 Clase Mincua Lineal 2016
7/84
7/84
Tambinproblemas con muchas soluciones, de las que:
Se escoge aquella x cuyanorma eucldea,kxk2, esmnima.Se estudiaotro tipo de solucin; por ejemplo:
Que minimicemX
j D1
aTjx bj
:
Que minimicem
Kax
j naTj x bj o : El hecho de que seminimicela norma eucldearaiz cuadrada positiva de la
suma de los cuadrados de las desviaciones entre dos vectores de valores reales
es lo queda nombrea los procedimientos para resolver esos problemas: mnimoscuadrados.Formalmente es:
Dada una matriz A2 Rmn, de rango kmKn.m; n/, y un vector b2 Rm,encontrar un vector x
2R
n que minimice
kAx
b
k2.
7/26/2019 Clase Mincua Lineal 2016
8/84
8/84
Elejemplo por excelenciade las tcnicas de mnimos cuadrados consiste enajustara un conjunto de mpares de puntos .ti ; bi /una funcin f .x; t /de n
parmetros independientes x1; x2 : : : xn.
Los pares de puntos los pueden definir unas mediciones, bi , obtenidas enunos tiempos, ti .
Si la funcin es lineal en x1; : : : ; xn se tiene un problema de mnimoscuadrados lineales en el que,
si los nparmetros se disponen como los coeficientes de un vector
n-dimensional, x, y
los datos obtenidos, en otro vectorm
-dimensionalb
(usualmentemn),se llega a una relacin de la forma AxDb, donde A2 Rmn, x2 Rn yb2 Rm.
7/26/2019 Clase Mincua Lineal 2016
9/84
9/84
Ejemplo Supongamos que queremosajustaral conjunto de pares de puntosf.ti ; bi /g=f.1;2/;.2;3/;.3;5/;.4;6/gla funcin
f .x1; x2; x3; t /Dx1 C x2tC x3t 2;segn representa la figura.
t
b
f(x1
, x2
, x3
, t) =
x1+
x2
t+x3
t2
1 2 3 4 5 6 7
1
2
3
4
5
7/26/2019 Clase Mincua Lineal 2016
10/84
10/84 Para los datos y parmetros de este ejemplo el sistema AxDbes as:2
6641 1 1
1 2 4
1 3 9
1 4 1 6
3
775
A
24
x1x2
x3
35
x
D
2
6642
3
5
6
3
775
b
:
Resolver este problema en la zona de trabajo de Matlabsera trivial:
>> Am=[1 1 1;1 2 4;1 3 9;1 4 16];
>> b=[2 3 5 6];
>> Am\b
ans =
0.50000000000000
1.40000000000000
-0.00000000000000
Con una tctica de ajuste por mnimos cuadrados, tambin con Matlab:
>> x=[1 2 3 4];
>> y=[2 3 5 6];
>> p=polyfit(x,y,2)
p =
-0.0000 1.4000 0.5000
7/26/2019 Clase Mincua Lineal 2016
11/84
11/84
Si se quiere profundizar un poco en el problema dibujando los datos y la funcinajustada, habra que hacer:
>> x1=linspace(0,5,150);
>> y1=polyval(p,x1);
>> plot(x,y,o,x1,y1,-)
Los resultados son los de la figura.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
1
2
3
4
5
6
7
8
La lnea recta yD0; 5 C 1;4t , en verde, y los puntos a los que se ajusta, enazul.
7/26/2019 Clase Mincua Lineal 2016
12/84
12/84
Otros muchos sistemas de la ciencia, ingeniera, economa, etc. recurren amodelos de mnimos cuadrados.
7/26/2019 Clase Mincua Lineal 2016
13/84
13/84
Sistemas de prediccin a partir de datos masivos
7/26/2019 Clase Mincua Lineal 2016
14/84
14/84
Sistemas de navegacinVOR, DME, ADF, RMI, MLS
7/26/2019 Clase Mincua Lineal 2016
15/84
15/84
Fundamentos tericos
Teorema Descomposicin en valores singulares Si A2 Rmn es una matriz de rango r , existenmatrices ortogonales U2 Rmm y V2 Rnn tales que
ADU V T; (1)
donde
D r 00 0
;2 Rmn y rDdiag.1, 2; : : : ; r /, con
12 r > 0:
Si las matrices U y V se escriben como
UD u1; : : : ; um y VDv1; : : : ; vn ;
losui yv i son losvectores singularesizquierdos y derechos, respectivamente, correspondientes a los valores
singularesi , iD 1; : : : ; r .
7/26/2019 Clase Mincua Lineal 2016
16/84
16/84
Teorema El vectorxDV 1r 0
0 0
UTb
es la solucin del problema
minimizarx2Rn
kAx bk2que hace mnima
kxk
2, donde A2
Rmn yrango.A/
Drm
Kn.m;n/.
Definicin A la matriz
A
DV
1r 0
0 0 UT 2 Rnnse la denominamatriz pseudoinversaoinversa generalizada Moore-Penrosede A.
7/26/2019 Clase Mincua Lineal 2016
17/84
17/84
De acuerdo con esa definicin, lasolucindemKnx2Rn kAx bk2 es
xDAb:
Adems, de acuerdo con el Teorema de la Proyeccin, se cumple que
x?ker.A/ y que AxDP Im.A/b;
0 1 2 3 4
a6
b
a8
donde P Im.A/bes laproyeccin ortogonalde bsobreIm.A/, paralelamente a
ker.AT/.
T T
7/26/2019 Clase Mincua Lineal 2016
18/84
18/84 Obsrvese que .AT/ D.A/T; en general,.AB / BA:
La matriz pseudoinversa satisface las denominadas condiciones de Penrose:
AAA D AAAA D A.AA/T D AA.AA/T
D AA:
Las frmulas para obtener las matrices de proyeccin ortogonal sobre los cuatrosubespacios fundamentales de A son
P Im.A/ D AAPker.A
T/ D I AA
PIm.A
T/ D AA
Pker.A/ D I AA
7/26/2019 Clase Mincua Lineal 2016
19/84
19/84
Dos casos de matriz pseudoinversa son fundamentales:
a)SiA2 Rmn,mnyrango.A/Dn,A D.ATA/1AT:
b)Si A2 Rmn,mnyrango.A/Dm,A
DAT.AAT/1:
a)es elproblema de mnimos cuadrados resultante de un sistema deecuaciones incompatible, con matriz de rango completo.
b)es el de unsistema de ecuaciones compatible indeterminadocon matriz
de rango completo: resuelve este problema:
minimizarx2S
kxk2; donde SD fxWAxDbg:
Si t i tibl E i l
7/26/2019 Clase Mincua Lineal 2016
20/84
20/84Sistemas incompatibles. Ecuaciones normales
Si se tiene una ecuacin AxDb, A2 Rmn, que no tiene solucin puesbIm.A/, se puede buscar una pseudosolucin, x, queacerque Ax lo msposible a ben el sentido de lak k2, es decir,
mKnx2Rn
kAx bk2:
Teorema Sean X e Y dos espacios vectoriales de dimensiones finitas n y m sobreel cuerpo R y A una transformacin lineal representada en dos bases de X e Y por la
matriz A. Para un vector dado b2 Y, el vector x2 X minimizakAx bk2 si y slo siATAxDA Tb.
I DEMOSTRACIN. Sean Im.A/D fAxWx2 Rng y ker.A/D fxWAxD0g.El complemento ortogonal del conjunto Im.A/ ser:
.Im.A//? D frW r TzD0; 8z2Im.A/g D frW r TAD0TgD frW A TrD 0g Dker.AT/:
El problema planteado es obviamente equivalente a minimizarkb Obk2, dondeOb2Im.A/.Por el teorema de la proyeccin, Ob es un vector que minimiza la norma anterior si y slo si bOb2.Im.A//?; es decir, si b
Ob
2ker.AT/, o de forma equivalente, 0
DA T.b
Ob/
DATb
ATAx.
7/26/2019 Clase Mincua Lineal 2016
21/84
21/84
La representacin geomtrica en tres dimensiones es esta.
Im(A) a 1
b
a 2
a 1x1
a 2x2
Ax
r = b Ax (Im(A)) AT(b Ax ) = 0
Al sistema de ecuaciones que define la relacin
ATAxDA Tb
se le denominaecuaciones normales.
El vector de residuos, rD b Ax, es ortogonal aIm.A/y a los vectores quelo definen: a1 y a2. Es decir, se cumple que A
T.Ax b/D0.
7/26/2019 Clase Mincua Lineal 2016
22/84
22/84
El vector solucin de las ecuaciones normales, x, esnicosi ATA es invertible(si y slo si la transformacin lineal A es inyectiva:rango.A/Dn); en este caso
xD.ATA/1ATb:
Si la matriz ATA es invertible,
rD b AxD.I P Im.A//b;
donde P Im.A/DA.AT
A/1
A
T
es la matriz de proyeccin ortogonal sobreIm.A/paralelamente aker.AT/.
7/26/2019 Clase Mincua Lineal 2016
23/84
23/84
Sistemas indeterminados
Si el sistema tiene ms de una solucin, siempre se puede calcular aquella demenor norma eucldea.
Teorema Sean X e Y dos espacios vectoriales de dimensiones n y m sobre el cuerpoR y A una transformacin lineal representada en dos bases de X e Y por la matriz A.
El vector x de norma eucldea mnima que satisface la ecuacin AxD b es el dado porxDA Tz, donde z es una solucin de la ecuacin AATzDb.
I DEMOSTRACIN. Si x1 es una solucin de la ecuacin AxD b, cualquier solucin de la misma se
puede expresar como xDx 1 C u, donde u2ker.A/; es decir, estar en la variedad lineal x 1 Cker.A/.El teorema de la proyeccin garantiza la existencia en esta variedad lineal de un nico x tal que sunormakxk2 es mnima y adems pertenece a .ker.A//?.Como x2 .ker.A//?, pertenecer a Im.AT/, es decir, se podr expresar como xD ATz para algnz2Y. Como AxDb, entonces
AATzDb:
7/26/2019 Clase Mincua Lineal 2016
24/84
24/84
Cuando la matriz AAT es invertible, la solucin ptima es
xDAT.AAT/1b:
La interpretacin geomtrica de este resultado en R3 se esquematiza as:
0 1 2 3 A
x7
8 0 1 2 3 A
x9 x
7
u
x3
3
7/26/2019 Clase Mincua Lineal 2016
25/84
25/84
Ejemplo Se quiere obtener la solucin de norma eucldea mnima de la
ecuacin indeterminada
1 2
x1x2
D3.
Cualquier solucin se podr expresar como x1 C ker.A/, donde x1 es cualquiervector solucin (por ejemplo
1 1
T) yker.A/es el que se ve en la figura.
1 2 3
(3, 0)
(3/5, 6/5) =
(1, 1) =1
2
1.5
x2 Im.AT/
x1
x
ker.A/
subespacio de soluciones
x1
La solucin que se busca es
7/26/2019 Clase Mincua Lineal 2016
26/84
26/84 La solucin que se busca es
xDAT
AAT
1
bD
1
2
1 2
1
2
13D 3
5
1
2
D
3=5
6=5
:
Se ve que est enIm.AT/.
1 2 3
(3, 0)
(3/5, 6/5) =
(1, 1) =1
2
1.5
x2 Im.A
T
/
x1
x
ker.A/
subespacio de soluciones
x1
7/26/2019 Clase Mincua Lineal 2016
27/84
27/84
ndice
Introduccin Fundamentos tericos
Sistemas incompatibles. Ecuaciones normales Sistemas indeterminados
Resolucin numrica del problema Mtodo de Gram-Schmidt Mtodo de Gram-Schmidt modificado Factorizacin QR
Descomposicin numrica en valores singulares
Comparacin de los mtodos
Matlab y la solucin de problemas de mnimos cuadrados
/
7/26/2019 Clase Mincua Lineal 2016
28/84
28/84
Resolucin numrica del problema
Mediante lasecuaciones normales, con cualquiera de los mtodos estudiadospara sistemas con matriz cuadrada y simtrica:
ATAx
DATb,en el caso de que el sistema fuese incompatible, o a
AATzDb, cuando se diese unsistema indeterminado.
Losnmeros de condicin, 2, de AAT y ATA, son elcuadrado del de la
matrizA, por lo que si el problema originalmente no est bien condicionado, lasdificultades numricas pueden resultar insalvables al resolver el sistema
correspondiente.
29/84
7/26/2019 Clase Mincua Lineal 2016
29/84
29/84
Ejemplo Consideremos la matriz
AD266666664
1 1 1 1 1
""
"
"
"
377777775
:
El rango de A es 5, para "0. La matriz
AT
AD
2666664
1 C "2 1 1 1 11 1 C "2 1 1 11 1 1 C "
2
1 11 1 1 1 C "2 11 1 1 1 1 C "2
3777775
tambin es de rango 5, para "0.
30/84
7/26/2019 Clase Mincua Lineal 2016
30/84
30/84
El nmero de condicin 2.ATA/D2.A/2 D.5 C "2/="2.
Si "es mayor que la precisin de la mquina pero "2 no (por ejemplo, si"D0,5 105, "2 D0,25 1010 y la precisin de la mquinaD1,0 1010), la representacin interna de la matriz ATA ser
2666664
1 1 1 1 11 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
3777775
por lo que, a efectos numricos en esa mquina, esta matriz ser singular y de
rango 1: las ecuaciones normales no serviran.
31/84
7/26/2019 Clase Mincua Lineal 2016
31/84
31/84
Otro aspecto importante que aconseja tener mucho cuidado al utilizar ATA
AAT, nace del hecho de que aun cuando la matriz original A tengamuchos
elementos cero, ATA o AAT pueden ser totalmente densas.
Un ejemplo sera
AD
2666664
1 1 1 1
0
0
0
0
3777775
; y ATAD
26664
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
37775
:
32/84
7/26/2019 Clase Mincua Lineal 2016
32/84
32/84
Mtodo de Gram-SchmidtJorgen Pedersen Gram, Dinamarca,
1850-1916 y Erhard Schmidt, Ale-
mania, 1876-1959.
Obtiene una base ortonormalizada del subespacioIm.A/.
Comienza normalizando el primer vector columna de la matriz, a1:
e1Da1=ka1k2.A continuacin se sustrae del vector a2 su coeficiente en la direccin de e1,ha2je1ie1, resultando un vector ortogonal a e1, el cual a su vez senormaliza: : :
El proceso contina con los dems vectores columna de A.
El nmero de operaciones del mtodo es O.mn2/sumas+restas ymultiplicaciones+divisiones y O.n/races cuadradas.
33/84
d l d l b d . / b
7/26/2019 Clase Mincua Lineal 2016
33/84
/
Los diversos vectores ortonormales de la base deIm.A/se obtienen as:
e1 D a1
ka1k2I
e2 D a2 ha2je1ie1ka2 ha2je1ie1k2 I
e3 D a3 ha3je1ie1 ha3je2ie2ka3 ha3je1ie1 ha3je2ie2k2
I:::
e2
e1
e3
a 3
a 3|e1e1
a 3|e2e2
a 3 a 3|e1e1 a 3|e2e2a 3
a 3|e1
e 1
34/84
7/26/2019 Clase Mincua Lineal 2016
34/84
El algoritmo para una matriz general Am
n
es el siguiente.
Ortogonalizacin de A por Gram-SchmidtforjD 1 to n
e.1Wm; j /a.1Wm; j /foriD 1 toj 1
u.i;j/
e.1W
m; i /T
a.1
Wm; j /
e.1Wm; j /e.1Wm; j / u.i;j/ e.1Wm; i /end
u.j;j/vuut mX
kD1e.k;j/2
e.1Wm; j /e.1Wm; j /=u.j; j /end
35/84
7/26/2019 Clase Mincua Lineal 2016
35/84
El algoritmo hace ADE U, donde E mn es la matriz de columnas ei y Unnla matriz triangular superior de los productos interiores auxiliares uij .
Sustituyendo esta expresin de A en las ecuaciones normales,ATAxDATb, resulta que
UTE TE U xDUTE Tb
y, por fin, dado que E TED I ,U xDE Tb:
Un sistema triangular superior.
En condiciones adecuadas, por consiguiente, el mtodo de Gram-Schmidtpodravalerpara resolver un problema lineal de mnimos cuadrados.
36/84
7/26/2019 Clase Mincua Lineal 2016
36/84
Gram-Schmidt modificado John R. Rice, EE.UU. 1934-.
En la prctica se va perdiendo ortogonalidad en los vectores ei por erroresnumricos y, especialmente, si alguno de los vectores columna aj est prximo
al subespacio generado por los vectores anteriores e1; : : : ; ej 1.
En ese caso, los sumandos de la expresin ajP
j 1iD1haj jeiiei pueden llegar a
ser muy pequeos, o muy distantes unos de otros pero con un resultado final
que puede ser muy pequeo, por lo que el error numrico que se va produciendo
es relativamente grande. Al dividir el resultado por su norma (tambin muy
pequea) los errores se amplificarn an ms.
37/84
7/26/2019 Clase Mincua Lineal 2016
37/84
En 1966 J.R. Rice modific el orden de las operaciones del mtodo haciendoque en una etapa k en vez de sustraer del vector ak sus proyecciones sobre los
k
1vectores ei ya calculados, el vector ek se hace igual a ak al principio y
luego se le van sustrayendo su proyeccin en e1, pasando el resultado a ser elnuevo ek, el cual se proyecta luego en e2, y as sucesivamente en cada uno de
los k 1 ei anteriores.Elresultado es sustancialmente mejornumricamente.
Algoritmo clsico de Gram-SchmidtforjD 1 to n
e.1Wm; j /a.1Wm; j /foriD 1 to j 1
u.i;j/e.1Wm; i/T a.1Wm; j /e.1
Wm; j /
e.1
Wm; j /
u.i;j/
e.1
Wm; i/
end
u.j;j/vuut mX
kD1e.k;j/2
e.1Wm; j /e.1Wm; j /=u.j;j /end
Algoritmo modificado de Gram-SchmidtforjD 1 to n
e.1Wm; j /a.1Wm; j /foriD 1 to j 1
u.i;j/e.1Wm; i/T e.1Wm; j /e.1
Wm; j /
e.1
Wm; j /
u.i;j/
e.1
Wm; i/
end
u.j;j/vuut mX
kD1e.k;j/2
e.1Wm; j /e.1Wm; j /=u.j;j /end
38/84
7/26/2019 Clase Mincua Lineal 2016
38/84
La versin clsica y modificada enMatlab son estas.
function [x r2 e]=Grmsch_3(A,b)
% Se resuelve Ax=b mediante el mtodo de Gram-Schmidt modificado
[m,n]=size(A); x=zeros(n,1); e=zeros(m,n); u=triu(zeros(n,n));
for j=1:n
e(:,j)=A(:,j);
for i=1:j-1
u(i,j)=e(:,i)*e(:,j);e(:,j)=e(:,j)-u(i,j)*e(:,i);
end
u(j,j)=norm(e(:,j));
e(:,j)=e(:,j)/u(j,j);
end
for i=n:-1:1 % Rx=b
x(i)=(e(:,i)*b-u(i,i+1:n)*x(i+1:n))/u(i,i);
end
r2=norm(abs(A*x-b),2)^2; % Residuos^2
end
function [x r2 e]=Grmsch_2(A,b)
% Se resuelve Ax=b mediante el mtodo de Gram-Schmidt clsico[m,n]=size(A); x=zeros(n,1); e=zeros(m,n); u=triu(zeros(n,n));
for j=1:n
e(:,j)=A(:,j);
for i=1:j-1
u(i,j)=e(:,i)*A(:,j);
e(:,j)=e(:,j)-u(i,j)*e(:,i);
end
u(j,j)=norm(e(:,j));
e(:,j)=e(:,j)/u(j,j);
endfor i=n:-1:1 % Rx=b
x(i)=(e(:,i)*b-u(i,i+1:n)*x(i+1:n))/u(i,i);
end
r2=norm(abs(A*x-b),2)^2; % Residuos^2
end
39/84
l d l l l d fi d l b
7/26/2019 Clase Mincua Lineal 2016
39/84
El cara a cara del clsico y el modificado en un Matlabsupercompacto es este.
function [Q, R] = gs_m(A) function [Q, R] = gs_c(A)
[m, n] = size(A); [m, n] = size(A);
Q = zeros(m,n); Q = zeros(m,n);
R = zeros(n); R = zeros(n);
for j=1:n for j=1:n
R(j,j) = norm(A(:,j)); R(1:j-1,j) = Q(:,1:j-1)*A(:,j);
Q(:,j) = A(:,j)/R(j,j); temp = A(:,j) - Q(:,1:j-1)*R(1:j-1,j);
R(j,j+1:n) = Q(:,j)*A(:,j+1:n); R(j,j) = norm(temp);
A(:,j+1:n) = A(:,j+1:n) - Q(:,j)*R(j,j+1:n); Q(:,j) = temp/R(j,j);
end end
>> n=7; A=hilb(n);
>> [Q, R]=gs_c(A);
>> norm(Q*Q-eye(n))
ans =
0.156453367259543
>> [Q1, R]=gs_m(A);>> norm(Q1*Q1-eye(n))
ans =
1.090139262380597e-009
>> cond(A)
ans =
4.753673562966472e+008
40/84
7/26/2019 Clase Mincua Lineal 2016
40/84
Si resolvemos el ejemplo inicial.
>> A=[1 1 1;1 2 4;1 3 9;1 4 16]
A =
1 1 11 2 4
1 3 9
1 4 16
>> b=[2;3;5;6]
b =
2
3
56
>> [x r2]=Grmsch_3(A,b) % MODIFICADO
x =
0.5000
1.4000
-0.0000
r2 =
0.2000
>> A\bans =
0.5000
1.4000
-0.0000
41/84
7/26/2019 Clase Mincua Lineal 2016
41/84
% Script_GRSCH_1.m_Script de Ortogonalidad Gram Schmidt clsico y modificado
format short
n=7; A=hilb(n);
% Matriz de Hilbert (muy mal condicionada)
cond(A), pause
b=A*ones(n,1); % Trmino independiente para x=1.
disp(Clsico:), [x r2 e]=Grmsch_2(A,b); % Gram Schmidt clsicox, pause, e, pause, norm(abs(x-ones(n,1)),2), pause
ortogonalidad=norm(e*e-eye(n)), pause % Ortogonalidad matriz e
disp(Modificado:), [x r2 e]=Grmsch_3(A,b);% Gram Schmidt modificado
x, pause, e, pause, norm(abs(x-ones(n,1)),2), pause
ortogonalidad=norm(e*e-eye(n)) % Ortogonalidad matriz e
>> Script_GRSCH_1ans = 4.7537e+08
Clsico:x =
1.1983
-7.187481.7515
-318.3887594.3144
-517.0744
172.5582e =
0. 81 33 - 0. 54 38 0 .1 99 1 - 0. 05 51 0 .01 20 - 0. 00 20 - 0. 00 110.4067 0.3033 -0.6886 0.4760 -0.1974 0.0541 0.0298
0. 27 11 0 .3 939 - 0.2 07 1 - 0. 49 01 0 .61 08 - 0. 32 69 - 0. 15 79
0.2033 0.3817 0.1124 -0.4396 -0.2542 0.6411 0.18330. 16 27 0 .3 514 0 .2 91 5 - 0. 11 23 - 0. 49 92 - 0. 20 22 0 .3 445
0. 13 56 0 .3 202 0 .3 89 2 0 .2 30 9 - 0. 15 06 - 0. 54 18 - 0. 80 780.1162 0.2921 0.4407 0.5206 0.5013 0.3805 0.4115
ans = 870.8917
ortogonalidad = 0.6954Modificado:
x =1.0052
0.7926
3.0065-6.8260
15.3845-11.4559
5.0969
e =0. 81 33 - 0. 54 38 0 .1 99 1 - 0. 05 51 0 .01 20 - 0. 00 20 0 .0 002
0. 40 67 0 .3 033 - 0.6 88 6 0 .4 76 0 - 0. 19 74 0. 05 41 - 0. 00 910. 27 11 0 .3 939 - 0.2 07 1 - 0. 49 01 0 .61 08 - 0. 32 69 0 .0 907
0. 20 33 0 .3 817 0 .1 12 4 - 0. 43 96 - 0. 25 42 0. 64 10 - 0. 36 26
0. 16 27 0 .3 514 0 .2 91 5 - 0. 11 23 - 0. 49 92 - 0. 20 22 0 .6 800
0. 13 56 0 .3 202 0 .3 89 2 0 .2 30 9 - 0. 15 06 - 0. 54 18 - 0. 59 840.1162 0.2921 0.4407 0.5206 0.5013 0.3805 0.1995
ans = 21.0752
ortogonalidad = 1.9358e-08
42/84
F t i i QR
7/26/2019 Clase Mincua Lineal 2016
42/84
Factorizacin QR
Las transformaciones ortogonalesconservan la norma eucldea; esto es, siQn
n
es una matriz ortogonal y x un vector n-dimensional, se cumple que
kQxk2D kxk2:En efecto,
kQx
k2
D phQxjQxi D pxTQTQx
D
pxTx
D kx
k2:
Segn esto,si Qes una matriz ortogonal, al premultiplicar el vector Ax bpor ella, su norma eucldea queda igual:
kQAx Qbk2D kQ.Ax b/k2D kAx bk2:
La idea es usartransformaciones ortogonalespara convertir el problema en otroms sencillo de resolver numricamente.
43/84
7/26/2019 Clase Mincua Lineal 2016
43/84
Si A2 Rmn, m > n, b2 Rm,rango.A/Dny se han efectuado una serie detransformaciones ortogonales que refleja un matriz ortogonal Q
2R
mm tal que
QADRD
R10
n
m ny R1 es triangular superior, si se hace
QbD cd
nm n;
entonces
kAx bk2 D kQAx Qbk2D R1x cd 2D
qkR1x ck22 C kdk22; para cualquier x2 Rn.
44/84
7/26/2019 Clase Mincua Lineal 2016
44/84
LasolucindemKnx2Rn kAx bk2 ser aquella que hagamnimo
kR1x
c
k22
C kd
k22:
Comokdk22 es constante, la solucin ser la que haga mnimo el otrosumando:cuando R1xDc .Resolviendo este sistema por sustitucin inversa se llega a la solucin del
problema de mnimos cuadrados.La suma de residuos al cuadrado serkdk22 y el vector de residuos
rD QT
0
d:
El proceso de reduccin de A a R se denominafactorizacin QR otriangularizacin ortogonal.
45/84
7/26/2019 Clase Mincua Lineal 2016
45/84
Teorema Sea la matriz A2 Rmn de rango n y su factorizacin ADQR. El factorR tiene todos los elementos de su diagonal principal positivos y es igual al que resulta de
la factorizacin de Cholesky, G TG , deATA.
I DEMOSTRACIN. Sirango.A/Dn, de acuerdo con un teorema anterior, la factorizacin de CholeskydeATA es nica.
El teorema de la proyeccin garantiza la existencia en esta variedad lineal de un nico x tal que su
normakxk2 es mnima y adems pertenece a .ker.A//?.Por otro lado,
ATADh
RT1; 0i
QQT
R10
DR T1 R1:
46/84
7/26/2019 Clase Mincua Lineal 2016
46/84
Transformaciones de Householder
Alston Scott Householder, EE.UU.,
1904-1993.
Definicin Se denominatransformacin o reflexin de Householdera una transforma-cin lineal de Rn en Rn caracterizada por una matriz Hnn de Householder de la formaHDI 2wwT donde w2 Rn; kwk2D1, es elvector de Householder.
Teorema Toda transformacin de Householder essimtrica y ortogonal.
I DEMOSTRACIN. Por definicin HT D I 2.wwT/T D I 2.wT/TwT D I 2wwT D H. Comoadems wTwD kwk22D1,
HTHD H2 D .I 2wwT/.I 2wwT/D I 4wwT C 4w.wTw/wT DI :
47/84
7/26/2019 Clase Mincua Lineal 2016
47/84
Aplicar una transformacin de Householder a un vector cualquiera equivale aobtener sureflejorespecto al subespacio .Im.w//?.
012 0w
45
w
a
7
8
w9
a
w
7
8
w9
a
wHa
4
En efecto
H aD.I 2wwT/aDa 2wwTaDa 2.wTa/w:El vector .wTa/w es la proyeccin de asobre w; es decir, H aes igual al
vector a menos dos veces su proyeccin sobre w.
48/84 Lo esencial de estas transformacioneses su capacidad de hacer cero
determinados coeficientes de un vector dado modificarlo ortogonalmente:
7/26/2019 Clase Mincua Lineal 2016
48/84
g
Si x e y son dos vectores no nulos de igual norma eucldea y se hace
wD 1
kx yk2 .x y/;entonces
.I 2wwT/xDy :
Comprobmoslo:
.I 2wwT/xDx 2
.xy/Txp.xy/T.xy/
xyp.xy/T.xy/
D
= x 2
xTxy Tx.xy/T.xy/
.x y/
= x
2 x
Txy Tx2.
x
T
xyT
x/ .x y/Dy .
Esto es as pues, al tener x e y la misma norma eucldea,
.x y/T.x y/ D xTx yTx xTyC yTyD 2.xTx yTx/;
pues xTx
DyTy y yTx
DxTy.
49/84
7/26/2019 Clase Mincua Lineal 2016
49/84
Este resultado,geomtricamente, se deduce inmediatamente de la reflexinantes mencionada.
El vector w es colineal con el vector x y.Como x e y tienen la misma longitud, la reflexin de x respecto a
.Im.w//? es y .
0 1 2 0 3 4 4
5
3 66 7 8
8
50/84
Para un sistema AxDbse pueden construir transformaciones de Householder
7/26/2019 Clase Mincua Lineal 2016
50/84
que anulen los coeficientes que se deseen de cada vector columna de A dejando
los dems como estaban.
La figura representa los cuatro pasos del proceso de reducir una matriz A64a una triangular superior R64.
0
0
0 0
0
0
0 0
0 00 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
A0 A1 A2 A3 A4
La matriz A1 resultara de la transformacin H1A0; la A2 sera
H2A1DH2H1A0; y as cuatro veces.A una matriz m nse le aplicar una sucesin kD1; : : : ; n de
transformaciones, cada una de las cuales ha de hacer cero los coeficientes
kC 1 ; : : : ; m del vector columna k.
51/84 Se pretende que latransformacin k-sima, Hk, haga:
7/26/2019 Clase Mincua Lineal 2016
51/84
HkakDyD
ai k para iD 1; 2; : : : ; k 10 para iD kC 1 ; : : : ; m :
A tal fin, los coeficientes del vector y debern ser:
y1 D a1ky2 D a2k:::yk D qa2kkC a2kC1kC C a2mk OJO signos!
ykC1 D 0:::ym D 0:
Como y21C
y22C C
y2mD
a21k
Ca2
2k
C Ca2
mk,
jjyjj2D jjakjj2:
La transformacin Hk tendr como vector w
D.ak
y/=
kak
y
k2.
52/84 Elcoeficiente k-simo de y puede adoptar dos signos.Paraevitar erroresde
cancelacin, se escoge el signo opuesto al del coeficiente k-simo de ak.
7/26/2019 Clase Mincua Lineal 2016
52/84
En esta figura hay dos posibilidades para transformar a en un vector de igual
magnitud con a2D0: convertirlo en y o y 0,
y a 1 y a 1 y a1 + y x1
x2
w
a
w alt
Con el criterio apuntado,la transformacin que hay que usar es la que define w,
que convierte a en y 0. Suprimer coeficientees w1Da1 .y1/Da1 C y1; elsegundo, el de aen x2.
La transformacin alternativa, wal t convertira a a y : su primer coeficiente esa1
y1; el segundo el mismo de w.
53/84
7/26/2019 Clase Mincua Lineal 2016
53/84
En definitiva, en la transformacin de Householder k-sima que se aplica a lamatriz A, los valores numricos del vector w son:
wD 1p
2s.sC jakk j/
266666664
0:::
akkC s signo.akk /akC1k:::
amk
377777775
;
donde sD qa2kkC a2kC1kC C a2mk .
54/84Caso 1: Resolucin de AxDb, Amn, m > n y rango completo
7/26/2019 Clase Mincua Lineal 2016
54/84
Mediante transformaciones de Householder se reduce la matriz A a unatriangular superior h R10 iy el vector ba otro
cd
La solucin demKnx2Rn kAx bk2 sera la R1xDc, por sustitucin inversa.La suma de residuos al cuadrado serkdk22.
El algoritmo:
Resolucin de Ax D b por transf. de Householder Transformacin columnas de la Matriz Amnforj D 1 to n
ifm Kax fja.j;j/j; : : : ; ja.m;j/jg D 0 then stopD
qPmkDj a.k;j/
2
sig no.a.j; j//
w.j W m/ a.j W m;j/; w.j/ w.j/ C ; D 2PmkDj w 2.k/; a.j;j / forl D jC 1 to n
a.j W m;l / a.j W m;l / w.j W m/
wT.j W m/ a.j W m;l /
end Transformacin del vector b.b.j W m/ b.j W m/ w.j W m/ wT.j W m/ b.j W m/
end
Resolucin del sistema Rx D b.forj D n to 1, x.j/
b.j/PnkDjC1 a.j;k/ x.k/a.j;j/, end
Residuos al cuadrado.rescua PmkDnC1 b2.k/
55/84
EnMatlab, con la posibilidad de obtener Qy R:
7/26/2019 Clase Mincua Lineal 2016
55/84
, p Q y
function [x r2 Q R]=Qrdes_3(A,b)
% Resolucin de Ax=b mediante transformaciones de Householder; calcula Q y R
[m n]=size(A); x=zeros(n,1); Q=eye(m);
for j=1:n
w=Housv(A(j:m,j)); % Householder de a(j:m,j)
A(j:m,j:n)=A(j:m,j:n)-2*w*(w*A(j:m,j:n));
b(j:m)=b(j:m)-2*w*(w*b(j:m));
Qk=eye(m);
Qk(j:m,j:m)=eye(m+1-j)-2*(w*w);
Q=Qk*Q;
end
for i=n:-1:1 % Rx=bx(i)=(b(i)-x(i+1:n)*A(i,i+1:n))/A(i,i);
end
r2=norm(b(n+1:m))^2; % Residuos al cuadrado
R=triu(A); Q=Q; % Matrices R y Q
end
function w = Housv(x)
% Transformacin de Householder del vector x.
m=max(abs(x)); w=x/m;
sw=1; if w(1)> A=[1 1 1;1 2 4;1 3 9;1 4 16]
A =
1 1 1
1 2 4
1 3 9
1 4 16
>> b=[2;3;5;6]
b =
2
3
5
6>> [x r]=Qrdes_3(A,b)
x =
0.5000
1.4000
-0.0000
r =
0.2000
>> A\bans =
0.5000
1.4000
-0.0000
56/84 El vector de residuos, 20,1
3
7/26/2019 Clase Mincua Lineal 2016
56/84
rD
2
66640,1
0,30,3
0,1
3
7775;
se puede obtener, si el algoritmo ha transformado ben c
d
, sin ms que hacer:
r
0
dforkDnto1r Hkr
end
El nmero de operaciones de este mtodo es: O.mn2 n3=3/ sumas+restas y multiplicaciones+divisiones, para
transformar la matriz A en R;
nraces cuadradas y las de la sustitucin inversa, O.n2=2/.
57/84
C i 2 R l i d A b Amn
7/26/2019 Clase Mincua Lineal 2016
57/84
Caso numrico 2: Resolucin de AxDb, Amn, n > m y rangocompleto
Este problema,si tiene solucin, es indeterminado:tiene muchas.
La de menor norma eucldease puede calcular mediante estos pasos:
Paso 1Se aplica el algoritmo QR a la matriz AT, en vez de a A. Resultar
QTAT D
R
0
;
es decir, AT DQ
R
0
, donde Q es una matriz ortogonal n ny R una
triangular superior m m.
58/84Paso 2La matriz original A ser AD RT; 0TQT.Si se sustituye en la ecuacin AxDb, se tendr que
7/26/2019 Clase Mincua Lineal 2016
58/84
RT; 0T
QTxDb:
Si se hace el cambio de variable zDQT
x, la ltima ecuacin quedaRT; 0T
zDb:
Como zTzD.QTx/T.QTx/DxTQTQxDxTx, las normaseucldeas de x y zsern iguales.
Estructurando el vector z en zRz0 y bde igual manera, la solucin deRT; 0T
zDb saldr de resolver
RTzRDbR;siendo los dems coeficientes del vector z, z0, nulos.
Paso 3El vector solucin x que se busca resultar de deshacer el cambio devariable introducido; es decir:
xDQ
zR0
:
59/84
Caso 3: Resolucin numrica de Ax D b Amn m > n m < n y
7/26/2019 Clase Mincua Lineal 2016
59/84
Caso 3: Resolucin numrica de AxDb, A , m > n m < n yrango incompleto
Caso ms general que se puede dar en mnimos cuadrados de ecuaciones lineales.
Paso 1Se transforma la matriz A mediante transformaciones deHouseholder y permutaciones de columnas para llegar a:
m r
r
0
En cada etapa k se calcula la norma eucldea de ak, k; : : : ; n,limitndose a sus coeficientes k; : : : ; m y se intercambia la columna k
con la de mayor norma.
60/84
7/26/2019 Clase Mincua Lineal 2016
60/84
Paso 2Del Paso anterior se ha llegado a
QAPD RD
R110
R12R22
r
m r y QbD
c
d
r
m r ;r n r
dondekR22k21kAk2. A partir de aqu haydos opciones:Que rD n(rango completo). Lasolucinsale de resolver R11xDc.Que r < n(rango incompleto). Se construyen unas transformaciones
ortogonales,Qnn1 , tales que R11; R12
Q1D W; 0
, donde W rr
es triangular superior.
61/84Cmo hacer esto?Se acta sobre R11, R12T y se llega a b).
a) b)
7/26/2019 Clase Mincua Lineal 2016
61/84
r
n r
r
0
) )
Esto se hace en r etapas. En una de ellas, k, sepremultiplicapor una
transformacin de Householderque haga cero los elementos rC 1andela columna k y que deje inalterados del 1al k 1y del kC 1a r .
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1 2 3 4
El valo indica el elemento que se utiliza para definir cada
transformacin; los que se hacen cero con el signo
.
62/84
P 3
7/26/2019 Clase Mincua Lineal 2016
62/84
Paso 3De los dos pasos anteriores se tendr que
kAx bk2D k.QAP /.PT
x/ Qbk2:Ahora bien, .QAP /P Tx se puede escribir .QAP /Q1Q
T1 P
Tx y
tambin,
W 00 0QT1 P TxD c
d :Si se hace QT1 P
TxDy y se resuelve W y 1Dc, el vector solucin quese busca, x, resultar de
xDP Q1 y 10 :
63/84
function [x r res]=Mincua_QR(A,b)
% Resolucin de Ax=b general mediante transformaciones de Householder
7/26/2019 Clase Mincua Lineal 2016
63/84
EnMatlab:
% Resolucin de Ax b general mediante transformaciones de Householder
% Posible rango incompleto r
[m n]=size(A); x=zeros(n,1); tol=sqrt(eps); W=zeros(n,m); ip=1:n; r=n;
for j=1:n
jm=j; c=0;
for k=j:n
h=norm(A(j:m,k));
if h>c, c=h; jm=k; end
end
if jm~=j, A(:,[j jm])=A(:,[jm j]); ip([j jm]) = ip([jm j]); end
if j==m, break, end
w=Housv(A(j:m,j)); % Householder de A(j:m,j); luego a A y b
A(j:m,j:n)=A(j:m,j:n)-2*w*(w*A(j:m,j:n)); b(j:m)=b(j:m)-2*w*(w*b(j:m));
end
for j=1:n % Ver rango
if abs(A(j,j))
7/26/2019 Clase Mincua Lineal 2016
64/84
b=a*ones(4,1);
A=[a a(:,1)*2+a(:,2)*0.5 a(:,3)*2+a(:,4)*0.5 a(:,2)*2+a(:,3)*0.5];
size(A)
ans = 200 7
format long
[x r res]=Mincua_QR(A,b)
x =0.168704156479218
0.156479217603912
0.009779951100245
0.792176039119804
0.415647921760391
0.415647921760391
0.317848410757946r = 4
res = 1.205973193713402e-029
%
% Comprobacin del resultado
%
>> x-pinv(A)*bans = 1.0e-015 *
-0.111022302462516
0.333066907387547
0.194289029309402
-0.333066907387547
0.166533453693773
-0.943689570931383
0.499600361081320
65/84
Si lo utilizamos para resolver el ejemplo.
7/26/2019 Clase Mincua Lineal 2016
65/84
>> A=[1 1 1;1 2 4;1 3 9;1 4 16]
A =
1 1 1
1 2 41 3 9
1 4 16
>> b=[2;3;5;6]
b =
2
3
5
6
>> [x r res]=Mincua_QR(A,b)x =
0.500000000000000
1.400000000000000
0
r =
3
res =
0.200000000000001>> A\b
ans =
0.5000
1.4000
-0.0000
66/84
7/26/2019 Clase Mincua Lineal 2016
66/84
Transformaciones de Givens James Wallace Givens, EE.UU., 1910-1993.
Definicin Se denominatransformacin de Givensa una transformacin lineal ortogonalde Rn en Rn caracterizada por una matriz
G .i; j /D
26666666666664
1 : : :1
c s: : :
s c1
: : :
1
37777777777775
ij
donde c2 C s2 D1.
67/84
Al l R f d G
7/26/2019 Clase Mincua Lineal 2016
67/84
Al aplicar a x2 Rn una transformacin, o rotacin, de Givens,G .i;j/
WR
n
!R
n, con c
Dcos y s
Dsen , producir lo siguiente:
G .i;j /xD
266666666666664
x1:::xi1
xicos C xjsen xi
C1:
::xj 1xisen C xjcos
xj C1:::xn
377777777777775
i
j
Se rota el vector x un ngulo en el subespacio que generan los vectores ei y
ej de Rn.
68/84
7/26/2019 Clase Mincua Lineal 2016
68/84
Para hacer cero alguno de los coeficientes i j de un vector x, concretamenteel j , se deber escoger un tal quexisen C xjcos D 0, es decir, habrque hacer
tan D xjxi
;
o, lo que es equivalente,cDcos D xiq
x2iCx2jy
sDsen D xjqx2iCx
2j
:
69/84
Ejemplo En la figura se describe, en el espacio eucldeo tridimensional, larotacin del vector
7/26/2019 Clase Mincua Lineal 2016
69/84
x
D 241
1
135en el plano z y para anular su tercer coeficiente.
..
.
..
.
..
.
.
.
..
.
..
.
..
.
.
..
.
..
.
..
.
..
..
.
..
..
.
.
.
..
..
.
..
.
.
..
..
.
..
.
.
..
.
..
..
..
.
.
..
..
..
.
..
.
..
.
..
..
..
.
..
..
.
..
.
.
..
.
..
..
..
.
..
..
.
..
.
..
.
..
..
..
..
.
.
..
.
..
.
..
.
..
..
..
..
..
.
..
.
..
.
..
.
.
..
.
..
.
..
.
.
..
.
..
.
..
.
.
..
.
..
..
..
.
.
..
.
..
.
..
.
...............
..
..
.
..
..
..
..
..
..
..
.
..
.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.
..
..
.
.....................................................................................................................................................................
............................
y
x
z
x
x
1
1
1
70/84
7/26/2019 Clase Mincua Lineal 2016
70/84
Como el ngulo que hay que rotar x es 45, la matriz de Givens que hay que
utilizar es,
G .2;3/D
2641 0 00 p2=2 p2=2
0 p
2=2p
2=2
375 :
El nuevo vector ser
G xDx0D24
1p2
0
35
:
Lanorma eucldeade ste y del original esp
3.
71/84 Mediante transformaciones de Givens se puede reducir la matriz de un problema
de mnimos cuadrados, en n etapas, a una triangular superior R. En cada una
de esas etapas, j , se haran cero, uno a uno, los coeficientes jC 1a m.
7/26/2019 Clase Mincua Lineal 2016
71/84
p j j
Por ejemplo, las operaciones necesarias para transformar la matrizAD
24
35en RD
264
0 0 0 0 0 0
375, son las que siguen.
A1DG .1; 2/AD 24
0
35 ; A2DG .1; 3/A1D 24 0 0
35 ;
A3DG .1; 4/A2D
264
5 5 50 0 0
375
; A4DG .2; 3/A3D
264
5 5 500 00
375
;
A5DG .2; 4/A4D
2645 5 50 5 50 00 0
375 ; A6DG .3; 4/A5D264
5 5 50 5 50 0 50 0 0
375 :Los smbolos , y5 indican que el coeficiente al que se hace referencia ha experimentado 1, 2 3 transformacionesdesde su valor inicial.
72/84
El algoritmo numrico completo es el que describe la tabla que sigue.
7/26/2019 Clase Mincua Lineal 2016
72/84
Resolucin de Ax D b por transf. de Givens Transformacin de la Matriz Amnfori D 1 to n
forkD
iC
1 to m Hacer nulo el elemento .k;i/.
ifa.k;i/ 0 thenif ja.k;i/j ja.i;i/j then
t D a.i;i /=a.k; i/I s D 1=p
1 C t2I c D s telse
t D a.k; i/=a.i;i /I c D 1=p
1 C t2I s D c tenda.i;i/ c a.i;i/ C s a.k;i/forj D i C 1 to n
aux
Dc
a.i;j/
Cs
a.k;j/; a.k;j/
s
a.i;j/
Cc
a.k;j/; a.i;j/
aux
end Transformacin del vector b.
aux D c b.i/ C s b.k/; b.k/ s b.i/ C c b.k/; a.i/ auxend
end
end Resolucin del sistema Rx D b.forj D n to 1
x.j/ 0@
b.j/ n
XkDjC1a.j; k/ x.k/
1A,
a.j;j/
end Residuos al cuadrado.rescua
mXkDnC1
b2.k/
73/84
function [x r2]=Givens(A,b)
% Resolucin de Ax=b mediante transformaciones de Givens
7/26/2019 Clase Mincua Lineal 2016
73/84
EnMatlab:
[m,n]=size(A); x=zeros(n,1);
for i=1:n % Factorizacin de A
for k=i+1:m
if 1+abs(A(k,i))==1, continue, endif abs(A(k,i))>=abs(A(i,i))
t=A(i,i)/A(k,i); s=1/sqrt(1+t*t);
c=s*t;
else
t=A(k,i)/A(i,i); c=1/sqrt(1+t*t);
s=c*t;
end
A(i,i)=c*A(i,i)+s*A(k,i);
q(i+1:n)=c*A(i,i+1:n)+s*A(k,i+1:n);
A(k,i+1:n)=-s*A(i,i+1:n)+c*A(k,i+1:n);
A(i,i+1:n)=q(i+1:n);
q1=c*b(i)+s*b(k); % Transformar b
b(k)=-s*b(i)+c*b(k);
b(i)=q1;
end
end
for i=n:-1:1 % Sustitucin inversax(i)=(b(i)-A(i,i+1:n)*x(i+1:n))/A(i,i);
end
r2=norm(b(n+1:m))^2; % Residuos al cuadrado
end
>> A=[1 1 1;1 2 4;1 3 9;1 4 16]
A = 1 1 1
1 2 4
1 3 9
1 4 16
>> b=[2;3;5;6]
b =
2
3
5
6
>> [x,r]=Givens(A,b)x =
0.5000
1.4000
-0.0000
r =
0.2000
>> A\b
ans =
0.5000
1.4000
-0.0000
74/84
El nmero de operaciones que requiere este algoritmo para transformar A es
7/26/2019 Clase Mincua Lineal 2016
74/84
O.2mn2 2n3=3/ sumas+restas y multiplicaciones+divisionesO.mn=2/races cuadradas y
O.n2=2/ sumas+restas y multiplicaciones+divisiones para efectuar la sustitucin inversa.
Con precisiones semejantes Givens es el doble decaroque Householder.Cundo utilizar Givens y Householder entonces?
La clave est en considerar la estructura de la matriz A del problema:
Si sta es densa, es decir, muchos de sus coeficientes son distintos de
cero, el mtodo de Householder es el ms aconsejable;
Si la estructura de A es dispersa, convendr centrarse en hacer cero
slo aquellos elementos no nulos en las columnas correspondientes, por
lo que, a priori,el mtodo de Givens deber ser ms ventajoso.
75/84Transformaciones rpidas e Givens
La idea es conseguir velocidad de Householder con una M 2 Rmm tal que
7/26/2019 Clase Mincua Lineal 2016
75/84
La idea es conseguirvelocidad de Householdercon una M2 R tal queM A
DS
sea triangular superior y que M MT DDDdiag.d1; : : : ; d m/.
Como D1=2Mes ortogonal, se tiene que
ADM1
SD D1=2M1 D1=2S D MTD1=2 D1=2S es la factorizacin QR de A.
Si se eligen adecuadamente una matrices M1
D 1 1
1 1y M2D 1 2
2 1 ,que cumplan que1i i 0, denominadastransformaciones rpidas deGivens, una reordenacin de los clculos de la factorizacin puede conseguir la
velocidad de las transformaciones de Householder con las ventajas de las de
Givens.
76/84
Por descomposicin en valores singulares
7/26/2019 Clase Mincua Lineal 2016
76/84
Existen diversos mtodos1 iterativos para calcular la descomposicinnumricaen valores singulares ADU V T.
A partir de ella, la solucin demKnx2Rn kAx bk2 es
xDV 1r 00 0UTb: Para cualquier matriz Amn, de rango completo o incompleto, la solucin del
problema demenor norma eucldeaes
xDXi 0
uTi b
ivi :
1Los veremos en el tema dedicado a los valores y vectores propios.
77/84
Ejemplo Utilizando la descomposicin U V T de A resolver21 6 11
3 253
7/26/2019 Clase Mincua Lineal 2016
77/84
266664
1 6 11
2 7 12
3 8 134 9 14
5 10 15
377775
A
24x1x2x3
35
x
D
266664
5
5
55
5
377775
b
:
La descomposicin es
A D U V T
D "0;3546 0;6887 0;5700 0;1764 0;20960;3987 0;3756 0;7455 0;2235 0;3071
0;4428 0;0624
0;1702
0;3652
0;7985
0;4870 0;2507 0;2966 0;7652 0;16270;5311 0;5638 0;0490 0;4472 0;4445#"35;1272 0 0
0 2;4654 00 0 0;0000
0 0 00 0 0
#h0;2017 0;8903 0;40820;5168 0;2573 0;81650;8320 0;3757 0;4082
i:
78/84
Como el valor singular 3D0, la solucin de norma eucldea mnima seobtiene de x
uT1 bv CuT2 bv
7/26/2019 Clase Mincua Lineal 2016
78/84
obtiene de x D 11
v1 C 22
v2
D 11;070935;1272
0;20170;51680;8320
C 1;56062;4654
0;89030;25730;3757
D 0;50;00;5
:
Este programa deMatlabresuelve el ejemplo llamando a svd(
)para obtener
la descomposicin en valores singulares de A.
function [x S r] = Svdre(a,b)
% Resolucin ||Ax-b|| mediante la desc. en valores singulares de A
[m,n] = size(a); tol=sqrt(eps); tmp=zeros(m); x=zeros(n,1);
[U S V]=svd(a); S=diag(S); r=0;
for j=1:n
if S(j)>=tol
r=r+1;
tmp(r)=dot(U(:,j),b)/S(j);
end
end
for j=1:r
x=x+tmp(j)*(V(:,j));
end
end
79/84
Comparacin de los diversos mtodos
M d O i
7/26/2019 Clase Mincua Lineal 2016
79/84
Mtodo Operaciones
Ecuaciones Normales mn2
2 C n3
6
Transformaciones de Householder mn2 n33
Transformaciones de Givens 2m n2 23
n3
Mtodo de Gram Schmidt mn2
Mtodo de Gram Schmidt Modificado mn2
Mtodo de Golub-Reinsch (SVD) 2m n2 C 4n3Mtodo de Golub-Reinsch-Chan (SVD) mn2 C 17
3n3
Los mtodos basados entransformaciones ortogonalesson los ms precisos y
habituales.
El basado enSVDes el ms robusto, aunque ms caro.
80/84
Matlab y el problema de mnimos cuadrados
7/26/2019 Clase Mincua Lineal 2016
80/84
Para calibrar las posibilidades de Matlabcon los problemas de mnimoscuadrados, vamos a utilizarlo para ajustar a unos puntos la funcin
yDc1xec2x
que se utiliza en prospeccin de hidrocarburos y minerales.
Como no disponemos de datos reales, vamos a generar unossintticoshaciendoc1D5y c2D 3.
Generaremos 300 puntos y los perturbaremos con unruido aleatorionormalizadode media 0.
81/84 Utilizaremos como mtodos para obtener los parmetros c1 y c2, en un modelolinealizado, con ayuda de las rutinas deMatlab:
El operador n
7/26/2019 Clase Mincua Lineal 2016
81/84
El operadorn
Las ecuaciones normalesLa descomposicin QR
El mtodo de Gram-Schmidt
La descomposicin en valores singulares y
La matriz pseudoinversa,
Para linealizar el modelo original, haremos los cambios
vDln.y=x/; uDx; Dln c1 y Dc2;resultando
vDu C :
82/84
>> x0=0.01; %primer punto de muestra
>> x=linspace(x0,2,300); % 300 puntos
>> y=5*x.*exp(-3*x); %nube de puntos
>> yn=abs(y+0.05*(rand(size(x))-0.5)); % + ruido: valores pos.
>> v=log(yn./x); %cambio de variable
7/26/2019 Clase Mincua Lineal 2016
82/84
Eldiary deMatlab:
g y
>> x=x(:); v=v(:);
>> A=[ones(size(x)) x]; % Matriz del sistema
>> c=A\v % Prim. respuesta: con \
c =1.6443
-3.0579
>> G=chol(A*A); % Ecuaciones normales
>> c1=G\(G\(A*v));
>> c1
c1 =
1.6443 % Segunda respuesta
-3.0579
>> [Q,R]=qr(A,0); % Factorizacin QR
>> c2=R\(Q*v)
c2 =1.6443 % Tercera respuesta
-3.0579
>> [Q,R]=gs_m(A); % Gram-Schmidt modi.
>> c3=R\(Q*v)
c3 =
1.6443 % Cuarta respuesta
-3.0579
>> format long
>> c4=pinv(A)*v % Matriz pseudoinversa
c4 =
1.64428682050583 % Quinta respuesta
-3.05786465731645
>> [U S V]=svd(A); % Descomposicin val. sing.
>> c5=V\(S\(U\v))
c5 =
1.64428682050583 % Sexta respuesta
-3.05786465731645
83/84function demoXexp(n)
% demoXexp Ajuste datos sintticos a y = c(1)*x*exp(c(2)*x)
%% Dato: n = (opcional) nmero de puntos sintticos a generar.
% defecto=200%
if nargin
7/26/2019 Clase Mincua Lineal 2016
83/84
Un script.mcon las instrucciones
x=linspace(x0,2,n); % Construccin de los datosy=5*x.*exp(-3*x); %
yn=abs(y+0.05*(rand(size(x))-0.5)); % con cambio de variable
v=log(yn./x); %x=x(:); v=v(:); % para linealizar el
A=[ones(size(x)) x]; % modeloc=A\v; %
fprintf(Parmetros ajustados:\ncon A\\b: c1 = %18.15f c2 = %18.15f\n,...exp(c(1)),c(2));
% --- Plot datosxfit = linspace(min(x),max(x));
yfit = exp(c(1))*xfit.*exp(c(2)*xfit);if n
7/26/2019 Clase Mincua Lineal 2016
84/84
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
x
y
c1 = 5.6363 c2 = 3.1949
100 puntos "sintticos"
original
+ruido
ajustado