Jupyter notebook
Es una aplicación web de código abierto que nos va a permitir crear y compartir documentos con código en vivo, ecuaciones, visualizaciones y texto explicativo. Como verás la estructura de estos documentos es a través de líneas (filas) que las llamaremos "celdas" donde escribiremos el código o también texto (celdas de entrada) y también obtendremos el resultado de ese código (celdas de salida). Está cada vez más extendida en el ámbito científico y universitario. Nosotros lo vamos a utilizar para que interprete el código de Python y me devuelva el resultado. La primera página a la que accedo cuando escaneo el código QR es la siguiente:
Nuevo Notebook
Los documentos en Jupyter se llaman notebook, así que nosotros vamos a abrir un nuevo notebook. No vamos al menú superior, pulso en "file", me coloco encima de "New" y me despliega el menú con dos posibilidades, nosotros vamos a escoger "Notebook".
Al elegir "Notebook" se abrirá un documento nuevo y lo primero que me pedirá es escoger un Kernel para mi documento. Nosotros tenemos que elegir el que "entienda" el lenguaje Python, que se llama "Pyolite". Seleccionamos este Kernel y pulsamos "select"
Primer paso
Vamos a empezar. La idea es que te enfrentes por primera vez a un entorno donde escribas código y en este caso, Python. Además no vamos a empezar por el típico "Hello world" así que la idea es que te voy a ir explicando por encima qué es lo que estamos haciendo, pero tampoco te ofusques si no entiendes bien qué es cada cosa, poco a poco. Vamos a escribir en la primera línea (a partir de ahora celda) lo siguiente:
Una vez que termines una línea le das al botón "
intro" o "enter" del teclado y cuando termines de escribir todo el código y quieras ejecutar lo que has escrito puedes pulsar la tecla mayúsculas (
⇑) del teclado e "
intro" o "enter". También puedes darle al botón
de la línea de herramientas para ejecutar. ¿Qué estamos haciendo?:
- Lo primero que hacemos es importar una librería llamada sympy muy importante para las matemáticas simbólicas, ya que tiene en su interior muchas funciones que vamos a utilizar, entre ellas plot. Para importarla utilizamos esa estructura, que es algo así como decirle que de la librería sympy importa todo (*). También podríamos haberle dicho "import sympy" directamente.
- Luego vamos a usar Mathjax para renderizar Latex, es decir habilitar la salida (lo que nos devuelve el entorno) para que veamos cosas bien hechas en matemáticas, como el símbolo de la raíz cuadrada, o cúbica...
- Por último, declaramos x, y , z como variables y así nos podemos referir a ellas y no son evaluadas inmediatamente.
Si lo hacemos todo bien nos tiene que salir un número en azul entre corchetes en la parte izquierda. En mi caso como puedes comprobar es un [1]. Puede ser otro número, no importa. Ese número es el número de celdas que ha ejecutado.
Empezamos a dibujar
Una vez que ya hemos importado la librería oportuna y lo demás, ya estamos en disposición de empezar a dibujar y para ello vamos a utilizar la función plot de la librería sympy. Ésta no es la única función que genera una gráfica en Python, pero sin duda, es la principal y más básica función, y todo lo que aprendamos sobre ella será aplicable a otras funciones semejantes. En la siguiente celda vamos a escribir lo siguiente y ejecutamos:
Como puedes comprobar hemos visualizado la función $x²$ sin más. Por defecto me ha cogido el eje x desde el [-10,10] y el eje y del [0,100]. Otra cosa interesante es ver cómo se pone el elevado; se utilizan dos signos de multiplicar (que es el asterisco) seguidos.
Dibujar donde quieras.
A la gráfica le podemos hacer muchas modificaciones, añadiendo argumentos optativos. Algunos de ellos son:
- ylim. Para modificar el eje y.
- line_color. Para cmabiar el color.
- xlabel. Para poner nombre al eje x.
- title. Para ponerle título a la gráfica.
Vamos a ir probando:
Vamos a pedirle que el eje x solo lo pinte desde el -3 al 4
y que el límite del eje y sea del 0 al 7
y que el color de la función sea rojo
y que el eje x tenga un nombre
y que la función tenga un nombre...
Ufff qué montón de cosas podemos hacer verdad.
Y por fín la función raíz cuadrada.
Una vez que ya sabemos cómo se pintan funciones, vamos a llegar al final y a pintar la función por la que ha empezado todo esto, la función raíz cuadrada.
Lógicamente la raíz cuadrada, si la pasamos a su forma de potencia, el índice de la raíz pasa a ser el denominador de la fracción del exponente, así que estaría elevado a $\frac{1}{2}$. Vamos dicho de otra manera, $\sqrt{x}=x^\frac{1}{2}$. También lo hubiésemos conseguido con la función sqrt(x). ¿Quieres probar?. Sustituye x**(1/2) por sqrt(x).
JavaScript Object Notation (JSON) es un formato basado en texto estándar para representar datos estructurados en la sintaxis de objetos de JavaScript
En Jupyter podemos escoger diferentes Kernel para que "entienda" diferentes lenguajes de programación, como Ruby, R, c++...