Vous êtes sur la page 1sur 21

Manual Máxima: Escalares, Vectores y

Matrices
Jonathan Escobar, Milton Chasillacta, Edison Mena, Bryan Chauca
July 30, 2015

1
Contents
1 Declaración de Variables 3
1.1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Vectores 6

3 Matrices 9
3.1 Operaciones elementaes con matrices . . . . . . . . . . . . . . 11
3.2 Otras operaciones usuales . . . . . . . . . . . . . . . . . . . . 14

4 Más sobre escribir matrices 17

5 Ejericios propuestos 19
5.1 Ejercicio 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 Ejercicio 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.3 Ejercicio 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.4 Ejercicio 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.5 Ejercicio 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2
Abstract
En el siguiente manual se presentan la declaración de escalares,
matrices, vectores en Máxima, operaciones que se pueden realizar en-
tre ellos, ejemplos de cómo realizar dichas operacioenes y ejercicios
planteados para su resolución.

1 Declaración de Variables
1.1 Variables
El uso de variables es muy fácil en Máxima. Uno de los motivos de esto
es que no hay que declarar tipos previamente. Para asginar el valor a una
variable utilizamos los dos puntos.

Figura 1: Ejemplo Declaración de variables.

Cuando una variable tenga asignado un valor concreto, a veces diremos


que es una constante, para distinguir el caso en que no tine ningun valor
asignado.

Observación 1 El nombre de una variable puede ser cualquier cosa que no


empieza por un número, puede ser una letra, una palabra o una mezcla.

3
Figura 2: Ejemplo Declaración de variables.

Podemos asociar una variable con prácticamente cualquier cosa que se nos
ocurra: un valor numérico, una cadena de texto, la solución de una ecuación,
etc.

Figura 3: Ejemplo uso de variables.

Para luego poder usarlas.


Los valores que asignamos a una variable no se borran por si solos. Siguen
en activos mientras no los cambiemos o comencemos una nueva sesión de
Máxima. Quizá por costumbre, todos tendemos a usar como nombre de vari-
able x,y,z, igual que los primeros nombres que se nos vienen a la cabeza
de funciones son f o g. Después de trabajar un rato con Máxima es fácil
que usemos una variable que ya hems definido antes. Es posible que dar el
valor a una variable haga que una operación posterior nos dé un resultado
inesperado o un error. Por ejemplo, damos un valor a x.

Figura 4: Variable.

4
y despues intentamos derivar una función de x, olvidando que le hemos
asignado un valor. ¿Cúal es el resultado?

Figura 5: Ejemplo mal uso de variables.

Efectivamente un error. Hay dos maneras de evitar esto. La primera es


utilizar el operador comilla, ’, que evita que se evalue la variabe:

Figura 6: Uso de comilla en variables.

La segunda es borrar el valor de x. Esto lo podemos hacer con la orden kill


o con la orden remvalue. Tamien puedes ir al menú máxima, borrar variable
y escribir las variables que quieres borrar, por defecto se borrarán todas. Si
te fijas, dentro del menú máxima también hay varios items interesantes: Se
peuden borrar funciones y se pueden mostrar aquellas variables que tengamos
definidas. Esto se consigue con la orden values.

Figura 7: Borrar variables.

5
Figura 8: Uso de comilla en variables.

Una vez que sabemos cuáles son podemos borrar unas de ellas

Figura 9: Eliminación de variables.

o todas.

Figura 10: Eliminar todas las variables.

2 Vectores
En Maxima, para declarar un vector es similar a una variable pero debe ir
entre corchetes y cada elemento separado por una coma, ası́:

6
Figura 11: Declaració de vectores.

Una lista, también podemos considerar que es un vector. En tal caso,


podemos efectuar las operaciones habituales: Suma, producto por un escalar
y producto escalar.

Observación 2 Para el producto escalar, debemos utilizar ’.’ si utilizamos


’*’ nos multiplica término a término entre paréntesis y no la suma.

7
Figura 12: Operaciones con vectores.

La última expresión, erı́a la forma de clacular el módulo de p.

Figura 13: Suma de vectores.

Podemos ordenar los elementos de la lista (del vector en este caso)

8
Figura 14: Uso de comilla en variables.

O saber cuántos elementos tiene:

Figura 15: Elements vector.

3 Matrices
Para definir una matriz, lo hacemos con el comando matrix() cuo argumen-
toes una serie de listas. cada una de ellas representa una fila de la matriz.

9
Figura 16: Declarar matris.

En wxM axima también podemos escribir una matriz usando el menú


Algebra − Introducirmatriz Nos aparece una ventana ası́:

Figura 17: Introducir matris.

Observación 3 Aunque muy similares, Maxima distingue entre listas y ma-


trices. La orden matrixp(expresion) devuelve true o f alse dependiendeo de
si la expresión ees o no una matris. Por ejemplo, los vectores a y b que
hemos definido antes, son o no matrices?

10
Figura 18: Distinción matrices false.

Las dimensiones de una matriz se pueden recuperar mediante la orden


matrixs ize que devuelve una lista con el número de filas y columnas.

Figura 19: Dimensión de una matriz.

3.1 Operaciones elementaes con matrices


La suma y resta de matrices se indica como es usual,

Figura 20: Suma de matrices.

en cambio, el producto de matrices se indica con un punto ’.’, como ya


vimos con vectores. El operador ’*’ multiplica los elementos de la matriz
entrada a entrada.

11
Figura 21: Producto de matrices.

Con las potencias ocurre algo parecido: el siguiente comando eleva toda
la matriz a n, esto es, multiplica la matriz consigo mismo n veces,

Figura 22: Potencia de matrices.

y el siguiente comando eleva cada elemento de la matriz a n

12
Figura 23: Potencia elementos matrices.

Para el producto de una matriz por un vector sólo tenemos que tener
cuidado con utilizar el punto.

Figura 24: Matriz por vector.

y no tenemos que preocuparnos de si el vector es un vector ’Fila’ o


’Columna’

Figura 25: Matriz por vector 2

El único caso en que ’*’ tiene el resultado esperado es el producto de una


matriz o un vector por un escalar.

Figura 26: Matriz por escalar.

13
3.2 Otras operaciones usuales

Figura 27: Varias operaciones con matrices

Existen órdenes para la mayorı́a de las operaciones comunes. Podemos cal-


cular la matriz transpuesta con transpose,

Figura 28: Comando ”transpose”

calcular el determinante,

Figura 29: Determinante de una matriz

o, ya que sabemos que el determinante no es cero, su inversa:

14
Figura 30: Inversa de una matriz

Como det(A) 6= 0, la matriz A tiene rango 3. En general, podemos


calcular el rando de una matriz cualquiera n × m con la orden rank.

Figura 31: Rango de una matriz

El rando es fácil de averiguar si escribimos la matriz en forma triangu-


lar siperior utilizando el método de Gauss con la orden triangularize y le
hechamoz un vistazo a la diagonal:

Figura 32: Triangular superior de una matriz.

Cualquiera de estos métodos es más rápido que ir mmenor a menor bus-


cando alguno que no se anule. Por ejemplo, el menor de la matriz A que se
obtiene cuando se eliminan la segunda fila y la primera columna es:

15
Figura 33: Eliminar columnas y filas.

Caso de que no fuera suficiente con eliminar una única fila y columna
podemos eliminar tantas filas y columnas como queramos con la orden sub-
matrix. Esta orden elimina todas las filas que escribamos antes de una matriz
y todas las columnas que escribamos después. Por ejemplo, para eliminar la
primera y última columna junto con la segunda fila de la matriz m escribimos:

Figura 34: Submatriz

Para acabar con esta lista de operaciones, conviene mencionar cómo se cal-
cula el núcleo de una matriz. Ya sabes que el núcleo de una matriz A = (aij )
de orden n × m es el subespacio

ker(A) = x; A.x = 0
y es muy útil, por ejemplo, en la resolución de sistemas lineales de ecuaciones.
La orden nullspace nos da una base del núcleo de la matriz:

Figura 35: Núcleo de una matriz

16
4 Más sobre escribir matrices
Si has utilizado el menú Álgebra→Introducir matriz para escribir matri-
ces ya has visto que tienes artajos para escribir matrices diagonales, simétricas
y antisimétricas.

Figura 36: Generar matrices especı́ficas

Existen otras formas de das una matriz en Máxima. La primera de ellas


tiene más interés si estás utilizando Máxima y no wxMáxima. Se trata de
la orden entermatrix. Por ejemplo, para definir una matriz con dos filas
y tres columnas, utilizamos entermatrix(2,3) y Máxima nos va pidiendo
que escribamos entrada a entrada de la matriz:

Figura 37: Ingreso dato a dato de una matriz

También es fácil de escribir la matriz dagonal que tiene un mismo valor en


todas las entradas de la diagonal: sólo hay que indicar el orden y el elemento

17
que ocupa la diagonal. Por ejemplo, la matriz identidad de orden guatro se
puede escribir como sigue:

Figura 38: Comando para matriz diagonal.

Por último, también podemos escribir una matriz si sabemos una regla
que nos diga cuál es el valor de la entrada (i, j) de la matriz. Por ejemplo,
para escribir la matriz que tiene como entrada aij = i ∗ j, escribimos en
primer lugar dicha regla

Figura 39: Condición inicial para crear una matriz personalizada

y luego utilizamos genmatrix para construir la matriz (3 × 3 en este


caso):

Figura 40: Generar matriz a partir de una condición inicial

Observa que hemos utilizado corchetes y no paréntesis para definir la regla


aij . Bueno, que ya hemos definido la matriz a... un momento, ¿seguro?

18
Figura 41: Comprobación de existencia de matriz

¿Pero no acabábamos de definirla? En realidad, no. Lo que hemos hecho


es definir la regla que define, que permite construir los elementos de la matriz
pero no le hemos puesto nombre:

Figura 42: asignando la matriz generada a una variable

Pidemos utilizar la misma notación para referirnos a los elementos de la


matriz. Por ejemplo, al elemento de la fila i y la columna j, nos referimos
como c[i, j](de nuevo, observa que estamos utilizando corchetes):

Figura 43: Obtener elementos especı́ficos de una matriz.

5 Ejericios propuestos
5.1 Ejercicio 1
Crea dos vectores de 4 elementos cada uno, súmelos y ordena el vector suma
de menor a mayor

19
5.2 Ejercicio 2
Consideremos los vectores
a = (1, 2, −1), b = (0, 2, 3/4), c = (e, 1, 0), y d = (0, 0, 1)
Realiza las siguientes operaciones
a) a+b,
b) 3c+2b,
c) c.d,
d) b.d+3a.c.

5.3 Ejercicio 3
Cree la siguiente matriz  
1 −2 0
 2 5 3 
−3 1 −4

a) Compruebe que es una matriz y no un vector


b) Multiplica por un escalar
c)Eleva al cuadrado cada uno de sus elementos
d)Eleva el cuadrado toda la matriz

5.4 Ejercicio 4
Dada la matriz:
A=  
5 3/4 0
 2 0 3 
5 1 −4

y el vector
a=[1 3 5] Guarda en una variable r1 el producto de la matriz por el vector y
en la variable r2 el producto del vector por la matriz

5.5 Ejercicio 5
Crea una matriz cuadrada de cualquier orden y realiza las siguientes opera-
ciones

20
a) La transpuesta de la matriz
b) Realiza el producto de la matriz por su módulo
c) Suma la matriz por su inversa

References
[1] http://euler.us.es/ renato/clases/maxima/manualesPDF/ManualMaxi-
maCalculo.pdf

[2] http://maxima.sourceforge.net/docs/manual/es/maxima.html

[3] http://euler.us.es/ renato/clases/maxima/manualesPDF/maxima-


manual-UGR.pdf

21

Vous aimerez peut-être aussi