Introducción a Mathematica. Cálculo simbólico y cálculo aproximado.

Práctica 1 (Común para las asignaturas de Álgebra Lineal y Cálculo Matemático en E.U.A.T.)

Introducción

Las prácticas con ordenador de las asignaturas de Álgebra Lineal y Cálculo Matemático deben entenderse como un complemento de las clases de teoría y problemas. El propósito es aprender a manejar una herramienta que facilite la resolución de ejercicios de las relaciones propuestas en ambas asignaturas. Por consiguiente, es recomendable que en los ejercicos de carácter práctico se utilice dicha herramienta para confirmar los resultados obtenidos. Como se puede sospechar, existe una gran variedad de programas para alcanzar el objetivo propuesto: Mathematica, Matlab, Maple (estos tres de pago), Maxima, Octave (estos dos gratutitos), etc. El programa que vamos a usar es Mathematica, concretamente, la versión 3.0. Hay que señalar que, una vez se haya aprendido a utilizar Mathematica 3.0, se estará en disposición de aprender (de forma autónoma) a utilizar cualquier otra versión e, incluso, cualquier otro programa de los relacionados anteriormente.

En esta primera práctica nos familiarizaremos con el programa Mathematica realizando operaciones matemáticas básicas,  manipulando expresiones algebraicas, viendo algunas funciones que están implantadas ya en el programa, etc. En principio, no se supone ningún conocimiento previo sobre ordenadores. Por tanto, algunas explicaciones podrán parecer demasiado fáciles. En tal caso, se puede seguir la práctica a un ritmo más rápido. Además, el progama dispone de una  extensa ayuda en la que se pueden consultar los comandos necesarios en cada momento.

Apertura del programa e introducción de órdenes

Para abrir el programa Mathematica se pulsa en el botón de inicio y se elige el programa dentro de la carpeta Mathematica. Automáticamente se abre una ventana (Untitled-1) correspondiente a un fichero o archivo de Mathematica.  Este fichero o archivo se denomina "notebook" y tiene la extensión ".nb". Otra opción es abrir directamente un notebook.

La información de cada archivo se organiza en una serie de celdas. Cada celda está delimitada por un corchete que aparece a la derecha. Hay diferentes tipos de celdas dependiendo del papel que desempeñen. Así, por ejemplo, tenemos
     1. celdas de entrada (Input-In): donde se introducen datos;
     2. celdas de salida (Output-Out): donde aparecen los resultados de la evaluación (cálculos) efectuados por el núcleo del programa;
     3. celdas de texto (Text): donde se escriben textos como el de este párrafo.

En las celdas de texto aparecerán las explicaciones sobre los temas que se traten en cada una de las prácticas. En las celdas de entrada habrá ejemplos para ejecutar y observar su funcionamiento. En muchas ocasiones se incluyen ejercicios, sobre lo que se acaba de explicar, para resolver creando celdas de entrada nuevas tras el enunciado. Al final de las prácticas se encuentran más ejercicios.

Por defecto, cuando una celda se abre es de entrada. Si se quiere cambiar el tipo basta con acceder a la opción Style que aparece en el menú Format. También se puede hacer dicho cambio pinchando con el botón derecho del ratón en el corchete y, a continuación, presionando el botón izquierdo para que aparezcan las opciones más usuales; entre dichas opciones se encuentra la opción Style.

Para ejecutar una celda de entrada nos situaremos sobre la celda en cuestión y pulsaremos la tecla Intro del teclado numérico o bien las teclas Shift y Enter simultáneamente. Podemos observar cómo a la izquierda aparecerá una infomación adicional en la que se especifica el tipo de celda y el número de la misma. Así mismo, recuperaremos la línea horizontal, que corresponde a la zona del archivo en la que podemos escribir. Si deseamos cambiar de lugar esta línea (principio, final o entre dos celdas cualesquiera) no hay más que situar el ratón en el lugar deseado y hacer click.

Para escribir en una celda u otra sólo hay que seleccionarla con el ratón. Por supuesto, no se puede escribir en las celdas de salida.

Ejercicio 1

1) Crea una celda nueva debajo de ésta.
2) Escribe la operación 39+45 en la celda creada.
3) Realiza la operación anterior.

Operaciones algebraicas elementales

A continuación vamos a describir de forma práctica el modo en que es posible realizar las operaciones algebraicas básicas con la ayuda de Mathematica.

Para teclear convenientemente los caracteres debemos recordar que
	1) si una tecla posee un sólo carácter entonces corresponde a una letra. Si se teclea sin más aparecerá la letra en minúsculas. Si queremos que aparezca la letra en mayúsculas tenemos que teclear conjuntamente con la tecla  Shift;
	2) si la tecla posee dos o más caracteres entonces el que aparece en la parte inferior izquierda se genera pulsando sin más la tecla. El de la parte superior aparecerá cuando se pulse la tecla conjuntamente con la tecla Shift. Además, si hay otro carácter en la parte inferior derecha, éste aparece cuando se teclean simultáneamente la tecla en cuestión y la correspondiente a Alt Gr.

Los operadores aritméticos son los usuales:
	+	para la suma
 	-	para la diferencia
 	* 	para el producto (también se puede usar un espacio) 
 	/	para la división
 	^	para la exponenciación (potencias)
 	!	para los factoriales

Hay que tener en cuenta que el ordenador realiza las operaciones que se le indiquen en el orden usual. Primero las potencias, después las divisiones y multiplicaciones, y, por último, las sumas y restas. Este orden se puede cambiar haciendo uso de los paréntesis.

La coma decimal se escribe con un punto.

Ejercicio 2

Introduce cada una de las operaciones siguientes en una celda de entrada y ejecútalas para obtener el resultado del cálculo. Intenta predecir el resultado antes de verlo. Por ser el primer ejercicio "serio", al final del mismo tienes la solución.

2+3

3 4 -1 (*hay un espacio entre 3 y 4*)

3*(4-1)

3/2-1/3

8/2/2

3^ 2

2^3^2

(2^3)^2

Solución

2 + 3

3 4-1  (*hay un espacio entre 3 y 4*)

3*(4 - 1)

3/2 - 1/3

8/2/2

3^2

2^3^2

(2^3)^2

Observaciones

1) Cualquier expresión, texto etc., que aparezca en una celda de entrada entre los símbolos (* y *) es ignorada por el ordenador. Esto se usa para incluir comentarios en las órdenes que se introducen y lo encontrarás a veces en estas prácticas. Por ejemplo, en el ejercicio anterior hay un comentario para aclarar que "hay un espacio entre 3 y 4". Para el ordenador, la orden es la misma con el comentario o sin él.

2) Mathematica siempre da una salida a cualquier orden que le introduzcamos. A veces esto puede ser engorroso o inútil para nuestros propósitos. Si escribimos punto y coma (;) tras una expresión, el programa omitirá la salida. Comprueba esto con los dos ejemplos siguientes.

2000!

2000!;

El símbolo %

El símbolo % se usa para referirse a una de las salidas anteriores sin tener que copiarla. El ordenador entiende % como "lo que había en la anterior respuesta de ejecución". Ejecuta las dos siguientes celdas para ver como actúa.

387/3

% + 1

El símbolo %% significa "lo que había hace dos respuestas de ejecución". Por otra parte, %n (donde n es un número natural) se refiere a la respuesta de ejecución n. Observa que cada respuesta (Out) está acompañada por un número (Out[número]). Este número indica cuando se ejecutó.

(*En este ejemplo se le resta 1 a lo que habia en la respuesta numero 3*) 
%3 -1

Ejercicio 3

Evalua las siguientes operaciones con Mathematica. El objetivo de este ejercicio es entender el uso del punto (.) y el tanto por ciento (%) en una operación algebraica. Aquí aparecen dos números que usaremos habitualmente: π = 3.14159.. que se escribe Pi y e = 2.71828... que se escribe E.

3 + 6

3.  + 6

1/3 + 8/7

1/3 + 8/7.

% - 1

%%/3

%5

%5 - 6

Pi

1 + Pi

1.  Pi

1.  + Pi

1.  + E

Es posible escribir Pi haciendo uso del carácter griego ya que Mathematica trabaja indistintamente con los símbolos Pi y π. Para generar este último hay que desplegar en el menú File sucesivamente las opciones Palettes, Completes Characters, Letters y Greek, seleccionando el carácter deseado.

Sintaxis general de las órdenes

En esta sección nos ocupamos de la estructura o sintaxis de las sentencias (órdenes o comandos) que Mathematica tiene implementadas. En general una orden se compone de una palabra inglesa (en otros casos es una abreviatura) cuya primera letra es siempre mayúscula y que está acompañada de una serie de argumentos escritos entre corchetes.
		Orden[argumento1, argumento2, ...]
Dado que las sentencias se irán presentando a medida que se vayan necesitando a lo largo del curso y todas ellas comparten una serie de normas sintácticas, tomaremos como referente inicial la orden Print.

La sentencia Print sirve para mostrar en pantalla resultados de otras intrucciones y para poder dar salidas mas eláboradas dentro de un programa. Puedes comprender su funcionamiento evaluando las sentencias que aparecen en el siguiente ejemplo.

Ejemplo 1

Print["hola"]

Print["buenos días"]

Print[2 + 3*7]

Print["2+3*7"]

Print[1, 2, 3]

Print[1, " ", 2, " ", 3]

Print["El resultado de la operación 4*5 es ", 
      4*5]

Print["7*2 ----> ", 7*2]

Print[2, 4, " ", 6]

Ejercicio 4

a) Emplea la orden Print para que aparezca en pantalla la frase "Estoy haciendo mi primera práctica".

b) Emplea la orden Print para mostrar el área de un cuadrado de lado 7cm de forma que aparezca en pantalla una frase similar a "El área de un cuadrado de lado 7cm es igual a ... (cm^2)".

Otro ejemplo: la orden Simplify

La orden Simplify se utiliza para simplificar expresiones.

(1 - Sqrt[5])^2 - 2 (1 - Sqrt[5]) - 4

Simplify[ (1 - Sqrt[5])^2 - 2 (1 - Sqrt[5]) - 4]

Ejercicio 5

Simplifica la expresión a^2 + b^2 + c^2 + 2 a b + 2 a c + 2 b c.

Cálculo simbólico y aproximado

Mathematica puede realizar dos tipos de cálculo: el simbólico y el aproximado. Es importante entender bien la diferencia entre los dos.

Los cálculos simbólicos son aquellos en los que los resultados son exactos y no contienen aproximaciones numéricas. Mathematica efectua cálculos simbólicos siempre que los datos sean exactos y no se indique otra cosa.

(8/9)^(1/2)

A veces las operaciones involucran numeros con decimales. En tal caso Mathematica efectúa los cálculos en forma decimal.

1.234^2

Tal como se ve en el siguiente ejemplo, se puede utilizar el punto para que el programa use los decimales obligatoriamente.

Ejemplo 2

2*Pi*7

Pi*7^2

2. *Pi*7

Pi*7. ^2

La orden N[expr,n]

La orden N sirve para obtener un valor numérico de una expresión dada. La salida de la orden incluye números en forma decimal con una precisión determinada, en concreto N[expr,n] devuelve la expresión "expr" con una precisión de n dígitos significativos (siempre que sea posible).

La siguiente instrucción devuelve el número π con una precisión de 20 dígitos.

N[Pi, 20]

El número de dígitos de precisión no tiene por qué coincidir con el número de decimales que se muestran en la salida.

N[Pi, 5]

N[Pi, 12]

Ejercicio 6

a) Calcula una aproximación decimal del número (22/7) - π.

b) Calcula una aproximación decimal del número 22*π^4 con 8 cifras significativas.

c) Calcula una aproximación decimal del número 22*π^4 con 17 cifras significativas.

Ejercicio 7

¿Cuáles de las siguientes órdenes dan resultados simbólicos y cuáles aproximados?

N[Pi]

N[Pi, 20]

2^64

N[2^64]

2/3 + 5/8

N[%]

N[E]

E + 0.56

2 + 3

2.  + 3

I^2

Sqrt[256]

Sqrt[255]

N[Sqrt[255]]

Como has podido comprobar en uno de los anteriores ejercicios, Mathematica permite operar también con números complejos. Para ello, hay que tener en cuenta que la unidad imaginaria i se escribe I.

Ejemplo 3

Es posible aproximar numéricamente una expresión usando //N después de la expresión. No permite especificar la precisión pero a veces puede ser útil.

Pi/2  // N

E // N

Sqrt[255]  // N

Variables asignadas

El uso del % puede llevar a confusión, sobre todo si no ejecutamos las celdas en el orden en que aparecen en pantalla. Es por esto que en muchas ocasiones es mejor definir una variable con un valor concreto (esto es, definir una variable asignada).

Ejemplo 4

x = 2

x^2 + 4  x - 2

a = 2 + Sqrt[2] - Sqrt[3]

b = a^2 - 2

N[b]

Para borrar el contenido de una variable asignada empleamos la orden Clear[.]. En este momento la variable x tiene un valor numérico concreto. Como en la próxima sección la utilizaremos como variable y necesitaremos que no tenga ningún valor, vamos a borrar el valor asignado.

Clear[x]

x

Ejercicio 8

1) Define la variable asignada k con el valor 37. Luego evalúa la expresión k^2-9.

2) Borra el contenido de la variable k.

Algunas funciones matemáticas

La mayoría de las funciones usuales ya están incluidas en Mathematica. Algunas de ellas son:

Raíz cuadrada: Sqrt[x]
Seno, coseno, tangente: Sin[x], Cos[x], Tan[x]
Arcoseno, arcocoseno, arcotangente: ArcSin[x], ArcCos[x], ArcTan[x]
Exponencial, logaritmo en base e (logaritmo natural): Exp[x], Log[x]
Seno hiperbólico, coseno hiperbólico, tangente hiperbólica: Sinh[x], Cosh[x], Tanh[x]
Funciones hiperbólicas inversas: ArcSinh[x], ArcCosh[x], ArcTanh[x]
Valor absoluto: Abs[x]
Redondeo al mayor número entero que es menor que el número dado: Floor[x]

Observaciones

En general la raíz cuadrada de (x^2) no da como resultado x.

Sqrt[(-3)^2]

Igualmente, en general (Sqrt[(x^2) + (y^2)]) no es igual a x + y.

Sqrt[3^2 + 4^2]

3 + 4

En las funciones trigonométricas (seno, coseno y tangente) el argumento se mide en radianes.

Sin[Pi]

Cos[0]

Cos[Pi/2]

Tan[Pi]

Ejemplo 5

Exp[2] + Log[10] - Sqrt[5]

Log[10. ] - Sqrt[5]

N[%, 10]

Sin[Pi] - Cos[Pi]

Sqrt[-5]

Floor[25.1]

Floor[-3.2]

Abs[-7]

Sin[Pi/4] + Cos[Pi/6] Log[10. ] - Sqrt[5]

Log[Sin[Pi/4]]

Sin[Sqrt[Pi/2]]

ArcSin[1]

ArcCos[0]

ArcTan[1]

Sinh[0]^2 - Cosh[0]^2

Sinh[2]/Cosh[2] - Tanh[2]

Expresiones algebraicas: polinomios

Con Mathematica podemos hacer operaciones que no sean numéricas. Por ejemplo podemos calcular con polinomios.

3  x + 67  x + 5  a - 4  x  + 2  a

Algunas órdenes útiles para realizar cálculos con polinomios son Expand, Factor, Collect y Apart.

Expand

(a x + b) (c x  +  d)  -  a d

Expand[(a x + b) (c x  + d)  -  a d]

Expand[(2 + x)^4]

Expand[(a + b)^2]

Factor

Factor[x^2 + x - 2]

Factor[16 + 32 x + 24 (x^2) + 8 (x^3) + (x^4)]

Factor[
      (x^4) + 4 (x^3) y + 6 (x^2) (y^2) + 4 x (y^3) + (y^4)]

Collect

Collect[3 x + 2  x^2 + 4 + 5  x + 1 - x^2, x]

Collect[4  y + 5  y x + 7  x + 2  y^2 - 3  x y^2, x]

Collect[4  y + 5  y x + 7  x + 2  y^2 - 3  x y^2, y]

Collect[7  x^2 + y x + 6, x]

Apart

Apart[2/(x^2 - 1), x]

Apart[(x^2 + 2  x + 2)/(x^2 - 2  x + 1), x]

Ejemplo 6

Expand[(x + y)^2]

Expand[(x + y)^12]

Factor[%]

Collect[2  x + 7  x y - 3  x^3 - 8  x^2 + y^2 x, x]

Collect[2  x + 7  x y - 3  x^3 - 8  x^2 + y^2  x, y]

Apart[(x^3 + 2  x - 7)/(x^2 - 6  x + 9)]

Ejercicio 9

a) Desarrolla la expresión (((x-1))^4).

b) Escribe la expresión (x^2)-xy+(y^2)+3  x  como un polinomio en x.

c) Escribe la expresión (x^2)-xy+(y^2)+3  x  como un polinomio en y.

d) Factoriza la expresión (x^3) + 3  (x^2) y + 3  x (y^2) + (y^3).

e) Descompón el cociente ((x - 1)/(((x - 2))^2)) en fracciones simples.

Errores usuales. Soluciones

Cuando Mathematica no entiende lo que queremos hacer muestra errores en lugar, o además, de dar una respuesta. La mayoría de las veces podemos deducir cuál es el problema leyendo detenidamente la información sobre el error que proporciona el programa.

Veamos algunos ejemplos

45/0

Sqrt[2

Algunas veces puede haber una variable "mal asignada". Esto se soluciona utilizando la orden Clear que ya hemos visto en la práctica. Sin embargo, en otras ocasiones, tras una gran cantidad de cálculos, es posible que tengamos muchas variables asignadas y otras que quizás hayamos olvidado. Esto puede conducirnos a errores aún habiendo hecho las asignaciones correctamente. La orden

Clear["Global`*"]

limpia todas las variables. Es recomendable usarla al iniciar una sesión o al cambiar de ejercicio.

Comandos de archivo

Los comandos de archivo aparecen pulsando con el ratón dentro del menú de archivo (File). Algunos de ellos son:
	1. abrir (Open): permite cargar un archivo;
	2. cerrar (Close): para cerrar el archivo (notebook) abierto;
	3. nuevo (New): crea un nuevo documento;
	4. guardar (Save), graba en disco el fichero actual,conservando el nombre y la localización;
	5. guardar como (Save as), similar al anterior,pero permite cambiar la localización;
	6. paletas (Palettes), para disponer de tablas con los principales comandos organizados por temas;
	7. salir (Exit).

Opciones de edición

La introducción de órdenes y expresiones puede agilizarse marcando órdenes y expresiones que hayamos escrito anteriormente. Para marcar una expresión se coloca el ratón al comienzo de la misma y se mantiene pulsado mientras que se arrastra hasta situarlo al final de la zona a marcar.

Las opciones de edición se encuentran desplegando el menú de edición (Edit). Las opciones de menú más usuales son:
	1. copiar (Copy): copia la expresión marcada;
	2. cortar (Cut): elimina la expresión marcada;
	3. pegar (Paste): coloca la última expresión (que se haya copiado o cortado) en el punto que indique el ratón en ese instante;
	4. deshacer ( Undo): deshace el efecto de la última opción de edición realizada.

Para copiar, cortar, pegar y borrar celdas basta con pincharl con el ratón en el corchete de la derecha de la celda deseada y luego utilizar el comando de edición correspondiente.

Debe tenerse cuidado al copiar algunas expresiones desde celdas de texto, ya que la expresión que se pega puede contener caracteres o notaciones que hagan que no se evalúe la nueva expresión.

Ejercicio 10

a) Empleando la siguiente celda, calcula una aproximación del número π * (((2+(4/5)))^2) con una precisión de 25 cifras.

N[Pi*(2 + 4/5)^2, 22]

b) Copia la expresión 4\(TraditionalForm\`\^2\) y comprueba que al evaluarla no se obtiene 16.

Ayuda

Como ya se comentó en la introducción, Mathematica tiene un sistema de ayuda muy completao en inglés. Es muy útil aprender a usarlo porque siempre habrá algún comando que no recordemos bien o que desconozcamos pero, sin embargo, necesitemos. Para acceder a esta ayuda basta con pulsar el menú Help y después en Help Browser ...

Ejercicios

1.- Realiza las siguientes operaciones.

a) ((2 - 3*10)/(3 + (2^3)))		b) 3 - (4/9) - (3^2.45)		c) (((1/3) - (3/7))/(4 + (8/5) - 11))

2.- Determina la expresión decimal de los números anteriores con 8 cifras decimales mediante el uso de % y la sentencia N.

3.- Repite el ejercicio anterior reemplazando % por convenientes operaciones de edición.

4.- Usa el comando Print con argumentos adecuados para obtener las salidas:
	a)  abc		b)  ab c		c)  a b c

5.- Escribe una orden que muestre en pantalla la frase "Esta es una frase literal".

6.- Escribe una instrucción que muestre en pantalla una frase similar a "La novena potencia de 5 es ..." incluyendo el resultado.

7.- Calcula la expresión (((π^2) + (e^3))/(2 + sen(π/4))) con una precisión de 7 cifras.

8.- Calcula la expresión (((π^e) + 2)/(cos(π) - 2)) con una precisión de 7 cifras.

9.- Calcula el valor de π con 500 cifras decimales.

10.- Calcula 12.3456189 elevado a 1.23456129.

11.- Simplifica las siguientes expresiones

	a) (((cosh(x)))^2)-(((sinh(x)))^2),	b) (sin^2)(x) + (cos^2)(
          x) ,		c) ((tg x  +  tg y)/(1 - tg x tg y)).

12.- Desarrolla la expresión  ((x^2) -  x - 1)^3.

13.- Factoriza la expresión  (a^4) - 2  (a^2) (b^2) + (b^4).

14.- Agrupa en x e y el polinomio de dos variables  3  xy + (x^2)+2  x-3  y+(y^2).

15.- Desarrolla la expresión (x-y+1)^4 y agrupa el resultado en potencias de x.

16.- Desarrolla la expresión (x-y+1)^4 y agrupa el resultado en potencias de y.

17.- Descompón en suma de fracciones simples las funciones racionales:

	a) ((x + 1)/((x^2) - 2  x + 1))		b) ((3  (x^4) - 6  x + 8)/((x^3) + 4  (x^2) + 4))

18.- Ejecuta las órdenes:
	a)  Antonio
	b)  A n t o n i o  
y explica la salida.

19.- Realiza las siguientes operaciones e intenta explicar los resultados	
	a) 1 - 0.2 - 0.2 - 0.2 - 0.2 -0.2		
	b) 1 - 0.25 - 0.25 - 0.25 - 0.25		
	c) 1 - 0.125 - 0.125 - 0.125 - 0.125 - 0.125 - 0.125 - 0.125 - 0.125
	d) 1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1

20.- Es muy conocida la historia del inventor del ajedrez y su petición como pago por tal invento: un grano de trigo por el primer escaque (casilla) del tablero, dos por el segundo, cuatro por el tercero, ocho por el cuarto y así sucesivamente hasta llegar al escaque número 64. Con una calculadora usual no es posible determinar el número total de granos de trigo que hacen falta pues el resultado es un número demasiado grande. ¿Puedes calcularlo con Mathematica?