TRABAJO CON MATRICES Y VECTORES Definición de matrices. > with(linalg); > A1:=matrix(2,3,[1,3,2,4,7,2]); > A2:=matrix(3,3,[-1,2,0,-1,1,3,0,2,1]); Matriz diagonal: > B1:=diag(1,2,3,4); Matriz identidad: > C:=diag(1,1,1,1); Visualización de una matriz. > A:=matrix(3,3,[0,2,1,1,0,-1,3,0,0]); > A; > evalm(A); Elementos de una matriz. > > > > > > evalm(A); A[1,1]; A[1,3]; A[2,3]; A[1,1]:=2; evalm(A); A[3,2]:=1; evalm(A); Operaciones con matrices. > > > > restart; with(linalg): A1:=matrix(3,4,[1,3,5,7,9,8,7,6,12,34,56,76]); A2:=randmatrix(3,4); Suma: > evalm(A1+A2); Producto por un escalar: > evalm(7*A1); Producto de matrices: > evalm(A1&*A2); OBS: Sólo puedden multiplicarse matrices con dimensiones adecuadas. > A3:=matrix(4,2,[-1,0,7,9,-5,3,2,1]); > evalm(A1&*A3); > multiply(A1,A3); > multiply(A3,A1); OBS: El producto de matrices no es conmutativo. Potencia: > evalm(A1^3); OBS: Sólo para matrices cuadradas. > A4:=matrix(3,3,[1,0,-2,0,-1,1,3,1,0]); > evalm(A4^2); Determinante: > evalm(A4); > det(A4); > det(A1); > evalm(A1); OBS: El determinante sólo está definido para matrices cuadradas. Matriz transpuesta: > evalm(A4); > transpose(A4); > det(A4); > det(transpose(A4)); OBS: El determinante de una matriz coincide con el de su transpuesta. > evalm(A1); > transpose(A1); Matriz inversa: > evalm(A1); > inverse(A1); OBS: Sólo existen matrices inversas de matrices cuadradas con determinante no nulo. > inverse(A4); > Generación de vectores. > v1:=vector([1,2,3,4]); > v2:=vector([4,4,3,13]); > Operaciones con vectores. Componentes de un vector: > v1; > evalm(v1); > v1[1], v1[3]; Suma de vectores: > > > > evalm(v1), evalm(v2); v1+v2; evalm(%); evalm(v1-v2); Producto de un escalar por un vector: > evalm(2*v1); > evalm(a*v1); Producto escalar de dos vectores: > evalm(v1), evalm(v2); > innerprod(v1,v2); > v3:=vector([3,-1,2]); > innerprod(v1,v3); > innerprod(v1,v2); OBS: Para poder calcular el producto escalar de dos vectores deben tener las mismas dimensiones. Producto vectorial de dos vectores: > v4:=vector([1,2,3]); > v5:=vector([4,5,6]); > crossprod(v4,v5); > crossprod(v5,v4); OBS: El producto vectorial no es conmutativo. > evalm(v1); > evalm(v2); > crossprod(v1,v2); OBS: El producto vectorial sólo está definido para vectores de tres componentes. > > Autovalores y autovectores. > restart; > with(linalg): > A:=matrix(3,3,[1, 0, 0, 1, 1, 0, 0, 1, 0]); Autovalores: > eigenvalues(A); Autovectores: > eigenvectors(A); NOTA: eigenvectors devuelve el valor propio, su multiplicidad y una base del subespacio asociado. > B:=matrix(2,4,[1,0,7,-3,5,-2,-1,0]); > eigenvalues(B); NOTA: Los autovalores y los autovectores sólo se calculan para matrices cuadradas. > C:=matrix(4,4,[4,2,-2,2,1,3,1,-1,0,0,2,0,1,1,-3,5]); > eigenvalues(C); > eigenvectors(C); > >