You are on page 1of 8

Introduccin al programa

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:

matriz1 = 881, 6, 5<, 82, 6, 9<, 85, 5, 1<, 82, 2, 1<<


881, 6, 5<, 82, 6, 9<, 85, 5, 1<, 82, 2, 1<<

Podemos verla en su forma matricial habitual utilizando el comando MatrixForm[matriz]:

MatrixForm@matriz1D
1
2
5
2

6
6
5
2

5
9
1
1

Podemos verla en su forma matricial habitual utilizando el comando MatrixForm[matriz]:

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:

Departamento de Matemtica Aplicada.

EPS de Avila

17

Prctica n 3

-1
4
matriz1b =
2
4

Introduccin al programa Mathematica

5 2
3 -3
1 0
3 -1

88-1, 5, 2<, 84, 3, -3<, 82, 1, 0<, 84, 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:

matriz1@@2 ;; 4, 2 ;; 3DD MatrixForm


6 9
5 1
2 1

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

Departamento de Matemtica Aplicada.

EPS de Avila

Introduccin al programa Mathematica

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:

DiagonalMatrix@81, -1, 2, 0<D MatrixForm


1 0 0 0
0 -1 0 0
0 0 2 0
0 0 0 0

Departamento de Matemtica Aplicada.

EPS de Avila

19

Prctica n 3

Introduccin al programa Mathematica

Operaciones con Matrices


- Suma: Dadas dos matrices A y B la suma se denota por A+B. Slo podremos sumar matrices de iguales
dimensiones.

A = 88-1, 2, 3, 5<, 82, 5, -7, 2<<;


B = 882, 3, 6, -7<, 8-3, 4, 4, 0<<;
A + B MatrixForm
K

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:

matriz4 = 882, 4<, 8-5, 8<, 8-1, 0<<;


MatrixForm@matriz1.matriz4D

20

Departamento de Matemtica Aplicada.

EPS de Avila

Introduccin al programa Mathematica

-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:

matriz5 = 881, 2, 3<, 8-1, 9, 3<, 8-2, -3, -4<<;


matriz6 = Inverse@matriz5D
::-

27

,-

16

16

,-

5 1
3
21
1 11
>, :- , , - >, : , - ,
>>
16
8 8
8
16
16 16
21

Podemos comprobar que efectivamente se trata de la inversa de la matriz dada:

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:

Departamento de Matemtica Aplicada.

EPS de Avila

21

Prctica n 3

Introduccin al programa Mathematica

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

Vectores y sus operaciones


Mathematica escribe los vectores como listas de sus componentes, por lo que todos los conocimientos
sobre listas pueden ser utilizados para el manejo de los vectores. Veremos algunas operaciones que son
propias del manejo de vectores en el lgebra Lineal.
Combinacin lineal de dos vectores:

v1 = 81, 3, -2<;
v2 = 84, -2, 3<;
a v1 + b v2

8a + 4 b, 3 a - 2 b, -2 a + 3 b<

Producto escalar de dos vectores, con el producto "punto":

v1.v2
-8
Producto vectorial de dos vectores:

Cross@v1, v2D
85, -11, -14<

Mdulo de un vector:

22

Departamento de Matemtica Aplicada.

EPS de Avila

Introduccin al programa Mathematica

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

ngulo entre dos vectores:

29

>

VectorAngle@82, 1, -1<, 8-1, 0, 1<D


5
6
Proyeccin de un vector sobre otro:

Projection@82, 1, -1<, 8-1, 0, 1<D


3
3
: , 0, - >
2
2

Clculo de valores y vectores propios de una matriz:


Mathematica permite calcular todos los valores propios y vectores propios de una matriz cuadrada de
modo simblico o numrico (exacto o aproximado), con la utilizacin de los comandos Eigenvalues[matriz], que nos da una lista de todos los autovalores de la matriz (los valores propios), y Eigenvectors[matriz], que nos da una lista con los autovectores de la matriz., que nos da una lista con los autovectores de
la matriz.

matrizA = 882, 1, 0<, 8-1, 0, 1<, 81, 3, 1<<;


Eigenvalues@matrizAD
Eigenvectors@matrizAD
82, 2, -1<

881, 0, 1<, 80, 0, 0<, 81, -3, 4<<

Y obtenemos dos vectores propios v1 = ( 1, -3, 4), asociado al primer valor propio, y v2 = ( 1, 0, 1 ),
asociado al segundo valor propio.

Podemos comprobar que se trata de vectores propios utilizando la definicin:

Departamento de Matemtica Aplicada.

EPS de Avila

23

Prctica n 3

Introduccin al programa Mathematica

vec = Eigenvectors@matrizAD;
matrizA.vec@@1DD
matrizA.vec@@3DD
82, 0, 2<

8-1, 3, -4<

24

Departamento de Matemtica Aplicada.

EPS de Avila

You might also like