Empezando con Jupyter (Español).

Una capacitación diseñada por: Iván Felipe Rodríguez. Para el Colegio Liceo Hermano Miguel La Salle.

Jupyter

Jupyter es un notebook interactivo. Esto quiere decir que con él podrás escribir tus trabajos, presentaciones, evaluaciones y a la vez escribir código. Esto te permitirá presentar trabajos de forma más elegante,entendible e interactiva. Usando jupyter podrás usar, entre muchos más, R, Python, Julia y Matlab.

Instalación.

  1. Entra a la página: https://www.continuum.io/downloads

  2. Descarga e instala Anaconda. Hay versiones disponibles para Windows, Mac y Linux.

  3. Estamos Listos! Ahora busca Anaconda cmd en programas y cuando abrá, escribe el comando:

    jupyter notebook

Algo parecido a esta imagen aparecerá:

  1. En tu navegador predilecto, puede ser google chrome, se abrirá una ventana con jupyter.

Para conocer más de jupyter entra al siguiente link con información relevante:

http://jupyter.readthedocs.io/en/latest/install.html

Editor de Texto.

Jupyter utiliza Markdown como lenguaje para edición de texto. Esto permite escribir reportes científicos rápidamente al igual que ecuaciones matemáticas de cualquier complejidad, imágenes, tablas y snipets de código lo que propicia un ambiente propicio para escribir literatura científica rápidamente.

La siguiente será una guía extremandamente rápida de como escribir textos sencillos en Jupyter.

Títulos:

Los títulos se escriben usando “#” al inicio seguido de un espacio y del título que se quiera poner. Por ejemplo:

# Título 1

## Titulo 2

### Titulo 3

#### Titulo 4

Insertar Imagenes:

Para insertar imagenes, puedes utilizar el siguiente comando:

1
    ![](ruta-a-la-imagen.extensión)

Por ejemplo, si quiero agregar la imagen del logo de jupyter que tengo en la carpeta Img, con el nombre de jupyter.png, debería hacer lo siguiente:

Insertando Imagen

Sin embargo, en caso de querer ajustar la imagen se debe usar el siguiente comando:

1
    <img src="./images/imagen.extension",width=60,height=60>

Donde width es el ancho de la figura y heigh es el alto.

Por ejemplo, para la misma imagen que agregamos previamente, pero más pequeña, utilizaríamos:

<img src=”./images/jupyter.png”,width=200,height=200>

El mismo principio funciona con videos y gifs como los que he agregado mientras presentaba los ejemplos.

Ecuaciones:

Las ecuaciones en Markdown funcionan bajo Latex. Para insertar una, basta con agregar un signo pesos al principio y al final de la ecuación (

1
$ecuacion_misma línea$
) o agregar dos si queremos ecuación centrada (
1
$$Ecuacion Centrada$$
) :

$Esta \times Ecuación = \frac{Es}{En \cdot la \cdot misma \cdot línea}$ Del texto que queramos incluir.

Mientras que:

\[Esta \times Ecuación = \frac{Esta}{centrada \cdot en \cdot siguiente \cdot línea}.\]

Por ejemplo, algunas ecuaciones complicadas pueden ser escritas de la siguiente manera:

1
2
3
4
5
6
7
    $$
    \mathbf{V}_1 \times \mathbf{V}_2 =      \begin{vmatrix}
    \mathbf{i} & \mathbf{j} & \mathbf{k} \\
    \frac{\partial X}{\partial u} &     \frac{\partial Y}{\partial u} & 0 \\
    \frac{\partial X}{\partial v} &     \frac{\partial Y}{\partial v} & 0
    \end{vmatrix}
    $$

Que resultaría en la ecuación:

\[\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \end{vmatrix}\]

También:

1
2
3
$
\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}{1+\frac{e^{-8\pi}} {1+\ldots} } } }
$

Resultado: \(\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\ldots} } } }\)

Tal vez escogí ecuaciones que asustan mucho. Pero lo hice intencionalmente solo para mostrar hasta que punto se pueden escribir ecuaciones que en word podrían ser tortuosas.

El siguiente link contiene comandos y sintáxis conocidas de Latex, que te pueden servir cuando quieras escribir tus propias ecuaciones:

https://wch.github.io/latexsheet/latexsheet-0.png

https://wch.github.io/latexsheet/latexsheet-1.png

Atención! :

Para la siguiente actividad por favor inicialice Jupyter, como se indicó en la primera parte de la lección. Luego, busque la carpeta donde tiene este contenido y abra el archivo “Empezando en jupyter.ipynb”

Algo de código:

Si bien esta no es una introducción para código en Julia, quisiera mostrar en este pequeño tutorial ejemplos de código que se puede correr a la vez que se presenta contenido escrito, lo que es único en Jupyter.

El primer paso es escoger nuestro Kernel: Recordemos que podemos encontrar kernels para casi cualquier lenguaje de programación (C, C++, Matlab, Julia, Python, R, entre otros.)

En mi caso, tengo instalados kernels para Matlab, Julia y Python. En el próximo contenido, incluiré instrucciones para asegurar que tengan instalado Julia y su kernel.

Códigos Sencillos:

  1. Todos Sabemos que el numero $\pi$ es 3.14159…. Sin embargo, pocos saben cómo hallar dicho número. Numéricamente existen diferentes técnicas para obtener dicho resultado. Por ejemplo, con simulaciones de monte-carlo.

    En este resultado se ponen números aleatorios en un cuadrado de lado 1 y se cuentan cuántos puntos están a una distancia menor que 0.5 desde el centro del cuadrado. Con suficientes puntos, el promedio dará exactamente $\pi$.

    <img src=”./images/montecarlo.png”,width=190,height=190> El siguiente es el código que realiza esa tarea.

    n = 10000000 #Se define el número de puntos
    
    count = 0  # Se inicializa la variable count, para contar los puntos. 
    for i in 1:n
        u, v = rand(2) # Se buscan do
        d = sqrt((u - 0.5)^2 + (v - 0.5)^2)  # Se Mide la distancia al centro
                                            # del cuadrado.
        if d < 0.5
            count += 1 # se cuentan cuantos son menores que 0.5
        end
    end
    
    area_estimate = 4*count / n # se promedia y se encuentra pi
      3.1422252

Para correr este código lo único que hay que hacer es oprimir play en la parte superior de la pantalla o utilizar el comando ‘Shift+Enter’.

Ejercicio:

Cambie n con diferentes valores y escriba cómo cambian los valores para $\pi$.

n Valor de $\pi $
1000  
10000  
100000  
1000000  
5000000  
  1. Otro código interesante es el utilizado para graficar funciones sencillas, por ejemplo:
using PyPlot #Se llama la librería
x = linspace(0,2*pi,1000);#Se le da el valor al dominio y
y = sin(x); # se declara la función. 
plot(x, y, color="blue",            #Se define el color, el ancho,
linewidth=2.0, linestyle="--")    #y el tipo de línea. 
title("La función Seno") # se le pone un título 

png

1
PyObject <matplotlib.text.Text object at 0x31c048310>

Ejercicio:

Copia y pega el mismo código en las siguientes tres celdas vacías y dibuja las funciones:

  • $4* cos(x)+3$
  • $43* x^3+x^2-2$
  • $4* x * cos(x)* tan(x)$

Preguntas de seguimiento

  • ¿Qué es Jupyter?
  • ¿Cómo se inicializa Jupyter en un computador?
  • ¿Mencione qué es un kernel y cuántos hay disponibles en Jupyter?
  • ¿Cómo se crea un título y en qué cambia aumentar el número de numerales antes del mismo?
  • ¿Cómo se númera?

Apéndice:

Links para descargar kernels:

  • Matlab: https://github.com/Calysto/matlab_kernel
  • Julia : https://github.com/JuliaLang/IJulia.jl
  • C : https://github.com/brendan-rius/jupyter-c-kernel
  • Todos los lenguajes disponibles: https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages

Ivan Felipe Rodriguez

Ivan Felipe Rodriguez
Colombian.LDS member(mormon).Mathematician. Teacher. Student at RUM: Master in Scientific Computing. Guitar. Geek xd.