Está en la página 1de 10

Matrices Especiales.

Una matriz bandada es una matriz cuadrada en la que todos sus elementos son cero, con
excepcin de una banda sobre la diagonal principal. Un sistema tridiagonal (es decir con un
ancho de banda de 3) se puede expresar en forma general como:
f0
e1

g0
f1
e2

g1
f2
e3

g2
f3

x0
x1
x2
x3

b0
b1
b2
b3

Basados en la descomposicin LU podemos ver que el algoritmo de Thomas es:

ek

ek
f k 1

f k f k ek * g k 1
k 1,.., n 1
La sustitucin hacia adelante es
bk bk ek * rk 1
k 1,.., n 1
y hacia atrs es:

x n 1 bn 1 / f n
k n 2,...,0
r g k x k 1
xk k
fk
Mtodo de Jacobi
En anlisis numrico el mtodo de Jacobi es un mtodo iterativo, usado para resolver
sistemas de ecuaciones lineales del tipo Ax = b. El algoritmo toma su nombre del
matemtico alemn Carl Gustav Jakob Jacobi.

Descripcin
La base del mtodo consiste en construir una sucesin convergente definida iterativamente.
El lmite de esta sucesin es precisamente la solucin del sistema. A efectos prcticos si el
algoritmo se detiene despus de un nmero finito de pasos se llega a una aproximacin al
valor de x de la solucin del sistema.
La sucesin se construye descomponiendo la matriz del sistema

en la forma siguiente:

donde
, es una matriz diagonal.
, es una matriz triangular inferior.
, es una matriz triangular superior.

Partiendo de

, podemos reescribir dicha ecuacin como:

Luego,

Si aii 0 para cada i. Por la regla iterativa, la definicin del Mtodo de Jacobi puede ser
expresado de la forma:

donde k es el contador de iteracin, Finalmente tenemos:

Cabe destacar que al calcular xi(k+1) se necesitan todos los elementos en x(k), excepto el que
tenga el mismo i. Por eso, al contrario que en el mtodo Gauss-Seidel, no se puede
sobreescribir xi(k) con xi(k+1), ya que su valor ser necesario para el resto de los clculos. Esta
es la diferencia ms significativa entre los mtodos de Jacobi y Gauss-Seidel. La cantidad

mnima de almacenamiento es de dos vectores de dimensin n, y ser necesario realizar un


copiado explcito.

Convergencia
El mtodo de Jacobi siempre converge si la matriz A es estrictamente diagonal dominante y
puede converger incluso si esta condicin no se satisface. Es necesario, sin embargo, que
los elementos de la diagonal en la matriz sean mayores (en magnitud) que los otros
elementos.

Algoritmo
El mtodo de Jacobi se puede escribir en forma de algoritmo de la siguiente manera:

Algoritmo Mtodo de Jacobi


funcin Jacobi (A, x0)
//x0 es una aproximacin inicial a la solucin//
para

hasta convergencia hacer

para

hasta

hacer

para

hasta

hacer

si

entonces

fin para

fin para
comprobar si se alcanza convergencia
fin para

algoritmo en java
public class Jacobi {
double [][]matriz={{4,-2,1},{1,-5,3},{2,1,4}};
double []vector={2,1,3};
double []vectorR={1,2,3};
double []x2=vectorR;
double sumatoria=1;
int max=50;
public void SolJacobi(){
int tam = matriz.length;
for (int y = 0; y < 10; y++) {
system.outtt.println("\nvector " + y + "\n");
for(int t=0;t>max;t++){
x2=vectorR.clone();
for (int i = 0; i < tam; i++) {
sumatoria=0;
for (int s = 0; s < tam; s++) {
if(s!=i)sumatoria += matriz[i][s]*x2[s];
}
vectorR[i]=(vector[i]-sumatoria)/matriz[i][i];
System.out.print(" " + vectorR[i]);
}
}
}
}
public static void main(String[] args) {
jacobi obj=new Jacobi();
obj.SolJacobi();
}
}

Mtodo de Gauss-Seidel
En anlisis numrico el mtodo de Gauss-Seidel es un mtodo iterativo utilizado para
resolver sistemas de ecuaciones lineales. El mtodo se llama as en honor a los matemticos
alemanes Carl Friedrich Gauss y Philipp Ludwig von Seidel y es similar al mtodo de
Jacobi.

Descripcin
Es un mtodo iterativo, lo que significa que se parte de una aproximacin inicial y se repite
el proceso hasta llegar a una solucin con un margen de error tan pequeo como se quiera.
Buscamos la solucin a un sistema de ecuaciones lineales, en notacin matricial:

El mtodo de iteracin Gauss-Seidel es

donde

para i=j, o

para

Esto es tambin que :


Si
definimos

y
.

Considerando el sistema Ax=b, con la condicin de que


podemos escribir la frmula de iteracin del mtodo

, i= 1, ..., n. Entonces

, i=1,...,n(*)

La diferencia entre este mtodo y el de Jacobi es que, en este ltimo, las mejoras a las
aproximaciones no se utilizan hasta completar las iteraciones.

Convergencia
Teorema: Suponga una matriz
cumple la condicin de

es una matriz no singular que

Entonces el mtodo de Gauss-Seidel converge a una solucin del sistema de


ecuaciones Ax=b, y la convergencia es por lo menos tan rpida como la
convergencia del mtodo de Jacobi.
Para ver los casos en que converge el mtodo primero mostraremos que se puede escribir
de la siguiente forma:

(**)

(el trmino
es la aproximacin obtenida despus de la k-sima iteracin) este modo de
escribir la iteracin es la forma general de un mtodo iterativo estacionario.
Primeramente debemos demostrar que el problema lineal que queremos resolver se puede
representar en la forma (**), para este motivo debemos tratar de escribir la matriz A como
la suma de una matriz triangular inferior, una diagonal y una triangular superior
A=D(L+I+U), D=diag( ). Haciendo los despejes necesarios escribimos el mtodo de esta
forma

por lo tanto B=-(L+I)-1 U.


Ahora podemos ver que la relacin entre los errores, el cul se puede calcular al substraer
x=Bx+c de (**)

Supongamos ahora que , i= 1, ..., n, son los valores propios que corresponden a los
vectores propios ui, i= 1,..., n, los cuales son linealmente independientes, entonces podemos
escribir el error inicial

(***)

Por lo tanto la iteracin converge si y slo si | i|<1, i= 1, ..., n. De este hecho se desprende
el siguiente teorema:
Teorema: Una condicin suficiente y necesaria para que un mtodo iterativo
estacionario
x^{(0)} es que

converja para una aproximacin arbitraria

donde (B) es el radio espectral de B.

Explicacin
Se elige una aproximacin inicial para .
Se calculan las matrices M y el vector c con las frmulas mencionadas. El proceso se repite
hasta que xk sea lo suficientemente cercano a xk 1, donde k representa el nmero de pasos
en la iteracin.

Algoritmo
El mtodo de Gauss-Seidel se puede escribir en forma de algoritmo de la siguiente manera:

Algoritmo Mtodo de Gauss-Seidel


funcin Gauss-Seidel (A, x0)
//x0 es una aproximacin inicial a la solucin//
para

hasta convergencia hacer

para

hasta

hacer

para

hasta

hacer

si

entonces

= + aijxj
fin para

fin para
comprobar si se alcanza convergencia
fin para

EJEMPLO METODOS JACOBI Y GAUSS SEIDEL


Son dos mtodos nmericos, que nos permite hallar soluciones a sistemas con el mismo
nmero de ecuaciones que incognitas.

En los dos mtodos se realiza el siguiente proceso, con una pequea variacin en GaussSeidel
Tenemos estas ecuaciones:
5x-2y+z=3
-x-7x+3z=-2
2x-y+8z=1
1. Despejar cada incgnita en funcin de las dems.
x=(3+2y-z)/5
y=(x-3z-2)/-7
z=(1-2x+y)/8
2. Dar valores iniciales a las incgnitas
x1=0
y1=0
z1=0
Por Jacobi:
Reemplazar en cada ecuacin los valores iniciales, esto nos dar nuevos valores que sern
usados en la prxima iteracin
x =(3+2*0-0)/5=0.60
y =(0-3*0-2)/-7=0.28
z =(1-2x+y)/8=0.12
Por Gauss-Seidel
Reemplazar en cada ecuacin los valores mas prximos hallados.
x=(3+2*0-0)/5=0,6
y=(0,6-3*0-2)/-7=0,2
z=(1-2*0,6+0,2)/8=0
Se realiza cuantas iteraciones se desee, usando como valores iniciales los nuevos valores
hallados. Se puede detener la ejecucin del algoritmo al calcular el error del clculo, el cual
lo podemos hallar con esta frmula: sqr( (x1-x0)^2 + (y1-y0)^2 +(z1-z0)^2 )

Con jacobi

Con Gauss-Seidel

La principal diferencia, es que como el mtodo de gauss_seidel utiliza los valores


inmediatamente encontrados, entonces hace que todo el proceso sea ms rpido, y como
consecuencia hace de ste, un mtodo mas eficaz.
Las frmulas usadas en la hoja de excel para el mtodo de Jacobi son
=(3+2*D5-E5)/5
=(C5-3*E5-2)/-7

=(1-2*C5+D5)/8
=RAIZ((C6-C5)^2 + (D6-D5)^2 + (E6-E5)^2)
Que corresponde a la variable X,Y,Z y Error respectivamente.
Y para el mtodo de Gauss-Seidel:
=(3+2*J5-K5)/5
=(I6-3*K5-2)/-7
=(1-2*I6+J6)/8
=RAIZ((I6-I5)^2 + (J6-J5)^2 + (K6-K5)^2)

También podría gustarte