WX Maxima
rijerova10 de Septiembre de 2014
3.870 Palabras (16 Páginas)350 Visitas
Objetivos
Emplear la herramienta wxmáxima como software de matemáticas, para el cálculo del algebra de matrices determinante.
Metodología
Utilice el tutorial de wxmáxima (El aula de Matemáticas con software libre: Máxima de Miguel A. Jorquera) que está en el correo nuestro. Indague y haga exploración del software.
Realice los ejercicios uno por uno, realizar un pantallazo con la tecla (ImprPant) de los ejercicios pégalo en Word o copie directamente y pasarlo a Word, guárdelo como documento PDF, preséntelo con su hoja de presentación y coloque los enunciados de los ejercicios.
Ejercicios
Complete las siguientes tablas:
Sentencia ~
Descripción El operador del producto exterior se representa por el símbolo ~. Este es un operador binario. Sus argumentos deben ser expresiones que tengan escalares, tensores covariantes de rango uno o tensores covariantes de rango l que hayan sido declarados antisimétricos en todos los índices covariantes. El comportamiento del operador del producto exterior se controla con la variable igeowedge_flag, como en el ejemplo siguiente:
Sentencia **
Descripción Operador de exponenciación. Maxima identifica ** con el operador ^ en la entrada de expresiones, pero se representa como ^ en las salidas no formateadas (display2d=false), o colocando un superíndice en la salida formateada (display2d=true).
La función fortran representa el operador de exponenciación con **, tanto si se ha introducido como ** o como ^. Ejemplos:
Sentencia •
Descripción El operador punto, para multiplicación de matrices (no-conmutativo). Cuando "." se usa de esta forma, se dejarán espacios a ambos lados de éste, como en A . B. Así se evita que se confunda con el punto decimal de los números.
Sentencia '
Descripción El operador comilla simple ' evita la evaluación. Aplicado a un símbolo, la comilla simple evita la evaluación del símbolo. Aplicado a la llamada de una función, la comilla simple evita la evaluación de la función llamada, aunque los argumentos de la función son evaluados (siempre y cuando la evaluación no se evite de otra manera). El resultado es una forma de nombre de la función llamada. Aplicado a una expresión con paréntesis, la comilla simple evita la evaluación de todos los símbolos y llamadas a funciones que hayan en la expresión. E.g., '(f(x)) significa que no se evalua la expresión f(x). 'f(x) (con la comilla simple aplicada a f en cambio de a f(x)) significa el retorno de la forma de nombre de f aplicada a [x].
La comilla simple no evita la simplificación. Cuando el interruptor global noundisp es true, los nombres se muestran con una comilla simple. Este interruptor siempre tiene como valor true cuando se muestran definiciones de funciones.
Ver también los operadores comilla-comilla '' y nouns. Ejemplos:
Aplicado a un símbolo, la comilla simple evita la evaluación del símbolo.
(%i1) aa: 1024;
(%o1) 1024
(%i2) aa^2;
(%o2) 1048576
(%i3) 'aa^2;
2
(%o3) aa
(%i4) ''%;
(%o4) 1048576
Aplicado a la llamada de una función, la comilla simple evita la evaluación de la función llamada, aunque los argumentos de la función son evaluados (siempre y cuando la evaluación no se evite de otra manera). El resultado es una forma de nombre de la función llamada.
(%i1) x0: 5;
(%o1) 5
(%i2) x1: 7;
(%o2) 7
(%i3) integrate (x^2, x, x0, x1);
218
(%o3) ---
3
(%i4) 'integrate (x^2, x, x0, x1);
7
/
[ 2
(%o4) I x dx
]
/
5
(%i5) %, nouns;
218
(%o5) ---
3
Aplicado a una expresión con paréntesis, la comilla simple evita la evaluación de todos los símbolos y llamadas a funciones que haya dentro en la expresión.
(%i1) aa: 1024;
(%o1) 1024
(%i2) bb: 19;
(%o2) 19
(%i3) sqrt(aa) + bb;
(%o3) 51
(%i4) '(sqrt(aa) + bb);
(%o4) bb + sqrt(aa)
(%i5) ''%;
(%o5) 51
La comilla simple no evita la simplificación.
(%i1) sin (17 * %pi) + cos (17 * %pi);
(%o1) - 1
(%i2) '(sin (17 * %pi) + cos (17 * %pi));
(%o2) - 1
Internamente, Maxima considera que las operaciones con números decimales de coma flotante son simples simplificaciones.
(%i1) sin(1.0);
(%o1) .8414709848078965
(%i2) '(sin(1.0));
(%o2) .8414709848078965
Tabla 1.
Ejemplifique las instrucciones de la tabla 2.
Instrucción Descripción Ejemplo
Adjoint Función: adjoint (M)
Devuelve el adjunto de la matriz M. La matriz adjunta es la transpuesta de la matriz de cofactores de M.
Invert Función: invert (M)
Devuelve la inversa de la matriz M, calculada por el método del adjunto. La implementación actual no es eficiente para matrices de orden grande.
Cuando detout vale true, el determinante se deja fuera de la inversa a modo de factor escalar. Los elementos de la matriz inversa no se expanden. Si M tiene elementos polinómicos, se puede mejorar el aspecto del resultado haciendo expand (invert (m)), detout.
Véase la descripción de ^^ (exponente no conmutativo) para información sobre otro método para invertir matrices.
determinant Función: determinant (M)
Calcula el determinante de M por un método similar al de eliminación de Gauss. La forma del resultado depende del valor asignado a ratmx.
Existe una rutina especial para calcular determinantes de matrices con elementos dispersas, la cual será invocada cuando las variables ratmx y sparse valgan ambas true.
Dotproduct Función: dotproduct (u, v)
Devuelve el producto escalar de los vectores u y v. Equivale a conjugate (transpose (u)) . v. Los argumentos u y v deben ser vectores columna.
Vector Objeto gráfico: vector ([x,y], [dx,dy])
Objeto gráfico: vector ([x,y,z], [dx,dy,dz])
Dibuja vectores en 2D y 3D. Este objeto se ve afectado por las siguientes opciones gráficas: head_both, head_length, head_angle, head_type, line_width, line_type, key y color.
2D . vector ([x,y], [dx,dy]) dibuja el vector [dx,dy] con origen en [x,y]. 3D (%i1) load(draw)$
(%i2) draw2d(xrange = [0,12],
yrange = [0,10],
head_length = 1,
vector([0,1],[5,5]), /* default type */
head_type = 'empty,
vector([3,1],[5,5]),
head_both = true,
head_type = 'nofilled,
line_type = dots,
vector([6,1],[5,5]))$
Head_lenght Opción gráfica: head_length
Valor por defecto: 2
head_length indica, en las unidades del eje x, la longitud de las flechas de los vectores. Esta opción sólo es relevante para objetos de tipo vector. (%i1) load(draw)$
(%i2) draw2d(xrange = [0,12],
yrange = [0,8],
vector([0,1],[5,5]),
head_length = 1,
vector([2,1],[5,5]),
head_length = 0.5,
vector([4,1],[5,5]),
head_length = 0.25,
vector([6,1],[5,5]))$
Head_type Opción gráfica: head_type
Valor por defecto: filled
head_type se utiliza para especificar cómo se habrán de dibujar las flechas de los vectores. Los valores posibles para esta opción son: filled (flechas cerradas y rellenas), empty (flechas cerradas pero no rellenas) y nofilled (flechas abiertas). Esta opción sólo es relevante para objetos de tipo vector. (%i1) load(draw)$
(%i2) draw2d(xrange = [0,12],
yrange = [0,10],
head_length = 1,
vector([0,1],[5,5]), /* default type */
head_type = 'empty,
vector([3,1],[5,5]),
head_type = 'nofilled,
vector([6,1],[5,5]))$
Head_both Opción gráfica: head_both
Valor por defecto: false
Cuando head_both vale true, los vectores se dibujan bidireccionales. Si vale false, se dibujan unidireccionales. Esta opción sólo es relevante para objetos de tipo vector. (%i1) load(draw)$
(%i2) draw2d(xrange
...