Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fundamentos de lgebra
lineal numrica
Jos Luis de la Fuente OConnor
jldelafuente@etsii.upm.es
joseluis.delafuente@upm.es
Clase_alg_line_nu_2012.pdf
1/64
ndice
Operaciones con matrices
Producto de una matriz por un vector
Producto de dos matrices
Frmula de Strassen
Normas
Vectoriales
Matriciales
Condicionamiento de sistemas de
ecuaciones
2/64
3/64
yi D
j D1
aij xj :
>> y=A*x
Programando el algoritmo anterior con el juego de instrucciones de
Matlab sera:
[m n]=size(A);
y=zeros(m,1);
for i=1:m
for j=1:n
y(i)=y(i)+A(i,j)*x(j);
end
end
En este script (o guin) de operaciones a realizar, el bucle en
j materializa el producto interior de la fila i de A por el vector
x.
6/64
function y = MatVecF(A,x)
[m n] = size(A);
y = zeros(m,1);
for i=1:m
y(i) = A(i,:)*x;
end
ste sera el algoritmo en su versin por filas: una sucesin de
productos interiores: los vectores fila de A, A(i,:), por el vector x.
7/64
function y = MatVecC(A,x)
[m n] = size(A);
y = zeros(m,1);
Codificado para Matlab:
for j=1:n
y = y + A(:,j)*x(j);
end
8/64
9/64
function y=VecMatC(x,A)
%
[m n] = size(A);
y = zeros(1,n);
for j=1:n
y(j) = y(j)+x*A(:,j);
end
10/64
cij D
ai k bkj ;
kD1
para todo 1 i m y 1 j n. El algoritmo es el que sigue.
P RODUCTO C D AB
Hacer C D 0
for j D 1 to n
for i D 1 to m
for k D 1 to r
c.i; j / D c.i; j / C a.i; k/ b.k; j /
end
end
end
11/64
a(i)
is a row vector,
a columnde
vector.
Cada
coeficiente
cij , esb(j)
el isresultado
un producto interior:
i
i
j
j
cij
En Matlab:
a'(i )
b( j )
cij
function C = MatMatInt(A,B)
% view of the matrixmatrix product is easier to
The inner product
[m r] = size(A);
use for hand calculations.
[r n] = size(B);
C = zeros(m,n);
for j=1:n
for i=1:m
C(i,j) = A(i,:)*B(:,j);
end
end
NMM: A Review of Linear Algebra
page 45
12/64
AB
= C j de
c(j)C= es
Abel(j)resultado de
Ahora bien, cada
columna
la matriz
multiplicar
la matriz A por el vector columna j -simo de B como
c(j) and b(j) are column vectors.
indica la figura.
i
=
r
A
En Matlab:
b( j )
c( j )
function C = MatMatVec(A,B)
The column view %of the matrixmatrix product AB = C is
helpful because it [m
shows
relationship between the columns of
r] =thesize(A);
A and the columns
[r ofn]C=. size(B);
C = zeros(m,n);
for j=1:n
C(:,j) = A*B(:,j);
end
13/64
C D AB D
En Matlab:
function C = MatMatExte(A,B)
%
[m r] = size(A);
[r n] = size(B);
C = zeros(m,n);
for k=1:r
C = C + A(:,k)*B(k,:);
end
15/64
16/64
D
D
D
D
D
D
D
D
D
D
D
.A 11 C A 22/.B 11 C B 22/
.A 21 C A 22/B 11
A 11.B 12 B 22/
A 22.B 21 B 11/
.A 11 C A 12/B 22
.A 21 A 11/.B 11 C B 12/
.A 12 A 22/.B 21 C B 22/
P1 C P4 P5 C P7
P3 C P5
P2 C P4
P1 C P3 P2 C P6
18/64
20/64
22/64
ndice
Operaciones con matrices
Producto de una matriz por un vector
Producto de dos matrices
Frmula de Strassen
Normas
Vectoriales
Matriciales
Normas
Vectoriales
Si en un espacio vectorial E sobre el cuerpo K (R o C) se define
una norma vectorial como una aplicacin k k W E ! R que
verifica
24/64
ku
vk kuk
kxkp D jx1 jp C C
Una variante tambin til de esta regla es la siguiente:
normas pkvk
de Hlder.
Casos particulares l
ku denominadas
vk kuk
:
p D 2:
25/64
kxk1 D
jxi j
iD1
kxk2 D
jx1j2 C C jxnj2 :
26/64
27/64
x22 D
=
kxk
2
i
2
i=1
|xijx
| ij
iD1
q
2 2
|x11|j22+C|xjx
2 | 2=
jx
j DxT xx T x
q
x1
max
kxk
D1i2
mKax|xjx
=
i| i j
1i2
1/p
p 1=p
+C|xjx
p
< p)
< 1/
2 | 2 j , (1 ;.1
pp
xpp D
= jx
|x11|j
kxk
28/63
28/64
kf k1 D mKax jf .t /j :
t 20;1
d.u; v/ D ku
vk :
D arc cos
donde
xT y
D
;
kxkkyk
para cualesquiera x e y.
kxkkyk
1 1;
Vectores ortogonales
x T y D 0;
D =2;
D 0:
30/64
Vectores alineados
x T y D kxkkyk;
D 0;
D 1:
D ;
D
Vectores opuestos
xT y D
kxkkyk;
1:
ngulo agudo
x T y > 0;
< =2;
> 0:
> =2;
< 0:
ngulo obtuso
x T y < 0;
31/64
Normas matriciales
Una norma matricial es una norma vectorial compatible con el
producto.
Se define formalmente sobre Rmn como una aplicacin
k k W Rmn ! R que cumple:
1) kAk D 0 H) A D 0
2) kAk D jj kAk
3) kA C Bk kAk C kBk
32/64
h i
se satisfacen 1), 2) y 3); sin embargo, tomando A D B D 11 11 , es
fcil ver que kABk D 2 > kAk kBk D 1, por lo que no se
cumple 4).
33/64
Definicin Una norma matricial k k sobre Rmn se dice consistente con una norma vectorial k k0 sobre Rn
cuando para cada matriz A y cada vector x se cumple
que
kAxk0 kAk kxk0 :
Se demuestra que para toda norma matricial es posible construir
una norma vectorial consistente. Recprocamente, a toda norma
vectorial sobre Rn se le puede asociar una norma matricial
consistente.
34/64
kAxk
kAk D sup
:
0x 2Rn kxk
kAk1 D mKax
1j n
jaij j (columnas) y
iD1
n
kAk1 D mKax
1i m
jaij j (filas) :
j D1
2 D traza.A T A/;
aij
kAk2F D
1i;j n
Pn
iD1 ai i .
kAk2 kAkF :
37/64
Ejemplo
El efecto que produce aplicar la transformacin lineal basada en la
matriz
1 2
AD
0 2
sobre la bola unidad definida a partir de las normas k k1, k k2 y
k k1 en R2, se representa en la figura que sigue.
38/64
[2, 2]T
[0, 1]T
norma11
norma
norma22
norma
norma1
norma
[1, 0]T
A1 = 4
[1, 0]T
A2 2,9208
A = 3
39/6
39/64
e 2 D 0; 1T en 2; 2T .
40/64
u
41/64
ndice
Operaciones con matrices
Producto de una matriz por un vector
Producto de dos matrices
Frmula de Strassen
Normas
Vectoriales
Matriciales
Condicionamiento de sistemas
42/64
Condicionamiento de sistemas
En un sentido general se dice que un problema o un algoritmo est
bien condicionado si pequeas perturbaciones en los parmetros
que lo definen producen pequeos cambios en los resultados.
43/64
44/64
.A C A/x D b C b:
Si el algoritmo utilizado es estable y el sistema tambin, el
resultado obtenido debe ser muy parecido al real.
Si el sistema est mal condicionado, sin embargo, o el algoritmo
no es numricamente estable, la solucin puede diferir
sustancialmente de la real.
45/64
0;042 C 0;062
q
32 C 142
0,0050:
46/64
.1
0;993/2 C .1
q
12 C 12
0;9968/2
0;0054:
47/64
0;042 C 0;062
q
42 C 122
D 0,0057;
52 C 12
12 C 12
D 3,6055:
48/64
x2
x2
(a)
x1
(b)
x1
con la de
A.x C x/ D b C b
Ax D b:
De las igualdades
A.x C x/ D b C b
y Ax D b;
x D A 1b:
De la definicin de norma matricial consistente con una norma
vectorial se tiene que
kxk kA 1k kbk
(1)
(2)
51/64
jjxjj
.A/:
.A/ D kAk kA k;
{x}
{Ax}
54/64
Ax D b
.A C A/.x C x/ D b:
55/64
kxk
kAk
1
kA k kAk
:
kxk
kAk
As pues, el error relativo que resulta de perturbar ligeramente los
coeficientes de la matriz del sistema Ax D b est tambin acotado
en trminos del nmero de condicin de la matriz A.
6. 2.A T A/ D 22.A/.
58/64
59/64
c D 0,66 3,34 ;
A
1,99 10,01
El de
cuya inversa es
c
A
250,25
D
49,75
83,5
;
16,5
c D kAk
c kA
c 1 k D 13,35 300 D 4.005: tres rdenes de
es 1.A/
1
1
magnitud superior.
60/64
ai i D 0,1 2 i 100:
61/64
Ejemplo 2
Sea A una matriz bidiagonal de la forma
2
3
1 2
6 1 2
7
6
7
6
7
1 2
6
7:
:
:
6
:: :: 7
6
7
4
1 25
1
Su inversa es
2
6
6
6
6
4
2
1
n 1
4 . 2/
2
. 2/n
::
1
::
:::
1
27
7
7:
7
5
62/64
Su determinante en cambio es 1.
63/64