INSTITUTO SUPERIOR PARTICULAR INCORPORADO N° 9009 “SAN JUAN BAUTISTA DE LA SALLE”
Profesorado de Matemática Algebra Lineal y Geometría Analítica Apunte de Maple 12 Sistemas de ecuaciones-Matrices
Año 2013 Prof. Ma. Celina Ansaldi
Presentación: Este apunte se confeccionó a partir del apunte realizado por la Profesora Karina Rodriguez, más otros aportes realizados por mí y bibliografía específica que se detalla al final del apunte. El mismo contiene una introducción al software matemático Maple 12 orientado a la materia Algebra Lineal y Geometría Analítica de segundo año del Profesorado de Matemáticas. El apunte se encuentra divido por unidad, cada unidad corresponde a un tema desarrollado en la teoría y lo que se busca es poder brindarle al alumno una herramienta tecnológica para la resolución de la práctica de los temas tratados. En cada unidad el alumno se encontrará con la explicación de cómo utilizar los comandos, ejercicios resueltos y una propuesta de trabajo. Índice: Presentación 1. Qué es Maple 1.1 Introducción a Maple. 1.2 Manejo de la ayuda de Maple 1.3 Núcleo, librerías e interface de usuario 1.4 Descripción del entorno de trabajo 2. Unidad N° 1: 2.1 Comandos para trabajar con matrices 2.2 Sistemas de ecuaciones. Métodos de resolución 2.3 Matrices. Métodos de resolución. 2.3.1 Transpuesta, inversa, determinante, adjunta 2.4 Propuesta para el alumno. 2.5 Problemas de aplicación
2
Algebra Lineal y Geometría Analítica Laboratorio
Página 2 3 3 3 3 4 4 4 5 6y7 8 9 10, 11 y 12
1. Qué es Maple: Maple es un programa desarrollado desde 1980 por el grupo Cálculo Simbólico de la Universidad de Waterloo (Ontario, Canadá). Su nombre proviene de las palabras MAtematical PLEasure. 1.1 Introducción a Maple: Maple es un conjunto de herramientas matemáticas que permiten entre otras cosas, realizar cálculos, gráficos, resolver problemas, derivar, integrar, étc, además de que el usuario puede desarrollar sus propios programas ó funciones. 1.2 Manejo de la ayuda de Maple: Se puede acceder a la Ayuda a través del menú Help de la ventana principal de Maple, podemos acceder a la ayuda desde un comando específico desde la hoja de trabajo anteponiendo un signo de interrogación a dicho comando. Ejemplo: > ?Diff; El método anterior abre una ventana con toda la información disponible sobre el comando deseado. Otra forma de solicitar ayuda es a través de Topic Search y Full Text Search que proporcionan ayuda sobre un tema en concreto. 1.3 Núcleo, Librerías e interface de usuario: Maple consta de 3 partes principales: Núcleo, Librería e interface de usuario. El núcleo es la parte central del programa escrita en lenguaje C, encargada de realizar las operaciones matemáticas fundamentales. Las librerías deben su existencia gracias a que Maple cuenta con más de 3000 comandos. Solo los más importantes se cargan en memoria cuando el programa comienza a ejecutarse. La mayor parte de los comandos están agrupados en distintas librerías temáticas. Para poder ejecutarlas hay que cargarlas previamente. El comando: readlib(namefunc) carga en memoria la librería solicitada en el argumento, en cambio el comando with(library) carga en memoria toda la librería especificada. Con el Browser de Maple se pueden ver las librerías disponibles en el programa y las funciones que dispone cada librería. Maple dispone de funciones que son cargadas automáticamente cuando son llamdas. La interface de usuario se encarga de todas las entradas/salidas y en general de la comunicación con el exterior. 1.4 Descripción del entorno de trabajo: Cuando se arranca Maple, se abre una hoja de trabajo en la ventana principal. El usuario puede moverse en toda la hoja de trabajo, situado el curso en cualquier línea, ejecutando comandos en cualquier orden, étc. Para poder ingresar un comando hay que tener cuidado de ingresarlo correctamente escrito. Para terminar la entrada de una orden hay que escribir el signo : (dos puntos) ó ; (punto y coma) antes de pulsar enter. En el primer caso, se ejecuta la orden pero no aparece la respuesta en la pantalla, el segundo caso, la respuesta se visualiza en la pantalla. Si se pulsa Enter antes de estos signos Maple interpretará que no se ha terminado de introducir la orden y esperará el fin de la misma. Para asignar un valor se utiliza el símbolo := (dos puntos igual) Con el comando Save del menú File se almacenan los resultados externos de la sesión de trabajo (región de entrada/salida, textos, gráficos) en un fichero con extensión *.mws. No es un archivo editable en un block de notas, si quisiera guardarlo para luego editarlo de guardarlo como Save As y en la caja de diálogo elegir Maple Text en la lista desplegable Save File As Type. Maple trabaja con todo tipo de números, por defecto muestra solamente 10 dígitos por ejemplo para un n° irracional, de requerir más dígitos basta con escribir el comando: > Digits := 25; En Maple pueden escribirse cadenas de caracteres y se crean encerrando un n° indefinido de caracteres entre (comillas) “”. No se pueden asignar valores pero sí un nombre. Ej: > “esto es una cadena de caracteres”
3
Algebra Lineal y Geometría Analítica Laboratorio
Maple tiene algunos tipos de datos compuestos o estructurados a los que hay que prestarles atención, ellos son: las secuencias ó sucesiones, los conjuntos, las listas, los vectores, las matrices y las tablas. (Solo veremos listas, vectores y matrices porque son los conocimientos para este curso).
Listas
Una lista es un conjunto ordenado de datos o expresiones entre corchetes []. En ellas se respeta el orden definido por el usuario y puede haber elementos repetidos. Ej: > lista1 := [{p,e,r,r,o},{g,a,t,o}];
Vectores y Matrices:
Los vectores y matrices son una extensión del concepto de lista. Las matrices y vectores deben ser declarados, la declaración puede hacerse en la asignación ó posteriormente. Ej: > cuadrados :=array(1..3,[1,4,9]); #declarado y asignado el vector > potencias :=array(1..3,1..3,[]); #declarada la matriz de orden 3x3 Para poder asignar el valor a cada posición en la matriz se procede de la siguiente manera: > potencias[1,1]:=1 : potencias[1,2]:=3 : # asignación de valores a la matriz… y así sucesivamente para cada posición. Para poder visualizar la matriz: > print(potencias); Lista de Operadores: Operadores Suma + factorial Resta Mayor que Multiplicació * Menor n que Potencia
^ ó **
división
/
Operadores ¡ >
= igual que
Igual Distinto
Operadores =
Operador := de asignación Menor o with(linalg); Una vez que tengamos en memoria la librería podemos comenzar a operar. Comandos de ayuda para:
Matrices
> A:= array([[a,b,c],[a’,b’,c]])´; con esta sentencia se ingresa la matriz por filas 4
Algebra Lineal y Geometría Analítica Laboratorio
> A:= array(2,3,[a,b,c,a’,b’,c’]); de esta forma se ingresa la matriz con 2 filas, 3 columnas y ubica los elementos posteriores según el número de filas y columnas indicados. > A[2,3]; busca el elemento de la matriz A en la posición: fila 2 y columna 3 >evalm(A+M); el comando evalm sirve para evaluar y mostrar. En este caso muestra la suma de las matrices A y M >A[2,3]:= 7/8; cambia el valor del elemento de la posición [2,3] por 7/8 > evalm(A); muestra el cambio realizado en la matriz A >transpose(A); da la transpuesta de la matriz A >det(A); calcula el determinante de la matriz A >inverse(A); calcula la inversa de la matriz A >C:=A&*B; realizo el producto de la matriz A y B y lo guardo en C > Y:=Innerprod(A,B); realiza e producto de dos matrices A y B >AR:addrow(A,1,2,-1); multiplica la fila 1 por (-1), la suma a la fila 2 y la guarda en esa fila >pivot(AR,2,2); hace ceros todos los elementos de la 2° columna, menos el elemento de la posición (2,2) de la matriz AR >evalm(B); presenta la matriz B que en algún momento utilicé. >evalm(“); evalúa la última matriz ingresada >H:=swaprow(A, 1, 2); intercambia las filas 1 y2 de la matriz A y lo guarda en H >G:=swapcol(A ,1, 2); intercambia las columnas 1 y 2 de la matriz A y lo guarda en G >M:=mulrow(B, 1, 1/2); multiplica la fila 1 de la matriz B por ½ >J:=mulcol(B, 1, 5); multiplica la columna 1 de la matriz B por 5 y lo guarda en J >K:=submatriz(A, 1…2, 1…3); construye la submatriz de A con las filas 1 y 2 y las columnas 1,2 y 3 >Rank(A); determina el rango de la matriz A >delcols(A,4,…4); borra la 4° columna de la matriz A >delrows(A,2…3); borra las filas 2 y 3 de la matriz A >minor(A,1,2); construye el menor (1,2) de la matriz A >adjoint(A); ó adj(A); construye la matriz adjunta de la matriz A >Z:=randmatrix(9,8); construye una matriz con los elementos aleatorios de 9 filas y 8 columnas y lo guarda en Z. >ffgausselim(A); por eliminación gaussiana obtiene la matriz triangular >gausselim(A,’r’,’d’); nos da la matriz triangular de A, que luego otorgará el rango y determinante. >gausselim(A,’r’); nos da la matriz triangular de A y el rango de la matriz A >gausselim(A,’d’); nos da la matriz triangular de A y el determinante de A
5
Algebra Lineal y Geometría Analítica Laboratorio
Vectores Para trabajar con matrices utilizaremos al vector como una matriz unidimensional, veamos como se declara. Ejemplo:
es una matriz unidimensional ó un vector fila en nuestro caso
es un vector columna (1 columna, 3 filas)
es un vector fila 2.2. Sistemas de Ecuaciones: Métodos de resolución Para resolver los sistemas de ecuaciones tenemos 2 métodos: PRIMER METODO: Se ilustra con un ejemplo: Se quiere resolver el siguiente sistema: { Paso 1: escribiremos el sistema de la forma matricial AX=b Cargar la matriz de coeficientes, el vector de las incógnitas y el vector con los términos independientes como sigue: >
Paso 2: cargar la matriz ampliada Aa y con el comando gaussjord obtendremos la matriz triangular superior. >
>
6
Algebra Lineal y Geometría Analítica Laboratorio
Paso 3: con el comando backsub obtenemos el valor de las incógnitas >
SEGUNDO METODO: Existe en Maple un comando llamado solve que resuelve una ó más ecuaciones. Se carga el sistema y las incógnitas. Consideremos el sistema anterior: >
2.3. Matrices. Métodos de resolución. Cargar una matriz A, el vector de las incógnitas y el vector de los términos independientes. >
Utilizando el método de eliminación de Gauss-Jordan para la resolución: Primero asignamos a una variable la matriz ampliada y luego utilizamos el comando gaussjord para resolver. Una vez resuelto le asignamos con el comando backsub el valor a las incógnitas. >
>
>
Utilizando el método de eliminación Gaussiana: Cargar una matriz A, el vector de las incógnitas y el vector de los términos independientes. >
7
Algebra Lineal y Geometría Analítica Laboratorio
Utilizamos el comando gausselim para resolver: >
>
2.3.1. Transpuesta, Inversa, Determinante, Adjunta, menor de una matriz. Tomando la matriz de los ejemplos anteriores calculamos: >
>
> >
>
>
8
Algebra Lineal y Geometría Analítica Laboratorio
2.4. Propuesta para el alumno: 1)- Sean las matrices:
(
)
(
)
a) Hallar A+B, 2*B, A*B b) Cambiar la fila 1 por la fila 2 de la matriz A y la columna 3 por la columna 4 de la matriz B c) Multiplicar la 3ra fila de la matriz B por -1/2 d) Multiplicar la 2 da columna de la matriz A por 3. e) Construye la submatriz de la matriz A, la cual este formada por las filas 1, 2y 3 y las columnas 3 y 4. f) Borrar de la matriz B la fila 2 y la columna 4. f) Resuelve la ecuación matricial AX=b,
(
). Indica como es su solución.
g) Encontrar las matrices escalonadas para A y B.
2)- Para cada uno de los siguientes sistemas se pide: a) Hallar la matriz ampliada y su rango. b) Hallar la matriz de los coeficientes y su rango. c) Encontrar una matriz triangular en cada uno de los casos anteriores. d) Resolver cada sistema. Indicar como es la solución. {
{
{
3) Para las siguientes matrices hallar la matriz X que satisfaga: (
)
(
)
(
)
a) 2X+B=-3A + C b) ½ A - 3/2 X = B +2C 4) Para las siguientes matrices hallar: (
)
(
a) Hallar: At, A-1, adjunta, determinante, el rango y el menor (2,4) de la matriz A. b) Encontrar el valor de cada matriz incógnita: I) A.X=B
III) A-1X=A
II) BXA=A
I) (A+Bt).B-1 = 5X +2A -1
9
Algebra Lineal y Geometría Analítica Laboratorio
)
2.5. Problemas de aplicación: Problemas del libro: Algebra Lineal, 6° edición de Stanley Grossman. Flujo de tráfico: Considere el siguiente diagrama de una malla de calles de un sentido con vehículos que entran y salen de las intersecciones. La intersección k se denota por [k]. las flechas a lo largo de una de las calles indican la dirección del flujo del tráfico. Sea xi el número de vehículos/h que circulan por la calle i. suponiendo que el tráfico que entra a una intersección también sale:
i) Establecer un sistema de ecuacionesque describa el diagrama de flujo de tráfico y resolverlo. ii) Suponga que la calle de [1] a [3] necesita cerrarse, ¿puede cerrarse también la calle [1] a [4] sin modificar los sentidos del tránsito? Si no se puede cerrar, ¿cuál es la cantidad más pequeña de vehículos que debe poder admitir esta calle? Resolución: El sistema de ecuaciones queda como sigue: [ ] {
[ ] [ ] [ ] Resolución en Maple:
>
10
Algebra Lineal y Geometría Analítica Laboratorio
El sistema tiene infinitas soluciones:
Por ejemplo una solución para el problema sería:
ii) La calle [1] a [4], es decir, no podría cerrarse sin modificar el sentido del tránsito ya los vehículos que ingresan a [4] no tendrían forma de salir. Si se elimina no se cierra el sistema resultaría: [ ] [ ]
{
[ ] [ ]
>
El sistema tiene infinitas soluciones [ ] [ ]
11
Algebra Lineal y Geometría Analítica Laboratorio
b) Balance de ecuaciones químicas: al balancear reacciones químicas como la de la fotosíntesis, se buscan enteros positivos que no tengan un divisor común diferente de 1, de manera que: (
)
(
)
(
)
Podemos plantear el siguiente sistema:
{
Resolución:
>
El sistema tiene infinitas soluciones, (
12
Algebra Lineal y Geometría Analítica Laboratorio
)
(
)
(
)