using the open source software sage in teaching mathematics. uso del software libre sage en la...
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.TRANSCRIPT
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
Í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
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
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.
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.
- 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.
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
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.
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.
- 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.
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.
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 (=).
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.
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.
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()
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 (??).
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()
- 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.
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
-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
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.
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]
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).
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.
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
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
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]
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
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.
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)
SAGE: f.plot(-5,5)
SAGE: plot(f, -4, 4, color='green', thickness = 3)
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)
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:
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)
(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
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()
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]
[ 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]
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
siempre actualizado tanto en el uso de las nuevas herramientas tecnológicas, como
en nuevos métodos didácticos.
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
[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.
[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
[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.