Unidad 3

Resolución de sistemas lineales.

Dado que los sistemas de ecuaciones lineales aparecen cotidianamente en todas las aplicaciones de las matemáticas a los modelos de procesos físicos, la búsqueda de una solución eficiente y precisa de dichos sistemas constituye un punto clave para una amplia variedad de problemas. En esta unidad discutimos los métodos numéricos para resolver sistemas lineales, los cuales se dividen en dos tipos: directos e iterativos. Los métodos directos son aquellos que, en ausencia de errores de redondeo, obtienen la solución exacta en un número finito de pasos. El método fundamental para soluciones directas es el método de eliminación gaussiana, pero aún dentro de esta clase hay una gran variedad de implementaciones. Los métodos iterativos, por otro lado, son aquellos que parten de una aproximación inicial y que, aplicando un algoritmo convenientemente escogido, conduce a aproximaciones que esperamos sean mejores. Finalmente en esta unidad consideremos también el cálculo numérico de los autovalores y autovectores de una matriz.

Prácticas

Material de lectura complementario

Instalación de Lapack95 en el espacio de usuario

A continuación damos instrucciones genéricas para la instalación de Lapack95 desde sus fuentes para cualquier distribución de Linux. Todos los archivos resultantes (librerias y módulos) serán instalados en la cuenta personal del usuario que siga estas instrucciones, bajo el directorio ~/lib las librerias y bajo el directorio ~/include los módulos. Asumimos que en el sistema el compilador gfortran y la utilidad de desarrollo make se encuentran instaladas.

  1. Descargar el archivo lapack.tar.gz en su directorio personal.
  2. Descomprimir el archivo:
    $ tar xvfz lapack.tar.gz
  3. Moverse al directorio lapack creado por el paso anterior:
    $ cd lapack
  4. Ejecutar la utilidad make:
    $ make

    Este paso compila las tres librerias involucradas en el paquete, a saber: blas, la librería de operaciones vectoriales y matriciales básicas, lapack, la librería base que implementa los métodos de algebra lineal numérica, y, finalmente, lapack95, la interface que accede a lapack utilizando las características que proporciona Fortran 95. Nótese que este paso tomará cierto tiempo en completarse.

  5. Instalar las librerias y módulos generados en el paso anterior ejecutando el comando:
    make install

    Este paso instalará los archivos mencionados bajo el directorio ~/lib y ~/include, los cuales serán creados, si no existen previamente, bajo el directorio principal del usuario. Al final de este paso, la utilidad informa como debe compilarse cualquier programa que utilice lapack95

    Para compilar con lapack95:
    
    gfortran -Wall -o ejecutable programa.f90 -I/home/<user>/lib -L/home/<user>/lib -llapack95 -llapack -lblas

    donde <user> será el nombre de usuario asignado en su sistema.

  6. Opcionalmente, puede testear si las librerias fueron instaladas correctamente y realmente funcionan, ejecutando el comando:
    make test

Bibliografía

  • Michael T Heath, Scientific Computing, McGraw-Hill.
  • David S. Watkins, Fundamentals of Matrix Computations, Wiley-Interscience.
  • Yousef Saad, Iterative Methods for Sparse Linear Systems, SIAM.
Última modificación: 2016/06/06 12:08