43
TRABAJO FINAL DE MÁSTER USO DEL SOFTWARE LIBRE SAGE EN LA ENSEÑANZA DE LAS MATEMÁTICAS EN EDUCACIÓN SECUNDARIA OBLIGATORIA Y BACHILLERATO NOMBRE DEL ALUMNO O ALUMNA: MARIA FERRI PARDO ESPECIALIDAD CURSADA: INFORMÁTICA SUPERVISOR O SUPERVISORA DE LA UNIVERSIDAD CATÓLICA DE VALENCIA: DIONISIO F. YÁÑEZ

Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Embed Size (px)

DESCRIPTION

The SAGE mathematical software has been developed by a group of mathematicians from the University of Washington and is intended to be a substitute for proprietary programs used today as Matlab or Mathematica. Given its characteristics such as its quality, reliability, its ease of use, its intuitive nature and the fact that it is open source software, it is very suitable software for teaching Mathematics in the Secondary and Bachelor Education.The objective of this Master Thesis is to approach the mathematical open source software SAGE and develop an appropriate collection of exercises for the school stages mentioned above.We will also discuss the software, its potential, its possibilities for deployment in classrooms and will foresee what will be the positive consequences resulting from its introduction in the Compulsory Education.El programa matemático SAGE ha sido desarrollado por un grupo de matemáticos de la Universidad de Washington y pretende ser un sustituto de los programas propietarios empleados en la actualidad como Matlab o Mathematica. Dadas sus características como su calidad, fiabilidad, fácil manejo, su carácter intuitivo, así como el hecho de tratarse de un software de código abierto, lo hacen muy adecuado para el aprendizaje de las Matemáticas en Educación Secundaria Obligatoria y Bachiller.El objetivo de este Trabajo Final de Máster es realizar una aproximación al programa de cálculo matemático de software libre SAGE así como elaborar una recopilación de ejercicios adecuados para las etapas escolares anteriormente mencionadas.Además analizaremos este software, sus potencialidades, sus posibilidades de implantación en las aulas Lliurex, así como prever cuáles serán las consecuencias positivas derivadas de su introducción en la Educación Obligatoria.

Citation preview

Page 1: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

TRABAJO FINAL DE MÁSTER

USO DEL SOFTWARE LIBRE SAGE EN LA

ENSEÑANZA DE LAS MATEMÁTICAS EN

EDUCACIÓN SECUNDARIA OBLIGATORIA Y

BACHILLERATO

NOMBRE DEL ALUMNO O ALUMNA: MARIA FERRI PARDO

ESPECIALIDAD CURSADA: INFORMÁTICA

SUPERVISOR O SUPERVISORA DE LA UNIVERSIDAD CATÓLICA DE

VALENCIA: DIONISIO F. YÁÑEZ

Page 2: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

ÍNDICE

1. INTRODUCCIÓN……………………………………………………………………………………………….4

2. ANTECEDENTES. INVESTIGACIÓN DE LA APLICACIÓN DE LAS NUEVAS

TECNOLOGÍAS EN LA ENSEÑANZA DE LAS MATEMÁTICAS……………………………….5

3. MOTIVACIÓN……………………………………………………………………………………………………7

4. SAGE………………………………………………………………………………………………………………..8

5. EMPLEO DE SAGE EN LAS AULAS DE UN IES…………………………………………………….10

6. EL PROGRAMA SAGE EN EDUCACION SECUNDARIA OBLIGATORIA………………….12

6.1 OPERACIONES CON ENTEROS……………………………………………………………………12

6.2 OPERACIONES CON NÚMEROS RACIONALES Y REALES……………………………..13

6.3 CONJUNTOS NUMÉRICOS………………………………………………………………………….14

6.4 LA AYUDA EN SAGE……………………………………………………………………………………16

6.5 COMPARACIÓN DE NÚMEROS…………………………………………………………………..17

6.6 NUMEROS PRIMOS Y FACTORIZACION DE NUMEROS……………………………….17

6.7 MAXIMO COMUN DIVISOR Y MINIMO COMUN MULTIPLO……………………….18

6.8 TRABAJANDO CON NUMEROS COMPLEJOS……………………………………………….19

6.9 ECUACIONES ELEMENTALES EXACTAS……………………………………………………….21

6.10 RESOLUCION DE SISTEMAS DE ECUACIONES…………………………………………..23

6.11 RESOLUCION NUMERICA DE ECUACIONES………………………………………………23

6.12 POLINOMIOS Y OPERACIONES CON POLINOMIOS…………………………………..24

6.13 FACTORIZACIÓN………………………………………………………………………………………26

6.14 RAICES DE POLINOMIOS………………………………………………………………………….27

6.15 FRACCIONES ALGEBRAICAS……………………………………………………………………..28

6.16 GRAFICAS DE FUNCIONES……………………………………………………………………….28

6.17 FUNCIONES A TROZOS…………………………………………………………………………….32

Page 3: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.18 LIMITES……………………………………………………………………………………………………33

6.19 DERIVADAS……………………………………………………………………………………………..34

6.20 INTEGRALES…………………………………………………………………………………………….35

6.21 VECTORES Y OPERACIONES CON VECTORES……………………………………………36

6.22 MATRICES Y OPERACIONES CON MATRICES…………………………………………….37

7. CONCLUSIONES………………………………………………………………………………………………………39

8.BIBLIOGRAFIA………………………………………………………………………………………………………….41

Page 4: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

1. INTRODUCCIÓN

El programa matemático SAGE ha sido desarrollado por un grupo de matemáticos

de la Universidad de Washington y pretende ser un sustituto de los programas

propietarios empleados en la actualidad como Matlab o Mathematica. Dadas sus

características como su calidad, fiabilidad, fácil manejo, su carácter intuitivo, así

como el hecho de tratarse de un software de código abierto, lo hacen muy

adecuado para el aprendizaje de las Matemáticas en Educación Secundaria

Obligatoria y Bachiller.

El objetivo de este Trabajo Final de Máster es realizar una aproximación al

programa de cálculo matemático de software libre SAGE así como elaborar una

recopilación de ejercicios adecuados para las etapas escolares anteriormente

mencionadas.

Además analizaremos este software, sus potencialidades, sus posibilidades de

implantación en las aulas Lliurex, así como prever cuáles serán las consecuencias

positivas derivadas de su introducción en la Educación Obligatoria.

Los informes PISA ponen de manifiesto la necesidad de converger con Europa en

una materia tan fundamental para el desarrollo intelectual y para la vida cotidiana

como son las Matemáticas. Por ello, se hace necesario introducir nuevas técnicas,

además de las tradicionales, que permitan comprender esta materia y desarrollar el

pensamiento lógico de los alumnos. Un software como SAGE, no pretende ser un

sustituto del profesor, ni de las metodologías empleadas en la enseñanza de las

Matemáticas hasta el momento, sino que se trata de una herramienta mediante la

cual los alumnos pueden comprender, analizar, racionalizar y visualizar los mismos

problemas matemáticos que estudian en clase.

Es por este motivo que SAGE representa una innovación educativa relevante que

debería considerarse para mejorar los resultados obtenidos en Matemáticas.

Page 5: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

2. ANTECEDENTES. INVESTIGACIÓN DE LA APLICACIÓN DE LAS

NUEVAS TECNOLOGÍAS EN LA ENSEÑANZA DE LAS MATEMÁTICAS.

A lo largo de los últimos años, diversos estudios de investigación realizados en el ámbito de la Enseñanza Secundaria Obligatoria y Bachiller han estado dedicados al análisis de las consecuencias de la introducción de los llamados Computer Algebra Systems (CAS) en el aprendizaje de las Matemáticas.

Sin embargo, diversos autores como Ortega [3] y Galán [4] advierten de que el uso de los Computer Algebra Systems se reduce en la mayoría de los casos a la utilización por parte del ordenador como una calculadora de altas prestaciones, infrautilizando por tanto la potencialidad de recursos que ofrecen. Por ello, es necesario introducir un punto de vista diferente para fomentar al mismo tiempo la creatividad de los alumnos en el campo de las matemáticas.

Para ello, es necesario modificar los usos didácticos que tradicionalmente se hacen de estas herramientas, incidiendo en los siguientes aspectos:

- Conseguir que los Computer Algebra Systems permitan un aprendizaje positivo de las Matemáticas. - Incrementar la posibilidad de experimentación en el ámbito de las Matemáticas. - Permitir que el alumno pueda construir un conocimiento matemático siempre bajo la orientación de un docente. - Realizar problemas mucho más realistas aprovechando el uso de los Computer Algebra Systems. - Emplear los resultados incorrectos que se obtienen en muchas ocasiones con los Computer Algebra Systems para reforzar el aprendizaje de los conceptos que se están estudiando, fomentando de esta forma el espíritu crítico de los alumnos. De esta forma se aprovechan los errores para mejorar el proceso de enseñanza-aprendizaje. - Introducir la programación con lenguajes informáticos en las clases de Matemáticas de forma que los alumnos puedan construir y depurar los programas.

Page 6: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

- Complementar la programación con los Computer Algebra Systems mediante la elaboración de funciones específicas, incrementando de esta forma la librería de funciones predeterminadas que contienen estos programas.

Un estudio de investigación realizado por la Universidad de Málaga [2], centrado en asignaturas de carreras técnicas y en base a la experiencia acumulada por un grupo de profesores a lo largo de diez años, se centró en responder las siguientes cuestiones:

- ¿Es posible mejorar el proceso didáctico ordinario y sus resultados en las asignaturas de Matemáticas de los estudios de Ingeniería mediante la introducción de la creación de comandos con Derive por parte de los alumnos? - ¿En qué aspectos se consigue la mejora, cuál es el tamaño de los efectos principales y cuáles y cómo son los efectos secundarios?

- ¿Cómo se puede responder a los interrogantes primero y segundo sin alterar el proceso ordinario ni afectar negativamente al mismo o a sus resultados?

- ¿Cuáles son las dificultades y limitaciones que pueden aparecer?

Llegando a las siguientes conclusiones:

- Los Computer Algebra Systems son herramientas informáticas de fácil manejo y útiles para su integración en las clases de Matemáticas de carreras de Ingeniería.

- Es necesario cambiar los usos tradicionales que se hacen de los Computer Algebra Systems para lograr maximizar las oportunidades que ofrecen.

- La optimización debe orientarse hacia una mejora de la motivación y la autonomía, así como del aprendizaje basado en la implicación del alumno en el proceso.

- Se considera como una gran potencialidad poder combinar los recursos de un Computer Algebra System con la flexibilidad de un lenguaje de programación.

Page 7: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

3. MOTIVACIÓN

El aprendizaje de las Matemáticas plantea serios problemas a los alumnos de

Secundaria y Bachiller. La necesidad de desarrollar el pensamiento racional de los

alumnos, así como su capacidad de abstracción y su creatividad, hacen necesario la

introducción de nuevos métodos de aprendizaje por parte de los profesores.

En este sentido, el profesor no debe ser un mero comunicador de conocimientos o

conceptos, sino que debe convertirse en parte activa del proceso de aprendizaje. La

investigación de nuevos métodos innovadores que permitan mejorar los resultados

obtenidos en Matemáticas se convierte en una buena opción, siempre que se

justifique adecuadamente su uso con los buenos resultados obtenidos.

La dificultad en el aprendizaje de las Matemáticas se debe habitualmente a la

incapacidad por parte de los alumnos abstraerse e imaginar los problemas

planteados. Por ello, siempre son bienvenidas aquellas ayudas externas que

permitan visualizar los problemas planteados, sin dejar de lado por ello el proceso

de desarrollo de la capacidad matemática y analítica del alumno.

Los llamados Computer Algebra Systems son programas matemáticos que se suelen

emplear en clases de Ingeniería para el aprendizaje de determinadas asignaturas, y

que sin embargo, también podrían adaptarse para ayudar en el aprendizaje de las

Matemáticas en Educación Secundaria Obligatoria y en Bachiller.

Para ello, en primer lugar hay que tener claro que estos programas no son un

sustituto del profesor, ni van a lograr que el alumno aprenda sin esfuerzo alguno,

sino que van a actuar como apoyo y siempre bajo la supervisión del profesor,

permitiendo un aprendizaje más fluido e intuitivo.

Claro está que en Educación Secundaria Obligatoria no se van a realizar ni mucho

menos las mismas actividades que se desarrollan en las clases de Ingeniería, sino

que más bien será todo lo contrario. Por ello, el éxito del empleo de un Computer

Algebra System en ESO va a depender de lo bien que adaptemos toda su gran

Page 8: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

potencialidad y capacidad de cálculo a la mente de un alumno en plena

adolescencia.

Por tanto, el primer paso que debemos dar como profesores es una toma de

contacto con el programa, evaluando cómo puede mejorar los resultados de

nuestros alumnos, y centrándonos en las órdenes estrictamente necesarias para

conseguir nuestros objetivos.

Al final, no se trata de que nuestros alumnos sean unos portentos en el uso y

conocimiento del programa en cuestión, sino de que comprendan bien los

conceptos estudiados en clase y que sepan emplear el CAS como una herramienta

de apoyo para conseguir unos buenos resultados en la asignatura.

4. SAGE

El programa de cálculo computacional SAGE surge como un proyecto personal del

profesor de matemáticas de la Universidad de Washington William Stein. Este

profesor, junto con el resto de profesores e investigadores de su grupo de trabajo,

empleaba habitualmente el programa Magma tanto en sus clases y laboratorios

como también para desarrollar sus investigaciones.

Sin embargo, el programa Magma, al igual que otros programas propietarios como

Matlab, Mathematica o Maple, podía llegar a costar hasta 1.500 euros,

dependiendo del tipo de uso e instalación del mismo. Además, estos programas no

permiten al usuario ver el código del programa, de ahí surgió la idea de crear un

software libre para el análisis matemático.

Por otra parte, el elevado nivel de los software comerciales, hacía prácticamente

imposible plantearse un desarrollo partiendo desde cero, ya que serían muchos los

años e investigadores dedicados a ello. Por ello, el profesor Stein llegó a la

conclusión de que dados los numerosos paquetes de código abierto que ya existían

tanto en diferentes lenguajes, como enfocados a diversas áreas de las Matemáticas,

la mejor decisión sería unificar todos estos paquetes opensource para desarrollar de

esta forma un gran software matemático que sería el embrión del actual SAGE.

Page 9: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Hasta el momento actual, SAGE cuenta con más de 200 colaboradores en todo el

mundo, y ya ha tenido un total de 300 revisiones. Además, se han celebrado

muchos eventos, los llamados SAGE Days, en los que desarrolladores de todo el

mundo se reúnen para elaborar documentación sobre el uso de SAGE en educación,

para detectar y solucionar errores, o bien para implementar nuevas funciones.

Un ejemplo de este tipo de eventos, son las Jornadas de verano SAGE que se

celebran en España, en las que se presentan algunas experiencias docentes que se

han estado llevando a cabo en diferentes Universidades españolas.

El trabajo de colaboración conjunta de investigadores, matemáticos y estudiantes

ha hecho posible que SAGE disponga en la actualidad de una gran cantidad de

documentación compuesta por manuales de referencia, tutoriales y guías.

SAGE dispone de una documentación enorme compuesta de tutoriales, guías y el

manual de referencia. Solo por el tamaño de este último nos damos cuenta de la

sorprendente amplitud de posibilidades que tiene este programa. Actualmente

SAGE le lleva la delantera a todos sus competidores no libres en cuanto a temas de

matemática teórica, como pueden ser curvas elípticas o espacios de matrices, y por

supuesto es capaz de dibujar gráficos en 2D y en 3D y de crear componentes

interactivos al estilo de Mathematica, con la diferencia de que para compartirlos no

necesitas el Mathematica Player: solamente un navegador.

Algunas de las muchas características de SAGE son las siguientes:

- Interfaz gráfica tipo Notebook, empleada para la revisión y reutilización de

entradas y salidas, que permite incluir gráficas y notas de texto las cuales están

disponibles en la mayoría de navegadores (incluyendo Internet Explorer, Mozilla

Firefox, Opera, Konqueror y Safari).

- Cuenta con una línea de comandos basada en texto empleando para ello

iPython.

- Emplea el lenguaje de programación Python, que soporta expresiones de

programación orientada a objetos.

Page 10: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

- Realiza un procesamiento paralelo usando para ello tanto procesadores de

núcleo múltiple como procesadores simétricos.

- Utiliza Maxima y SymPy.

- Permite tener un control interactivo de los cálculos.

- Tiene librerías de funciones elementales y especiales. Así como librerías de

estadística multivariable.

- Permite realizar gráficas en 3D y 2D tanto de funciones como de datos.

- Permite emplear herramientas de manipulación de datos y de matrices.

- Cuenta con una caja de herramientas para añadir interfaces de usuario a

cálculos y a aplicaciones.

- Posee herramientas para analizar y visualizar gráficas, así como herramientas

más destinadas al procesamiento de imágenes utilizando Pylab y Python.

- Cuenta con filtros para exportar e importar imágenes, sonido, vídeo, datos, etc.

- Soporta gran cantidad de números complejos.

- Permite computación simbólica de funciones.

- Cuenta con interfaces a otros software Matemáticos, como Magma o Maple,

permitiendo de este modo a los usuarios comparar resultados.

- Permite realizar una edición colaborativa de documentos.

Para resumir, SAGE es un software que nos permite experimentar con las

Matemáticas. Es gratuito y opensource (de código abierto) y constituye la apuesta

más novedosa para utilizar las TIC en el ámbito académico. Sus características más

destacadas son la integración de múltiples herramientas, la posibilidad de acceso

remoto a través de Internet, así como el énfasis por compartir su código

informático. Tanto por su potencia como por su versatilidad muchos matemáticos

auguran que SAGE se convertirá en un estándar de facto para el aprendizaje con el

ordenador de las Matemáticas de nivel medio y superior.

Page 11: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

5. EMPLEO DE SAGE EN LAS AULAS DE UN IES

Veamos primero cómo se debe instalar de forma adecuada este software en el

ordenador.

Utilizar SAGE en un ordenador personal es muy sencillo una vez que hemos tenido

en consideración algunos detalles importantes. En primer lugar, SAGE se puede

utilizar de formas muy diferentes, una de las cuales es la instalación básica habitual

que podemos hacer de cualquier programa en nuestro ordenador.

Además, podemos utilizarlo de otras formas, como por ejemplo, lanzando un LiveCD

desde la unidad D:\ del ordenador, o bien, sencillamente conectándonos a Internet.

Esta última forma de ejecución de SAGE es la que más nos va a interesar para

nuestras aplicaciones.

La instalación en un PC es sencilla, pero depende del sistema operativo instalado en el ordenador. Sin embargo, la opción más cómoda y que aporta grandes ventajas respecto de otros programas de cálculo matemático, es la de emplear SAGE a través de Internet. Como se ha explicado en apartados anteriores, este programa puede ejecutarse desde cualquier explorador, siendo Firefox el más recomendado por todos los expertos por razones de seguridad. Al acceder a la página web principal de SAGE (www.SAGEnb.org) lo único que tenemos que hacer es registrarnos y de esta forma accederemos al cuaderno de trabajo de SAGE, conocido como Notebook. Una vez en la página web del Notebook de SAGE podemos buscar hojas de trabajo o Worksheets elaborados por otros usuarios y ejecutarlos, así como crear nuevas hojas de trabajo, empezar a trabajar con ellas e incluso compartirlas con la comunidad de usuarios de SAGE. Por tanto, como se puede observar, son muchas las ventajas de utilizar SAGE en cualquier aula de laboratorio de un Instituto de Educación Secundaria. En primer lugar, se puede emplear en todos los ordenadores independientemente del sistema operativo que tengan instalado, en segundo lugar, no requiere de instalación alguna y por último, no requiere emplear ordenadores de altas prestaciones.

Page 12: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

El modelo de desarrollo de software libre que emplea SAGE, permite que surjan cada día nuevas ideas y funcionalidades que mejoran y complementan el sistema continuamente. Además, existen muchos grupos de Google que versan sobre SAGE y permiten a los usuarios y desarrolladores estar permanentemente informados sobre las novedades de este sistema. Además, como se ha explicado anteriormente, SAGE puede emplearse vía web siendo posible de esta forma compartir hojas de trabajo con el resto de usuarios, lo que abre posibilidades ilimitadas de aplicación en el ámbito docente: tareas que se pueden realizar en casa, realización de trabajos en grupo, clases guiadas colectivas de laboratorio, etc.

6. EL PROGRAMA SAGE EN EDUCACIÓN SECUNDARIA OBLIGATORIA

Llegados a este punto, ya tenemos conocimiento suficiente sobre las características

técnicas de SAGE. También sobre sus posibilidades de implantación en aulas de

laboratorio de Secundaria, así como sobre su potencialidad como herramienta

innovadora en el ámbito del aprendizaje de las Matemáticas.

En los siguientes apartados haremos un recorrido por los diferentes tipos de

operaciones que se pueden realizar con el programa, que se han incluido por su

sencillez y sus contenidos próximos a las Matemáticas estudiadas en Secundaria y

Bachiller.

6.1 OPERACIONES CON ENTEROS

SAGE emplea los operadores habituales para realizar operaciones con enteros.

Tanto la jerarquía de operaciones como el uso del paréntesis es similar al que se

utiliza en Matemáticas. Para el cálculo de potencias se utiliza el doble asterisco (**)

el carácter circunflejo (^). Por otra parte, los comentarios comienzan siempre con el

signo #.

Otros aspectos importantes a considerar son que las potencias con exponente

negativo producen fracciones y que las variables se inicializan con el signo (=).

Page 13: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

SAGE: 45+13

58

SAGE: 45-589

-544

SAGE: 130/5

26

SAGE: 190/24

95/12

SAGE: 2**3

8

SAGE: 3^4

81

SAGE: (3+5)^4-25*3+5

4026

SAGE: 3^(-5)

1/243

SAGE: a=2

SAGE: 3*a, -a*5, a^3

(6, -10, 8)

6.2 OPERACIONES CON NÚMEROS RACIONALES Y REALES

Al igual que las operaciones con enteros, las operaciones con números racionales y

reales resultan muy intuitivas con SAGE. Las fracciones se escriben con la barra de

división (/), mientras que los números reales se denotan por el punto decimal(.).

Al igual que en el resto de programas de Cálculo Matemático, el exponente de la

potencia de 10 se escribe tras la letra e, la raíz cuadrada se calcula mediante la

función sqrt(), mientras que para calcular la raíz n-ésima elevamos a 1/n.

Además, es conveniente tener en cuenta que SAGE siempre simplifica radicales,

extrayendo los factores de las operaciones siempre que sea posible.

Page 14: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Un ejemplo de lo explicado en párrafos anteriores, se puede observar en el

siguiente Worksheet del Notebook de SAGE:

SAGE: 4/5+25/7

153/35

SAGE: 5/8-16/9

-83/72

SAGE: (5/2-3/8)^3+(4/6)/(25/16)

384859/38400

SAGE: 5.263+1.632

6.89500000000000

SAGE: (1.3265987)^100

1.87912961723248e12

SAGE: 5/4+0.65

1.90000000000000

SAGE: sqrt(32)

4*sqrt(2)

SAGE: sqrt(4), sqrt(8), sqrt(32)

(2, 2*sqrt(2), 4*sqrt(2))

SAGE: 1024^(1/4) #Cálculo de la raíz cuarta

4*4^(1/4)

6.3 CONJUNTOS NUMÉRICOS

Como es bien sabido, en Matemáticas tenemos distintos conjuntos numéricos, por

una parte, el conjunto de los números enteros (Z), por otra, el conjunto de los

números racionales (Q), o el conjunto de los números complejos (C). SAGE emplea

una aritmética exacta para el conjunto Z y Q, mientras que emplea una aritmética

aproximada para R y C.

Estos conjuntos numéricos tienen una notación especial en SAGE: el conjunto de los

enteros es ZZ, el de los racionales QQ, el de los reales RR y por último, los números

complejos se representan por CC.

Page 15: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Podemos saber en qué conjunto considera SAGE que está cada número, empleando

para ello el método .base_ring(), que se emplea de la siguiente forma:

SAGE: a=5

SAGE: a.base_ring()

Integer Ring

SAGE: a=5.6

SAGE: a.base_ring()

Real Field with 53 bits of precision

SAGE: a=52/89

SAGE: a.base_ring()

Rational Field

También puede ser interesante extraer el denominador y el numerador de un

número racional, estas operaciones se realizan con las funciones: .denominator() y

.numerator().

Para operaciones de redondeo, empleamos las funciones .round(), .floor() y .ceil().

Las cinco funciones anteriores se pueden emplear indistintamente tanto como

funciones como como métodos. Además, mediante el método .round() podemos

especificar con cuántos decimales queremos realizar el redondeo.

SAGE: a=54/13

SAGE: denominator(a)

13

SAGE: a.denominator()

13

SAGE: numerator(a)

54

SAGE: a.numerator()

54

SAGE: a= 5.48

SAGE: a.round()

5

SAGE: a.floor()

5

SAGE: a.ceil()

Page 16: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6

SAGE: a= -5.375

SAGE: a.round()

-5

SAGE: a.floor()

-6

SAGE: a.ceil()

-5

6.4 LA AYUDA EN SAGE

La ayuda en SAGE funciona de forma muy sencilla. Como para realizar cualquier

operación, en primer lugar escribimos el objeto, SAGE sabe qué métodos se pueden

aplicar a dicho objeto, de esta forma, al escribir un objeto, el punto, y pulsando a

continuación el tabulador, el programa nos muestra un menú con los métodos que

se pueden aplicar a ese objeto.

Para obtener ayuda sobre un método o una función, en lugar de escribir los

paréntesis escribiremos el signo de interrogación (?) y pulsaremos el tabulador.

Para movernos en el menú ayuda, en caso de que la ayuda ocupe más de una

pantalla, mediante la barra espaciadora avanzaremos de página, por otra parte para

salir de la ayuda emplearemos la tecla q (quit).

La ayuda en SAGE se nos presenta con un texto descriptivo en inglés y ejemplos de

uso de las funciones y métodos. A título informativo, y aunque este tipo de ayuda

no se vaya a emplear en Educación Secundaria Obligatoria ni en Bachiller, si lo que

queremos es tener información acerca del código fuente de las funciones,

escribiremos dos signos de interrogación (??).

Page 17: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.5 COMPARACIÓN DE NÚMEROS

En SAGE empleamos los conocidos operadores de orden (<, >, <=, >=). Cuando

empleamos estos operadores para comparar números, la respuesta de la

comparación es True cuando la desigualdad es verdadera, y False cuando la

desigualdad es falsa. Aparte de los operadores de orden, podemos emplear los

operadores de igualdad (==) y no igualdad (!=)

SAGE: 4<6

True

SAGE: -3>4

False

SAGE: 75<76, 78>=78

(True, True)

SAGE: 36==6*6

True

SAGE: 5!=5

False

6.6 NÚMEROS PRIMOS Y FACTORIZACIÓN DE NÚMEROS

Como ya sabemos, un número natural es un número primo cuando sus únicos

divisores son la unidad y él mismo. Mientras que el resto de números, es decir, los

números no primos, se denominan también números compuestos. El Teorema

Fundamental de la Aritmética afirma que todo número compuesto puede

descomponerse factorialmente como producto de números primos.

En SAGE se emplean las siguientes funciones relacionadas con números primos:

- Para comprobar si un número es primo: .is_prime()

-Para informarnos sobre si un número es potencia de un número primo:

.is_prime_power()

- Dado un número n, el primer número primo mayor que n: .next_prime()

Page 18: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

- Obtener el primo inmediatamente anterior a n: .previous_prime()

SAGE: a=21

SAGE: a.is_prime()

False

SAGE: a.is_prime()

True

SAGE: 9.next_prime()

11

SAGE: 81.is_prime_power()

True

SAGE: previous_prime(24)

23

SAGE: a=7

Por otra parte, si lo que queremos es descomponer un número compuesto en sus

factores primos, emplearemos la función .factor(). Además, muy relacionado con el

problema de la factorización tenemos el problema de hallar todos los divisores de

un número dado, para ello, multiplicando cualquiera de los factores de la

descomposición de un número obtenemos un divisor de dicho número.

6.7 MÁXIMO COMÚN DIVISOR Y MÍNIMO COMÚN MÚLTIPLO

Los conceptos de mínimo común múltiplo y máximo común divisor son muy

empleados desde los primeros cursos de Educación Secundaria Obligatoria. Dado un

número entero n, consideramos el conjunto de sus divisores positivos. Si dado otro

número entero m, consideramos de nuevo el conjunto de sus divisores y hacemos la

intersección de ambos conjuntos, el mayor de los números de la intersección es por

definición el máximo común divisor de ambos números.

Por otra parte, si consideramos lo múltiplos positivos de n y de m, y hacemos la

intersección de estos conjuntos, existirá necesariamente un número que será el

menor de todos, este número es el mínimo común múltiplo.

Page 19: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Las funciones que se emplean para calcular el máximo común divisor y el mínimo

común múltiplo de dos enteros, son respectivamente: .gcd() y .lcm().

SAGE: (81).gcd(9)

9

SAGE: (81).lcm(9)

81

6.8 TRABAJANDO CON NÚMEROS COMPLEJOS

Los números complejos son expresiones de la forma a+bi donde a y b son números

reales e i es la raíz cuadrada de -1. Por defecto, el programa SAGE no reconoce esta

letra como un número complejo, por ello, para que el programa trate la letra como

número complejo es necesario escribir la siguiente orden:

i = CC(i)

Por otra parte, las operaciones aritméticas con números complejos se realizan de

nuevo con los operadores habituales.

SAGE: i = CC(i)

SAGE: type(i)

<type 'SAGE.rings.complex_number.ComplexNumber'>

SAGE: type(3+4*i)

<type 'SAGE.rings.complex_number.ComplexNumber'>

SAGE: i^2

-1.00000000000000

SAGE: a = 5+8*i

SAGE: b = 3.4+9*i

SAGE: a+b

8.40000000000000 + 17.0000000000000*I

SAGE: a-b

1.60000000000000 - 1.00000000000000*I

SAGE: 3*a-7*b

Page 20: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

-8.80000000000000 - 39.0000000000000*I

SAGE: a*b

-55.0000000000000 + 72.2000000000000*I

SAGE: a/b

0.961538461538461 - 0.192307692307692*I

SAGE: a^3

-835.000000000000 + 88.0000000000000*I

Si consideramos un número complejo z = a+bi, otras operaciones que podemos

realizar en SAGE con este número complejo son las siguientes:

- .real() :Para obtener la parte real del número complejo.

- .imag() :Para obtener la parte imaginaria del número complejo.

- .conjugate() : Para obtener el conjugado del número complejo (a-bi).

- .norm() : Para obtener la norma del número complejo.

- .arg(), .argument() : Para obtener el argumento o ángulo en radianes que forma

el vector (a,b) con la parte positiva del eje de las x.

El siguiente Worksheet del Notebook de SAGE muestra un ejemplo de cómo

emplear estas funciones:

SAGE: i = CC(i)

SAGE: a =5+8*i

SAGE: a.real()

5.00000000000000

SAGE: a.imag()

8.00000000000000

SAGE: a.abs()

9.43398113205660

SAGE: a.norm()

89.0000000000000

SAGE: a.conjugate()

5.00000000000000 - 8.00000000000000*I

SAGE: a*a.conjugate()

89.0000000000000

SAGE: a.arg()

1.01219701145133

Page 21: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

El Teorema Fundamental del Álgebra nos demuestra que todo número complejo

tiene n raíces n-ésimas. Para obtener estas raíces utilizamos el comando

.nth_root(n), en el que debemos indicar como argumento el orden de la raíz. Por

defecto, SAGE solamente nos devuelve una de las raíces, pero utilizando la opción

all=True nos devuelve un listado con todas las raíces. Para el caso de la raíz

cuadrada utilizamos la función sqrt().

SAGE: i = CC(i)

SAGE: a = 4.6 + 9.68*i

SAGE: b = a.nth_root(5); b

1.56634459784419 + 0.359216283265026*I

SAGE: b^5

4.59999999999999 + 9.68000000000000*I

SAGE: a.nth_root(5, all=True)

[1.56634459784419 + 0.359216283265026*I, 0.142392112822719 +

1.60068617272853*I, -1.47834143238984 + 0.630062176803190*I, -

1.05605736501685 - 1.21128633243841*I, 0.825662086739775 -

1.37867830035833*I]

SAGE: sqrt(a)

2.76743452871272 + 1.74891219639849*I

SAGE: sqrt(a, all=True)

[2.76743452871272 + 1.74891219639849*I, -2.76743452871272 -

1.74891219639849*I]

6.9 ECUACIONES ELEMENTALES EXACTAS

En SAGE, las ecuaciones están separadas por dos signos igual (==), por lo que si las

separamos únicamente con un signo igual nos dará un error. Si no escribimos el

doble igual, el programa supone que la ecuación está igualada a cero.

El comando empleado para resolver este tipo de ecuaciones exactas es el siguiente:

solve (ecuación, x)

Como viene siendo habitual, en el siguiente Worksheet del Notebook de SAGE

podemos hacernos a la idea de cómo emplear esta función de resolución de

ecuaciones.

Page 22: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

SAGE: solve(x^2-5*x+6 == 0,x)

[x == 3, x == 2]

SAGE: solve(x^2-5*x+6,x)

[x == 3, x == 2]

SAGE: solve(x^2-4*x+4==0,x)

[x == 2]

SAGE: solve(x^3-3*x+2==0,x)

[x == -2, x == 1]

SAGE: solve((x+1)/9+(3*x-4)/45 == x+(5*x-54)/12,x)

[x == (814/223)]

SAGE: solve(x^8-10*x^6+37*x^4-60*x^2+36,x)

[x == -sqrt(2), x == sqrt(2), x == -sqrt(3), x == sqrt(3)]

A la hora de resolver ecuaciones, es muy común que obtengamos soluciones

complejas. El símbolo que usa el programa SAGE para representar el símbolo

imaginario es I.

SAGE: solve(x^2+4,x)

[x == (-2*I), x == (2*I)]

SAGE: solve(3*x^3+5*x^2-4*x+5,x)

[x == -1/2*(I*sqrt(3) + 1)*(1/54*sqrt(3)*sqrt(1423) -

2005/1458)^(1/3) - 1/162*(-61*I*sqrt(3) +

61)/(1/54*sqrt(3)*sqrt(1423) - 2005/1458)^(1/3) - 5/9, x == -1/2*(-

I*sqrt(3) + 1)*(1/54*sqrt(3)*sqrt(1423) - 2005/1458)^(1/3) -

1/162*(61*I*sqrt(3) + 61)/(1/54*sqrt(3)*sqrt(1423) -

2005/1458)^(1/3) - 5/9, x == (1/54*sqrt(3)*sqrt(1423) -

2005/1458)^(1/3) + 61/81/(1/54*sqrt(3)*sqrt(1423) - 2005/1458)^(1/3)

- 5/9]

Page 23: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.10 RESOLUCIÓN DE SISTEMAS DE ECUACIONES

Como es bien sabido, un sistema de ecuaciones es un conjunto de ecuaciones. En

SAGE, estas ecuaciones se escriben formando lo que se conoce como una lista. Para

ello, debemos escribir entre corchetes las ecuaciones y separarlas mediante comas,

escribiendo después de la lista de ecuaciones los nombres de las variables que

queremos resolver.

SAGE: var('x,y')

(x, y)

SAGE: solve([x+y == 2, x-y == 0],x,y)

[[x == 1, y == 1]]

SAGE: solve(x^2+y == 2, y)

[y == -x^2 + 2]

SAGE: solve([x+y == 2, 2*x+2*y == 4],x,y)

[[x == -r1 + 2, y == r1]]

SAGE: solve([x^2+y^2 == 2, 2*x+2*y == 3],x,y)

[[x == -1/4*sqrt(7) + 3/4, y == 1/4*sqrt(7) + 3/4], [x ==

1/4*sqrt(7) + 3/4, y == -1/4*sqrt(7) + 3/4]]

6.11 RESOLUCIÓN NUMÉRICA DE ECUACIONES

Por lo general, las ecuaciones no son resolubles de forma exacta, por ello, si

queremos conseguir soluciones tendremos que recurrir a métodos numéricos que

nos proporcionarán las soluciones con el grado de aproximación que queramos.

Los algoritmos empleados para los métodos numéricos, hacen necesario especificar

el intervalo en el cual el algoritmo debe buscar una solución. En el caso de que haya

más de una solución en el intervalo dado, el algoritmo encontrará únicamente una

de las soluciones.

El método empleado para encontrar la solución numérica de una ecuación es el

siguiente: .find_root (intervalo).

Page 24: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Por lo general, tanto este tipo de resolución numérica de ecuaciones como el uso de

este método no se emplearán en Educación Secundaria Obligatoria, aunque sí que

podrían utilizarse como ejemplo en algunas sesiones más enfocadas a Bachiller y

preparación de la Prueba de Acceso a la Universidad.

Por último, un ejemplo de utilización de la función .find_root(intervalo) lo

podríamos ver en el siguiente Worksheet del Notebook de SAGE:

SAGE: f = (x^2-5*x+6 == 0)

SAGE: #Para encontrar la solución en el intervalo (-20,5)

SAGE: f.find_root(-20,5)

2.999999999999999

SAGE: #Para encontrar la solución en el intervalo (0,2.5)

SAGE: f.find_root(0,2.5)

2.0

SAGE: g = (sin(x^2)+3 == exp(x))

SAGE: g.find_root(-10,10)

1.3737974476331927

SAGE: g.find_root(-10,20)

1.3737974476331767

6.12 POLINOMIOS Y OPERACIONES CON POLINOMIOS

Desde una edad bien temprana los estudiantes de ESO empiezan a emplear los

polinomios. En principio, los polinomios no son más que expresiones algebraicas

formadas por números, letras y operaciones elementales de suma, resta,

multiplicación, división o potenciación. Para trabajar con polinomios en SAGE

debemos indicar el tipo de números que deben ser los coeficientes así como la letra

con la que queremos trabajar.

En este sentido, lo único que tenemos que tener en consideración es que los

coeficientes deben ser siempre números enteros o números racionales, que son los

números con los que SAGE emplea aritmética exacta.

Page 25: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Como en casos anteriores, tendremos que escribir la siguiente expresión para

empezar a trabajar con polinomios:

R.<x> = PolynomialRing(QQ)

Donde QQ es la expresión que emplea SAGE para denotar el cuerpo de los números

racionales.

Por otra parte, para operar con polinomios en SAGE no necesitamos más que

utilizar los operadores habituales de suma, resta, multiplicación, división y

potenciación.

SAGE: R.<x> = PolynomialRing(QQ)

SAGE: f = 4*x^3 + 5*x^2 + 3*x +2

SAGE: f(0), f(5), f(15)

(2, 642, 14672)

SAGE: g = x^2 -4*x +3

SAGE: f + g

4*x^3 + 6*x^2 - x + 5

SAGE: f - g

4*x^3 + 4*x^2 + 7*x - 1

SAGE: f * g

4*x^5 - 11*x^4 - 5*x^3 + 5*x^2 + x + 6

SAGE: g^4

x^8 - 16*x^7 + 108*x^6 - 400*x^5 + 886*x^4 - 1200*x^3 + 972*x^2 -

432*x + 81

SAGE: f // g #Para obtener el cociente de la división

4*x + 21

SAGE: f % g #Para obtener el resto

75*x - 61

Page 26: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.13 FACTORIZACIÓN

El concepto de factorización se introduce en Educación Secundaria con la finalidad

de aprender a reducir polinomios y cocientes de polinomios, así como para obtener

el máximo común divisor y el mínimo común múltiplo de dos polinomios.

En este sentido las funciones que se emplean para factorizar polinomios son las

siguientes, algunas de las cuales ya se ha visto en apartados anteriores:

- Para comprobar que un polinomio es irreducible: .is_irreducible()

- Para factorizar un polinomio: .factor()

- Para obtener el máximo común divisor de dos polinomios: .gcd()

- Para obtener el mínimo común múltiplo de dos polinomios: .lcm()

SAGE: R.<x> = PolynomialRing(QQ)

SAGE: g = (x-1) ^3 * (x-6) * (3*x -10)

SAGE: f.factor()

(x - 1)^5 * (x^2 + 1)

SAGE: g.factor()

(3) * (x - 6) * (x - 10/3) * (x - 1)^3

SAGE: f.gcd(g)

x^3 - 3*x^2 + 3*x - 1

SAGE: f.lcm(g)

x^9 - 43/3*x^8 + 233/3*x^7 - 653/3*x^6 + 375*x^5 - 451*x^4 +

1223/3*x^3 - 803/3*x^2 + 328/3*x - 20

SAGE: f.is_irreducible()

False

SAGE: g.is_irreducible()

False

Page 27: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.14 RAÍCES DE POLINOMIOS

En primer lugar, es necesario distinguir el tipo de raíces que queremos hallar, lo que

dependerá del polinomio en cuestión. En este sentido existen diferentes tipos de

funciones que podemos emplear:

- Para hallar las raíces y multiplicidad en el cuerpo base empleamos la función

.roots()

- Si lo que queremos es calcular las raíces reales emplearemos .real_roots()

- En caso de que queramos hallar las raíces complejas emplearemos

.complex_roots()

Un ejemplo de utilización de estas funciones se puede ver en el siguiente

Worksheet:

SAGE: R.<x> = QQ[]

SAGE: f = (x^2 +1)*(x-3)^2*(x^2-2)

SAGE: f.roots()

[(3, 2)]

SAGE: #Para calcular las raíces reales:

SAGE: f.real_roots()

[-1.41421356237310, 1.41421356237310, 3.00000000000000]

SAGE: #Para calcular las raíces complejas:

SAGE: f.complex_roots()

[-1.41421356237310, 1.41421356237310, 3.00000000000000, -

1.00000000000000*I, 1.00000000000000*I]

Page 28: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.15 FRACCIONES ALGEBRAICAS

Dada su importancia y empleo en secundaria, es interesante considerar este

apartado al margen del apartado de operaciones con polinomios. Habitualmente se

trabaja con fracciones de polinomios, también denominadas fracciones algebraicas

o funciones racionales, sobre las que se pueden aplicar gran parte de los comandos

que se han estudiado para polinomios y fracciones.

Como en apartados anteriores, la mejor forma de ver su utilización es mediante el

siguiente Worksheet de SAGE:

SAGE: R.<x> = QQ[x]

SAGE: r = (x^3-6)/(2*x^2-4*x-1)

SAGE: s = (5*x^2-3*x)/(3*x-4)

SAGE: r+s

(13*x^4 - 30*x^3 + 7*x^2 - 15*x + 24)/(6*x^3 - 20*x^2 + 13*x + 4)

SAGE: s^4

(625*x^8 - 1500*x^7 + 1350*x^6 - 540*x^5 + 81*x^4)/(81*x^4 - 432*x^3

+ 864*x^2 - 768*x + 256)

SAGE: r^3

(x^9 - 18*x^6 + 108*x^3 - 216)/(8*x^6 - 48*x^5 + 84*x^4 - 16*x^3 -

42*x^2 - 12*x - 1)

SAGE: r(5), r(-3), r(6)

(119/29, -33/29, 210/47)

SAGE: r.denominator()

2*x^2 - 4*x - 1

SAGE: r.numerator()

x^3 - 6

SAGE: r.base_ring()

Rational Field

SAGE: r.parent()

Fraction Field of Univariate Polynomial Ring in x over Rational

Field

Page 29: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.16 GRÁFICAS DE FUNCIONES

En los cursos de 3º y 4º de la ESO, los alumnos empiezan a visualizar y comprender

el significado de las gráficas de funciones. Es muy interesante emplear SAGE como

apoyo para facilitar su comprensión y poder tener de esta manera una

aproximación más visual a los problemas planteados.

Los ejemplos que se van a ver en este apartado son muy sencillos y pueden

emplearse en actividades de laboratorio de secundaria. El formato gráfico

empleado por SAGE es png, que por su alta calidad y reducido tamaño en bytes lo

hace el más adecuado para este tipo de aplicaciones.

Para representar gráficas de funciones, se emplea la siguiente instrucción:

plot (f, xmin, xmax, opciones)

Veamos ahora más en detenimiento las opciones de la misma:

- f hace referencia a la función que queremos graficar, es el único parámetro

obligatorio de la instrucción.

- Por defecto, SAGE visualizará la función en el intervalo [-1,1], salvo en el caso en

que especifiquemos xmin y xmax, que serán los extremos del intervalo en los que

dibujaremos la gráfica.

- Las opciones, como su nombre indica, son enteramente opcionales, por ejemplo,

podemos cambiar el color de la gráfica añadiendo la opción color, o bien, modificar

el grosor de la misma mediante la opción thickness.

Page 30: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

En el siguiente Worksheet se muestra la utilización de la instrucción plot(f):

SAGE: f(x) = x^2-2*x+1

SAGE: plot(f)

Page 31: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

SAGE: f.plot(-5,5)

SAGE: plot(f, -4, 4, color='green', thickness = 3)

Page 32: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.17 FUNCIONES A TROZOS

El estudio de límites en Bachiller siempre resulta complicado y sobretodo difícil de

visualizar por parte de los alumnos. Por ello, es necesario tener algunas sesiones de

laboratorio con SAGE en las que se visualicen gráficas de funciones a trozos.

La orden de SAGE para definir una función a trozos es:

Piecewise()

En el siguiente Worksheet podemos ver un ejemplo de utilización de esta orden:

SAGE: f = Piecewise([[(-5,-1),sin(x)],[(-1,2),x^2],[(2,4),x]]); f

Piecewise defined function with 3 parts, [[(-5, -1), sin(x)], [(-1,

2), x^2], [(2, 4), x]]

SAGE: yaxis = [-2, 5]

SAGE: plot(f)

Page 33: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

6.18 LÍMITES

A partir de este apartado, y en sucesivos apartados hasta el final nos vamos a

centrar en actividades que se pueden realizar en Bachiller. Las Matemáticas que se

estudian en los dos años de Bachiller están más encaminadas a la Prueba de Acceso

a la Universidad, y se estudia por tanto Análisis Matemático.

Esta parte de las Matemáticas requiere sin ninguna duda una mayor dedicación así

como una gran capacidad de abstracción por parte de los alumnos. Para

comprender muchos de los conceptos de Análisis es sin duda muy interesante

ayudarse de una herramienta como SAGE, que ayuda a visualizar los problemas,

permitiendo tener una aproximación más intuitiva a los mismos.

Para poder calcular un límite en SAGE necesitamos, por lo menos, dos datos: una

función y un punto en el que calcular el límite de la función. Además, como es bien

sabido de Teoría de Análisis Matemático, para que exista el límite de una función,

los dos límites laterales deben existir y deben ser iguales.

El comando que emplearemos en SAGE para el cálculo de límites es el siguiente:

limit (f, x=a)

Por último, para calcular los límites laterales en SAGE, necesitamos emplear la

opción dir, la cual puede tomar dos valores diferentes: plus (si el límite es por la

derecha) o minus (si el límite es por la izquierda).

Para concluir la teoría sobre el cálculo de límites, es conveniente remarcar que en

SAGE se emplea el símbolo oo para denotar el infinito.

Como viene siendo habitual, el siguiente Worksheet de SAGE nos ofrece una

aproximación más completa e intuitiva de la resolución de problemas de límites con

SAGE:

Page 34: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

SAGE: f = x^3 + 4

SAGE: limit (f, x=3)

31

SAGE: limit (cos(x)/sin(x), x=0)

Infinity

SAGE: limit(exp(x), x = oo)

+Infinity

6.19 DERIVADAS

En SAGE, las derivadas de funciones se calculan empleando los comandos diff() y

derivative(), funciones que hacen exactamente lo mismo, y que por lo tanto puede

emplearse una u otra indistintamente.

En caso de que la función sea de varias variables será necesario indicar un segundo

argumento, que es la variable en función de la cual se deriva la función.

Tanto en el caso de funciones de una o dos variables, podemos especificar también

el orden de derivación pasando el parámetro adecuado a la función.

SAGE: f(x) = x^5 + 2*x^4 + 3*x^3 + x^2 + cos(x); f

x |--> x^5 + 2*x^4 + 3*x^3 + x^2 + cos(x)

SAGE: f.diff()

x |--> 5*x^4 + 8*x^3 + 9*x^2 + 2*x - sin(x)

SAGE: f.diff(2) #Derivada segunda

x |--> 20*x^3 + 24*x^2 + 18*x - cos(x) + 2

SAGE: f.diff(3) #Derivada tercera

x |--> 60*x^2 + 48*x + sin(x) + 18

SAGE: var('x,y')

(x, y)

SAGE: f(x,y) = x^5*y^3

SAGE: f.diff(x)

Page 35: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

(x, y) |--> 5*x^4*y^3

SAGE: f.diff(x,2) #Derivada parcial segunda respecto de x

(x, y) |--> 20*x^3*y^3

SAGE: f.diff(x,y) #Derivada parcial respecto de x e y

(x, y) |--> 15*x^4*y^2

SAGE: f.diff(x,3,y,2) #Derivada tercera respecto de x y segunda

respecto de y

(x, y) |--> 360*x^2*y

6.20 INTEGRALES

Al igual que en el caso de las derivadas, existen dos comando exactamente iguales

que permiten el cálculo de integrales. Estos comandos son: integral() e integrate().

Estas funciones pueden tener hasta cuatro argumentos de entrada, aunque

únicamente el primero de ello es obligatorio, y que es la función a integrar. Los

otros tres argumentos son los siguientes:

- Letra sobre la que realizar la integral. Debe especificarse siempre que la función

tenga más de una variable.

- Límite superior.

- Límite inferior.

Claro está que las dos últimas opciones únicamente deben especificarse en el caso

de que estemos realizando una integral definida.

Veamos un ejemplo de cómo realizar integrales en SAGE:

SAGE: f(x) = x^3

SAGE: f.integral()

x |--> 1/4*x^4

Page 36: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

SAGE: f. integral (x, 1,5) #Integral definida

x |--> 156

SAGE: var('a')

a

SAGE: f(a,x) = a * tan(x)

SAGE: f.integral(x)

(a, x) |--> a*log(sec(x))

SAGE: f.integral(a)

(a, x) |--> 1/2*a^2*tan(x)

6.21 VECTORES Y OPERACIONES CON VECTORES

Para terminar con este bloque del TFM, veremos algunos conceptos relacionados

con el Álgebra Lineal. Al igual que en el caso del Análisis Matemático, el Álgebra

Lineal forma parte de las Matemáticas que se estudian en Bachiller.

Vamos a empezar viendo cómo se construye un vector en SAGE, para ello, no hay

más que emplear la siguiente orden:

vector(R, lista)

El argumento lista hace referencia al conjunto de elementos que conforman el

vector, por tanto, el tamaño de la lista coincide con las dimensiones del vector.

Por otra parte, para realizar el producto escalar de dos vectores se pueden emplear

indistintamente los siguientes métodos:

.dot_product(), .inner_product()

Por otra parte, para calcular la norma de un vector, es decir, la raíz cuadrada del

producto escalar del vector consigo mismo, se emplea el siguiente método o

función:

.norm()

Page 37: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

Para el cálculo del producto vectorial se emplea la función .cross_product(),

mientras que para obtener el vector transpuesto utilizamos .transpose().

SAGE: u = vector([3, 5, 7])

SAGE: v = vector([4, 1/2, 3/5])

SAGE: u.cross_product(v)

(-1/2, 131/5, -37/2)

SAGE: v.cross_product(u)

(1/2, -131/5, 37/2)

6.22 MATRICES Y OPERACIONES CON MATRICES

Para construir una matriz en SAGE, debemos emplear la siguiente función:

matrix(R, [f1, f2, f3, …, fn])

Todas las operaciones con matrices, al igual que las operaciones con vectores, se

realizan con los operadores habituales, con la excepción del producto matricial que

se realiza con el asterisco (*).

El siguiente Worksheet muestra un ejemplo de cómo realizar operaciones con

matrices en SAGE:

SAGE: A = matrix([[2,4,3],[5,8,6],[2,-3,4]]); A

[ 2 4 3]

[ 5 8 6]

[ 2 -3 4]

SAGE: B = matrix([[-3,5,2],[3,-4,2],[0,1,4]]); A

[ 2 4 3]

[ 5 8 6]

[ 2 -3 4]

SAGE: A + B

[-1 9 5]

Page 38: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

[ 8 4 8]

[ 2 -2 8]

SAGE: 3*A

[ 6 12 9]

[15 24 18]

[ 6 -9 12]

SAGE: A * B

[ 6 -3 24]

[ 9 -1 50]

[-15 26 14]

SAGE: B * A

[ 23 22 29]

[-10 -26 -7]

[ 13 -4 22]

SAGE: A^2

[ 30 31 42]

[ 62 66 87]

[ -3 -28 4]

SAGE: B^3

[-171 264 30]

[ 162 -231 48]

[ -9 33 78]

Page 39: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

7. CONCLUSIONES

A lo largo del desarrollo de este TFM, hemos podido familiarizarnos con el

programa de Cálculo Computacional SAGE, conociendo las novedades e

innovaciones que representa con respecto de otros programas de similares

prestaciones.

También se ha podido constatar cómo mejorará este software el trabajo en aulas de

laboratorio sean cuales sean los ordenadores empleados en ellas. Además, las

características del programa permiten crear grupos de trabajo, interactuar con el

resto de alumnos e incluso con el profesor, así como compartir los Worksheets y

programas desarrollados.

Por tanto, podemos decir que son muchas las características positivas y novedosas

de este software, aunque nosotros, como profesores, debemos ir todavía un poco

más allá. Es decir, SAGE será una herramienta muy valiosa, que se irá implantando

paulatinamente en los laboratorios de los Institutos de Educación Secundaria, pero

este programa por sí mismo, no puede suplir en buen hacer de un profesor.

La figura del profesor debe continuar siendo la de guía y acompañante del proceso

de aprendizaje, ayudando a los alumnos a sortear cada piedra del camino y

apoyándose en herramientas como SAGE para conseguir lo mejor de cada alumno.

Como decía al inicio del TFM, nuestro país cuenta con unos malos resultados en

Matemáticas en los informes PISA, por ello, cualquier aportación metodológica

innovadora será bienvenida. Las tablas Excel, la pizarra digital y los programas de

Cálculo Computacional Algebraico pueden contribuir a un mayor entendimiento de

esta materia, así como a desarrollar aptitudes como la capacidad de abstracción,

pensamiento lógico, razonamiento matemático, etc. pero en ningún caso llegarán a

sustituir la figura de un buen profesor.

Como futuros profesores deberíamos ser conscientes de la enorme velocidad con la

que surgen nuevos programas, lenguajes informáticos y tecnologías, y no

deberíamos perder el tren de las TIC en educación. Por ello, es conveniente estar

Page 40: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

siempre actualizado tanto en el uso de las nuevas herramientas tecnológicas, como

en nuevos métodos didácticos.

Page 41: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

8. BIBLIOGRAFÍA

[1] Botana, Escribano, Tabera, Abánades. Software matemático libre.

[2] J.L Galán, J.L González, Y. Padilla, P. Rodríguez. Uso de las Tecnologías de la

Información y la Comunicación en Educación Matemática. Una experiencia en las

titulaciones de ingeniería de la Universidad de Málaga.

[3] P. Ortega. La enseñanza del Álgebra Lineal mediante sistemas informáticos de

cálculo algebraico. Tesis doctoral. Universidad Complutense de Madrid, España.

[4] J.L. Galán. Integrales Múltiples con DERIVE. Un estudio de innovación curricular

en primer curso de Ingeniería Técnica de Telecomunicación. Tesis doctoral,

Universidad de Málaga, España.

[5]http://itis.cesfelipesegundo.com/secciones/WebPersonal/archivos/1/OpenSour

ceMath-Gaceta-baja-res.pdf

[6] http://SAGEmath.org/es/Manual_SAGE_principiantes.pdf

[7] http://SAGE.math.washington.edu/home/tkosan/newbies_book/

[8]M.Real, La potencia de las TIC para el cálculo simbólico. Suma, nº 61, 55-61.

[9] W. Stein, Mathematical Software and Me: a very personal recollection.

[10] http://SAGEmath.org/doc-pdf/en/SAGETutorial.pdf

Page 42: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

[11] J.L. Tábara. Matemáticas elementales con SAGE.

[12] http://SAGEmath.org/doc-pdf/en/SAGETutorial.pdf

[13] Lopez, Lagunes, Herrera. Excel como una herramienta asequible en la

enseñanza de la Estadística.

[14] Criterios de diseño y evaluación de situaciones didácticas basadas en el uso de

medios informáticos para el estudio de las matemáticas - Dialnet

[15] Uso de las Tecnologías de la Información y la Comunicación en Educación

Matemática. Una experiencia en las titulaciones de Ingeniería de la Universidad de

Málaga. - Dialnet

[16] http://gredos.usal.es/jspui/handle/10366/76557

[17] http://www.freewebs.com/justocabezas/Tesis.pdf

[18]http://servidoropsu.tach.ula.ve/profeso/guerr_o/didmat_web/5.invest_didac.

htm

[19]http://www.redescepalcala.org/inspector/DOCUMENTOS%20Y%20LIBROS/MA

TEMATICAS/DIDACTICA%20DE%20LAS%20MATEMATICAS%20PARA%20MAESTROS.

pdf

[20]http://campus.usal.es/~teoriaeducacion/rev_numero_07/n7_art_malaga1.htm

[21]http://campus.usal.es/~teoriaeducacion/rev_numero_07/n7_art_villarreal.ht

m

Page 43: Using the open source software SAGE in teaching mathematics. Uso del software libre SAGE en la enseñanza de las Matemáticas

[22] http://www.educa.madrid.org/portal/c/portal/layout?p_l_id=36197.10

[23] http://biblioteca.universia.net/html_bura/ficha/params/title/actividades-aula-

derive-dirigido-4%C2%BA-eso-1%C2%BA-bachillerato/id/29515416.html

[24] http://www.SAGEmath.org/

[25]http://www.uam.es/personal_pdi/ciencias/pangulo/doc/laboratorio/b2s3ej.ht

ml

[26] J.M. Gallardo. Ecuaciones Diferenciales Ordinarias. Una introducción con

SAGE.

[27] http://www.mathworks.com

[28] W.A. Stein. SAGE Tutorial. Create Space, 2009.