Tarea 2
Fecha de entrega: | Agosto 21, 2009. |
- 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.
- 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. |