Académique Documents
Professionnel Documents
Culture Documents
Matrices dispersas
ndice
Matrices dispersas
Mnimos cuadrados
3/94
Matrices dispersas
Las matrices de gran tamao a que dan lugar esos modelos se denominan
dispersas pues muchos de los coeficientes que las definen son cero y los que no
estn muy dispersos en su estructura.
1
Algunos autores definen una matriz n n como dispersa si el nmero de coeficientes no nulos es n
C1 , donde
< 1. La
C1
densidad sera n n2 D n
1 . Valores tpicos de ese parmetro suelen ser:
D 0;2 para problemas de anlisis de sistemas elctricos
de generacin y transporte de energa;
D 0;5 para matrices en banda asociadas a problemas de anlisis de estructuras; etc.
Ejemplos 4/94
PICTURES OF
FROM VARIOUS
Power Systems; BCSPWR07 Simulation of Computing Systems; GRE 1107
dierent structures
200
400
600
800
1000
1200
1400
1600
Almacenamiento en ordenador
Por coordenadas
se definiran los tres vectores, ifi, ico y val: los dos primeros basta que sean
integer; val debe ser real.
Almacenamiento por filas o columnas 10/94
Coeficientes
2 3
1 0 0 1 0
62 0 2 0 37 Vector 1 2 3 4 5 6 7 8 9 10 11
6 7
AD6
60 3 0 0 077$ ia 1 3 6 7 9 12
40 4 0 4 05 ic 1 4 1 3 5 2 2 4 1 3 5
5 0 5 0 6 va 1 -1 2 -2 3 -3 4 -4 5 -5 6
Las matrices en banda son aquellas cuyos coeficientes estn contenidos en una
franja alrededor de su diagonal principal. Es de inters como dispersa, w n.
Por ejemplo,
21 0 2 0 0
3
Coeficientes Para recuperar una fila en Matlab:
620 3
0
0
6
0
0
0
07
7 Vector 1 2 3 4 5 6 7 8 9 10 11 12 vec = 0;
j = 0;
A D 6
40 4 0 4 05 $ ia 1 4 6 7 10 12 13 for ii=ia(i):ia(i+1)-1
vec(ifa(i)+j)=val(ii);
0 0 0 3 1 ifa 11 32 4 5 j = j+1;
end
0 0 0 0 6 val 1 0 -2 2 3 6 -4 0 4 3 1 6
Definicin El ancho de banda (o de semibanda) de una matriz simtrica B 2 Rnn, 14/94
, se define como
D mKax1i n i ; i D i fi ,
donde i es el ancho de la fila i .
Ojo. Esta definicin slo se refiere al nmero de diagonales por encima y debajo
de la diagonal principal, sin considerar sta.
Para guardar una matriz simtrica no sera necesario ifa. Por ejemplo,
2 3
10 2 3 0 0
Coeficientes
6 23 4 0 3 0
Vector 1 2 3 4 5 6 7 8 9 10
D $ Obsrvese que la dimensin de ib es n.
0 6 0 05
7
B
ib 1 4 7 8 10
4
0 3 0 1 8
0 0 0 8 3 val 10 2 3 4 0 3 6 1 8 3
Otras operaciones
a c
25/94
El nmero de operaciones que habra que realizar para factorizar la matriz del
ejemplo mediante eliminacin de Gauss y luego resolver el sistema
correspondiente, si se operase con esta matriz como densa, como dispersa sin
reordenar filas y columnas y como si fuese dispersa reordenando filas y
columnas, sera el que sigue:
Matriz Matriz
Matriz Dispersa Dispersa
Operacin Densa sin Ordenar Ordenada
Factorizacin 1911 408 105
Sustitucin Inversa 196 94 48
A11
A = A21 A22
ndice
Matrices dispersas
Mnimos cuadrados
31/94
P A P T Px D Pb;
pues P T P D I.
32/94
By D c;
0 0
50 50
100 100
150 150
200 200
250 250
300 300
350 350
400 400
450 450
0 0
50 50
200 200
250 250
34/94
300 300
350 350
0 0
50 50
100 100
150 150
200 200
250 250
300 300
350 350
400 400
450 450
1 10
6 8
5
9 11 5
2 4 7 3 1 2 3 4
Si e D .i; j / 2 E, este arco une un nudo de origen o cola i D t .e/ con otro de
destino, final o cabeza j D h.e/.
3
2 4
5 7
6
2
1 3
4 6
5
La distancia, d.u; v/, entre dos nudos, u y v , es la longitud del camino ms corto entre ambos nudos.
Dado un nudo u, a la mayor distancia entre ese nudo y cualquier otro del grafo se la denomina
excentricidad, e.u/, del nudo u.
Un grafo se dice conexo si cada par de nudos distintos se puede unir por un camino; inconexo en cualquier
otro caso.
En esta matriz y su grafo, los nudos 1 y 3 estn unidos por los caminos
f1, 10, 11, 3g y f1, 6, 9, 11, 3g, de longitudes 3 y 4.
1 2 3 4 5 6 7 8 9 10 11
1
2
1 10
3
4
6 8
5
A= 6
9 11 5
7
8
9 2 4 7 3
10
11
Un grafo conexo que no tiene ciclos se denomina rbol. En un rbol slo existe
un camino entre cualquier par de nudos.
8
9 19 3
2 10
17 18 11
12 4 14 16 1 7
13 15 5 20
Una matriz cuyo grafo asociado es un rbol se puede reordenar de forma que al
factorizarla mediante eliminacin de Gauss no experimente relleno alguno.
45/94
Recordemos que:
Al comienzo de una etapa k del proceso de eliminacin de Gauss todos los
coeficientes distintos de cero debajo de la diagonal principal en las columnas
1, 2; : : : ; k 1 son cero.
En esta etapa k se determinan unos multiplicadores y se restan, de las filas
que tienen un elemento distinto de cero en la columna k debajo de la
diagonal principal, la fila k multiplicada por el multiplicador correspondiente.
Este proceder puede crear nuevos coeficientes distintos de cero en la
submatriz k C 1; : : : ; n.
2 Apliquemos
3 4 5 6 7esta
8 idea
9 10 al
11 grafo que sigue y a su matriz.
1 10
6 8
9 11 5
2 4 7 3
Etapa 1
1 2 3 4 5 6 7 8 9 10 11
1
2 1 10
3
4
6 8
5
A2 = 6
7 9 11 5
8
9
2 4 7 3
10
11 G2
Etapa 2 48/94
1 2 3 4 5 6 7 8 9 10 11
1
2 1 10
3
4
6 8
5
A3 = 6
7 9 11 5
8
9
2 4 7 3
10
11 G3
Etapa 3
1 2 3 4 5 6 7 8 9 10 11
1
2 1 10
3
4
6 8
5
A4 = 6
7 9 11 5
8
9
2 4 7 3
10
11 G4
Etapa : : : 49/94
a c
b d
f g
En las dos tablas que siguen se describen las 7 etapas de que consta la
aplicacin del algoritmo de grado mnimo a este grafo.
Etapa 1 a 3 53/94
a c
b d
1 a 1
e
f g
b d
2 c 1
e
f g
b d
3 e d 2
f g
54/94
Etapa 4 a 7
4 e e 2
f g
5 b 2
f g
6 f g f 1
7 g g 0
55/94
Al final:
1 2 3 4 5 6 7
1 2
1
2
5 3
3
A= 4 4
5
6 6 7
7
1 2 3 4 5 6 7 8 9
1
2
2 7
3
4
1 4 5 6 9
5
3 8 6
7
8
9
El algoritmo de Cuthill-McKee
Definicin Se dice que una matriz simtrica tiene un perfil montono si para todo k
y `, k < `, se cumple que lk l` .
1 2 3 4 5 6 7 1 2 3 4 5 6 7
a b c 1 2 3
d e f g 8 4 5 6
h i j 10 9 7
d e f g 9 3 4 1 6 9 5 10
h i j 10 8 8 5 7 6
h i j h i j h i j
2 1 1 4 3 3 0 1 2
Los nmeros al lado de los nudos del grafo indican su excentricidad tomando
como raz el que se indica como 0.
Obsrvese que del resultado del algoritmo se desprende que tanto el nudo a
como el h podran utilizarse como nudos de partida pues tienen la misma
excentricidad: 4.
64/94
g
c e
b d
f
1 2 3 4 5 6 7
1 7
2 5 1
3
6
A= 4
4 2
5
3
6
7
Como se puede observar, desaparecen todos los ceros que aparecan antes,
ahorrndose las correspondientes posiciones de memoria para guardarlos. u
67/94
1 2 3 4 5 6 7 8 9 10
1
2
3 10 9 8
4 0
5
3 7 6 5
6
7 0 0
1 2 4
8
9
10
En este caso el ancho de banda sigue siendo 5 y la Env.A/ pasa a ser 29, de los
que slo 3 son cero.
68/94
By D c;
I I I i i \
I ' I
II .
I
I
P " "I
E
L
'
^
I
<.
" 11
I! .
. V"
I
i i I II , I I
, I I
i
Vy 1 ;l I
I
. h 11 , . i I I
I I
i
-; il . I
I
i
;
i
I
r
V f
i 1
L
H
1
i
- Nl.
t |
ft I J i
::
!I
m.
\
1
\
H ? I 1
ll li
II
V
l l l I l l l l i
l
I iii I
n
I. I, I l J .
i
| VI
tv
'
i I 1 I I I
l i i
|
V
I
v I
'
i VV ' i
i I
l , l m I i
I
i : J : i : i
i I i .1 I
' x i . I
j
j
1
M
L -v 1 i M
h
I
I
1
.11 --
h
i i
( 'i
S.
\
r . h
I
Hr 1
; '
.. I 1
I i I I
N 1
II I I h l I i i
I 1
1
II I
. I II I . ... J J ..
! 11 1
vi I I
^ r S.
Y,
1 M ' ' 1
\ , h
P '" i irfi I .
I '
1. .I i
u- 'H
. 1 :
. I
>
5 !
'
<
! ,[ ; 1
I .k . : .
.. i V
-
\ , ...
'i i i
V II
i
'V "
i
1
i
II I
-I -
I
I
I
I
I
' I ! ! I
^ I
l
^ l
i
I \
. \ '
-
i
l T\ 1
I I
I
HS 1 I I . I
I
I
i
i . . n,. I. vr
.
i
I I
V
'1
I
\
71/94
Si e D .i; j / 2 E, este arco une un nudo de origen i con otro de destino o final
j ; sale o parte de i y llega o entra en j .
.vi ; vj / 2 E A , aij 0:
5
En la primera etapa en este digrafo, el grafo de eliminacin se obtiene quitando
6 7 8 9 10 11 12 13 14 15
el nudo 1 y aadiendo el arco .5 ! 2/, segn se indica.
1 2 3 4 5 6 7 8 9 101112131415 1 2 3 4 5 6 7 8 9 101112131415
3
1 1
2 2 3
2 6 2 6
6 7 7
3 7 3
6
7
7
6 7 6 7
4 4
6 6 7
6
7
7 1 2 3 4 6 7
5 6 5 6
6 6 7
7 7
6
6
7 6
6
7
6
7 6 7
7 5 6 7
6 7 6 7
6 7 6 7
8 8
6 7 6 7
6 7 6 7
9
6
6
7 9
6
7
10
6
7
7
7
7 8 9 10 11 10
6
6
7
7
7
7
6 6
11 6 11 6 7
6 7 6 7
12 6 7 12 6 7
13
6
6 7 7 12 13 14 15 13
6
6 7
7
6 7 6 7
14 4
5 14 4 5
15
15
76/94
Este algoritmo, M. Hall (1956), requiere n etapas en cada una de las cuales se
coloca un coeficiente distinto de cero si no lo est ya en la correspondiente
posicin de la diagonal principal.
Este camino no puede atravesar una misma fila o columna ms de una vez y,
por tanto, tampoco un mismo coeficiente de la diagonal principal.
El camino es pues
f9; 5; 2; 6; 1; 12g:
Encontrado el camino, se efectan los siguientes intercambios de filas
la fila 9 con la 5I
la fila 5 con la 2I
la fila 2 con la 6I
la fila 6 con la 1I
la fila 1 con la 12 y
la fila 12 con la 9:
que trasladan el coeficiente distinto de cero .1; 12/ a la posicin .9; 12/.
Por ltimo se intercambian las columnas 9 y 12.
Si el coeficiente .6; 1/ fuese cero, hubisemos encontrado que las filas 9, 5, 2, 4, 7 y 6 tienen coeficientes distintos de cero
slo en las columnas 5, 2, 4, 7 y 6, lo que significara que la matriz es singular.
82/94
Los algoritmos para conseguir este propsito se basan en encontrar los ciclos
fuertemente conexos en el digrafo asociado.
83/94
Si existiesen dos de estos ciclos fuertes y se renumerasen los nudos de tal forma
que los del primero fuesen los nudos 1 al k y los del segundo k C 1 al n, se
obtendra una matriz triangular inferior en dos bloques, el primero con k
columnas y el segundo con n k.
5
1 2 3 4
En el grafo dirigido de la figura existen dos ciclos fuertes, el formado por los
nudos 1 y 2 y el que definen 3, 4 y 5. La estructura simblica en 2 bloques de
su matriz asociada es
:
84/94
Para llevarla a cabo se usa el criterio de Markowitz, por Harry Max Markowitz,
EE.UU. 1927-. Premio Nobel de economa de 1990.
Lo formul en 1957 y consiste3 en factorizar la matriz mediante eliminacin de 85/94
Gauss con pivotacin, escogiendo como elemento pivote en una etapa k uno aijk
de A que sea numricamente aceptable y que minimice
.rik 1/.cjk 1/;
donde rik es el nmero de coeficientes no cero en la fila i de la submatriz activa
y cjk los no ceros en la columna j .
3
La estrategia resultante es similar a la de grado mnimo.
86/94
ndice
Matrices dispersas
Mnimos cuadrados
87/94
Recordemos que:
Un conjunto de transformaciones ortogonales, representadas por
Q 2 Rmm, puede reducir A 2 Rmn (que supondremos de rango n) y
b 2 Rm de la forma
R1 c
QA D y Qb D ;
0 d
donde R 1 2 Rnn es una matriz triangular superior y c 2 Rn.
La solucin del problema de mnimos cuadrados se obtiene de R 1x D c; la
suma de residuos al cuadrado es kdk22.
91/94
Obsrvese que los tres ltimos coeficientes de la fila 9, una vez anulados del 1 al
5, reemplazan a los de la fila 6, que eran 0.
Ordenacin de filas 93/94
El nmero de operaciones del proceso descrito depende tambin del orden de las
filas. Por ejemplo, las matrices
2 3 9 2 3 9
> >
6 7 >
= 6 7 >
=
6 ::
6 7
7 m 6 ::
6 7
7 m
6: 7 >
>
; 6: 7 >
>
;
6 6
6 7 6 7
y
7 7
A D 6 PA D 6 7
6 7 9 6 7 9
7 >
> >
>
6 7 6 7
>
> >
>
6 7 = 6 7 =
n n
6 7 6 7
6
6 7
7 >
6
6 7
7 >
4 5 >
> 4 5 >
>
>
; >
;