Estudia
- Artes y humanidades
-
Ciencias
- Máster Erasmus Mundus en Recursos Biológicos Marinos
- Máster Universitario en Análisis de Datos para la Inteligencia de Negocios
- Máster Universitario en Biotecnología Alimentaria
- Máster Universitario en Biotecnología Aplicada a la Conservación y Gestión Sostenible de Recursos Vegetales
- Máster Universitario en Biotecnología del Medio Ambiente y la Salud
- Máster Universitario en Ciencias Analíticas y Bioanalíticas
- Máster Universitario en Conservación Marina
- Máster Universitario en Física Avanzada: Partículas, Astrofísica, Nanofísica y Materiales Cuánticos
- Máster Universitario en Modelización e Investigación Matemática, Estadística y Computación*
- Máster Universitario en Química Teórica y Modelización Computacional
- Máster Universitario en Química y Desarrollo Sostenible
- Máster Universitario en Recursos Geológicos e Ingeniería Geológica
- Ciencias de la salud
- Ciencias sociales y jurídicas
- Ingeniería y arquitectura
- Información, acceso y becas
Programación Científica y Álgebra Computacional
- Clases Expositivas (16 Horas)
- Prácticas de Aula/Semina (14 Horas)
DESCRIPCIÓN Y CONTEXTUALIZACIÓN DE LA ASIGNATURA
La asignatura “Programación Científica y Álgebra Computacional” tiene dos partes interrelacionadas, pero a la vez diferenciadas. En la primera de ellas “Software y programación científica”, 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. A continuación, se abordará el diseño de algoritmos matriciales paralelos, de gran utilidad en el estudio de problemas que requieren gran capacidad de cómputo, bien por el gran tamaño de los problemas que abordan o por la necesidad de trabajar con problemas en tiempo real. La necesidad de resolver de manera eficiente sistemas de ecuaciones, de calcular valores propios, etc. ha dado lugar a librerías matriciales que se organizan en base a núcleos computacionales. Aunque existen muchas librerías, se analizarán algunas de las más habituales, como son BLAS, LAPACK, etc., finalizando esta parte de la asignatura con la presentación de otras que puedan resultar de utilidad.
La segunda parte está dedicada al estudio de las Bases de Gröbner. Se trata de una herramienta de gran relevancia en Álgebra Computacional, Geometría Algebraica y Códigos Detectores y Correctores de Errores con interesantes aplicaciones en biología, Teoría de grafos, redes, robótica, wavelets, etc. Los principales objetivos que se plantean son el desarrollo de los fundamentos teóricos de las Bases de Gröbner (órdenes monomiales, reducción polinomial, etc.), un estudio de posibles implementaciones para su cálculo (algoritmo de Burchberger), su aplicación en el contexto de la Teoría de la Eliminación (resolución de sistemas de ecuaciones polinomiales en varias variables) y la conexión con las correspondientes interpretaciones geométricas. También se contemplan posibles aplicaciones en otros ámbitos tanto de la Matemática como de la Ingeniería.
No los hay.
COMPETENCIAS DE LA ASIGNATURA
Competencias específicas de la asignatura:
9962-Conocimiento y manejo de herramientas para la programación científica y el álgebra computacional, tanto desde el punto de vista de sus fundamentos matemáticos (y computacionales) como de sus aplicaciones.
9963-El estudiante se familiarizará con la modelización y aplicaciones a problemas reales.
Competencias básicas y generales: CB6, CB7, CB8, CB10, CG1857
Competencias transversales: CT1861, CT1854
Competencias específicas de la titulación: CE1865, CE1840, CE1841
RESULTADOS DE APRENDIZAJE DE LA ASIGNATURA
- Entender la importancia y la necesidad de la computación paralela.
- Comprender los elementos básicos para un diseño eficiente de algoritmos matriciales paralelos.
- Ser capaz de diseñar algoritmos (simples) en el contexto de la computación de altas prestaciones.
- Entender la estructura de las librerías matriciales más habituales (BLAS, LAPACK, etc.).
- Ser capaz de implementar estrategias por bloques para resolver problemas de gran tamaño.
- Entender los fundamentos teóricos de las Bases de Gröbner.
- Ser capaz de desarrollar implementaciones para su cálculo.
- Comprender su aplicación en la resolución de sistemas de ecuaciones polinomiales.
- Asimilar las interpretaciones geométricas de las Bases de Gröbner.
- Ser capaz de desarrollar posibles aplicaciones de los contenidos de la asignatura en distintos ámbitos.
CONTENIDOS TEORICO-PRACTICOS
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, etc.).
- 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
El contenido teórico se expondrá en clases magistrales siguiendo referencias básicas que figuran en la bibliografía y el material de uso obligatorio. Estas clases magistrales se complementarán con clases de problemas (prácticas de aula) en los que se propondrá a los alumnos resolver cuestiones en las que se aplicarán los conocimientos adquiridos en las clases teóricas. En los seminarios se desarrollarán cuestiones y ejemplos representativos del contenido de la asignatura, que habrán sido facilitados con anterioridad a los alumnos para trabajarlos y motiven la posterior reflexión y discusión en la sesión dedicada a ello. Además, se realizarán prácticas de ordenador orientadas a la consecución de las competencias de la asignatura.
Se propondrán a los estudiantes trabajos prácticos sobre teoría y problemas, para cuya realización dispondrán del apoyo del profesor en seminarios periódicos.
Parte importante del trabajo del alumno es de carácter personal. En cualquier caso, los profesores orientarán en todo momento ese trabajo y estimularán que se haga con regularidad y dedicación. Se animará igualmente a que utilicen las tutorías personales donde pueden aclarar cualquier duda o dificultad que se les presente en las asignaturas.
SISTEMAS DE EVALUACIÓN
Se consideran los siguientes tipos de evaluación:
- SISTEMA DE EVALUACIÓN CONTINUA
- SISTEMA DE EVALUACIÓN FINAL
Herramientas y porcentajes de calificación
SISTEMA DE EVALUACIÓN CONTINUA: trabajos prácticos 100%
SISTEMA DE EVALUACIÓN FINAL: examen escrito o trabajos prácticos 100%
Convocatoria ordinaria
CRITERIOS DE LA EVALUACIÓN CONTINUA:
Realización de distintos trabajos prácticos de los apartados de Software y programación científica y de Bases de Gröbner y aplicaciones, incluyendo las correspondientes prácticas de laboratorio: 100%
Para aprobar la asignatura será necesario alcanzar una nota de 5 sobre 10 en las tareas propuestas.
CRITERIOS DE LA EVALUACIÓN FINAL:
Los estudiantes que lo soliciten, podrán someterse a una evaluación final, que podrá consistir en una prueba única, o en un conjunto de pruebas y trabajos.
Se podrá establecer de manera excepcional la asistencia a determinadas sesiones presenciales, y la superación, en su caso, de las pruebas que en ellas se establezcan.
Los estudiantes deberán solicitar la evaluación diferenciada mediante escrito razonado dirigido al Coordinador del Máster, desde el momento de la matrícula hasta transcurridos, como máximo, cinco días desde el inicio del curso. La solicitud se acompañará de todos los documentos que acrediten la imposibilidad de seguir con normalidad el desarrollo del curso. La Comisión Académica del Máster, resolverá en el plazo máximo de veinte días.
Convocatoria extraordinaria
Los criterios de evaluación serán los mismos que en la convocatoria ordinaria. La evaluación de las actividades realizadas a lo largo del curso (prácticas de ordenador, ejercicios, seminarios) será válida para las dos convocatorias del curso. En el caso del alumnado que no haya superado la evaluación de dichas actividades o haya elegido la modalidad de evaluación final, en la convocatoria extraordinaria deberá realizar, también, una prueba complementaria diseñada para la evaluación de las actividades realizadas a lo largo del curso. Dicha prueba puede consistir en una exposición oral, una demostración ante un ordenador o una descripción escrita de los conocimientos prácticos abordados en las actividades planteadas a lo largo del curso.
BIBLIOGRAFÍA
Materiales de uso obligatorio
Apuntes y prácticas de la asignatura "Programación Científica y Álgebra Computacional" publicados en la plataforma virtual de apoyo a la docencia de la Universidad.
Bibliografía básica
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.
B. Buchberger, F. Winkler, Gröbner Bases and Applications, Lecture Note Series 251, London Mathematical Society, 1998
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.W. Demmel, Applied Numerical Linear Algebra, SIAM, 1997.
G.H. Golub, C.F. Van Loan, Matrix computations (3rd ed.), Johns Hopkins University Press, 1996.
A. Grama, G. Karypis, V. Kumar, A. Gupta, Introduction to Parallel Computing (2nd ed.), Addison-Wesley, 2003.
Bibliografía de profundización
D. Cox, J. Little, D. O’Shea. Using algebraic geometry (2nd. ed.), Springer, Graduate text in mathematics, 185, 2005.
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.
M. Kreuzer, L. Robbiano, Computational commutative algebra 1 (edición revisada), Springer 2008.
M. Kreuzer, L. Robbiano, Computational commutative algebra 2, Springer 2005.
H. Li, Gröbner Bases in Ring Theory, World Scientific Publishing Company, 2011.
L. Pachter, B. Sturmfels, Algebraic Statistics for Computational Biology, Cambridge University Press, 2005.
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.
Revistas
E. Anderson et al., LAPACK: a portable linear algebra library for high performance computers, Proceeding Supercomputing '90 Proceedings of the 1990 ACM/IEEE conference on Supercomputing Pages 2-11.
L. S. Blackford et al., An Updated Set of Basic Linear Algebra Subprograms (BLAS), ACM Trans. Math. Soft., 28-2 (2002), pp. 135-151.
J. Choia et al., ScaLAPACK: a portable linear algebra library for distributed memory computers - design issues and performance, Computer Physics Communications 97(1-2) (1996), pp. 1-15.
J. Dongarra, Basic Linear Algebra Subprograms Technical Forum Standard, International Journal of High Performance Applications and Supercomputing, 16(1) (2002), pp. 1-111.
Direcciones de interés en internet