Métodos Matemáticos Computacionales para Ciencia de Datos

Evaluación

1.- Se evaluará con 2 exámenes parciales (el 1ro es colegiado), 2 tareas y un proyecto. El Periodo 1 tiene un valor de 40% y el Periodo 2 tiene un valor de 60% de la calificación.

El Periodo i tiene la evaluación Pi como sigue: La Tarea i da derecho al Examen i. Sean Ti y Ei las calificaciones respectivas. Si Ti es al menos 6, entonces Pi es el techo de Ei, sino, Pi es el piso de Ei, donde i=1,2.

Para la Calificación final CF se obtiene como sigue: Si tanto T1 como T2 son al menos 6, entonces  CF es el techo de 0.4P1+0.6P2, sino CF es el piso de P1+P2.

Fecha del Examen parcial 1: lunes de la semana 10.

Fecha del Examen parcial 2: miércoles de la semana 16.


Para poder presentar exámen final (ordinario), es necesario que el alumno haya obtenido 5 en su evaluación, ver artículo 10 liga.

2.- Presentar examen final (ordinario) en 1ra o 2da vuelta, y su calificación se pone en actas.


Aviso: El día lunes 21 y miércoles 23 no hay clase ya que asistiré al Congreso Nacional de la SMM liga

Temario, horario y bibliografía


Bibliografía


Reglas de clase & Zoom


Acerca de Zoom (en caso de ser requerido)



Sobre Julia, Jupyter Notebook y su instalación

· Sobre Julia: En este curso se hará uso del lenguaje de programación de Julia ya que es un lenguaje de programación de alto nivel que ofrece una facilidad comparable a Python, pero una potencia y velocidad comparable al lenguaje C. Julia es un lenguaje de programación dinámico creado por el Departamento de Ciencias de la Computación del MIT en el año 2009; desarrollado por Jeff Bezanson, Stefan Karpinski, Viral B. Shah y Alan Edelman, liberado gratuitamente en 2012.

Karpinski, uno se su creadores, comenta que Julia empodera a científicos de datos, físicos, comerciantes de finanzas cuantitativas y diseñadores de robots para resolver problemas sin tener que convertirse en programadores informáticos o contratar programadores informáticos para traducir sus funciones en código informático, ver [D’Cunha, 2017]. Para ver la eficiencia de Julia en un gráfico, ver [JuliaLang.org-Contributors, 2023].

Actualmente Julia está en constante crecimiento. Para dimensionar esto, se tiene como referentes a las grandes compañias como Amazon, Apple, Disney, Facebook, Ford, Google, Blackrock, IBM, Microsoft o NASA, las cuales están contratando significativamente a programadores de Julia, ver [D’Cunha, 2017]. De acuerdo con GitHub, en 2017, Julia esta en el top 10 de lenguajes con mayor desarrollo dentro de su plataforma [Claster, 2017].

· Sobre Jupyter Notebook: Por otro lado, el proyecto Jupyter es un software de código abierto, gratuito y libre. Uno de sus productos es Jupyter Notebook que es un entorno interactivo basado en la web para crear documentos. Contiene una lista ordenada de celdas de entrada/salida para contener código, texto (incluyendo LaTeX), matemáticas o gráficos. Soporta entornos de ejecución, llamados núcleos, en varios lenguajes, tales como Julia, R o Python. Sus archivos usan la extensión .ipynb.

La interfaz computacional de Jupyter Notebook es similar a la interfaz de notebook de otros programas como Mathematica, Maple o SageMath que se originó con Mathematica en la década de 1980, ver [Somers, 2018].

· Sobre la instalación: La guía de instalación la haremos pensando en los usuarios de Windows ya que es el más usado. Julia se puede instalar en las versiones de Windows 7 y posteriores. La instalación de Julia la podemos hacer con los siguientes pasos:

Si todo va bien, ya podremos ejecutar Julia dando clic en el ícono, el cual abrirá una terminal y aparecerá la línea

 julia>

Frecuentemente requerimos instalar paquetes, en la terminal indica como ir al modo de instalar paquetes, esto es, tecleamos

 julia> ] 

y automáticamente aparecerá 

(@v1.9) pkg

"v1.9" es la versión instalada de Julia. Allí vamos a escribir

(@v1.9) pkg add IJulia

+ Enter a lo que comenzará la instalación de ese paquete para poder iniciar los Notebooks. Posteriormente escribimos

(@v1.9) pkg add Plots 

+ Enter a lo que comenzará la instalación del paquete para graficar. Para saber los paquetes instalados, escribimos

(@v1.9) pkg status

Para salir del modo de instalación de paquetes tecleamos 

(@v1.9) pkg

es decir, la tecla "Del" o "Backspace", a lo obtenemos

 julia>

Ahora escribimos

 julia> using IJulia

para compilar ese paquete. Posteriormente escribimos 

 julia> notebook()

Esto nos permitirá el acceso a Julia en el repositorio de Jupyter. La primera vez que se corren estos comandos solicita el permiso de una instalación mínima de Python vía Conda. Lo permitiremos al escribir

 julia> y

En el caso de Windows, podría generarse un error de instalación que se puede evitar deshabilitando temporalmente su antivirus. Entonces, en nuestro navegador se despliega una página donde se va a trabajar en los Notebooks. 

En esa página se muestra una carpeta que está en su ordenador, como podrá verificar. Para abrir los notebooks previamente descargados (o clonados) nos dirigimos a la carpeta “Downloads” (o “Descargas” según el idioma de su ordenador). Dando clic sobre los archivos .ipynb accedemos a ellos.

Para cerrar correctamente damos clic en "Quit" (parte superior-derecha del navegador) en la primer página desplegada. Ya puede cerrar la página e ir a la terminar de Julia, donde verá nuevamente .

 julia>

Para salir correctamente de la terminal escribimos exit() + Enter.

Tarea

Estaré actualizando la tarea por semana.

TAREA 1.

Semana 1. 

Semana 2. 

Semana 3



Semana 4

Semana 5. 

Semana 6. 

Semana 7


Tarea 2 libro burden

Semana 8

Semana 9/10.

Semana 11.

Semana 12. Llenar la encuesta de enseñanza-aprendizaje: https://encuestas.acatlan.unam.mx/aprendizaje/

Semana 13. Realizar 10 ejercicios del capítulo 2 del libro de Boyd (conjuntos convexos).

Semana 14. Realizar 10 ejercicios del capítulo 3 del libro de Boyd (funciones convexas).

Semana 15. Realizar 10 ejercicios del capítulo 9 del libro de Boyd (Minimización sin restricciones).

Recursos

Software


Sitio Web


Videos