SlideShare una empresa de Scribd logo
1 de 11
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 />
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales
Métodos iterativos para sistemas tridiagonales

Más contenido relacionado

La actualidad más candente

Método de romberg
Método de rombergMétodo de romberg
Método de rombergTensor
 
Metodo de eliminacion gaussiana simple
Metodo de eliminacion gaussiana simpleMetodo de eliminacion gaussiana simple
Metodo de eliminacion gaussiana simpleTensor
 
Interpolación matricial
Interpolación matricialInterpolación matricial
Interpolación matricialPervys Rengifo
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- ProblemarioBren MA
 
Transformadas de laplace 1
Transformadas de laplace 1Transformadas de laplace 1
Transformadas de laplace 1Utp arequipa
 
Cuadratura de gauss
Cuadratura de gaussCuadratura de gauss
Cuadratura de gaussTensor
 
102906052-Metodo-de-Gauss-Seidel-exposicion.pdf
102906052-Metodo-de-Gauss-Seidel-exposicion.pdf102906052-Metodo-de-Gauss-Seidel-exposicion.pdf
102906052-Metodo-de-Gauss-Seidel-exposicion.pdfKarwlynaKwayntiru
 
Unidad 1 parte 3 b de matemáticas ii v3
Unidad 1 parte 3 b de matemáticas ii v3Unidad 1 parte 3 b de matemáticas ii v3
Unidad 1 parte 3 b de matemáticas ii v3Edgar Ramos
 
Método numérico - regla de simpson
Método numérico  - regla de simpsonMétodo numérico  - regla de simpson
Método numérico - regla de simpsonJoe Arroyo Suárez
 
Ecuaciones diferenciales-orden-superior
Ecuaciones diferenciales-orden-superiorEcuaciones diferenciales-orden-superior
Ecuaciones diferenciales-orden-superiorSabena29
 
Examenes resueltos ecuaciones diferenciales ordinarias
Examenes resueltos ecuaciones diferenciales ordinariasExamenes resueltos ecuaciones diferenciales ordinarias
Examenes resueltos ecuaciones diferenciales ordinariasRosand Roque Ch.
 
Mapas de karnaugh (ejercicios resueltos)
Mapas de karnaugh (ejercicios resueltos)Mapas de karnaugh (ejercicios resueltos)
Mapas de karnaugh (ejercicios resueltos)Pablo Cruz Rodríguez
 
Ejercicios resueltos y explicados (conjuntos ortogonales)
Ejercicios resueltos y explicados (conjuntos ortogonales)Ejercicios resueltos y explicados (conjuntos ortogonales)
Ejercicios resueltos y explicados (conjuntos ortogonales)algebra
 
Ejercicios resueltos metodo de cramer
Ejercicios resueltos metodo de cramerEjercicios resueltos metodo de cramer
Ejercicios resueltos metodo de crameralgebra
 
Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)ERICK CONDE
 

La actualidad más candente (20)

Método de romberg
Método de rombergMétodo de romberg
Método de romberg
 
Metodo de eliminacion gaussiana simple
Metodo de eliminacion gaussiana simpleMetodo de eliminacion gaussiana simple
Metodo de eliminacion gaussiana simple
 
Interpolación matricial
Interpolación matricialInterpolación matricial
Interpolación matricial
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- Problemario
 
Transformadas de laplace 1
Transformadas de laplace 1Transformadas de laplace 1
Transformadas de laplace 1
 
Cuadratura de gauss
Cuadratura de gaussCuadratura de gauss
Cuadratura de gauss
 
Metodo adams bashforth
Metodo adams bashforthMetodo adams bashforth
Metodo adams bashforth
 
102906052-Metodo-de-Gauss-Seidel-exposicion.pdf
102906052-Metodo-de-Gauss-Seidel-exposicion.pdf102906052-Metodo-de-Gauss-Seidel-exposicion.pdf
102906052-Metodo-de-Gauss-Seidel-exposicion.pdf
 
Unidad 1 parte 3 b de matemáticas ii v3
Unidad 1 parte 3 b de matemáticas ii v3Unidad 1 parte 3 b de matemáticas ii v3
Unidad 1 parte 3 b de matemáticas ii v3
 
Campos vectoriales con Matlab y Mathematica
Campos vectoriales con Matlab y MathematicaCampos vectoriales con Matlab y Mathematica
Campos vectoriales con Matlab y Mathematica
 
Método numérico - regla de simpson
Método numérico  - regla de simpsonMétodo numérico  - regla de simpson
Método numérico - regla de simpson
 
Newton Raphson-ejercicios resueltos.
Newton Raphson-ejercicios resueltos.Newton Raphson-ejercicios resueltos.
Newton Raphson-ejercicios resueltos.
 
Flujo eléctrico
Flujo eléctricoFlujo eléctrico
Flujo eléctrico
 
Ecuaciones diferenciales-orden-superior
Ecuaciones diferenciales-orden-superiorEcuaciones diferenciales-orden-superior
Ecuaciones diferenciales-orden-superior
 
Examenes resueltos ecuaciones diferenciales ordinarias
Examenes resueltos ecuaciones diferenciales ordinariasExamenes resueltos ecuaciones diferenciales ordinarias
Examenes resueltos ecuaciones diferenciales ordinarias
 
Mapas de karnaugh (ejercicios resueltos)
Mapas de karnaugh (ejercicios resueltos)Mapas de karnaugh (ejercicios resueltos)
Mapas de karnaugh (ejercicios resueltos)
 
Practica 3 regla falsa
Practica 3 regla falsaPractica 3 regla falsa
Practica 3 regla falsa
 
Ejercicios resueltos y explicados (conjuntos ortogonales)
Ejercicios resueltos y explicados (conjuntos ortogonales)Ejercicios resueltos y explicados (conjuntos ortogonales)
Ejercicios resueltos y explicados (conjuntos ortogonales)
 
Ejercicios resueltos metodo de cramer
Ejercicios resueltos metodo de cramerEjercicios resueltos metodo de cramer
Ejercicios resueltos metodo de cramer
 
Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)
 

Destacado

Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidelMetodos jacobi y gauss seidel
Metodos jacobi y gauss seidelCesar Mendoza
 
Método de gauss seidel
Método de gauss seidelMétodo de gauss seidel
Método de gauss seidelmariacadena
 
2.3.1 iteracion y convergencia de ecuaciones
2.3.1 iteracion y convergencia de ecuaciones2.3.1 iteracion y convergencia de ecuaciones
2.3.1 iteracion y convergencia de ecuacionesmorenito9001
 
Jacobi
JacobiJacobi
JacobiFredy
 
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMarco Antonio
 
3.2.5.2 metodo de gauss seidel
3.2.5.2 metodo de gauss seidel3.2.5.2 metodo de gauss seidel
3.2.5.2 metodo de gauss seidelRoger Burgos
 
Badillo riosyortizdelaluz
Badillo riosyortizdelaluzBadillo riosyortizdelaluz
Badillo riosyortizdelaluzVivi LeFlo
 
Fortran 90 con métodos numéricos
Fortran 90 con métodos numéricosFortran 90 con métodos numéricos
Fortran 90 con métodos numéricosMarco Antonio
 
Solución de Sistemas Lineales Método Matriz inversa
Solución de Sistemas Lineales Método Matriz inversaSolución de Sistemas Lineales Método Matriz inversa
Solución de Sistemas Lineales Método Matriz inversainsutecvirtual
 
Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlabVitoto96
 
Sistemas de ecuaciones lineales. Métodos Gauss- Jordan y Gauss
Sistemas de ecuaciones lineales. Métodos Gauss- Jordan y GaussSistemas de ecuaciones lineales. Métodos Gauss- Jordan y Gauss
Sistemas de ecuaciones lineales. Métodos Gauss- Jordan y GaussCarlita Vaca
 
Presentación- Sistemas de ecuaciones lineales
Presentación- Sistemas de ecuaciones linealesPresentación- Sistemas de ecuaciones lineales
Presentación- Sistemas de ecuaciones linealesProspero Ruiz Cepeda
 
Métodos de resolución metodo de gauss jordan
Métodos de resolución metodo de gauss jordanMétodos de resolución metodo de gauss jordan
Métodos de resolución metodo de gauss jordanalgebra
 
Cálculo Matricial Y Sistemas Lineales
Cálculo Matricial Y Sistemas LinealesCálculo Matricial Y Sistemas Lineales
Cálculo Matricial Y Sistemas LinealesFreddy Figueira
 

Destacado (15)

Metodos jacobi y gauss seidel
Metodos jacobi y gauss seidelMetodos jacobi y gauss seidel
Metodos jacobi y gauss seidel
 
Método de gauss seidel
Método de gauss seidelMétodo de gauss seidel
Método de gauss seidel
 
2.3.1 iteracion y convergencia de ecuaciones
2.3.1 iteracion y convergencia de ecuaciones2.3.1 iteracion y convergencia de ecuaciones
2.3.1 iteracion y convergencia de ecuaciones
 
Jacobi
JacobiJacobi
Jacobi
 
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
 
3.2.5.2 metodo de gauss seidel
3.2.5.2 metodo de gauss seidel3.2.5.2 metodo de gauss seidel
3.2.5.2 metodo de gauss seidel
 
Badillo riosyortizdelaluz
Badillo riosyortizdelaluzBadillo riosyortizdelaluz
Badillo riosyortizdelaluz
 
Fortran 90 con métodos numéricos
Fortran 90 con métodos numéricosFortran 90 con métodos numéricos
Fortran 90 con métodos numéricos
 
Solución de Sistemas Lineales Método Matriz inversa
Solución de Sistemas Lineales Método Matriz inversaSolución de Sistemas Lineales Método Matriz inversa
Solución de Sistemas Lineales Método Matriz inversa
 
Gauss jordan
Gauss jordanGauss jordan
Gauss jordan
 
Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlab
 
Sistemas de ecuaciones lineales. Métodos Gauss- Jordan y Gauss
Sistemas de ecuaciones lineales. Métodos Gauss- Jordan y GaussSistemas de ecuaciones lineales. Métodos Gauss- Jordan y Gauss
Sistemas de ecuaciones lineales. Métodos Gauss- Jordan y Gauss
 
Presentación- Sistemas de ecuaciones lineales
Presentación- Sistemas de ecuaciones linealesPresentación- Sistemas de ecuaciones lineales
Presentación- Sistemas de ecuaciones lineales
 
Métodos de resolución metodo de gauss jordan
Métodos de resolución metodo de gauss jordanMétodos de resolución metodo de gauss jordan
Métodos de resolución metodo de gauss jordan
 
Cálculo Matricial Y Sistemas Lineales
Cálculo Matricial Y Sistemas LinealesCálculo Matricial Y Sistemas Lineales
Cálculo Matricial Y Sistemas Lineales
 

Similar a Métodos iterativos para sistemas tridiagonales

Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones linealesJesusS14
 
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 numericoEliezer 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 numericodeivys 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 numericolmpd124
 
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 iiiluiguiiiii
 
Resumen sadicth.sanchez
Resumen sadicth.sanchezResumen sadicth.sanchez
Resumen sadicth.sanchezsadicth
 
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
 
Algebralineal.docx
Algebralineal.docxAlgebralineal.docx
Algebralineal.docxEdwin Laguna
 
Laura rodríguez
Laura rodríguezLaura rodríguez
Laura rodríguezLauramrb12
 
Programacion numerica 1
Programacion numerica 1Programacion numerica 1
Programacion numerica 1Yhonny Ochoa
 
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.pdfJose Luis Sosa Carmelo
 

Similar a Métodos iterativos para sistemas tridiagonales (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
 
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 (13)

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 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
 

Métodos iterativos para sistemas tridiagonales

  • 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 />