Actualizado el 21 de Marzo del 2018 (Publicado el 19 de Noviembre del 2017)
2.034 visualizaciones desde el 19 de Noviembre del 2017
102,6 KB
3 paginas
Creado hace 10a (03/04/2015)
Matrices de sim´etricas de banda
Estos apuntes est´an escritos por Eduardo Camps Moreno, ???, ???, con ayuda de Egor
Maximenko.
´Indice
1. Generaci´on de una matriz sim´etrica de banda en la forma completa
2. Multiplicaci´on de una matriz sim´etrica de banda por un vector
2
3
Una matriz cuadrada sim´etrica A se llama matriz de banda de ancho 2w − 1, si para
cualesquiera j, k ∈ {1, . . . , n}, si |j − k| ≥ w, entonces Aj,k = 0. Por ejemplo, si n = 7 y
w = 3, entonces la matriz es de la siguiente forma:
0
0
0 0
0
A1,1 A2,1 A3,1
0 0
A2,1 A2,2 A2,3 A?,?
A3,1 A3,2 A3,3 A?,? A?,? 0 0
? ?
? ?
? ?
? ?
.
B1,1 B1,2 B1,3 B1,4 B1,5 B1,6 B1,7
B2,1 B2,2 B2,3 B2,4 B2,5 B2,6
B3,1 B3,2 B3,3 B3,4 B3,5
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
0
0
0
0
0
0
0
B1,1 B2,1 B3,1
B2,1 B1,2 B2,2 B3,2
B3,1 B2,2 B1,3 B2,3 B3,3
0
0
0
0
0 B3,2 B2,3 B1,4 B2,4 B3,4 0
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
.
(1)
Vamos a guardar las entradas diagonales en un arreglo de tama˜no w × n. Por ejemplo, a
la matriz
le corresponde la matriz completa
B =
A =
1. Generaci´on de una matriz sim´etrica de banda en
la forma completa
Primero vamos a hacerlo trabajando por entradas. Este algoritmo no es eficiente en el
lenguaje de MATLAB, pero se traduce f´acilmente a lenguajes de tipo C, Fortran, Java,
etc., que no tienen operaciones para trabajar con renglones y columnas.
Algoritmo 1 (generaci´on de una matriz sim´etrica de banda en la forma completa, traba-
jando por entradas). Dada una matriz B ∈ Mw×n(R), la la siguiente funci´on construye
la matriz A, como en la f´ormula (1).
function A = SymmetricBandToComplete(B),
[w, n] = size(B);
A = zeros(n);
for j = 1 : n,
for k = 1 : n,
result(j, k) = ???;
endfor
endfor
endfunction
Prueba 1. Por ejemplo, si
B =
entonces
5
A =
(cid:20) 4 −7 6 5
1 3 0 −2
2 −1
4
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ? ? ?
(cid:21)
,
.
Luego hay que escribir una versi´on m´as eficiente de este algoritmo, usando posibilida-
des del lenguaje de MATLAB.
2
2. Multiplicaci´on de una matriz sim´etrica de banda
por un vector
Algoritmo 2. multiplicaci´on de una matriz sim´etrica de banda por un vector Dada una
matriz B ∈ Mw×n(R) y un vector x ∈ Rn, la siguiente funci´on calcula el producto Ax,
donde A es la matriz completa corresponde a la matriz B. La matriz A no se construye
en la forma completa.
function y = MulSymmBandByVector(B, x),
[w, n] = size(B);
y = zeros(n);
for j = 1 : w,
for k = 1 : n,
???
endfor
endfor
endfunction
3
Comentarios de: Matrices de simétricas de banda (0)
No hay comentarios