Métodos Numéricos
MAT-251

Tarea 2

Fecha de entrega:    Agosto 21, 2009.   
  1. Programar el algoritmo de eliminación Gaussiana de forma recursiva y aplicando pivoteo parcial: en cada paso del algoritmo, seleccionamos el reglón que sirve como pivote como aquel que tiene el elemento má grande en valor absoluto en la columna que estamos operando y que no ha sido usada previamente como pivote.
  2. Programar el algoritmo de eliminación Gaussiana con pivoteo total: seleccionamos en cada paso del algoritmo, como pivote al renglón que tiene al elemento más grande en valor absoluto y que no ha sido usada como pivote.


Consideraciones:
  • Desde la línea de comandos se dan los nombres de los archivos que tienen las entradas de la matriz A del sistema de ecuaciones lineales y el vector b de términos independientes.
  • Una vez que se haya reducido a la matriz A a una matriz triangular superior, resolver el sistema usando sustitución hacia atrás en forma recursiva y con las indicaciones hechas en clase para no incrementar los errores numéricos.
  • El programa debe indicar si el sistema Ax = b tiene solución única, o una infinidad de soluciones o ninguna.
  • En el caso de tener solución única, imprimir el vector solución x si su dimensión es menor que 10, y calcular el norma del vector de error Ax - b e imprimir este valor. De esta forma verificamos que realmente x sea solución del sistema.


Datos de prueba:
Probar los programas con el conjunto de datos en modo binario o texto , o pueden descargar cada pareja matriz-vector de forma individual:
Matriz A vector b Descripción
A01.txt A01.bin b01.txt b01.bin Matriz 8x8 bien condicionada
A02.txt A02.bin b02.txt b02.bin Matriz 4x4
A03.txt A03.bin b03a.txt b03a.bin Matriz 5x5 mal condicionada.
A03.txt A03.bin b03b.txt b03b.bin El efecto del mal condicionamiento de la matriz A03 lo vemos la cambiar el vector de terminos independientes. La norma Euclidiana del vector diferencia b03a - b03b es aproximadamente 0.0000155, es decir, son vectores muy parecidos. Sin embargo, la diferencia de las soluciones de estos dos casos es mucho mayor.
A04.txt A04.bin b04a.txt b04a.bin Matriz 6x6 singular, pero el vector b04a está en el rango de la matriz.
A04.txt A04.bin b04b.txt b04b.bin Misma matriz 6x6 singular del caso anterior, pero el vector b04b NO está en el rango de la matriz.