Download SAGE: implementación en grado y máster de matemáticas

Document related concepts
no text concepts found
Transcript
SAGE: implementación en
grado y máster de
matemáticas
Joaquim Puig i Sadurní
Departament de Matemàtica Aplicada I
Universitat Politècnica de Catalunya
Antecedentes



Como en muchas ocasiones, todo empieza por una búsqueda en internet de alternativas a Matlab, Maple...
Uso de Python (Numpy, Matplotlib, Mayavi,
Networkx) desde el curso 2008/2009 en la asignatura de ”Modelos Matemáticos en Biología”.
Valoración muy positiva, pero encontramos problemas en

Manipulación simbólica (aunque SymPy).

Visualización 2D/3D integrada.

Facilidad de instalación y mantenimiento.

Integración en un GUI.

Lentitud respecto lenguajes compilados (sistemas dinámicos...)
Descubrimiento del SAGE



Necesidad de usar cálculo simbólico y álgebra lineal numérica (rutinas LAPACK) de forma simple pero eficiente. (Investigación).
Necesidad de incrementar la velocidad de iteraciones en Python. Facilidad de la integración con Cython. (Investigación).
Conveniencia de ofrecer a los alumnos y profesores interesados un entorno integrado, ”batteries included” con un interfaz web muy atractivo. (Docencia).
Proyecto docente SAGE/FME



Solicitamos un proyecto MQD – Generalitat Catalunya.
”Exploración de la adecuación del software libre SAGE en la docencia de matemáticas de la Facultad de Matemáticas y Estadística”.
Contratación de horas de becario: del laboratorio de cálculo y de una becaria para pasar prácticas de las asignaturas piloto:

”Modelos Matemáticos en Biología”

”Modelos Algebraicos en Genómica”

”Fisiología Matemática”

”Álgebra Lineal Numérica”

”Álgebra Abstracta” (posteriormente)
Instalación de SAGE


Instalación de SAGE en un servidor web (en una máquina virtual y con firewall sólo UPC). Cualquiera puede crearse usuarios.
Instalación local en las aulas de ordenadores bajo Linux. Hubo dos intentos:
1. Instalación en un directorio remoto y cada máquina con NFS. Problemas con el ancho de banda al iniciar toda una aula de Pcs
2.Instalación en una partición intermedia de modo que monte el directorio de usuario en el de cada alumno. Debería ser posible usarlo en Windows.
Web del proyecto
Wiki del proyecto
Adecuación asignaturas


Asignaturas de aplicaciones, muy adecuado. Permiten la posibilidad de usar herramientas sofisticadas:

Manipulación simbólica.

Cython. Velocidad de ejecución

Entorno estadístico R.

Redes nativo SAGE+Networkx

HMM, filogenética. Biopython. Lectura db.

Implementación paquetes neurociencia (Brian).

Útil trabajos de final de máster.
Adecuación asignaturas (II)


Álgebra abstracta (teoría de Galois), muy útil y adecuado. Mathematica → SAGE!
Álgebra Lineal Numérica. Asignatura de primero:




SAGE es demasiado complejo para una asignatura de numérico.
Uso de (I)Python + Pylab que viene de serie. Uso consola muy parecido al Matlab(sugerencias IDE?)
Cuidado con usar el Tcl/Tk incorporado...
Empieza a haber bibliografía abundante de Python en numérico (+ infinidad de buenos recursos web).
Trabajos Final de máster...




Desarrollar una funcionalidad nueva en SAGE, portar una librería, documentar funciones, etc... tiene muchas posibilidades boloñesas.
Ejemplo: un estudiante, Oriol Castejón, ha creado un paquete SAGE a partir de un paquete Python de neurociencia, el BRIAN.
También, está en proceso de incorporar funciones a SAGE: desolve_odeint().
Interesante aprender el proceso de desarrollo de software en una comunidad abierta como SAGE.
Es viable SAGE en la
docencia universitaria?





Sí, pero no va a ser fácil.
A veces es difícil convencer a la gente para que aprenda algo nuevo y más que lo pruebe en clase.
La ”competencia” con el software propietario es desleal: en la universidad no se paga por el sofware (al menos no individualmente).
El ”coste” de adoptar SAGE está en las horas de formación y de adaptación.
No debería sustituir un buen curso de informática.