Post on 29-Jul-2018
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
COMANDOS BÁSICOS DE ÁLGEBRA LINEAL EN MAPLE
COMANDOS BÁSICOS DE ÁLGEBRA LINEAL EN MAPLE
Prof. Carlos Conde LProf. Carlos Conde LáázarozaroProf. Arturo Hidalgo LProf. Arturo Hidalgo LóópezpezProf. Alfredo LProf. Alfredo Lóópez Benito pez Benito
Marzo, 2007
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
Manipulación de expresiones algebraicasManipulación de expresiones algebraicasSe usan los comandos:
[> simplify( expresión) simplifica
[>simplify(x*(x-5)**3+x**2-x*(x+4)*(x-3)/(x*(x-2)));5 4 3 2x 17x 106x 278x 249x 12
x 2− + − + +
−
[> expand( expresión) expande
[>expand(x*(x-5)**3+x**2-x*(x+4)*(x-3)/(x*(x-2)));
24 3 2 x x 12x 15x 76x 125x
x 2 x 2 x 2− + − − − +
− − −
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
Manipulación de expresiones algebraicasManipulación de expresiones algebraicas
[> factor( expresión) factoriza[> factor(x^3-6*x^2+12*x-8);
(x-2)3
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
Manipulación de expresiones algebraicasManipulación de expresiones algebraicas
[> eq1:=x+y=0;eq2:=x+3*y=17;
[> solve({eq1,eq2},{x,y});17 17x , y=2 2
−⎧ ⎫=⎨ ⎬⎩ ⎭
[> solve( {ecuaciones},{incógnitas}) resuelve ecs.
[> eq:=x^3-6*x^2+12*x-8=4:[> solve(eq);
2 2 2 2 23 3 3 3 31 1 1 12 2, - 2 I 3 2 , - 2 I 3 2
2 2 2 2
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠+ + −
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
Manipulación de expresiones algebraicasManipulación de expresiones algebraicas
[> fsolve( {ecuaciones},{incógnitas}) resuelve ecs.proporcionandosolucionesreales[> eq:=x^3-6*x^2+12*x-8=4:
[> fsolve(eq);
3.58740105
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
CONJUNTOS EN MAPLECONJUNTOS EN MAPLECONJUNTO: Grupo de elementos NO ORDENADOS
En MAPLE se definen escribiéndolos entre llaves ( {...} )y separando sus elementos por comas (,).
Pueden asignarse a un nombre.Ejemplo:
[> C:={'manolo',x=2.4*x**2-y,A, B, aa, B, 2, 4, 7.14, Pi, 2}:
Los elementos repetidos sólo se consideran una vez.
[> C;{2, 4, A, B, aa, π, x=2.4x2-y, 7.14, manolo}
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
LISTAS EN MAPLELISTAS EN MAPLELISTA: Grupo de elementos ORDENADOS
En MAPLE se definen escribiéndolos entre corchetes ([...]) y separando sus elementos por comas (,).
Pueden asignarse a un nombre.Ejemplo:
[> L:=['manolo',x=2.4*x**2-y,A, B, aa, B, 2, 4, 7.14, Pi, 2]:
Los elementos repetidos se consideran tantas veces como aparezcan.
[> L;{manolo, x=2.4x2-y, A, B, aa, B, 2, 4, 7.14, π, 2}
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
LISTAS EN MAPLELISTAS EN MAPLEUn elemento de una lista (o de un conjunto) puede
referenciarse con el nombre de la lista (o del conjunto)seguido del índice que en ella ocupa entre corchetes.
Con el conjunto y la lista de las diapositivas anteriores se tiene que:
EJEMPLO:
[> C[1];C[2];24
[> L[9];7.14
[> C[1]+L[9];9.14
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
VECTORES EN MAPLEVECTORES EN MAPLEDefiniciDefinicióón de vectores en n de vectores en MapleMaple::
[> nombre_vector:=array(1..n);
Dimensionado de un vector de n componentes
Definición de un vector con sus componentes
[> v:=array(1..3,[1.5, 2, -3]);
Ejemplo: Para definir el vector v = (1.5, 2, - 3)
v[1] v[2] v[3]
[> nombre_vector:=array(1..n, [c1, …,cn]);o
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
VECTORES EN MAPLEVECTORES EN MAPLE
La instrucción array exige definir el límite inferior de ladimensión, por lo que su uso es obligado cuando éstees diferente a 1.
[> nombre_vector:=array(ind_nor..ind_mayor);
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
VECTORES EN MAPLEVECTORES EN MAPLE
[> w:=vector(3,[-1, 2.5, -3.3]);
Otra forma de definir vectores en Otra forma de definir vectores en MapleMaple::
[> nombre_vector:=vector(n);Dimensionado de un vector de n componentes
Definición de un vector con sus componentes
Ejemplo: Para definir el vector w = (-1, 2.5, - 3.3)
w[1] w[2] w[3]
[> nombre_vector:=vector(n, [c1, …, cn]);o
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
VECTORES EN MAPLEVECTORES EN MAPLE
La instrucción vector toma límite inferior de los subíndi-ces el valor 1, por lo que su uso es equivalente a:
[> array(1..n);
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
VECTORES EN MAPLEVECTORES EN MAPLEEJEMPLO:
1º) Define en Maple el vector: = (2.x+1)a (2. 3,e ,sen(2.x),ln(18))
2º) Escribe las componentes a1, a2, a3. Solución:
[> a:=array(1..4,[2*sqrt(3),exp(2*x+1),sin(2*x),ln(18)]);
[> a:=vector(4,[2*sqrt(3),exp(2*x+1),sin(2*x),ln(18)]);
1º)
2º) [> a[1]; a[2]; a[3];
:= a [ ], , ,2 3 e( ) + 2 x 1
( )sin 2 x ( )ln 18
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON VECTORES EN MAPLEOPERACIONES CON VECTORES EN MAPLE
Suma de vectores. Operador: +
Resta de vectores . Operador: -
Producto escalar: dotprod ( ) o innerprod( )
Producto vectorial: crossprod ( )
Las dos últimas operaciones requieren haber cargado la librería linalg mediante la instrucción:
[> with(linalg):
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON VECTORES EN MAPLEOPERACIONES CON VECTORES EN MAPLE
Sean los vectores: v = (1.5, 2, - 3) y w = (-1, 2.5, - 3.3)
Se pide:
2. Calcular el producto escalar: (v, w)
3. Calcular el producto vectorial: (v-w) x (v+w)
1. Definir los vectores v y w.
Ejercicio:
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON VECTORES EN MAPLEOPERACIONES CON VECTORES EN MAPLE
[> v:=array(1..3,[1.5,2, -3]);
[> w:=vector(3,[-1, 2.5, -3.3]);
1. Definición de los vectores:
2. Cálculo del producto escalar
[> pesc:=dotprod(v,w);
Solución pesc := 13.4
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON VECTORES EN MAPLEOPERACIONES CON VECTORES EN MAPLE
3. Cálculo del producto vectorial
[> pvect:=crossprod(v-w,v+w);
Solución pvect := [1.80, 15.90, 11.50]
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
MATRICES EN MAPLEMATRICES EN MAPLE
[> A:=array(1..m,1..n);Dimensionado de una matriz de m filas y n columnas
Definición de una matriz especificando sus elementos
Ejemplo:
[> A:=array(1..2,1..3,[[2,-7,4],[5,8,-11]]);
A[1,2] A[2,3]
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠2 -7 4
A =5 8 -11
[> A:=array(1..m,1..n,[[A11…A1n],[A21…,A2n],…,[Am1,…,Amn]);
o
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
MATRICES EN MAPLEMATRICES EN MAPLE
[> nombre_matriz:=matrix(m, n);
Otra forma de “dimensionar” una matriz:
La instrucción array exige definir el índice inferior de lasfilas y columnas de la matriz, por lo que su uso es obligadocuando éste es diferente a 1.
> A:=array(ind_fila_inf..ind_fila_sup,ind_col_inf..ind_col_sup);[
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
MATRICES EN MAPLEMATRICES EN MAPLE
Ejemplo (Matriz Cuadrada):
[>A:=array(1..3,1..3,[[1,-2,0.5],[0,2,4],[-1,11,9]]);
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
1 -2 0.5A = 0 2 4
-1 11 9
O también[> A:=matrix(3,3,[[1,-2,0.5],[0,2,4],[-1,11,9]]);
O también[> A:=matrix(3, 3,[1,-2,0.5,0,2,4,-1,11,9]);
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
MATRICES EN MAPLEMATRICES EN MAPLE
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜ ⎟⎜ ⎟⎝ ⎠
xe 2 -0.51A = 3 0 2
3 -7.5 9
Ejercicio:
1º) Define en Maple la matriz:
2º) Escribe las componentes A11, A23, A32:
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
MATRICES EN MAPLEMATRICES EN MAPLESolución:1º) Cualquiera de las siguientes formas es válida:
[>A:=array(1..3,1..3,[[exp(x),2,-0.5],[3,0,1/2],[sqrt(3),-7.5,9]]);
[>A:=matrix(3,3,[exp(x),2,-0.5,3,0,1/2,sqrt(3),-7.5,9]);
[>A:=matrix(3,3,[exp(x),2,-0.5],[3,0,1/2],[sqrt(3),-7.5,9]]);
2º) [> A[1,1]; A[2,3]; A[3,2];
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON MATRICES EN MAPLEOPERACIONES CON MATRICES EN MAPLE
Suma de matrices. El operador es: +
Resta de matrices. El operador es: -
Producto de matrices. El operador es: &*
Producto de escalar por matriz. El operador es: *
IMPORTANTE: EMPLEAR SIEMPRE evalmAL EVALUAR EXPRESIONES MATRICIALES.¡ !
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON MATRICES EN MAPLEOPERACIONES CON MATRICES EN MAPLEEjemplo. Ejemplo. Sumar las matrices:Sumar las matrices:
⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠2 -7 4 1 2 3
M = ; N =5 8 -11 4 5 6
Almacenando el resultado en una matriz llamada SMAT
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON MATRICES EN MAPLEOPERACIONES CON MATRICES EN MAPLE
[> SMAT := array(1..2,1..3):
[> M := array(1..2,1..3,[[2,-7,4],[5,8,-11]]);
[> N := array(1..2,1..3,[[1,2,3],[4,5,6]]);
Solución:
Introducción de las matrices
(Recomendable)
Realización de la suma:
[> SMAT := evalm(M+N);3 -5 7
SMAT :=9 13 -5⎛ ⎞⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
Resultado
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON MATRICES EN MAPLEOPERACIONES CON MATRICES EN MAPLE
Ejemplo. Ejemplo. Producto de un escalar por una matrizProducto de un escalar por una matriz
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎜ ⎟⎝ ⎠
0 1/2 2-1 0 6
M = 3.2 0 54.1 -0.6 28.4 44 1
Se considera la matriz:
Obtener la matriz 7.M y almacenar el resultado enla matriz ML
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OPERACIONES CON MATRICES EN MAPLEOPERACIONES CON MATRICES EN MAPLE
[> ML := matrix(5, 3):[> M := matrix(5, 3,[0, 1/2, sqrt(2), -1, 0,
6,3.2, 0, 5, 4.1, -0.6, 2, 8.4, 44, 1]);
Solución:Introducción de las matrices
[> ML := evalm(7 * M);
Realización del producto: Resultado
:= ML
⎡
⎣
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
072
7 2
-7 0 42
22.4 0 35
28.7 -4.2 14
58.8 308 7
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
OTRAS OPERACIONES CON MATRICES EN MAPLE
OTRAS OPERACIONES CON MATRICES EN MAPLE
Inversa de una matriz: inverse ( )Determinante de una matriz: det ( )
Traza de una matriz: trace ( )
Valores propios de una matriz: eigenvals ( )
Vectores propios de una matriz: eigenvects ( )
Rango de una matriz: rank ( )
Traspuesta de una matriz: transpose ( )
Las operaciones anteriores requieren haber cargado la librería linalg .
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
LA LIBRERÍA linalgLA LIBRERÍA linalg
[> with(linalg);
La librería linalg permite realizar muchas más operaciones:
BlockDiagonal GramSchmidt JordanBlock LUdecomp QRdecomp Wronskian addcol addrow adj adjoint, , , , , , , , , ,[angle augment backsub band basis bezout blockmatrix charmat charpoly cholesky col coldim colspace, , , , , , , , , , , , ,colspan companion concat cond copyinto crossprod curl definite delcols delrows det diag diverge dotprod, , , , , , , , , , , , , ,eigenvals eigenvalues eigenvectors eigenvects entermatrix equal exponential extend ffgausselim fibonacci, , , , , , , , , ,forwardsub frobenius gausselim gaussjord geneqns genmatrix grad hadamard hermite hessian hilbert, , , , , , , , , , ,htranspose ihermite indexfunc innerprod intbasis inverse ismith issimilar iszero jacobian jordan kernel, , , , , , , , , , , ,laplacian leastsqrs linsolve matadd matrix minor minpoly mulcol mulrow multiply norm normalize nullspace, , , , , , , , , , , , ,orthog permanent pivot potential randmatrix randvector rank ratform row rowdim rowspace rowspan rref, , , , , , , , , , , , ,scalarmul singularvals smith stackmatrix submatrix subvector sumbasis swapcol swaprow sylvester toeplitz, , , , , , , , , , ,trace transpose vandermonde vecpotent vectdim vector wronskian, , , , , , ]
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
1 -3 3A = 3 -5 3
6 -6 4
Ejemplo: Dada la matriz
Calcular:
1. Inversa de A2. Determinante de A3. Traspuesta de A4. Traza de A5. Rango de A6. Valores propios de A7. Vectores propios de A
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios
[> restart:with(linalg):Comenzamos....
[> A := matrix(3,3,[1,-3,3,3.,-5,3,6,-6,4]);
Definimos la matriz....
Si queremos que Maple la escriba:
[> evalm(A); [> print(A);o bien:⎡
⎣
⎢⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥⎥
1 -3 3
3. -5 3
6 -6 4
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios
[> A1 := inverse(A);
[> A1 := array(1..4,1..4):
1. Inversa de la matriz A:
Resultado:
⎡
⎣
⎢⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥⎥
-0.1250000000 -0.3750000000 0.3750000000
0.3750000000 -0.8750000000 0.3750000000
0.7500000000 -0.7500000000 0.2500000000
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios2. Determinante de la matriz A:
[> DD := det(A);
3. Traspuesta de la matriz A:
[> T := transpose(A);
Resultado:
:= DD 16.
Solución:
:= AT
⎡
⎣
⎢⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥⎥
1 3. 6
-3 -5 -6
3 3 4
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios4. Traza de la matriz A:
[> tr := trace(A);
5. Rango de la matriz A:
[> R := rank(A);Resultado:
:= R 3
Resultado:tr := 0
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios
[> lambda := eigenvals(A);6. Autovalores de la matriz A: Resultado:
:= λ , ,4. -2. -2.
[> vp := eigenvects(A);
7. Autovectores de la matriz A:
[ ], ,4.00000 1 { }[ ], ,0.447213 0.447214 0.894428
vp[2]
[ ], ,-2.00000 2 { },[ ], ,0.500002 1.50000 1.00001 [ ], ,-0.559017 0.559017 1.11804
vp[1] (multiplicidad algebraica doble)Que se interpreta:
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios
Sean los vectores: v (1.5, 2, - 3) y w (-1, 2.5, - 3.3)y la matriz: ⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
1 2 3A = 4 5 6
7 8 9Se pide:
1. Calcular el producto escalar: (v, w)
2. Calcular el producto vectorial: v x w
3. Calcular: v · A
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios
[> v:=array(1..3,[1.5,2, -3]);
[> w:=vector(3,[-1, 2.5, -3.3]);
[> A:=matrix(3,3,[[1, 2, 3],[4, 5, 6],[7, 8, 9]]);
Definición de los vectores y la matriz:
1. Cálculo del producto escalar
[> pesc:=dotprod(v,w);
Solución
pesc := 13.4
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas
EjerciciosEjercicios2. Cálculo del producto vectorial
[> pvect:=crossprod(v,w);
Solución
pvect := [0.9, 9.95, 5.75]
3. Cálculo de v ·A[> matv:=evalm(v&*A); Solución
matv := [-11.5, -11, -10.5]
(que, obviamente, es un vector)
Departamento de Matemática Aplicada y Métodos Informáticos
Universidad Politécnica de Madrid Ingeniería de Minas