Departamento de Matematicas y Estad stica.
Tarea de Laboratorio 6
Soluciones Computacionales a Problemas en Ingenier a.
Nombres:
En los ejercicios del 1 al 5 escoja la respuesta correcta y jus-
tif quela.
1. Para la matriz
0 . .
0 n . .. .. .. 1
n 0 0 1
. . . .
A= B .. .. .. 0 . . C 2 Rn n
B C
B 0 0 n 1 C
B C
B 1 1 n C
@ A
Cual de las siguientes proposiciones es verdadera:
2
(a) kAk1 = 2n 1 y kAk1 = n
2
(b) kAk1 = n y kAk1 = 2n 1
(c) kAk1 = 2n 1 y kAk1 = 2n 1
2 2
(d) kAk1 = n y kAk1 = n
2. La norma in nito de la matriz
A= 0
n 1 11 n n
n 1 1
. .
B .. .. ..
.
C 2R
B n 1 1 C
@ A
es:
(a) kAk1 = 2n 1
(b) kAk1 = n
2
(c) kAk1 = n
(d) Ninguna de las anteriores.
3. La norma uno de la matriz A del problema anterior es:
(a) kAk1 = 2n 1
1
(b) kAk1 = n
2
(c) kAk1 = n
(d) Ninguna de las anteriores.
4. Para la matriz
.
0 1 .. ... 1 1
n+1 1 1
.. .
A= B .. .. .. 1 C 2R
B C
B 1 1 n+1 C
@ A
Cual de las siguientes proposiciones es verdadera:
(a) Las normas in nito y uno son iguales.
(b) Las normas in nito y uno son diferentes.
(c) kAk1 = 2n 1
(d) Ninguna de las anteriores.
5. Para la matriz
.
0 0 .. ... ..
.
1
n+1 0 0
.. .
A= B .. .. .. 0 C 2R
B C
B 0 0 n+1 C
@ A
El valor de kAk2 ( norma espectral o eucl dea de A ) es:
2
(a) (n + 1) p
(b) n+1
(c) n+1
(d) Ninguna de las anteriores.
t
6. En el ambiente de Matlab de na el vector v = (1 2 3 4) , aprtir de el, de
na la matriz A = vander(v) la matriz de Van-dermonde de orden 4. Encuentre:
(a) kAk1 = norm(A; 1)
(b) kAk1 = norm(A; inf)
(c) kAk = norm(A) Maximo valor singular de A.
2
(d) kAk2 Norma espectral.
7. El metodo de las potencias inversas permite calcular el valor propio
menor en el valor absoluto de una matriz. Un algoritmo de este metodo es el siguiente:
y0 : dato inicial normalizado de manera que ky0k2 =
x0 : 1; solucion de Ax0 = y0;
1
0 = t
;
y0 x0
k = 1;2;3;::: x
k 1
yk = ;
kxk 1k2
xk : solucion de Axk = yk;
1
k= ;
yktxk
hasta que k = k 1:
El k con el que se naliza este algoritmo es el valor calculado
del autovalor de menor valor absoluto de la matriz A.
(a) Escriba un programa Matlab que implemente adecuada-mente este
algoritmo. Para ello tenga en cuenta lo siguien-te:
(i) Aproveche el comando lu para reducir signi cativamen-te el
costo computacional del metodo.
(ii) No almacene todos los xk, yk y k, k = 1; 2; 3; : : : sino solo los
necesarios.
(b) Testee el programa con la matriz tridiagonal correspon-
diente a n = 10, a = 2 y b = c = 1, cuyos valores propios
se conocen exactamente por:
j
j=2 1 cos n + 1 ; j = 1; 2; : : : ; n
Calcule tambien estos valores propios con el comando
Matlab eig y compare los valores obtenidos.
8. Decidir para cada uno de los siguientes sistemas, si los meto-dos de
Jacobi y de Gauss-Seidel son convergentes. (Sugerencia: Utilizar los comandos tril, diag y
eig de Matlab).
En caso a rmativo usarlos para resolver el sistema.
3
Si ambos metodos convergen, determinar cual converge
mas rapido.
>Es la matriz del sistema diagonal dominante? >y simetrica y
de nida positiva? 0
(a) 0 2 61 1 0x2 1 = 9 1
3 11 x1 5
@ A@
1 14 x3 A @6A
(b) 0 7 10 8 7 10 x2 1 =0 32 1
5 7 6 5 x1 23
CB
B 5 7 9 10 x4 C B 31 C
B CB C B C
6 8 10 9 x3 33
@ A@ A @ A
9. El objeto de este ejercicio es demostrar que no es conveniente resolver
un sistema de ecuaciones mediante la inversa de la matriz del mismo.
Considere el siguiente programa Matlab:
nn = [100 : 100 : 500];
t1 = [ ];
t2 = [ ];
for n = nn
A = rand(n);
y = ones(n; 1);
t0 = cputime;
x = inv(A) y;
t1 = [t1 cputime
t0 = cputime;
x = Any;
t2 = [t2 cputime
end
0 0 0 0
plot (nn; t1; ; nn; t2; o )
Analice lo que hace este programa, ejecutelo e indique que al-
ternativa es la mas conveniente.
10. Las matrices de Hilbert
1
n n n n
Hn = (hij ) 2 R ; con hij = i+j 1 ; i; j = 1; 2; : : : ; n
4
son matrices muy mal condicionadas. Estas matrices se
generan en Matlab con el comando hilb.
(a) Tabule los numeros de condicion en norma euclideana (co-
mando cond) y las estimaciones de los numeros de
condi-cion en norma 1 (comando condest) de estas
matrices, para n = 2; 3; : : : ; 10.
(b) Sean
0 0;7487192 1 B 0;4407175 C
0;3206968
b y
0 =B 0;2543113
C b1 = b 0 + b
B C
B C
B C @ 0;2115308 A
0;1814429
con b un vector de perturbaciones aleatorias de valor ab-
6
soluto menor o igual a 10 (Note que la sentencia Matlab
(2 rand(n; 1) 1) a genera un vector columna aleatorio de
dimension n, uniformemente distribuido en el intervalo
[ a; a]).
Resuelva los sistemas H6x0 = b0 y H6x1 = b1. Compare
la diferencia de las soluciones x = x1 x0 con la de los
segundos miembros b. Describa lo que se observa.
(c) Veri que que se satisface la relacion
k xk cond(
kxk
11. Hacer un programa Matlab para cada una de las siguientes matrices de
orden n:
0 1
a b 0
. . .
B c .. .. .. C
B C
(a) A = . . .
. .
. . . b
B 0.
c a C
@ . . A
0 1 .. .. 1 1
n+1 1 ::: 1
. .
(b) B = B ..
. .. .. 1 C
B C
B 1 ::: 1 n+1 C
@ A
5
n 0 ::: 0 1
0 0 n .
.. ..
.
..
.
B
. . . .
(c) C = .
. . .
B .
0 ::: 0 n 1
B . . 0 .
@
1 ::: ::: 1 n
1
0n 1 ::: 1
Bn 1
(d) D = ... ... ::: 1
... C
B n 1 ::: 1 C
@ A
0 .
0 0 . .. ..
n+1 :::
. .
(e) E = B ..
. .. ..
B
B 0 ::: 0 n+
@
12. El objetivo de este ejercicio es aprender a utilizar e cientemente
metodos iterativos para la solucion de sistemas de ecuaciones lineales Ax = b, as como el correcto
tratamiento de matrices dispersas (sparse).
(a) Haga un programa f unction en Matlab que genere una
matriz de la forma
2I I
B= I 2I 2R
para n = 10 y n = 50. I es la identidad de orden n. Com-
pruebe que B es una matriz dispersa mediante el
comando nnz (Number of Non Zeros) que da la
cantidad total de entradas no nulas de la matriz.
(b) Utilice la siguiente sentencia para almacenar en forma sparse otra
matriz A igual a B: A = sparse(B);
Utilice el comando whos para determinar la cantidad de
memoria que requiere el almacenamiento de cada una de
esas matrices. Indique cual resulta mas conveniente.
2n
(c) Genere un vector aleatorio b 2 R y compare los tiempos
necesarios para resolver los sistemas Bx = b y Ax = b. Indique cual resulta mas conveniente.
6
(d) Hay varios comandos que tienen su contraparte para matri-ces
dispersas. Por ejemplo, speye es semejante a eye, pero la matriz identidad que genera se
almacena como sparse.
As mismo, muchos comandos, cuando se aplican a
matrices sparse, generan matrices sparse. Por
ejemplo, diag, tril y triu. Utilice estos comandos para
obtener las matrices D, L y U de la descomposicion A =
D L U. Calcule la matriz de iteracion del metodo de
1
Jacobi J = D (L + U). Compruebe que las matrices D,
L, U y J tambien se al-macenan como matrices sparse.
(e) El comando spy permite \espiar"la estructura de una ma-triz
mediante un gra co con la distribucion de sus entradas no nulas. \Esp e"la estructura de
las matrices A, D, L, U y J.
(f) Si bien el almacenamiento de la matriz A requiere mucha menos
memoria que el de la matriz B, para generar A como se ha descrito resulta necesario
haber almacenado previamente B. A veces, la memoria del computador no alcanza
para almacenar B en forma llena. En tal caso, es necesario generar directamente la
matriz dispersa A sin pasar nunca por la matriz llena B. Indique alguna forma de hacer
esto y compruebelo.
(g) Para algunas aplicaciones es necesario dar la forma llena de una
matriz dispersa. El comando inverso de sparse que almacena una matriz dispersa en
forma de matriz llena es f ull. Compruebelo.
13. Haciendo refencia al punto 11 estas matrices son invertibles pe-
ro muy mal condicionadas, es decir con numeros de condicio-
namiento muy grandes y que crecen en la medida que aumenta
el tamao, n. Calcule los numeros de condicionamiento, en radio
espectral para H3, H5, H10 y H12. Halle tambien las inversas de
esas matrices de Hilbert y compruebe los resultados calculando
1
el producto Hn Hn y compare este resultado con la matriz
identidad In. Haga conclusiones de los resultados.
14. Para la matriz tridiagonal de orden n dada en el punto 12 (a) se pide:
(a) Mediante el comando Matlab rank, determine si la matriz
(b) Re
elva el
sistema
Ax = b
tridiagonal y simetrica A correspondiente a n = 100, a = con la
4 y b = c = 1 es no singular.
matriz tridiagonal an-terior y un segundo miembro b cualquiera (por ejemplo b
= diag(rand(100))), de los siguientes dos modos:
i. >> x = Anb.
ii. >> [L; U] = lu(A) y >> x = Un(Lnb) (descomposicion
LU). Veri que que A = L U.
(c) Compare las soluciones obtenidas y calcule los residuos
r = b Ax respectivos.
(d) \Esp e"la estructura de las matriz A.
15. Para la matriz unica de orden n del punto 12 (b) se pide:
(a) Generar la matriz para n = 100.
t
(b) Calcule la matriz C = chol(A) tal que A = C C (des-
composicion de Cholesky).
(c) Para b = diag(eye(100)) resuelva el sistema Ax = b por el
t
metodo de Cholesky, x = Cn(C nb).
(d) \Esp e"la estructura de las matriz C.
100 99
16. La inversa de la matriz A = 99 98 es A 1=
Indique cual es el numero de condicionamiento de A en la nor-
ma in nito.
n n
17. Halle el numero de condicion de la matriz identidad I 2 R .
18. Sean
.
a 0 b 0
0 0 . .. .. . 0
... 0 . .. .. . 0
... 1
. . . . . .
B .. .. .. 0 .. .. .. 0 C
B 0 0 a 0 0 b C
A= B C 2
B b 0 0 a 0 0 C R
B C 2
B . . . . . . C
B 0 .. .. .
.
0 .. . .
. . C
B C
B .. . . .. .. . . .. C
B . . . 0 . . . 0 C
B C
B 0 0 b 0 0 a C
@ A
8
y
0 11
B1
.... C
B .. C
c= B C
B . C
.
B . C
B C
.
B . C
B . C
B C
B C
B C
B C@1A
1
(b) Haga un programa Matlab que genere la matriz anterior, donde los
datos de entrada sean los valores de n, a y b, y la salida la matriz A.
(b) Genere la matriz A para n = 5, a = 1 y b = 2.
(c) Calcule la factorizacion LU de una permutacion P de la matriz A
(con L matriz triangular inferior y U triangular superior).
(d) Halle las normas in nito de L y U .
(e) Calcule la factorizacion L1U1 de la matriz A (con L1 matriz
psicologicamente triangular inferior y U1 triangular
supe-rior).
(f) Halle las normas in nito de L1 y U1.
(g) Utilice la factorizacion L1U1 anterior para resolver el siste-ma de
ecuaciones lineales Ax = c.
(h) Indicar cual es la razon por la que la norma in nito de L coincide
con la de L1 y la de U coincide con la de U1.
19. Sean
n n n n+1 0 0
.
0 n n n 0 .. ... .
.. 1
.. .
B ..
.
..
.
..
.
.. . . .. 0 C
B n n n 0 0 n+1 C
A= B C 2n 2n
B n+1 0 0 n n n C R
B C 2
B . . . C
B 0 .. .. .
. n n n C
B C
. . .
B .... . . . 0 . . .
. C
B . .. . C
B C
B 0 0 n+1 n n n C
@ A
9
y
0 11
B1
.... C
B .. C
c= B C
B . C
.
B . C
B C
.
B . C
B . C
B C
B C
B C
B C@1A
1
(b) Haga un programa Matlab que genere la matriz anterior, donde el
dato de entrada sea el valor de n y la salida la matriz A.
(c) Genere la matriz A para n = 5.
(d) Calcule la factorizacion LU de una permutacion P de la matriz A
(con L matriz triangular inferior y U triangular superior).
(e) Utilice la factorizacion LU anterior para resolver el sistema de
ecuaciones lineales Ax = c.
(f) Calcule las normas in nito de la solucion y de su residuo.
20. Sea A una matriz diagonal de n n, con elementos diagonales todos iguales a
a. Se desea construir una matriz B como sigue:
B= 3A
A
donde es la matriz nula de n n. Haga un programa f unction
en Matlab que genere dicha matriz, pruebelo para a = 2.
21. Sea a 2 R tal que 0 < a < 1 y tomemos la matriz
0 1
1 a a
a 1 a
A=@ a a 1
(a) Demuestre que la matriz A es simetrica y de nida positiva.
(b) Encuentre la factorizacion LU para esta matriz.
(c) Calcular cond1(A). >La matriz A esta bien o mal condi-cionada?
10