Salir

Programación científica y álgebra computacional

Última modificación
Vie , 03/11/2023 - 01:35

Objetivos:

La asignatura “Programación Científica y Álgebra Computacional” tiene dos partes interrelacionadas pero a la vez diferenciadas: “Software y programación científica” y “Bases de Gröbner y aplicaciones”.

En la primera parte se introducen nociones generales sobre computación paralela, estableciendo la importancia, la necesidad y el ámbito de aplicación de este tipo de computación, abordando a continuación el diseño de algoritmos matriciales paralelos. Otro de los objetivos será el estudio de algunas de las librerías matriciales más habituales, como son BLAS, LAPACK y ScaLAPACK, finalizando esta parte de la asignatura con el estudio de otras que puedan resultar de utilidad.

Los principales objetivos que se plantean para la segunda parte son el desarrollo de los fundamentos teóricos de las Bases de Gröbner, un estudio de posibles implementaciones para su cálculo, su aplicación en el contexto de la Teoría de la Eliminación y la conexión con las correspondientes interpretaciones geométricas. También se contemplan posibles aplicaciones en otros ámbitos.

Contenidos:

  • Software y programación científica

    • Introducción a la computación paralela.

    • Metodología de diseño de algoritmos matriciales numéricos paralelos.

    • Herramientas disponibles: núcleos computacionales y librerías (BLAS, LAPACK, ScaLAPACK, CUBLAS).

    • Otras herramientas.

  • Bases de Gröbner y aplicaciones

    • Bases de Gröbner.

    • Implementación de algoritmos.

    • Teoría de eliminación.

    • Interpretación geométrica.

    • Aplicaciones.

Metodología:

Las actividades docentes que se llevarán a cabo durante la impartición del curso son las siguientes:

  • Clases magistrales.

  • Prácticas de aula.

  • Prácticas de ordenador.

Criterios de evaluación:

Se valorará la asistencia y la respuesta a las actividades o ejercicios propuestos en clase (30%), así como la corrección y la eficiencia de los programas y ejercicios propuestos/realizados (70%).

Bibliografía:

  • F. Almeida, D. Giménez, J.M. Mantas, A.M. Vidal, Introducción a la programación paralela, Paraninfo Cengage Learning, 2008.

  • W.W. Adams, P. Loustaunau, An introduction to Gröbner bases. AMS, Graduate Studies in Mathematics, 3, 1996.

  • D. Cox, J. Little, D. O’Shea, Ideals, varieties and algorithms. An introduction to computational algebraic geometry and commutative algebra (2nd. ed.), Springer, 1997.

  • J. Dongarra, I. Foster, G. Fox, Geoffrey, W. Gropp, K. Kennedy, L. Torczon, A. White (Eds.): Sourcebook of Parallel Computing. Morgan Kaufmann Publishers, 2003.

  • R. Fröberg, An Introduction to Gröbner Bases, Wiley, 1997.

  • G.H. Golub, C.F. Van Loan, Matrix computations (4 ed.), Johns Hopkins University Press, 2013.

  • A. Grama, G. Karypis, V. Kumar, A. Gupta, Introduction to Parallel Computing (2nd ed.), Addison-Wesley, 2003.

  • H.A. Park, G. Regensburger, Gröbner Bases in Control Theory and Signal Processing, Walter de Gruyter, 2007.

  • M. Sala, T. Mora, L. Perret, S. Sakata, C. Traverso, Gröbner Bases, Coding, and Cryptography, Springer, 2009.

  • E. Zerz, Topics in Multidimensional Linear Systems Theory, Springer, 2000.

  • http://www.netlib.org/blas/

  • http://www.netlib.org/lapack/

  • http://www.netlib.org/scalapack/

  • http://developer.nvidia.com/cublas

Profesores del curso 2023-2024:

Pedro Alonso Velázquez (palonso  at  uniovi.es)  (Coordinador)
Mª Pilar Benito Clavijo (pilar.benito at unirioja.es)
José Ranilla (ranilla at uniovi.es)