Professional Documents
Culture Documents
Mathematica .
Introduccin
A partir de la prctica anterior sobre el manejo de listas, en esta prctica vamos a estudiar las principales
instrucciones de Mathematica para el uso de las matrices (que son listas de sus filas, es decir, listas de
listas).
Matrices en Mathematica
Las matrices en Mathematica se crean como listas de sus filas (que son listas a su vez). Por ejemplo,
escribimos:
MatrixForm@matriz1D
1
2
5
2
6
6
5
2
5
9
1
1
MatrixForm@matriz1D
1
2
5
2
6
6
5
2
5
9
1
1
Tambin podemos utilizar la herramienta de creacin de matrices de las Paletas. En ese caso, para ampliar
el nmero de filas o de columnas empleamos CTRL+ENTER o CTRL+"coma", respectivamente:
EPS de Avila
17
Prctica n 3
-1
4
matriz1b =
2
4
5 2
3 -3
1 0
3 -1
Para manejar las filas y las columnas de una matriz, se utiliza la misma lgica que vimos para los elementos de las listas, y se corresponde con la notacin habitual para los elementos de una matriz. Un elemento
de una matriz se denota escribiendo la posicin del elemento dentro de la matriz, indicando primero de qu
fila se trata, y luego cul es su posicin dentro de la fila.
Es decir, el elemento a12 de la matriz que hemos definido antes vendr dado por el segundo elemento de la
primera fila:
matriz1@@ 1, 2DD
6
De igual manera se pueden manipular las filas o las columnas. As, la segunda fila de matriz1, ser
matriz1@@2DD
82, 6, 9<
y la segunda columna se puede obtener de dos maneras: una de ellas es trasponiendo la matriz (que veremos posteriormente que utiliza el comando Transpose[matriz]) y luego considerando la fila correspondiente, que ser la segunda:
Transpose@matriz1D@@2DD
86, 6, 5, 2<
La otra forma es utilizando un contador para las filas que nos de todos los valores:
matriz1@@All, 2DD
86, 6, 5, 2<
Podemos extraer submatrices utilizando las tcnicas para listas que vimos en la prctica de listas y tablas.
Por ejemplo:
Adems de escribir nosotros los valores, tambin odemos generar matrices utilizando una instruccin
Table, como vimos en la prctica anterior. Adems, podemos crear ciertos tipos especiales de matrices,
como la matriz Identidad de cualquier orden:
18
EPS de Avila
Prctica n 3
IdentityMatrix@5D MatrixForm
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
Podemos generar una matriz diagonal, en la que basta proporcionar los elementos de esa diagonal:
EPS de Avila
19
Prctica n 3
1 5 9 -2
O
-1 9 -3 2
- Producto de una matriz por un escalar: El producto de una matriz por un escalar se calcula de manera
similar al producto usual de dos escalares, es decir con "*" (o " espacio en blanco", aunque no es recomendable, porque puede llevar a confusin).
3 * matriz1 MatrixForm
3
6
15
6
18
18
15
6
15
27
3
3
Por otro lado, este producto (usual) cuando se aplica a dos matrices representa el producto trmino a
trmino y por tanto slo se podr utilizar en el caso de matrices de iguales dimensiones. No se trata,
entonces, del producto de dos matrices. Por ejemplo, si definimos una segunda matriz, de las mismas
dimensiones:
matriz3 = 882, 4, 0<, 80, -5, 8<, 80, -1, 0<, 80, 0, 0<<;
matriz1 * matriz3 MatrixForm
2 24 0
0 -30 72
0 -5 0
0 0
0
- Producto de dos matrices: El producto de dos matrices se simboliza con un punto".". El producto de una
matriz A (mxn) por otra B (nxp) ser una nueva matriz C (mxp). As para matriz1 por una nueva matriz4,
tendremos:
20
EPS de Avila
-33
-35
-16
-7
Prctica n 3
52
56
60
24
- Trasposicin: La traspuesta de una matriz se calcula con la instruccin Transpose[matriz]. Por ejemplo:
Transpose@matriz1D MatrixForm
1 2 5 2
6 6 5 2
5 9 1 1
- Matriz Inversa: La inversa de una matriz (obviamente cuadrada) se calcula con la instruccin Inverse[matriz]. Por ejemplo:
27
,-
16
16
,-
5 1
3
21
1 11
>, :- , , - >, : , - ,
>>
16
8 8
8
16
16 16
21
matriz5.matriz6 MatrixForm
1 0 0
0 1 0
0 0 1
- Determinante: El determinante de una matriz cuadrada se calcula con la instruccin Det[matriz]. Por
ejemplo:
Det@matriz5D
16
- Traza: El determinante de una matriz cuadrada se calcula con la instruccin Tr[matriz]. Por ejemplo:
Tr@matriz5D
6
- Rango: El determinante de una matriz se calcula con la instruccin MatrixRank[matriz]. Por ejemplo:
MatrixRank@matriz5D
3
-Menores de una matriz: Podemos calcular todos los menores del orden adecuado de la matriz, con la
instruccin Minors[matriz, orden]. Por ejemplo:
EPS de Avila
21
Prctica n 3
Minors@matriz4, 2D
8836<, 84<, 88<<
-Potencia de una matriz: Con MatrixPower[matriz,n], calculamos la potencia n-sima de una matriz
cuadrada.
MatrixPower@matriz5, 3D;
MatrixForm@%D
-12
94
24
-110 562 114
26 -156 -34
matriz5.matriz5.matriz5;
MatrixForm@%D
-12
94
24
-110 562 114
26 -156 -34
v1 = 81, 3, -2<;
v2 = 84, -2, 3<;
a v1 + b v2
8a + 4 b, 3 a - 2 b, -2 a + 3 b<
v1.v2
-8
Producto vectorial de dos vectores:
Cross@v1, v2D
85, -11, -14<
Mdulo de un vector:
22
EPS de Avila
Prctica n 3
Norm@v2D
29
Si queremos normalizar un vector (calcular un vector unitario en la direccin del vector), podemos emplear
la instruccin
Normalize@v2D
:
,-
29
3
,
29
29
>
Y obtenemos dos vectores propios v1 = ( 1, -3, 4), asociado al primer valor propio, y v2 = ( 1, 0, 1 ),
asociado al segundo valor propio.
EPS de Avila
23
Prctica n 3
vec = Eigenvectors@matrizAD;
matrizA.vec@@1DD
matrizA.vec@@3DD
82, 0, 2<
8-1, 3, -4<
24
EPS de Avila