SlideShare una empresa de Scribd logo
Matrices Especiales.<br /> <br />Una matriz bandada es una matriz  cuadrada en la que todos sus elementos son cero, con excepción 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:<br /> <br />f0g0   x0 b0e1f1g1  x1=b1 e2f2g2 x2 b2  e3f3 x3 b3<br /> <br />Basados en la descomposición LU podemos ver que el algoritmo de Thomas es:<br /> <br /> <br /> <br />La sustitución hacia adelante es<br /> <br /> <br />y hacia atrás es:<br /> <br /> <br />Ejemplo:<br /> <br />Resuelva el siguiente sistema tridiagonal por medio del algoritmo de Thomas.<br /> <br />2.04-1   x0 40.8-12.04-1  x1=0.8 -12.04-1 x2 0.8  -12.04 x3 200.8<br /> <br />La solución de la descomposición triangular es:<br /> <br />2.04-1  -0.491.55-1  -0.6451.395-1  -0.7171.323<br /> <br /> <br />La solución del sistema es:<br /> <br />X = [65.970, 93.778, 124.538, 159.480]T<br /> <br />Descomposición de Cholesky.<br /> <br />Este algoritmo se basa en el hecho de que una matriz simétrica se puede descomponer en [A] = [L][L]T , dado que la matriz [A] es una matriz simétrica. En este caso aplicaremos la eliminación de Crout a la parte inferior de la matriz y la parte superior, simplemente tendrá los mismos valores.<br /> <br />Así tomando las ecuaciones para la factorización LU la podemos adaptar como:<br />Podemos ver, que cualquier elemento bajo la diagonal se calcula como:<br />para todo i=0,...,n-1 y j = 0,...,i-1.<br /> <br />Para los términos arriba de la diagonal, en este caso solo la diagonal<br /> <br />para todo i=0,...,n-1.<br /> <br />La implementación en Java es:<br /> <br />  static public void Cholesky(double A[][]) {<br />    int i, j, k, n, s;<br />    double fact, suma = 0;<br /> <br />    n = A.length;<br /> <br />    for (i = 0; i < n; i++) { //k = i<br />      for (j = 0; j <= i - 1; j++) { //i = j<br />        suma = 0;<br />        for (k = 0; k <= j - 1; k++) // j = k<br />          suma += A[i][k] * A[j][k];<br /> <br />        A[i][j] = (A[i][j] - suma) / A[j][j];<br />      }<br /> <br />      suma = 0;<br />      for (k = 0; k <= i - 1; k++)<br />        suma += A[i][k] * A[i][k];<br />      A[i][i] = Math.sqrt(A[i][i] - suma);<br />    }<br />  }<br /> Método de Jacobi<br />En análisis numérico el método de Jacobi es un método iterativo, usado para resolver sistemas de ecuaciones lineales del tipo Ax = b. El algoritmo toma su nombre del matemático alemán Carl Gustav Jakob Jacobi.<br />Descripción<br />La base del método consiste en construir una sucesión convergente definida iterativamente. El límite de esta sucesión es precisamente la solución del sistema. A efectos prácticos si el algoritmo se detiene después de un número finito de pasos se llega a una aproximación al valor de x de la solución del sistema.<br />La sucesión se construye descomponiendo la matriz del sistema en la forma siguiente:<br />donde<br />, es una matriz diagonal.<br />, es una matriz triangular inferior.<br />, es una matriz triangular superior.<br />Partiendo de , podemos reescribir dicha ecuación como:<br />Luego,<br />Si aii ≠ 0 para cada i. Por la regla iterativa, la definición del Método de Jacobi puede ser expresado de la forma:<br />donde k es el contador de iteración, Finalmente tenemos:<br />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 método Gauss-Seidel, no se puede sobreescribir xi(k) con xi(k+1), ya que su valor será necesario para el resto de los cálculos. Esta es la diferencia más significativa entre los métodos de Jacobi y Gauss-Seidel. La cantidad mínima de almacenamiento es de dos vectores de dimensión n, y será necesario realizar un copiado explícito.<br />Convergencia<br />El método de Jacobi siempre converge si la matriz A es estrictamente diagonal dominante y puede converger incluso si esta condición no se satisface. Es necesario, sin embargo, que los elementos de la diagonal en la matriz sean mayores (en magnitud) que los otros elementos.<br />Algoritmo<br />El método de Jacobi se puede escribir en forma de algoritmo de la siguiente manera:<br />Algoritmo Método de Jacobifunción Jacobi (A, x0)//x0 es una aproximación inicial a la solución//para hasta convergencia hacer para hasta hacer para hasta hacer si entonces fin parafin paracomprobar si se alcanza convergenciafin para<br />algoritmo en java<br />public class Jacobi {<br />double [][]matriz={{4,-2,1},{1,-5,3},{2,1,4}};<br />double []vector={2,1,3};<br />double []vectorR={1,2,3};<br />double []x2=vectorR;<br />double sumatoria=1;<br />int max=50;<br /> public void SolJacobi(){<br />  int tam = matriz.length;<br />for (int y = 0; y < 10; y++) {<br />    system.outtt.println(quot;
vector quot;
 + y + quot;
quot;
);<br /> for(int t=0;t>max;t++){<br />   x2=vectorR.clone();<br /> for (int i = 0; i < tam; i++) {<br />   sumatoria=0;<br /> for (int s = 0; s < tam; s++) {<br />   if(s!=i)sumatoria += matriz[i][s]*x2[s];<br />}<br />vectorR[i]=(vector[i]-sumatoria)/matriz[i][i];<br />  System.out.print(quot;
 quot;
 + vectorR[i]);<br />}<br />}<br />   <br />}<br />}   <br />public static void main(String[] args) {<br /> jacobi obj=new Jacobi();<br />  obj.SolJacobi();<br />}<br />}<br />Método de Gauss-Seidel<br />En análisis numérico el método de Gauss-Seidel es un método iterativo utilizado para resolver sistemas de ecuaciones lineales. El método se llama así en honor a los matemáticos alemanes Carl Friedrich Gauss y Philipp Ludwig von Seidel y es similar al método de Jacobi.<br />Descripción<br />Es un método iterativo, lo que significa que se parte de una aproximación inicial y se repite el proceso hasta llegar a una solución con un margen de error tan pequeño como se quiera. Buscamos la solución a un sistema de ecuaciones lineales, en notación matricial:<br />El método de iteración Gauss-Seidel es<br />donde<br />para i=j, o para .<br />y<br />Esto es también que :<br />Si<br />definimos<br />y<br />.<br />Considerando el sistema Ax=b, con la condición de que , i= 1, ..., n. Entonces podemos escribir la fórmula de iteración del método<br />, i=1,...,n(*)<br />La diferencia entre este método y el de Jacobi es que, en este último, las mejoras a las aproximaciones no se utilizan hasta completar las iteraciones.<br />Convergencia<br />Teorema: Suponga una matriz es una matriz no singular que cumple la condición deó .Entonces el método de Gauss-Seidel converge a una solución del sistema de ecuaciones Ax=b, y la convergencia es por lo menos tan rápida como la convergencia del método de Jacobi.<br />Para ver los casos en que converge el método primero mostraremos que se puede escribir de la siguiente forma:<br />(**)<br />(el término es la aproximación obtenida después de la k-ésima iteración) este modo de escribir la iteración es la forma general de un método iterativo estacionario.<br />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 método de esta forma<br />por lo tanto B=-(L+I)-1 U.<br />Ahora podemos ver que la relación entre los errores, el cuál se puede calcular al substraer x=Bx+c de (**)<br />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<br />(***)<br />Por lo tanto la iteración converge si y sólo si | λi|<1, i= 1, ..., n. De este hecho se desprende el siguiente teorema:<br />Teorema: Una condición suficiente y necesaria para que un método iterativo estacionario converja para una aproximación arbitraria x^{(0)} es quedonde ρ(B) es el radio espectral de B.<br />Explicación<br />Se elige una aproximación inicial para .Se calculan las matrices M y el vector c con las fórmulas mencionadas. El proceso se repite hasta que xk sea lo suficientemente cercano a xk − 1, donde k representa el número de pasos en la iteración.<br />Algoritmo<br />El método de Gauss-Seidel se puede escribir en forma de algoritmo de la siguiente manera:<br />Algoritmo Método de Gauss-Seidelfunción Gauss-Seidel (A, x0)//x0 es una aproximación inicial a la solución//para hasta convergencia hacer para hasta hacer para hasta hacer si entonces σ = σ + aijxjfin parafin paracomprobar si se alcanza convergenciafin para<br />EJEMPLO METODOS JACOBI Y GAUSS SEIDEL<br />Son dos métodos númericos, que nos permite hallar soluciones a sistemas con el mismo número de ecuaciones que incognitas.<br />En los dos métodos se realiza el siguiente proceso, con una pequeña variación en Gauss-Seidel<br />Tenemos estas ecuaciones:<br />5x-2y+z=3-x-7y+3z=-22x-y+8z=1<br />1. Despejar cada incógnita en función de las demás.<br />x=(3+2y-z)/5y=(x-3z-2)/-7z=(1-2x+y)/8<br />2. Dar valores iniciales a las incógnitas<br />x1=0y1=0z1=0<br />Por Jacobi:Reemplazar en cada ecuación los valores iniciales, esto nos dará nuevos valores que serán usados en la próxima iteración<br />x=(3+2*0-0)/5=0,60y=(0-3*0-2)/-7=0,28z=(1-2x+y)/8=0,12<br />Por Gauss-SeidelReemplazar en cada ecuación los valores mas próximos hallados.<br />x=(3+2*0-0)/5=0,6y=(0,6-3*0-2)/-7=0,2z=(1-2*0,6+0,2)/8=0<br />Se realiza cuantas iteraciones se desee, usando como valores iniciales los nuevos valores hallados. Se puede detener la ejecución del algoritmo al calcular el error del cálculo, el cual lo podemos hallar con esta fórmula: sqr( (x1-x0)^2 + (y1-y0)^2 +(z1-z0)^2 )<br />Con jacobi<br />Con Gauss-Seidel<br />La principal diferencia, es que como el método de gauss_seidel utiliza los valores inmediatamente encontrados, entonces hace que todo el proceso sea más rápido, y como consecuencia hace de éste, un método mas eficaz.<br />Las fórmulas usadas en la hoja de excel para el método de Jacobi son<br />=(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)<br />Que corresponde a la variable X,Y,Z y Error respectivamente.<br />Y para el método de Gauss-Seidel:<br />=(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)<br />
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidel

Más contenido relacionado

La actualidad más candente

Metodo de Integracion por Recurrencia Y Ecuacion de Bernoulli
Metodo de Integracion por Recurrencia Y Ecuacion de BernoulliMetodo de Integracion por Recurrencia Y Ecuacion de Bernoulli
Metodo de Integracion por Recurrencia Y Ecuacion de Bernoulli
Francisco Xavier
 
Limite y continuidad de funciones de varias variables
Limite y continuidad de funciones de varias variablesLimite y continuidad de funciones de varias variables
Limite y continuidad de funciones de varias variables
kactherinevg
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- Problemario
Bren MA
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
Jorgearturofrias
 
Trabajo ecuaciones
Trabajo ecuacionesTrabajo ecuaciones
Trabajo ecuacionesMiguel Doria
 
Ejercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de lineaEjercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de linea
Ruddy Sanchez Campos
 
Derivadas de funciones paramétricas
Derivadas de funciones paramétricas Derivadas de funciones paramétricas
Derivadas de funciones paramétricas
Erick Guaman
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosalan moreno
 
Factorizacion lu
Factorizacion luFactorizacion lu
Factorizacion lujonathann89
 
Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
Javier Aguilar Cruz
 
Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurin
FaveeLa Natsuko
 
Funciones y gráficas en matlab
Funciones y gráficas en matlabFunciones y gráficas en matlab
Funciones y gráficas en matlab
Juan Luis Diaz Cuevas
 
Diferenciación numérica Metodos Numericos
Diferenciación numérica Metodos NumericosDiferenciación numérica Metodos Numericos
Diferenciación numérica Metodos Numericos
Tensor
 
ejercicios-resueltos-integrales-dobles-y-triples-2011
ejercicios-resueltos-integrales-dobles-y-triples-2011ejercicios-resueltos-integrales-dobles-y-triples-2011
ejercicios-resueltos-integrales-dobles-y-triples-2011
Carlos Farley Zamudio Melo
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
germane123
 
RAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALESRAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALES
Victor Bernal Sandoval
 

La actualidad más candente (20)

Metodo de Integracion por Recurrencia Y Ecuacion de Bernoulli
Metodo de Integracion por Recurrencia Y Ecuacion de BernoulliMetodo de Integracion por Recurrencia Y Ecuacion de Bernoulli
Metodo de Integracion por Recurrencia Y Ecuacion de Bernoulli
 
Limite y continuidad de funciones de varias variables
Limite y continuidad de funciones de varias variablesLimite y continuidad de funciones de varias variables
Limite y continuidad de funciones de varias variables
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- Problemario
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
 
Trabajo ecuaciones
Trabajo ecuacionesTrabajo ecuaciones
Trabajo ecuaciones
 
Ecuaciones paramétricas
Ecuaciones paramétricasEcuaciones paramétricas
Ecuaciones paramétricas
 
Integrales triples
Integrales  triplesIntegrales  triples
Integrales triples
 
Ejercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de lineaEjercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de linea
 
Derivadas de funciones paramétricas
Derivadas de funciones paramétricas Derivadas de funciones paramétricas
Derivadas de funciones paramétricas
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntos
 
Metodo de diferencias finitas
Metodo de diferencias finitasMetodo de diferencias finitas
Metodo de diferencias finitas
 
Factorizacion lu
Factorizacion luFactorizacion lu
Factorizacion lu
 
Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
 
Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurin
 
Funciones y gráficas en matlab
Funciones y gráficas en matlabFunciones y gráficas en matlab
Funciones y gráficas en matlab
 
Diferenciación numérica Metodos Numericos
Diferenciación numérica Metodos NumericosDiferenciación numérica Metodos Numericos
Diferenciación numérica Metodos Numericos
 
Apuntes transformaciones lineales - UTFSM
Apuntes transformaciones lineales - UTFSMApuntes transformaciones lineales - UTFSM
Apuntes transformaciones lineales - UTFSM
 
ejercicios-resueltos-integrales-dobles-y-triples-2011
ejercicios-resueltos-integrales-dobles-y-triples-2011ejercicios-resueltos-integrales-dobles-y-triples-2011
ejercicios-resueltos-integrales-dobles-y-triples-2011
 
Operador anulador
Operador anuladorOperador anulador
Operador anulador
 
RAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALESRAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALES
 

Similar a Metodos jacobi y gauss seidel

Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones lineales
JesusS14
 
Unidad iii
Unidad iiiUnidad iii
Unidad iii
josmirito
 
Métodos numéricos
Métodos numéricosMétodos numéricos
Métodos numéricosKaXio Sosa
 
Unidad III de analisis numerico
Unidad III de analisis numericoUnidad III de analisis numerico
Unidad III de analisis numerico
Eliezer Pacheco
 
Ensayo de la unidad iii. analisis numerico
Ensayo de la unidad iii. analisis numericoEnsayo de la unidad iii. analisis numerico
Ensayo de la unidad iii. analisis numerico
deivys pinto
 
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
lmpd124
 
Métodos de eliminación gaussiana tarea iii
Métodos de eliminación gaussiana tarea iiiMétodos de eliminación gaussiana tarea iii
Métodos de eliminación gaussiana tarea iii
luiguiiiii
 
Resumen sadicth.sanchez
Resumen sadicth.sanchezResumen sadicth.sanchez
Resumen sadicth.sanchez
sadicth
 
Análisis numérico (josé monsalve). (autoguardado)
Análisis numérico (josé monsalve). (autoguardado)Análisis numérico (josé monsalve). (autoguardado)
Análisis numérico (josé monsalve). (autoguardado)
José Monsalve
 
Clase8 minisem
Clase8 minisemClase8 minisem
Clase8 minisem
Hernan Espinoza
 
Algebralineal.docx
Algebralineal.docxAlgebralineal.docx
Algebralineal.docx
Edwin Laguna
 
Laura rodríguez
Laura rodríguezLaura rodríguez
Laura rodríguez
Lauramrb12
 
Programacion numerica 1
Programacion numerica 1Programacion numerica 1
Programacion numerica 1
Yhonny Ochoa
 
Ecuaciones lineales y cuadraticas
Ecuaciones lineales y cuadraticasEcuaciones lineales y cuadraticas
Ecuaciones lineales y cuadraticas
Annie Quintero Correa
 
Resolver ecuaciones lineales y no lineales bueno
Resolver ecuaciones lineales y no lineales buenoResolver ecuaciones lineales y no lineales bueno
Resolver ecuaciones lineales y no lineales buenofrankkqqzz
 
catedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdfcatedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdf
Jose Luis Sosa Carmelo
 
Froilan Ramos Métodos de Eliminación Gaussiana
Froilan Ramos Métodos de Eliminación GaussianaFroilan Ramos Métodos de Eliminación Gaussiana
Froilan Ramos Métodos de Eliminación Gaussiana
Froilán Martin Ramos García
 

Similar a Metodos jacobi y gauss seidel (20)

Unidad 6 metodos
Unidad 6 metodosUnidad 6 metodos
Unidad 6 metodos
 
Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones lineales
 
Unidad iii
Unidad iiiUnidad iii
Unidad iii
 
Métodos numéricos
Métodos numéricosMétodos numéricos
Métodos numéricos
 
Unidad III de analisis numerico
Unidad III de analisis numericoUnidad III de analisis numerico
Unidad III de analisis numerico
 
Ensayo de la unidad iii. analisis numerico
Ensayo de la unidad iii. analisis numericoEnsayo de la unidad iii. analisis numerico
Ensayo de la unidad iii. analisis numerico
 
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
 
Métodos de eliminación gaussiana tarea iii
Métodos de eliminación gaussiana tarea iiiMétodos de eliminación gaussiana tarea iii
Métodos de eliminación gaussiana tarea iii
 
Resumen sadicth.sanchez
Resumen sadicth.sanchezResumen sadicth.sanchez
Resumen sadicth.sanchez
 
Análisis numérico (josé monsalve). (autoguardado)
Análisis numérico (josé monsalve). (autoguardado)Análisis numérico (josé monsalve). (autoguardado)
Análisis numérico (josé monsalve). (autoguardado)
 
Clase8 minisem
Clase8 minisemClase8 minisem
Clase8 minisem
 
Unidad 3 sistemas lineales
Unidad 3 sistemas linealesUnidad 3 sistemas lineales
Unidad 3 sistemas lineales
 
Algebralineal.docx
Algebralineal.docxAlgebralineal.docx
Algebralineal.docx
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Laura rodríguez
Laura rodríguezLaura rodríguez
Laura rodríguez
 
Programacion numerica 1
Programacion numerica 1Programacion numerica 1
Programacion numerica 1
 
Ecuaciones lineales y cuadraticas
Ecuaciones lineales y cuadraticasEcuaciones lineales y cuadraticas
Ecuaciones lineales y cuadraticas
 
Resolver ecuaciones lineales y no lineales bueno
Resolver ecuaciones lineales y no lineales buenoResolver ecuaciones lineales y no lineales bueno
Resolver ecuaciones lineales y no lineales bueno
 
catedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdfcatedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdf
 
Froilan Ramos Métodos de Eliminación Gaussiana
Froilan Ramos Métodos de Eliminación GaussianaFroilan Ramos Métodos de Eliminación Gaussiana
Froilan Ramos Métodos de Eliminación Gaussiana
 

Más de Cesar Mendoza

Roots of polynomials
Roots of polynomialsRoots of polynomials
Roots of polynomialsCesar Mendoza
 
System of linear equations
System of linear equationsSystem of linear equations
System of linear equationsCesar Mendoza
 
System of linear equations
System of linear equationsSystem of linear equations
System of linear equationsCesar Mendoza
 
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidelMetodos jacobi y gauss seidel
Metodos jacobi y gauss seidelCesar Mendoza
 
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidelMetodos jacobi y gauss seidel
Metodos jacobi y gauss seidelCesar Mendoza
 
Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01
Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01
Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01Cesar Mendoza
 
METODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDELMETODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDELCesar Mendoza
 
Métodos directos para solución de sistemas ecuaciones lineales (2)
Métodos directos para solución de sistemas ecuaciones lineales (2)Métodos directos para solución de sistemas ecuaciones lineales (2)
Métodos directos para solución de sistemas ecuaciones lineales (2)Cesar Mendoza
 
Métodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesMétodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesCesar Mendoza
 
Métodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesMétodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesCesar Mendoza
 

Más de Cesar Mendoza (14)

Roots of polynomials
Roots of polynomialsRoots of polynomials
Roots of polynomials
 
System of linear equations
System of linear equationsSystem of linear equations
System of linear equations
 
System of linear equations
System of linear equationsSystem of linear equations
System of linear equations
 
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidelMetodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
 
Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidelMetodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01
Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01
Mtodositerativosgauss seidelconrelajacin-100720193455-phpapp01
 
METODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDELMETODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDEL
 
Metodo gauss seidel
Metodo gauss seidelMetodo gauss seidel
Metodo gauss seidel
 
Matrices
MatricesMatrices
Matrices
 
Métodos directos para solución de sistemas ecuaciones lineales (2)
Métodos directos para solución de sistemas ecuaciones lineales (2)Métodos directos para solución de sistemas ecuaciones lineales (2)
Métodos directos para solución de sistemas ecuaciones lineales (2)
 
Métodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesMétodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones lineales
 
Métodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesMétodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones lineales
 

Metodos jacobi y gauss seidel

  • 1. Matrices Especiales.<br /> <br />Una matriz bandada es una matriz cuadrada en la que todos sus elementos son cero, con excepción 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:<br /> <br />f0g0   x0 b0e1f1g1  x1=b1 e2f2g2 x2 b2  e3f3 x3 b3<br /> <br />Basados en la descomposición LU podemos ver que el algoritmo de Thomas es:<br /> <br /> <br /> <br />La sustitución hacia adelante es<br /> <br /> <br />y hacia atrás es:<br /> <br /> <br />Ejemplo:<br /> <br />Resuelva el siguiente sistema tridiagonal por medio del algoritmo de Thomas.<br /> <br />2.04-1   x0 40.8-12.04-1  x1=0.8 -12.04-1 x2 0.8  -12.04 x3 200.8<br /> <br />La solución de la descomposición triangular es:<br /> <br />2.04-1  -0.491.55-1  -0.6451.395-1  -0.7171.323<br /> <br /> <br />La solución del sistema es:<br /> <br />X = [65.970, 93.778, 124.538, 159.480]T<br /> <br />Descomposición de Cholesky.<br /> <br />Este algoritmo se basa en el hecho de que una matriz simétrica se puede descomponer en [A] = [L][L]T , dado que la matriz [A] es una matriz simétrica. En este caso aplicaremos la eliminación de Crout a la parte inferior de la matriz y la parte superior, simplemente tendrá los mismos valores.<br /> <br />Así tomando las ecuaciones para la factorización LU la podemos adaptar como:<br />Podemos ver, que cualquier elemento bajo la diagonal se calcula como:<br />para todo i=0,...,n-1 y j = 0,...,i-1.<br /> <br />Para los términos arriba de la diagonal, en este caso solo la diagonal<br /> <br />para todo i=0,...,n-1.<br /> <br />La implementación en Java es:<br /> <br /> static public void Cholesky(double A[][]) {<br /> int i, j, k, n, s;<br /> double fact, suma = 0;<br /> <br /> n = A.length;<br /> <br /> for (i = 0; i < n; i++) { //k = i<br /> for (j = 0; j <= i - 1; j++) { //i = j<br /> suma = 0;<br /> for (k = 0; k <= j - 1; k++) // j = k<br /> suma += A[i][k] * A[j][k];<br /> <br /> A[i][j] = (A[i][j] - suma) / A[j][j];<br /> }<br /> <br /> suma = 0;<br /> for (k = 0; k <= i - 1; k++)<br /> suma += A[i][k] * A[i][k];<br /> A[i][i] = Math.sqrt(A[i][i] - suma);<br /> }<br /> }<br /> Método de Jacobi<br />En análisis numérico el método de Jacobi es un método iterativo, usado para resolver sistemas de ecuaciones lineales del tipo Ax = b. El algoritmo toma su nombre del matemático alemán Carl Gustav Jakob Jacobi.<br />Descripción<br />La base del método consiste en construir una sucesión convergente definida iterativamente. El límite de esta sucesión es precisamente la solución del sistema. A efectos prácticos si el algoritmo se detiene después de un número finito de pasos se llega a una aproximación al valor de x de la solución del sistema.<br />La sucesión se construye descomponiendo la matriz del sistema en la forma siguiente:<br />donde<br />, es una matriz diagonal.<br />, es una matriz triangular inferior.<br />, es una matriz triangular superior.<br />Partiendo de , podemos reescribir dicha ecuación como:<br />Luego,<br />Si aii ≠ 0 para cada i. Por la regla iterativa, la definición del Método de Jacobi puede ser expresado de la forma:<br />donde k es el contador de iteración, Finalmente tenemos:<br />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 método Gauss-Seidel, no se puede sobreescribir xi(k) con xi(k+1), ya que su valor será necesario para el resto de los cálculos. Esta es la diferencia más significativa entre los métodos de Jacobi y Gauss-Seidel. La cantidad mínima de almacenamiento es de dos vectores de dimensión n, y será necesario realizar un copiado explícito.<br />Convergencia<br />El método de Jacobi siempre converge si la matriz A es estrictamente diagonal dominante y puede converger incluso si esta condición no se satisface. Es necesario, sin embargo, que los elementos de la diagonal en la matriz sean mayores (en magnitud) que los otros elementos.<br />Algoritmo<br />El método de Jacobi se puede escribir en forma de algoritmo de la siguiente manera:<br />Algoritmo Método de Jacobifunción Jacobi (A, x0)//x0 es una aproximación inicial a la solución//para hasta convergencia hacer para hasta hacer para hasta hacer si entonces fin parafin paracomprobar si se alcanza convergenciafin para<br />algoritmo en java<br />public class Jacobi {<br />double [][]matriz={{4,-2,1},{1,-5,3},{2,1,4}};<br />double []vector={2,1,3};<br />double []vectorR={1,2,3};<br />double []x2=vectorR;<br />double sumatoria=1;<br />int max=50;<br /> public void SolJacobi(){<br /> int tam = matriz.length;<br />for (int y = 0; y < 10; y++) {<br /> system.outtt.println(quot; vector quot; + y + quot; quot; );<br /> for(int t=0;t>max;t++){<br /> x2=vectorR.clone();<br /> for (int i = 0; i < tam; i++) {<br /> sumatoria=0;<br /> for (int s = 0; s < tam; s++) {<br /> if(s!=i)sumatoria += matriz[i][s]*x2[s];<br />}<br />vectorR[i]=(vector[i]-sumatoria)/matriz[i][i];<br /> System.out.print(quot; quot; + vectorR[i]);<br />}<br />}<br /> <br />}<br />} <br />public static void main(String[] args) {<br /> jacobi obj=new Jacobi();<br /> obj.SolJacobi();<br />}<br />}<br />Método de Gauss-Seidel<br />En análisis numérico el método de Gauss-Seidel es un método iterativo utilizado para resolver sistemas de ecuaciones lineales. El método se llama así en honor a los matemáticos alemanes Carl Friedrich Gauss y Philipp Ludwig von Seidel y es similar al método de Jacobi.<br />Descripción<br />Es un método iterativo, lo que significa que se parte de una aproximación inicial y se repite el proceso hasta llegar a una solución con un margen de error tan pequeño como se quiera. Buscamos la solución a un sistema de ecuaciones lineales, en notación matricial:<br />El método de iteración Gauss-Seidel es<br />donde<br />para i=j, o para .<br />y<br />Esto es también que :<br />Si<br />definimos<br />y<br />.<br />Considerando el sistema Ax=b, con la condición de que , i= 1, ..., n. Entonces podemos escribir la fórmula de iteración del método<br />, i=1,...,n(*)<br />La diferencia entre este método y el de Jacobi es que, en este último, las mejoras a las aproximaciones no se utilizan hasta completar las iteraciones.<br />Convergencia<br />Teorema: Suponga una matriz es una matriz no singular que cumple la condición deó .Entonces el método de Gauss-Seidel converge a una solución del sistema de ecuaciones Ax=b, y la convergencia es por lo menos tan rápida como la convergencia del método de Jacobi.<br />Para ver los casos en que converge el método primero mostraremos que se puede escribir de la siguiente forma:<br />(**)<br />(el término es la aproximación obtenida después de la k-ésima iteración) este modo de escribir la iteración es la forma general de un método iterativo estacionario.<br />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 método de esta forma<br />por lo tanto B=-(L+I)-1 U.<br />Ahora podemos ver que la relación entre los errores, el cuál se puede calcular al substraer x=Bx+c de (**)<br />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<br />(***)<br />Por lo tanto la iteración converge si y sólo si | λi|<1, i= 1, ..., n. De este hecho se desprende el siguiente teorema:<br />Teorema: Una condición suficiente y necesaria para que un método iterativo estacionario converja para una aproximación arbitraria x^{(0)} es quedonde ρ(B) es el radio espectral de B.<br />Explicación<br />Se elige una aproximación inicial para .Se calculan las matrices M y el vector c con las fórmulas mencionadas. El proceso se repite hasta que xk sea lo suficientemente cercano a xk − 1, donde k representa el número de pasos en la iteración.<br />Algoritmo<br />El método de Gauss-Seidel se puede escribir en forma de algoritmo de la siguiente manera:<br />Algoritmo Método de Gauss-Seidelfunción Gauss-Seidel (A, x0)//x0 es una aproximación inicial a la solución//para hasta convergencia hacer para hasta hacer para hasta hacer si entonces σ = σ + aijxjfin parafin paracomprobar si se alcanza convergenciafin para<br />EJEMPLO METODOS JACOBI Y GAUSS SEIDEL<br />Son dos métodos númericos, que nos permite hallar soluciones a sistemas con el mismo número de ecuaciones que incognitas.<br />En los dos métodos se realiza el siguiente proceso, con una pequeña variación en Gauss-Seidel<br />Tenemos estas ecuaciones:<br />5x-2y+z=3-x-7y+3z=-22x-y+8z=1<br />1. Despejar cada incógnita en función de las demás.<br />x=(3+2y-z)/5y=(x-3z-2)/-7z=(1-2x+y)/8<br />2. Dar valores iniciales a las incógnitas<br />x1=0y1=0z1=0<br />Por Jacobi:Reemplazar en cada ecuación los valores iniciales, esto nos dará nuevos valores que serán usados en la próxima iteración<br />x=(3+2*0-0)/5=0,60y=(0-3*0-2)/-7=0,28z=(1-2x+y)/8=0,12<br />Por Gauss-SeidelReemplazar en cada ecuación los valores mas próximos hallados.<br />x=(3+2*0-0)/5=0,6y=(0,6-3*0-2)/-7=0,2z=(1-2*0,6+0,2)/8=0<br />Se realiza cuantas iteraciones se desee, usando como valores iniciales los nuevos valores hallados. Se puede detener la ejecución del algoritmo al calcular el error del cálculo, el cual lo podemos hallar con esta fórmula: sqr( (x1-x0)^2 + (y1-y0)^2 +(z1-z0)^2 )<br />Con jacobi<br />Con Gauss-Seidel<br />La principal diferencia, es que como el método de gauss_seidel utiliza los valores inmediatamente encontrados, entonces hace que todo el proceso sea más rápido, y como consecuencia hace de éste, un método mas eficaz.<br />Las fórmulas usadas en la hoja de excel para el método de Jacobi son<br />=(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)<br />Que corresponde a la variable X,Y,Z y Error respectivamente.<br />Y para el método de Gauss-Seidel:<br />=(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)<br />