Cursos V MACI

Cálculo numérico en computadoras paralelas,

Victorio Sonzogni, CIMEC, UNL-CONICET.

Estrategias de aproximación no monótonas para problemas de optimización no lineal

Dra. Cristina Maciel, Universidad Nacional del Sur.

Una breve introducción a la computación científica usando Matlab

Dr. Sergio Priedikman, Universidad Nacional de Córdoba

Como el título lo sugiere, este curso es una introducción a la computación científica usando el entorno de programación Matlab. El enfoque es simple. Se comienza con el planteo de un problema que apunta a una historia  computacional más grande. La solución de dicho problema es cuidadosamente derivada y a lo largo del proceso se va introduciendo lo que sea requerido de Matlab. A esto le sigue una breve charla que apunta a enfatizar algunos aspectos del contexto/problema más general. Este patrón entra en resonancia con lo que creo acerca de lo que debe ser un breve curso introductorio a la computación científica: debería ser enseñado mediante el uso de ejemplos.
Se elige el entorno de programación Matlab porque es amigable para los programadores principiantes y porque permite jugar con ideas computacionales mediante experimentación. Esto es central y fundamental para desarrollar la intuición computacional.
Jugar con programas construye la intuición computación La intuición es un sentido de la orientación no diferente de aquel que le permite a uno encontrar un camino en un barrio de la infancia pasada sin un mapa. Si la intuición es un sentido de la orientación, entonces la intuición computacional es un sentido de la orientación computacional.

OBJETIVOS: Por medio de ejemplos se intenta lograr lo siguiente:

  1. Desarrollar ojos para lo geométrico. La habilidad para visualizar es muy importante para el científico
    computacional. Los gráficos en computadoras juegan un tremendo rol en este aspecto, pero las herramientas de visualización que muchos programas ofrecen no hacen obvia la necesidad de razonar en términos geométricos.
  2. Desarrollar un oído capaz de oír la “explosión combinatoria.” Muchos diseños y problemas de
    optimización involucran grandes espacios de búsqueda con un número exponencial de posibilidades. Es
    importante anticipar esta complejidad y tener los medios para manejarlos con heurísticas inteligentes.
  3. Desarrollar un gusto por el azar. La ciencia y la ingeniería están colmadas de procesos que tienen una
    componente aleatoria. Tener un sentido de la probabilidad y la capacidad de reunir e interpretar las
    estadísticas con la computadora es vital.
  4. Desarrollar un olfato por la dimensión. La simulación es mucho más intensa computacionalmente en
    tres dimensiones que en dos. Una impresión exacta de cómo las computadoras pueden facilitar la
    comprensión del mundo físico requiere una apreciación de este punto.
  5. Desarrollar un toque por lo que es finito, inexacto, y aproximado. Los errores de redondeo involucran
    a la aritmética de punto flotante, las pantallas de ordenador son granulares, las derivadas analíticas se
    aproximan con diferencias finitas divididas, y los datos adquiridos en un laboratorio sólo puede ser
    correctos (con mucha suerte) hasta los tres dígitos significativos. La vida en la ciencia computacional es
    parecida a esto por lo cual el profesional debe ser lo suficientemente osado como para hacer frente a
    tales incertidumbres.