Академический Документы
Профессиональный Документы
Культура Документы
MANIPULACIN DE LISTAS
Introduce diversas listas y opera sobre las mismas, utilizando todas las funciones descriptas.
Definicin de matriz: Se llama matriz de orden mn a todo conjunto rectangular de elementos aij
dispuestos en m filas y n columnas. Simblicamente:
Abreviadamente suele expresarse en la forma A =(aij), con i =1, 2, ..., m, j =1, 2, ..., n. Los subndices
indican la posicin del elemento dentro de la matriz, el primero denota la fila (i) y el segundo la columna
(j). Por ejemplo el elemento a25 ser el elemento de la fila 2 y columna 5.
En Mathematica normalmente las matrices se escriben introduciendo los elementos que constituyen las
filas. En este caso cada fila corresponde a una lista y los elementos de sta entre llaves, separados por
comas.
a1={{3,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8},{5,6,7,8,9},{6,7,8,9,10}};
a2={{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1}};
a3={{1,0},{0,0},{2,3},{3,4},{-3,5}};
a4={{0,1,2,3,4}};
a5={0,1,2,3,4};
Escribe en el Mathematica las matrices a1, a2, a3, a4 y a5 y utiliza el comando mencionado para
visualizarlas en su forma rectangular habitual. Establece la diferencia entre las matrices a4 y a5.
El comando MatrixForm es nicamente una representacin y como tal no sirve para hacer operaciones
con l.
Las matrices se pueden escribir directamente. Si sus elementos proceden de evaluar cierta funcin se
pueden construir con el comando: Table[expresin,contador1,contador2]
Por ejemplo:
b1=Table[i^3,{i,4}]
b2=Table[i^2,{i,-3,5}]
b3=Table[i+2j,{i,4},{j,4}]
b4=Table[1/(i+j),{i,5},{j,5}]
Este comando depende de los contadores donde el primero de ellos determina las filas de la matriz y el
segundo las columnas.
Ejemplo:
1 3 0
Ejemplo: En la matriz , la diagonal principal est formada por (1,2,-8) y la secundaria
A = 5 2 3
1 4 8
por (0,2,1).
Matriz traspuesta: Dada una matriz A, se llama traspuesta de A, y se representa por At, a la matriz que
se obtiene cambiando filas por columnas. La primera fila de A es la primera columna de At , la segunda
fila de A es la segunda columna de At, etc.
De la definicin se deduce que si A es de orden m x n, entonces At es de orden n m.
Ejemplo:
1 4
Si A = 1 2 3 , entonces
At = 2 5
4 5 6
3
6
Matriz simtrica: Una matriz cuadrada A es simtrica si A = At, es decir, si aij = aji i, j.
1 1 3
Ejemplo: A = 1 2 4
3 4 5
Matriz antisimtrica: Una matriz cuadrada A es antisimtrica si A = At, es decir, si aij = aji i, j.
0 2 5
Ejemplo:
A = 2 0 4
5 4 0
Matriz nula es aquella que todos sus elementos son 0 y se representa por 0.
Matriz diagonal: Es una matriz cuadrada, en la que todos los elementos no pertenecientes a la diagonal
principal son nulos.
Matriz escalar: Es una matriz diagonal con todos los elementos de la diagonal iguales.
Matriz identidad: Es una matriz escalar con los elementos de la diagonal principal iguales a 1.
Matriz Triangular: Es una matriz cuadrada que tiene nulos todos los elementos que estn a un mismo
lado de la diagonal principal. Las matrices triangulares pueden ser de dos tipos:
Triangular Superior: Si los elementos que estn por debajo de la diagonal principal son todos nulos. Es
decir, aij =0 i<j.
Triangular Inferior: Si los elementos que estn por encima de la diagonal principal son todos nulos. Es
decir, aij =0 j<i.
1 0 0
Ejemplo: es una matriz triangular inferior
A= 3 3 0
1 0 2
Para crear matrices tambin puede utilizar desplegando en la la barra de herramientas File,
sucesivamente: Palettes, luego Basic Calculations, a continuacin List and Matrices, y luego se tienen
las opciones para crear matrices de distinto orden en Creating Lists and Matrices. All selecciona el
modelo de matriz que necesita. Si se quiere aumentar el nmero de filas se pulsan simultneamente las
teclas CTRL + ENTER Si se desean aumentar el nmero de columnas, se pulsan CTRL y la tecla que
contiene la coma.
El software tiene definidas algunas matrices como por ejemplo la matriz unidad y diagonal ,los
comandos respectivos son:
Genera una matriz identidad de orden 6 y una matriz diagonal en la que la diagonal principal est
formada por los elementos {3, , 5 , -1.3, -4, -6}. Llmalas i6 y d6. Exprsalas en forma
rectangular.
Escribe en el Mathematica una matriz triangular superior de orden 4, una matriz diagonal de orden 3,
una matriz escalar de orden 7 y una matriz simtrica.
Cuando necesitamos hacer referencia a los elementos de una fila, es suficiente colocar el nombre de la
matriz y la posicin de la fila entre dobles corchetes, mientras que en el caso de necesitar un elemento en
particular se coloca el nombre de la matriz y entre dobles corchetes la posicin del elemento deseado.
Veremos a continuacin un ejemplo donde aplicamos una operacin elemental a una matriz que consiste
en sumar a la segunda fila la primera.
MatrixForm [d6]
d6[[2]]=d6[[2]]+d6[[1]];
MatrixForm[d6]
submatriz=Table[d6[[i,j]],{i,2,4},{j,3,4}];
MatrixForm[submatriz]
Si queremos aadir a una matriz dada una fila en la ltima posicin podemos aplicar:
AppendTo[submatriz,fila]
AppendTo[submatriz,{1,1}];
MatrixForm[submatriz]
c) Producto de matrices
Dadas dos matrices A y B, su producto es otra matriz P cuyos elementos se obtienen multiplicando las
filas de A por las columnas de B. De manera ms formal, los elementos de P son de la forma:
n
pij = aik bkj
k =1
Es evidente que el nmero de columnas de A debe coincidir con el nmero de filas de B. Es ms, si A
tiene dimensin m n y B dimensin n p, la matriz P ser de orden m p.
Recuerda que es necesario controlar el orden de las matrices con las que se quiere operar, para que estas
estn definidas. En caso de no estar definidas, la ejecucin correspondiente mostrar cules de las
operaciones no son posibles.
Las operaciones se realizan componente a componente de la siguiente forma: Si a1 , a2 y a3 son matrices
de orden m x n
Suma y diferencia:
a1+a2
a1 a2
4 a3
4*a3
a3/6
1/6 a3
Producto de matrices
Para multiplicar matrices hay que emplear un punto entre ambas. Si se deja un espacio o se emplea el
signo * lo que se hace es multiplicar elemento a elemento entre los que ocupan la misma posicin. Si la
operacin no es posible, aparecer en la pantalla el aviso correspondiente. Si a4 es de orden m x n y a5 es
de orden n x p
a4.a5
Genera dos matrices en forma simblica y realiza las operaciones definidas anteriormente.
Una operacin importante al trabajar con matrices cuadradas es hallar potencias de las mismas. Este
problema reduce a calcular el producto de la matriz consigo misma un determinado nmero de veces.
Mathematica dispone de un comando que produce directamente el resultado buscado. Este es:
A= {{1,2},{3,4}};
B= MatrixPower[A,3]
MatrixForm[B]
MatrixForm[A^3]
Determinantes:
Dada una matriz cuadrada
La inversa y traspuesta de una matriz, as como su determinante se obtienen mediante las siguientes
sentencias:
Introduce una matriz cuadrada de orden 3 (no singular) y determina su inversa, la matriz traspuesta
y su determinante.
Minors[matriz,orden] (produce los menores de la matriz indicada del orden que se especifica)
matriz=Table[i+j,{i,5}{j,3}]
Su rango puede ser a lo sumo tres. Por lo tanto hallaremos los menores de orden tres y de orden 2.
Minors[matriz,3]
Minors[matriz,2]
Tambin podemos determinar el rango de una matriz, sometindola a transformaciones elementales, para
lo que se utiliza la orden:
RowReduce[matriz]
Por ejemplo:
matriz=Table[i+j,{i,5},{j,3}]
RowReduce[matriz]
MatrixForm[%]
Nota importante: La orden RowReduce nos proporciona informacin sobre el rango de la matriz, pero
no sobre qu submatriz es la que produce este rango. Adems no debe usarse para calcular el rango de
matrices que dependen de algn parmetro, pues no tiene en cuenta todos los valores que puede tomar el
mismo.
Este sistema puede tener una solucin nica, infinitas soluciones o no tener solucin. En tus clases de
teora has desarrollado los distintos mtodos para resolverlos. El Mathematica, tambin permite resolver
sistemas mediante el uso de sencillos comandos.
El comando RowReduce emplea el mtodo de eliminacin de Gauss sobre la matriz que se especifique
como argumento. Una de las aplicaciones de esto es calcular el rango de una matriz, de forma que
podemos aplicar el mtodo de RouchFrobenius para discutir un sistema lineal; con la forma reducida
podemos tambin dar la solucin de cualquier sistema.
Otra forma de resolver sistemas de ecuaciones lineales el utilizando la opcin Solve. La forma es:
Solve[{ecuacin1,ecuacin2,..},{x1,x2,xn}]
Al ejecutar esta opcin, se resuelve el sistema de ecuaciones dado en las variables x1,x2,...,xn Esta
funcin en general puede utilizarse para cualquier tipo de ecuaciones, no slo para sistemas lineales. La
respuesta incluye todas las soluciones posibles en forma simblica. Veamos a continuacin la orden
LinearSolve. LinearSolve resuelve sistemas de ecuaciones lineales. Su forma general es:
LinearSolve[M, v]
Ejemplo
Tenemos el siguiente sistema:
2x - 3y + 4z - t = 4
- x + 3y + 2z = - 2
3x + 2y - 3z + 5t = 4
4x + 2y + 3z + 4t = - 1
La matriz ampliada es:
Amp={{2, -3, 4, -1, 4}, {-1, 3, 2, 0, -2}, {3, 2, -3, 5, 4}, {4, 2, 3, 4, -1}}
Reducimos por filas para analizar el rango de la matriz de coeficientes y el rango de la matriz ampliada:
RowReduce[Amp]//MatrixForm
i
j 0y
z
j
j z
z
77
j z
1 0 0
j
j 0z
z
79
j
j z
z
j
j z
z
0 1 0 43
j
j 0z
z
j z
79
j
j z
z
0 0 1 26
k0 1{
79
0 0 0
Aqu el rango de la matriz ampliada es 4 (hay 4 filas no nulas), y el rango de la matriz de coeficientes
(cuya forma reducida es la anterior, quitando la ltima columna) es 3. Por tanto, ste es un sistema
incompatible ya que el rango de la matriz de coeficientes y de la matriz ampliada son distintos.
NOTA: Es importante recordar que RowReduce no puede utilizarse directamente para discutir sistemas
dependientes de parmetros. Un ejemplo sencillo es el siguiente sistema que depende del parmetro a:
a x = 7
(a - 1) y = 3
Analicemos lo que ocurre si reducimos la matriz ampliada con el mtodo anterior:
Amp={{a,0,7},{0,a-1,3}}
MatrixForm[RowReduce[Amp]]
i
j
7 y
j
j a zz
z
j 3 z
1 0
j z
k 1+a {
0 1
Aparentemente el rango de la matriz de coeficientes es 2, no dependiendo del valor del parmetro, el
mismo que el de la ampliada; sin embargo, el resultado anterior no es vlido cuando el parmetro vale 0
1, ya que entonces hay divisiones por cero en la columna derecha del resultado. De hecho, el sistema es
indeterminado cuando se elige alguno de esos valores. Ms adelante veremos mtodos para discutir un
sistema dependiendo del valor de algunos parmetros.
3x + 2y - 3z + 5t = 4
x + 2y + 3z - t = - 1
Resolvamos:
Amp={{2,-3,4,-1,4},{-1,3,2,0,-2},{3,2,-3,5,4},{1,2,3,-1,-1}};
RowReduce[Amp]
MatrixForm[%]
i1
j y
z
j
j z
z
j
71
z
0 0 0
j
j0 z
z
j
164
j z
z
j
j z
z
1 0 0 135
j
j z
z
j0 z
164
j
j z
z
j z
37
j z
0 1 0
j0 z
82
k {
0 0 1 187
164
Vemos que el sistema es compatible determinado. La solucin aparece en la columna derecha (x =71/164,
y=135/164...).
Otra forma de resolverlo es usar la orden Solve:
Solve[{2x-3y+4z-t==4,-x+3y+2z==-2,3x+2y-3z+5t==4,x+2y+3z-
t==1},{x,y,z,t}]
::x >>
71 135 37 187
, y ,z , t
164 164 82 164
Otra posible forma de resolverlo es usar LinearSolve. Para eso definimos la matriz de coeficientes y el
vector de trminos independientes:
X={{2,-3,4,-1},{-1,3,2,0},{3,2,-3,5},{1,2,3,-1}};
v={4,-2,4,-1};
LinearSolve[X,v]
: >
71 135 37 187
, , ,
164 164 82 164
Por supuesto, el resultado es el mismo con todos los mtodos que hemos mencionado.
- x + 3y + 2z = - 2
Una forma de hacerlo es usar RowReduce:
Amp={{1,-3,1,-1,-2},{-1,3,2,0,-2}};
RowReduce[Amp]//MatrixForm
i
j 1 3 0 2 2 y
j
j 3 z
z
z
j
j0 0 1 1 4 z z
3
k 3 3 {
Despejamos las variables x, z para obtener una familia de soluciones que dependen de los valores de las
variables y , t:
x = 3y +2/3 t 2/3
z = 1/3 t 4/3
Solve[{x-3y+z-t==-2,-x+3y+2z==-2},{x,y,z,t}]
Solve ::svars :
Equations may not give solutions for all "solve " variables . More
::x + >>
2 2t 4 t
+ + 3 y, z
3 3 3 3
La salida contiene una advertencia porque no se pueden encontrar soluciones para todas las variables,
sino que los valores de x y z dependen de y y t.
Utiliza Linear Solve para resolver el sistema. Se obtienen todas las soluciones?
ax + y + z = a
x + ay + z = a
2
x + y + a z = a 3
Ha + a + a + ax ay azL &&
1 2 3
x
2
Ha a2 + a3 ax + ay azL &&
1
y
2
Ha + a a ax ay + azL
1 2 3
z
2
La respuesta que obtenemos puede incluir varios operadores relacionales lgicos como:
igualdad "==",
desigualdad "!="
operador y "&&"
operador o "||"
ACTIVIDAD A REALIZAR
Entrega del trabajo prctico: El archivo que se entregue en CD debe contener la resolucin de las
consignas dadas en el tutorial y el problema de aplicacin solicitado.