You are on page 1of 12

1

ETSII-UPM
Mtodo de Eliminacin de Gauss
Matemticas de la Especialidad (Mecnica-Mquinas)
Madrid, 15 de octubre de 2002
Javier Garca de Jaln
ETSII - Departamento de Matemtica Aplicada
a la Ingeniera Industrial
ETSII-UPM
Introduccin
q La resolucin de sistemas de ecuaciones lineales es uno de los
problemas matemticos ms importantes en Ingeniera
Hasta la llegada de los computadores digitales (segunda mitad del s. XX) la
capacidad de resolver sistemas de ecuaciones estaba muy limitada, no por la
complejidad del problema, sino por el nmero de operaciones aritmticas
Ahora se puede resolver con un PC un sistema 10001000 en menos de 1 seg.
Con programas especiales que aprovechan la estructura de la matriz se pueden
resolver de forma rutinaria con PCs, sistemas de decenas cientos de miles de
ecuaciones lineales
q Muchos mtodos matemticos (clculo de valores y vectores propios,
integracin de ecuaciones diferenciales, optimizacin, ...) se reducen
a la resolucin repetida de sistemas de ecuaciones lineales
q La resolucin de sistemas de ecuaciones lineales tiene adems un
importante valor didctico
para los mtodos numricos en general
para la programacin de ordenadores
2
ETSII-UPM
Sistema de m ecuaciones con n incgnitas
q Se parte de un sistema de m ecuaciones con n incgnitas expresado
en forma matricial
q En lgebra se ha estudiado en qu condiciones este sistema Ax=b:
Tiene solucin nica: no hay variables libres (r=n) y bIm(A)
Tiene infinitas soluciones: hay variables libres (r<n) y bIm(A)
No tiene solucin: bIm(A)
y ahora se trata de ser capaz de encontrar:
La solucin nica cuando existe
La mejor solucin (o una solucin cualquiera) cuando hay infinitas soluciones
Una solucin aproximada ptima, cuando no hay solucin exacta
11 1 12 2 1 1 11 12 1 1 1
21 1 22 2 2 2 21 22 2 2 2
1 2 1 1 2 2
...
...
o bien,
...
...
n n n
n n n
m m mn n m m m mn n m
a x a x a x b a a a x b
a x a x a x b a a a x b
a a a x b a x a x a x b
+ + + 1
1
+ + +

1

; ' ; ' ;
1

1

+ + + 1
]
L
L
M M O M M M
L
ETSII-UPM
Mtodo de Gauss bsico nn
q Se parte de un sistema sin dificultades:
n ecuaciones con n incgnitas
Se suponen ecuaciones independientes
Se trata de transformar este sistema en otro
ms sencillo de resolver (misma solucin)
Restando a la 2 fila la 1 por m
21
=a
21
/a
11
De forma anloga pueden hacerse cero
todos los elementos de la 1 columna,
resultando un sistema (n-1)(n-1)
Haciendo ceros debajo de las restantes
columnas el sistema se hace triangular
Las incgnitas se pueden obtener
fcilmente empezando por x
n
11 12 1 1 1
21 22 2 2 2
1 2
...
...
...
n
n
n n nn n n
a a a x b
a a a x b
a a a x b
1
1

1

' ; ' ;
1

1

1
]
M M O M M M
11 12 1 1 1
' ' '
22 2 2 2
1 2
...
0 ...
...
n
n
n n nn n n
a a a x b
a a x b
a a a x b
1
1

1

' ; ' ;
1

1

1
]
M M O M M M
'
2 2 21 1
'
2 2 21 1
1,2,...,
j j j
a a m a j n
b b m b


11 12 1 1 1
' ' '
22 2 2 2
' ' '
2
...
0 ...
0 ...
n
n
n nn n n
a a a x b
a a x b
a a x b
1
1

1

' ; ' ;
1

1

1
]
M M O M M M
11 12 1 1 1
' ' '
22 2 2 2
( 1) ( 1)
...
0 ...
0 0 ...
n
n
n n
nn n n
a a a x b
a a x b
a x b

1
1

1

' ; ' ;
1

1

1
]
M M O M M M
1 1

n n
kk k ki i k k k ki i kk
i k i k
a x a x b x b a x a
+ +
_
+

,

3
ETSII-UPM
Mtodo de Gauss bsico nn (2)
q Factorizacin A=LU
El hacer ceros en la primera
columna de A es equivalente
a pre-multiplicar por una
matriz P
1
Haciendo lo mismo para las
columnas 2, 3, ..., n-1
El producto P
n-1
...P
2
P
1
no
tiene ninguna forma especial.
Sin embargo P
i
-1
es igual a P
i
cambiando el signo a los
coeficientes m
ij
, y el producto de
las inversas en orden opuesto se
obtiene simplemente
superponiendo las columnas.
Finalmente se demuestra que A
es el producto de dos matrices
triangulares, inferior y superior.
11 12 1
' '
21 22 2
1
' '
1 2
1 0 0
1 0 0
0 1 0
n
n
n n nn
a a a
m a a
m a a
1 1
1 1

1 1

1 1
1 1

1 1 ] ]
P A A
L L
L L
M M O M M M O M
L L
11 12 1
' '
22 2
1 2 1
( 1)
0
...
0 0
n
n
n
n
nn
a a a
a a
a

1
1
1

1
1
1
]
P P P A U
L
L
M M O M
L
1 1 1
1 2 1
11 12 1
' '
21 22 2
( 1)
1 2
...
1 0 0
1 0 0
1 0 0
n
n
n
n
n n nn
a a a
m a a
m m a


1 1
1 1
1 1

1 1
1 1
1 1
] ]
A P P P U LU
A
L L
L L
M M O M M M O M
L L
ETSII-UPM
El Mtodo de Gauss en detalle
q Se hace un cero en la posicin (2,1) multiplicando por la matriz P
21
donde
q Se hacen ceros en el resto de la 1 columna en la forma
q Obsrvese la forma en que se multiplican las matrices P
i1
q Si la matriz A es simtrica, la submatriz de P
1
A tambin lo es
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
a a a a a
a a a a a
a a a a a
a a a a a
1
1
1

1
1
1
]
A
21
21
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
m
1
1

1
1
]
P
11 12 13 14 15
' ' ' '
22 23 24 25
21
31 32 33 34 35
41 42 43 44 45
0
a a a a a
a a a a
a a a a a
a a a a a
1
1
1

1
1
]
P A
11 12 13 14 15
' ' ' '
22 23 24 25
41 31 21 ' ' ' '
32 33 34 35
' ' ' '
42 43 44 45
0
0
0
a a a a a
a a a a
a a a a
a a a a
1
1
1

1
1
1
]
P P P A
21
41 31 21 1
31
41
1 0 0 0
1 0 0
0 1 0
0 0 1
m
m
m
1
1

1

1
1

1
]
P P P P
21
21
11
a
m
a

'
2 2 21 1 j j j
a a m a
' 21
21 21 21 11 21 11
11
0
a
a a m a a a
a

1
1
11
i
i
a
m
a

'
1 1 ij ij i j
a a m a
4
ETSII-UPM
El Mtodo de Gauss en detalle (2)
q De la misma forma se hacen ceros debajo de los elementos de la
diagonal en la columna 2
y en la columna 3
11 12 13 14 15
' ' ' '
23 23 23 23
42 32 1 '' '' ''
33 34 35
'' '' ''
43 44 45
0
0 0
0 0
a a a a a
a a a a
a a a
a a a
1
1
1

1
1
1
]
P P P A
42 32 2
32
42
1 0 0 0
0 1 0 0
0 1 0
0 0 1
m
m
1
1
1

1
1

1
]
P P P
11 12 13 14 15
' ' ' '
22 23 24 25
43 2 1 '' '' ''
33 34 35
''' '''
44 45
0
0 0
0 0 0
a a a a a
a a a a
a a a
a a
1
1
1

1
1
1
]
P PPA
43 3
43
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1 m
1
1
1

1
1

1
]
P P
ETSII-UPM
El Mtodo de Gauss en detalle (3)
q Las matrices P
j
obtenidas operan de una forma particular:
El producto P
3
P
2
no ofrece ninguna forma especial
La inversa de las matrices P
j
se obtiene cambiando el signo a los factores m
ij
El producto de las inversas en orden opuesto se realiza por superposicin
3 2
32 32
43 43 32 42 43 42
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 0 1 0 0 1 0 0 1 0
0 0 1 0 1 0 0 1
m m
m m m m m m
1 1 1
1 1 1
1 1 1

1 1 1
1 1 1

1 1 1
] ] ]
P P
1
2 2
32 32
42 42
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 1 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 0 1
m m
m m

1 1 1
1 1 1
1 1 1

1 1 1
1 1 1

1 1
] ] ]
P P
1 1
2 3
32 32
43 42 43 42
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 0 1 0 0 1 0 0 1 0
0 0 1 0 1 0 0 1
m m
m m m m

1 1 1
1 1 1
1 1 1

1 1 1
1 1 1
1 1 1
] ] ]
P P
5
ETSII-UPM
El Mtodo de Gauss en detalle (4)
q Finalmente se obtiene la matriz A triangularizada (o en escaln)
q Pre-multiplicando por las inversas de las matrices P
i
y teniendo en
cuenta la forma de dicho producto de inversas
q La matriz A se descompone en el producto de una matriz triangular
inferior con unos en la diagonal por una matriz triangular superior
11 12 13 14 15
' ' ' '
23 23 23 23
3 2 1 '' '' ''
33 34 35
''' '''
44 45
0
0 0
0 0 0
a a a a a
a a a a
a a a
a a
1
1
1

1
1
1
]
P P P A
11 12 13 14 15 11 12 13 14 15
' ' ' ' ' ' ' '
23 23 23 23 21 23 23 23 23 1 1 1
1 2 3 '' '' '' '' '' ''
33 34 35 31 32 33 34 35
''' ''' ''' '''
44 45 41 42 43 44 45
1 0 0 0
0 1 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0 0
a a a a a a a a a a
a a a a m a a a a
a a a m m a a a
a a m m m a a

1 1
1 1
1 1

1 1
1 1
1 1
] ]
A P P P
1
1
1
1
1
1
]
A LU
ETSII-UPM
Resolucin de Sistemas de Ecuaciones
q El sistema de ecuaciones lineales Ax=b se puede resolver
combinando ecuaciones hasta que la matriz quede triangularizada y
realizando despus una vuelta atrs, segn se ha expuesto
q Otra forma de resolver el sistema Ax=b
El sistema se puede escribir en la forma: LUx=b
Se define un vector y=Ux
Se calcula y a partir del sistema triangular Ly=b
Conocido y, se calcula x del sistema triangular Ux=y
q Ventajas de la forma LUx=b
Se puede aprovechar una factorizacin anterior, previa al clculo de b. Esto es
bastante frecuente en la programacin de mtodos iterativos
Se puede utilizar una misma factorizacin para un nmero grande e incluso
indeterminado de segundos miembros
6
ETSII-UPM
Programa de Gauss bsico nn
q Algoritmo bsico con Matlab
La triangularizacin se basa en hacer un
cero en (i,k) combinando las filas i y k
Para calcular las incgnitas mediante la
vuelta atrs, el proceso es el siguiente:
=
k
k
0 i
j
k
i
for k=1:n-1
for i=k+1:n
m=A(i,k)/A(k,k);
for j=k+1:n
A(i,j)=A(i,j)-m*A(k,j);
end
b(i)=b(i)-m*b(k);
end
end
x(n)=b(n)/A(n,n);
for k=n-1:-1:1
s=0;
for i=k+1:n
s=s+A(k,i)*x(i);
end
x(k)=(b(k)-s)/A(k,k);
end
=
k
k
i
k
0
* * *
ETSII-UPM
Programa de Gauss bsico nn (2)
q Utilizacin de la simetra: el nmero de operaciones es la mitad
q Vectorizacin parcial del algoritmo: la velocidad de clculo con
Matlab (sobre todo en versiones anteriores a Matlab 6.5) aumenta
considerablemente reemplazando el for ms interno
for k=1:n-1
for i=k+1:n
m=A(k,i)/A(k,k);
for j=i:n
A(i,j)=A(i,j)-m*A(k,j);
end
b(i)=b(i)-m*b(k);
end
end
for k=1:n-1
for i=k+1:n
m=A(i,k)/A(k,k);
%for j=k+1:n
A(i,k+1:n)=A(i,k+1:n)-m*A(k,k+1:n);
%end
b(i)=b(i)-m*b(k);
end
end
7
ETSII-UPM
Programa de Gauss bsico nn (3)
q Programa para resolver un sistema en la forma LUx=Ly=b
% factorizacin A=LU
for k=1:n-1
for i=k+1:n
m=A(i,k)/A(k,k);
A(i,k+1:n)=A(i,k+1:n)-m*A(k,k+1:n);
A(i,k)=m;
end
end
% Resolucin del sistema Ly=b
y(1)=b(1);
for k=2:n
s=A(k,1:k-1)*y(1:k-1);
y(k)=b(k)-s;
end
% Resolucin del sistema Ux=b
x(n)=y(n)/A(n,n);
for k=n-1:-1:1
s=A(k,k+1:n)*x(k+1:n);
x(k)=(y(k)-s)/A(k,k);
end
=
k
k
i
k
0
* * *
1
=
k
k k
0
*
1 *
ETSII-UPM
Programa de Gauss vectorizado
q Las operaciones del mtodo de
Gauss se pueden realizar en otro
orden diferente
En vez de hacer ceros por
columnas, se hacen cero
los elementos que estn
delante de la diagonal
Los elementos en gris
tienen ya valor definitivo
Se crea el vector de factores
La fila i puede sufrir todas las transformaciones a la vez, resultando un mtodo
sensiblemente ms rpido con Matlab que los anteriores
Elementos con el
valor inicial
i
i
Elementos ya
transformados
Elementos a
hacer 0
Fila a
transformar
Elementos que
ya son 0
(1: 1) (1: 1, )' . / (( (1: 1,1: 1))' i i i diag i i v A A
1
1
( , : ) ( , : ) ( , : ) ( ) ( , : ) (1: 1) (1: 1, : )
( ,1: 1) (1: 1)
i
j
i i n i i n j i n j i i n i i i n
i i i

+ +

A A A v A v A
A v
8
ETSII-UPM
Mtodo de Gauss con pivotamiento
q En el proceso de eliminacin de Gauss es necesario dividir por los
elementos que aparecen en la diagonal, que se denominan pivots
En ocasiones puede aparecer un cero (o un elemento de valor muy pequeo) en
la posicin de un pvot: el proceso no puede continuar
Si debajo del pvot hay elementos 0 se pueden permutar las filas
correspondientes y proseguir la eliminacin
La permutacin de filas puede hacerse pre-multiplicando por una matriz P
La matriz P puede construirse a partir de un vector p con el orden de los pivots
11 12 13 14 15 11 12 13 14 15
' ' ' ' ' ' '
23 24 25 32 33 34 35
1 ' ' ' ' ' ' '
32 33 34 35 23 24 25
' ' ' ' ' ' ' '
42 43 44 45 42 43 44 45
1 0 0 0
0 0 0 0 0 1 0
0 0 0 0 1 0 0
0 0 0 0 0 1
a a a a a a a a a a
a a a a a a a
a a a a a a a
a a a a a a a a
1 1 1
1 1 1
1 1 1

1 1 1
1 1 1
1 1
] ] ]
PPA
11 12 13 14 15
' ' '
23 23 23
1 ' ' ' '
32 33 34 35
' ' ' '
42 43 44 45
0 0
0
0
a a a a a
a a a
a a a a
a a a a
1
1
1

1
1
1
]
P A
ETSII-UPM
Mtodo de Gauss con pivotamiento (2)
q Puede suceder que algunas columnas carezcan de pvot vlido
Por ejemplo, al hacer ceros en la columna 2 los elementos correspondientes de
la columna 3 se han hecho tambin cero
q El proceso normal falla y hay dos posibilidades:
La eliminacin puede proseguir en las
columnas posteriores y llegar hasta un
ltimo pvot en la ltima fila (x
3
es una
variable libre o independiente)
Le eliminacin se detiene porque debajo
del ltimo pvot encontrado todas las
filas restantes se han hecho cero (una fila
dependiente de las dems, y x
3
y x
5
libres)
11 12 13 14 15
' ' ' '
23 23 23 23
2 1 '' ''
34 35
'' ''
44 45
0
0 0 0
0 0 0
a a a a a
a a a a
a a
a a
1
1
1

1
1
1
]
P P A
44 4
43
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1 m
1
1
1

1
1

1
]
P P
''
44
43 ''
34
a
m
a

11 12 13 14 15
' ' ' '
23 23 23 23
4 2 1 '' ''
34 35
'''
45
0
0 0 0
0 0 0 0
a a a a a
a a a a
a a
a
1
1
1

1
1
1
]
P P P A
11 12 13 14 15
' ' ' '
23 23 23 23
4 2 1 '' ''
34 35
0
0 0 0
0 0 0 0 0
a a a a a
a a a a
a a
1
1
1

1
1
]
P P P A
9
ETSII-UPM
Mtodo de Gauss con pivotamiento (3)
q Mtodo de Gauss con pivotamientopor columnas:
Se busca el mayor elemento en valor absoluto de la primera columna. Este
elemento servir como pvot para hacer ceros en la primera columna
El segundo pvot es el mximo elemento en valor absoluto de la 2 columna,
sin contar el elemento de la fila del primer pvot. Con este pvot se hacen ceros
en los elementos de la 2 columna que no pertenecen a una fila de un pvot
anterior
De modo anlogo se calculan los pivots en las restantes columnas y se hacen
cero los elementos de cada columna en filas en las que no hay pivots
En el sistema final es fcil hallar las incgnitas x
n
, ..., x
1
, a partir de las filas en
que han aparecido el ltimo pvot, hasta la del primero
No es necesario intercambiar filas: basta saber dnde han aparecido los pivots
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 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1
1 1 1 1

1 1 1 1
1 1 1 1
1 1 1 1

1 1 1 1
1 1 1 1

] ] ] ]
1
1
1
1
1
1
1
]
ETSII-UPM
Mtodo de Gauss con pivotamiento (4)
q Posibles dificultades del pivotamiento por columnas:
Si una ecuacin del sistema (o una fila de la matriz) se multiplica por un
nmero muy grande, la solucin del sistema no vara, pero puede alterar el
orden en el que se eligen los pivots, y con dicho orden la solucin calculada
Por ello es conveniente que todas las filas de la matriz tengan
aproximadamente la misma norma, o bien que, al elegir los pivots se comparen
los elementos de una columna dividido cada uno de ellos por la norma de su
fila
La norma ms fcil de utilizar es la norma sub-infinito: ||A||

A este proceso se le denomina escalamiento o scaling por filas


q Ver programas:
pivotcol1.m: Seleccin directa de pivots en cada columna
pivotcol2.m: Se comparan los elementos divididos por la norma de su fila
10
ETSII-UPM
Programa de pivotamiento por columnas
% fichero pivotcol1.m
% Gauss y pivotamiento por columnas
n=5;
A=round(rand(n,n)*20-10);
b=round(rand(n,1)*20-10);
x=zeros(n,1);
% se guardan los datos de partida
AA=A; bb=b;
% vector con el orden de los pivots
p=[1:n];
for k=1:n-1
% buscar el pvot en columna k
[pk,ik]=max(abs(A(p(k:n),k)));
% intercambiar elementos en p
temp=p(k);
p(k)=p(ik+k-1);
p(ik+k-1)=temp;
% hacer ceros en columna pvot
for i=p(k+1:n)
m=A(i,k)/A(p(k),k);
A(i,k:n)=A(i,k:n)- ...
m*A(p(k),k:n);
b(i)=b(i)-m*b(p(k));
%A(i,k)=m;
end
end
% vuelta atrs
x(n)=b(p(n))/A(p(n),n);
for i=n-1:-1:1
s=A(p(i),i+1:n)*x(i+1:n);
x(i)=(b(p(i))-s)/A(p(i),i);
end
xe=AA\bb;
disp('Solucin de Matlab');
disp(xe);
disp('Solucin calculada');
disp(x);
%I=eye(n);
%P=I(p,:);
%B=P*A;
disp('Ya he terminado')
ETSII-UPM
Mtodo de Gauss con pivotamiento (5)
q Mtodo de Gauss con pivotamientototal:
En primer lugar se busca el mayor elemento en valor absoluto de toda la
matriz. Este elemento ser el primer pvot (fila 4, columna 2)
Se hacen ceros todos los elementos de la columna 2 (menos el pvot)
Se busca el mximo elemento en valor absoluto excluyendo la fila 4 y la
columna 2. Este elemento ser el 2 pvot (fila 3, columna 4)
Se hacen ceros en la columna 4 excepto en las filas de pivots anteriores
Se prosigue de la misma forma hasta que todas las filas y/o columnas tienen un
pvot
En la vuelta atrs las incgnitas se calculan en orden decreciente de columnas
en las que han aparecido los pivots, y se calculan en orden decreciente de filas
en las que han aparecido pivots
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 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1
1 1 1 1

1 1 1 1
1 1 1 1
1 1 1 1

1 1 1 1
1 1 1 1

] ] ] ]
1
1
1
1
1
1
1
]
11
ETSII-UPM
Mtodo de Gauss con pivotamiento (6)
q Mtodo de Gauss con pivotamientototal (cont.):
El pivotamiento total mejora algo la estabilidad del proceso de eliminacin de
Gauss, pero en general se considera que esta ganancia no merece la pena por el
esfuerzo adicional que lleva consigo
Se utiliza en ocasiones cuando el objetivo es determinar el rango de la matriz o
una particin ptima entre variables bsicas y variables libres
q Con pivotamiento total puede ser conveniente utilizar escalamiento
por filas y por columnas, segn la expresin (D
1
y D
2
perm. diag.):
El escalamiento por columnas implica un cambio de unidades en las
incgnitas: en algunos casos puede ser conveniente no mezclar metros con
micras y en otros casos puede ser necesario hacerlo
No hay criterios absolutos para hacer un buen escalamiento por columnas
Un buen criterio podra ser hacer que el mximo elemento de cada fila y
columna est entre y 1
Si al hacer el scaling se multiplica y divide siempre por potencias de 2 no se
introducen errores de redondeo adicionales
, siendo
1 2 1 2
D AD y = D b x = D y
ETSII-UPM
Sistema de m ecuaciones con n incgnitas
q Mediante el mtodo de Gauss con permutacin de filas un sistema
mn se puede reducir a la forma de escalera siguiente:
donde aparecen r pivots (distintos de cero), que no pueden tener
elementos distintos de cero debajo y a la izquierda
q Conclusiones de la forma de escaln
Slo r de las mecuaciones eran independientes
Slo r de los m vectores fila (en R
n
) eran independientes
Las columnas (y las incgnitas) aparecen divididas en dos grupos: las que
tienen pivots (variables bsicas o dependientes) y las que no tienen pivots
(variables libres o independientes)
pivot
0
elemento 0
0 0 0
matriz de permutacin
0 0 0 0 0 0 0 0
matriz triangular inferior
0 0 0 0 0 0 0 0 0
1

1

1

1

1
]
PA LU L
P
L
12
ETSII-UPM
Algunas funciones de Matlab
q Operador barra invertida (\)
Por lo general, la operacin A\b produce el mismo resultado que inv(A)*b,
con algunas diferencias entre las que est la forma de realizar los clculos
Si Aes una matriz cuadrada no singular, A\b es la solucin de Ax=bcalculada
por eliminacin de Gauss
Si A y b son tales que el sistema tiene infinitas soluciones o ninguna, A\b da la
solucin de variables libres nulas o la de mnimos cuadrados, respectivamente
El operador \ es "inteligente", en el sentido de que es capaz de descubrir y
aprovechar si Aes simtrica y definida-positiva, o si tiene forma triangular
q Funcin [L,U,P]=lu(A)
Calcula la factorizacin LU de la matriz PA, donde P es una matriz de
permutacin que representa el orden de filas en que han aparecido los pivots
q Funcin [R,c]=rref(A,tol)
Reduce Aa forma de escalera con ceros tambin en la parte superior. El vector
c es un vector de enteros cuyo nmero de elementos indica el rango de la
matriz y cuyos elementos indican las columnas de los pivots (variables bsicas
o dependientes)

You might also like