You are on page 1of 33

MANUAL WXMAXIMA

Andrés Buitrago

POLITÉCNICO GRANCOLOMBIANO
ALGEBRA LINEAL
FACULTAL DE INGENIERÍA Y CIENCIAS BÁSICAS
BOGOTÁ, D.C
CONTENIDO

ENTORNO MAXIMA

Introducción

Operaciones básicas

Operaciones básicas trigonométricas

MATRICES

Definición de funciones

Operaciones con matrices

Ejercicios propuestos

VECTORES

Definicion de vectores en maxima

Operaciones

Definiciones de funciones

Graficas

ENTORNO MAXIMA
1. El entorno de wxMàxima, puede ser descrito como una calculadora ciéntifica, cuyo
uso puede ir desde operaciones basicas como suma, resta, multiplicacion hasta
complejas operaciones en calculo o algebra que facilita procesos. Su manejo esta
definido por el ingreso comandos, dónde se debe ingresar y definir las variables
que usarán para la solucion de operaciones.

El programa maxima se puede descargar de la pagina


http://maxima.sourceforge.net/

OPERACIONES

2. OPERACIONES BASICAS

Para operar con maxima podemos declarar variables y asignarles a cada una de
ellas un valor, o usar numeros como una calculardora normal. El uso de variables
en maxima permite guardar un la memoria resultado de operaciones anteriores y
llamarlas en el uso de operaciones mas complejas para no repetir el proceso
nuevamente.

Veamos como se debe hacer para realizar operaciones básicas como suma resta
multiplicación o división declarando variables.

Iniciamos asignando valores a las variables, usamos X y Y como variables y le


asignamos los valores 3 y 8 respectivamente, para poder terminar la operación se
debe cerrar presionando shift+enter.

Una vez asignados lo valores a las variables maxima nos devuelve el valor como
resultado (%0), para deshacer la asignacion de variables se debe ingresar kill(la
variable)
Después podemos operar normalmente

Veamos otro tipo de operaciones usando raíz, exponente, logaritmo

Asignaremos al nuevo valor de x el numero 1329 y realizaremos


diversas operaciones

Exponente

Exponente al cuadrado

Se puede multiplicar por el mismo valor o se usa el simbolo ^

Exponente a una potencia diferente de 2

Para poder elevar a otra potencia se usa el simbolo ^ y se ingresa el número de la


pontencia que se desea calcular

Otro ejemplo

Raiz cuadrada

Raiz cuadrada
Para sacar raiz cuadrada hay que usar el comando sqrt y la variable entre paréntesis,
para poder el resultado numerico es necesario usar una coma y la palabra numer.

Raiz

Para calular otra raiz diferente a la cuadrada es necesario elevar el valor a la 1/y
donde y es el valor de la raiz a calcular.

Para calcular la raiz quinta se ingresa de la siguinte forma

Notese que el valor en fraccion que se esta elevado esta entre parentesis.

Operaciones basicas trigonometricas

Existen variables ya preestablecidas en el programa, como por ejemplo pi (Π)

Ejemplo, el en la variable t le asignaremos 3pi/5.

Ahora evaluemos las exprexiones sen(x), cos(x), sec(x) y tan(x)


Tambien podemos evaluar las expresiones sint^x y x^cost

MATRICES
4. Funciones

Función Solve y linsolve

Solve

Para resolver un sistema de ecuaciones, basta con invocar la función solve y escribir
dentro de paréntesis por un lado las ecuaciones

[ecuacion1, ecuacion2,…, ecuación N]

Dentro de corchetes y separadas por comas, luego de esto, se escriben dentro de otros
corchetes las variables que buscamos despejar, también separadas por comas

[variable1, variable2,…, variable N]


El sistema nos arroja los valores de las variables que satisfacen el sistema de ecuaciones.

Ejemplo

Resolvamos el siguiente sistema de ecuaciones

a. 7x- 2y + 3z = 10
x - 5y + 12z = 22
3x – 3y + z = 7

Ingresamos el sistema de ecuaciones a máxima teniendo en cuenta que se antepone *


cada vez que vayamos a multiplicar, usamos paréntesis para separar operaciones y
agregamos las variables x, y, z que son los valores a encontrar

Ejemplo

7x- 2y + 3z = 10 es igual en máxima 7*x-2*y+3*z=10

Veamos otros ejemplos.

b. x – 8y + 19z = 101
21x + 15y – 2z = 72
32x – y – 2z = 7

c. -3x +2y – 13z = 23


x - √5y +33z = 43
√2x - √3y + √6z =√7

(%o56)[[x=(sqrt(5)*(((2920590537869*sqrt(2)*3^(3/2)+21275594282512)*sqrt(6)-
21527851975394*sqrt(3)-3467622591765*2^(7/2))*
sqrt(7)+(306607714810790*sqrt(3)+23443213906931*2^(9/2))*sqrt(6)-
211421189623133*2^(3/2)*sqrt(3)-1075913572102224)+ ((-
9880203534073*2^(3/2)*sqrt(3)-
48231036443178)*sqrt(6)+12924551953036*3^(3/2)+14488534869605*2^(5/2))*sqrt(7)+(-
674209636304852*sqrt(3)-
420799623446677*2^(3/2))*sqrt(6)+22327251184901*2^(5/2)*3^(5/2)+141793496712144
0)/
( 56761312389112),y=(sqrt(5)*(((984038755933*2^(5/2)*sqrt(3)+9518367189414)*sqrt(6)-
3742672579600*3^(3/2)- 3299098501495*2^(5/2))*sqrt(7)+
(140492596963432*sqrt(3)+84599185142771*2^(3/2))*sqrt(6)-
4454530223203*2^(9/2)*3^(3/2)-505423784610568)+((-2999229431251*sqrt(2)*3^(3/2)-
22049101511284)*sqrt(6)+14203728013934*sqrt(3)+193449619695*2^(15/2))*sqrt(7)+(-
300893872098266*sqrt(3)-
95419975560053*2^(5/2))*sqrt(6)+156548867710859*2^(3/2)*sqrt(3)+992793370469088)/
( 28380656194556),z=-
(sqrt(5)*( ((810822672761*sqrt(2)*sqrt(3)+1981024160760)*sqrt(6)-
504397050538*3^(3/2)-292666982485*2^(7/2))*sqrt(7)+
(27527135121434*sqrt(3)+4312315253755*2^(7/2))*sqrt(6)-
1766056986683*2^(3/2)*3^(5/2)-92772736758800)+((-298595743967*2^(3/2)*3^(3/2)-
4345900252646)*sqrt(6)+4577388886276*sqrt(3)+1438773329835*2^(5/2))*sqrt(7)+(-
3004109270884*sqrt(3)-
38387620450739*2^(3/2))*sqrt(6)+22287542043893*2^(5/2)*sqrt(3)+122164738802888)/
( 6761312389112)]]

Dada la extensión de estas respuestas y su poca utilidad para la comprensión del


ejercicio, se agrega a la expresión un, numer; con lo cual, el programa nos entrega una
estimación numérica lo más cercana posible al valor real.

La función Linsolve, resuelve la lista de ecuaciones simultáneas para una lista de


variables. Exige expresiones polinómicas lineales.

Por otro lado la función Solve, resuelve una ecuación despejando alguna variable, o
trayendo la sentencia linsolve para solucionar un sistema de ecuaciones lineales de
forma trivial.

Función Coefmatrix y Addcol

La función coefmatrix sirve para construir la matriz de un sistema de ecuaciones


únicamente con los coeficientes de las variables.

Para construir la matriz ingresamos las variables igual que con la función solve.

Ejemplo
Para construir la matriz del siguiente sistema de ecuaciones

7x- 2y + 3z = 10
x - 5y + 12z = 22
3x – 3y + z = 7

x – 8y + 19z = 101
21x + 15y – 2z = 72
32x – y – 2z = 7

-3x +2y – 13z = 23


x - √5y +33z = 43
√2x - √3y + √6z =√7

La función addcol, sirve para agregarle una columna a una matriz bien sea al lado
izquierdo o derecho. De esta forma podemos construir las matrices extendidas de estos 3
sistemas agregando los valores de los términos independientes como una columna al final
de las matrices creadas.

Para ello escribimos la función addcol seguida de un par de paréntesis donde colocamos
entre corchetes el origen de la matriz creada, seguida de una coma y un par de corchetes
que contengan los valores que queremos adicionar en la nueva columna

7x- 2y + 3z = 10
x - 5y + 12z = 22
3x – 3y + z = 7
x – 8y + 19z = 101
21x + 15y – 2z = 72
32x – y – 2z = 7

-3x +2y – 13z = 23


x - √5y +33z = 43
√2x - √3y + √6z =√7

Para las siguientes funciones usaremos las matrices

Operador “.” (a.b)


El operador “.” realiza la multiplicación matricial y el producto escalar. Cuando los
operados son dos matrices de mismas dimensiones Mnxn

- A.B
Invert
Devuelve la inversa de la matriz. La implementación actual no es eficiente para matrices
de orden grande.

- A-1 (invert (A))

Ejercicio

Resuelva el sistema de ecuaciones AX = b, donde usando la inversa

b/A = X

Encuentre la inversa de A (1/A) (Mediante la función “invert”)

Haga la multiplicación matricial entre la inversa de A y la matriz b para hallar el valor de X


Transpose
Calcula la transpuesta de M. Si M es una matriz, el valor devuelto es otra matriz N tal
que N[i,j] = M[j,i].

- At (transpose

Determinant:
Calcula el determinante de M por un método similar al de eliminación de Gauss.

- det (A)

Columnop (M, i, j, x)
Si M es una matriz, devuelve la matriz que resulta de hacer la operación columna C i <- C
i - x*C j.

Rowop (M, i, j, x)
Si M es una matriz, devuelve la matriz que resulta de realizar la transformación R i <- R i –
x*(R j) con las filas R i y R j.

Columnswap (M, i, j)
Si M es una matriz, intercambia las columnas i y j.

Rowswap (M, i, j)
Si M es una matriz, intercambia las filas i y j.
Adjoint (M)
Devuelve el adjunto de la matriz M. La matriz adjunta es la transpuesta de la matriz de
cofactores de M.

Echelon (M)
Devuelve la forma escalonada de la matriz M, obtenida por eliminación gaussiana. La
forma escalonada se calcula a partir de M mediante operaciones elementales con sus
filas.

Matrix (fila_1, ..., fila n)


Devuelve una matriz rectangular con las filas fila_1, ..., fila n. Cada fila es una lista de
expresiones. Todas las filas deben tener el mismo número de miembros
Minor (M, i, j)
Devuelve el menor (i, j) de la matriz M. Esto es, la propia matriz M, una vez extraídas la
fila i y la columna j.
Submatrix (M, j 1, ..., j n)
Devuelve una nueva matriz formada a partir de la matriz M pero cuyas filas i 1, ..., i m y
columnas j 1, ..., j n han sido eliminadas.

Triangularize
Devuelve la forma triangular superior de la matriz M, obtenida por eliminación gaussiana.
El resultado es el mismo que el devuelto por echelon

Ejemplos.

Usando el comando addcol se construye una matriz a en MAXIMA que contenga todas
las columnas de A, y al final la columna B.
Usamos la función Triangularize para triangular la matriz a

- Realicemos las siguientes operaciones:

o a:rowop(a,3,4,a[3,4]/a[4,4]);

o a:rowop(a,2,4,a[2,4]/a[4,4]);

o a:rowop(a,1,4,a[1,4]/a[4,4]);
o a:rowop(a,2,3,a[2,3]/a[3,3]);

o a:rowop(a,1,3,a[1,3]/a[3,3]);
o a:rowop(a,1,2,a[1,2]/a[2,2]);

Observamos el mismo proceso de Gauss-Jordán, realizando operaciones de fila usando


los pivotes para transformar en ceros los demás elementos de sus respectivas columnas

- Ahora comparamos usando la función linsolve


El comando linsolve, encuentra los valores que satisfacen el sistema de ecuaciones, los
comandos de operación de fila “rowop” consiguen el mismo resultado pero es preciso
ejecutarlos sobre una matriz triangular el número de veces requerido para lograr los ceros
de la triangular superior.

Ejercicio

1. Guarde en la A la matríz

, luego escriba el comando:

A[1,1]*(-1)^(1+1)*\determinant(minor (A,1,1))+
A[1,2]*(-1)^(1+2)*\determinant(minor (A,1,2))+
A[1,3]*(-1)^(1+3)*\determinant(minor (A,1,3))+
A[1,4]*(-1)^(1+4)*\determinant(minor (A,1,4));

- Comparamos con la función determinant (A)

El valor obtenido es el mismo, con la diferencia de que en el segundo caso solo se


ingresa el comando determinant, mientras que en el proceso seguido en el paso anterior
se calcularon las determinantes de 4 menores de la matriz.

Ejercicio

1) Al intercambiar las filas 1 y 3 de la matriz A, el valor del determinante cambia de


signo?

Determinante (A)

Determinante (A, cambiando las filas 1 y 3)


Como vemos si se cambia el signo del valor del determinante.

2) El determinante de AB es el determinante de A por el determinante de B?


Det (A) =
Det (B) =
Det(A)*Det(B) =
Det (A*B) =

En este caso el valor es el mismo y con el mismo signo

3) Al realizar
-3 la fila 3 más la fila 1 y el resultado ponerlo en la fila 1
El valor del determinante de la matriz A no cambia
El resultado de modificar la fila 1, sumándole el resultado de multiplicar la fila 3 por (-3)

El determinante de esta nueva matriz es

El valor de la determinante de esta nueva matriz es igual al de la matriz A

4) Al realizar el cambio anterior pero entre columnas el resultado no cambia


Al efectuar las operaciones de columna a la matriz A obtenemos la matriz siguiente

Hallando la determinante de esta matriz obtenemos:

El valor de la determinante es el mismo.


VECTORES

Defina los vectores u, v y w en máxima usando la función entermatrix (1,n) con n=3

Ejercicios

1. Calcular 5au – bw + 2v

a. Ejecute cada multiplicación con el operador “*”

b. Ejecute las sumas con los operadores correspondientes, entre los


resultados de la multiplicación

2. Comprobar las siguientes propiedades

a. (u+v)+w = u+(v+w)

i. Ejecútense las operaciones tal como aparecen


ii. Dado que el resultado de ejecutar ambas operaciones es
exactamente el mismo concluimos que la propiedad se cumple

b. a(bw) = (ab) w

i. Ejecute las operaciones tal como aparecen

ii. Dado que el resultado es el mismo decimos que la propiedad se


cumple

c. b(u+v) = bu + bv

i. Ejecute las operaciones tal como aparecen

ii. Dado que los resultados son iguales aceptamos que se cumple la
propiedad

3. Calcular la norma y el ángulo de los vectores u, v y w

Normal de u

Norma de V
Norma de W

4. Calcular la norma y el ángulo del vector u+v y verifique la desigualdad triangular

Norma u+v

Desigualdad triangular

Angulo
5. Verificar las siguientes propiedades del producto punto

a. u.w = w.u

i. Ejecute las operaciones tal como aparecen

ii. El resultado es el mismo, el producto punto es conmutativo

b. w.(u+v) = w.u + w.v

i. Ejecute las operaciones en Máxima tal como aparecen

ii. El resultado es el mismo, queda demostrada la propiedad

c. u.v = u.w entonces v=w

i. Dado que los valores son distintos asumimos que v y w son


distintos

6. Calcular el ángulo entre


a. u y v

b. v y w

7. Calcular

a. Proywu

b. ProyuV

8. Producto cruz (~)


a. Funcion load (vect)

i. El paquete vect define funciones para análisis vectorial. Para cargar


el paquete en memoria se debe hacer load ("vect") y con demo
("vect") se presenta una demostración sobre las funciones del
paquete. El paquete de análisis vectorial puede combinar y
simplificar expresiones simbólicas que incluyan productos escalares
y vectoriales, junto con los operadores de gradiente, divergencia,
rotacional y laplaciano. La distribución de estos operadores sobre
sumas o productos se gobierna por ciertas variables, al igual que
otras transformaciones, incluida la expansión en componentes en
cualquier sistema de coordenadas especificado. También hay
funciones para obtener el potencial escalar o vectorial de un campo.
El paquete vect contiene las siguientes funciones: vectorsimp,
scalefactors, express, potential y vectorpotential. El paquete vect
declara el operador . como conmutativo.

b. Realice las siguientes operaciones

i. u x v

ii. v x w
c. Comprobar las siguientes propiedades

i. uxv=-vxu
• Se observa que el resultado de este producto cruz es el
mismo que el de uxv (del punto anterior) con los signos
cambiados.

ii. u x (v x w) = (u.w)v - (u.v)w


El resultado obtenido mediante las dos operaciones es el mismo, por tanto queda
demostrada la igualdad de la propiedad

iii. v.(u x w) = det ((2, √5, 209), (12, 105, √1234), (√5, √11, √23))

El resultado de hacer el determinante de la matríz que contine los 3 vectores es el mismo


valor que el de hacer v(uxw) pero con signo contrario

Graficas

9. Explique para que sirve el comando load (“draw”)

El módulo “draw” es relativamente reciente en la historia de Maxima y permite dibujar


gráficos en 2 y 3 dimensiones con relativa comodidad. Se trata de un módulo adicional
que hay que cargar previamente para poder usarlo.
Draw 3d Una vez cargado el módulo draw, podemos utilizar la órden draw3d para dibujar
3 dimensiones o draw
Xrange y Yrange son opciones variables que por defecto se ajustan automáticamente al
objeto que se esté representando
Vector dibuja vectores tanto en dos como en tres dimensiones. Para dar un vector hay
que fijar el origen y la dirección.
Head_length indica, en las unidades del eje x, la longitud de las flechas de los vectores.
Valor por defecto: 2. Esta opción sólo es relevante para objetos de tipo vector.
Head_angle indica el ángulo, en grados, entre la flecha y el segmento del vector. Valor
por defecto: 45. Esta opción sólo es relevante para objetos de tipo vector.
10. Grafique el vector

a. U

VectorU

200

150

100

50

0 2
0.5 1.5
1 1
1.5 0.5
2 0

b. V

VectorV

35
30
25
20
15
10
5
0

100
80
0 60
2 40
4
6 20
8
10
12 0

c. U+V
U+V

200
150
100
50
0

0 100
2 80
4 60
6
8 40
10 20
12
14 0

d. W

VectorW

4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

3
2.5
2
0 1.5
0.5
1 1
1.5 0.5
2 0

e. aV+bW
aV+bW

120
100
80
60
40
20
0

350
0 300
5 250
10
15 200
20 150
25
30 100
35 50
40
45 0

11. Graficar

Implicit nos permite dibujar el lugar de los puntos que verifican una ecuación en el plano

Parametric El programa wxMaxima nos permite también representar curvas en forma


paramétrica, es decir, curvas definidas como (x(t); y(t)) donde el parámetro t varía en un
determinado intervalo compacto [a; b]. Para ello, dentro del comando plot2d añadimos
“parametric” de la forma siguiente: plot2d([parametric,x(t),y(t),[t,a,b]]) gráfica de la curva
(x(t); y(t)) en [a; b]

a. Los planos

i. x+y-z=2

• Defina la función despejando la variable z

• Z=x+y-2

ii. 12x - 2y - 5z = 17

• Despejando z obtenemos

• Z=(12x-2y-17)/5
b. Las superficies

i. Z=x2+y2

ii. 2x2-3y2+2z2=1

• Z=√(2x2-3y2-1)/2

You might also like