GRADO EN ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS
Matemática Empresarial II - Temas 1 y 2 con Mathematica
INPUT-OUTPUT. DIAGONALIZACIÓN DE MATRICES.
FORMAS CUADRÁTICAS
Para el desarrollo adecuado de estos temas con Mathematica, resulta fundamental el manejo de las principales
operaciones que se pueden llevar a cabo con las matrices y que ya fueron introducidas en la asignatura
encontrar en Paletas Ayudante de clase Comandos básicos Comandos de matriz.
Matemática Empresarial I. Recordemos que la mayor parte de las órdenes que necesitamos para ello se pueden
MATRICES PRODUCTIVAS
0.1 0.2 0.3
Dada una matriz cuadrada, por ejemplo 0.2 0.2 0.3 , veamos cómo saber si es productiva usando Mathe-
0.1 0.2 0.2
matica. En primer lugar le damos un nombre, para hacer más cómodos los cálculos (el punto y coma hace que
no se vea el output resultante al ejecutar la orden):
0.1 0.2 0.3
In[1]:= a = 0.2 0.2 0.3 ;
0.1 0.2 0.2
En la parte teórica de la Asignatura, se han explicado tres métodos para determinar si una matriz es productiva.
Vamos a aplicar a continuación cada uno de estos métodos a la matriz A.
Primer método. Utilizamos la definición de matriz productiva. Comprobamos si existe la matriz (I - A)-1 y es
no negativa. Este método es incómodo a mano, pero sencillo con Mathematica.
Recordemos que:
◼ La matriz identidad de orden n se obtiene con la orden IdentityMatrix number , que se encuentra en Paletas
Ayudante de clase Comandos básicos Comandos de matriz Crear:
In[2]:= IdentityMatrix[3]
matriz indentidad
Out[2]= {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
◼ Las matrices son vectores de vectores fila. Para ver la matriz anterior en la forma habitual, se utiliza la
orden MatrixForm matrix :
In[3]:= MatrixForm[%2]
forma de matriz
Out[3]//MatrixForm=
1 0 0
0 1 0
0 0 1
◼ La inversa de una matriz se calcula con la orden Inverse matrix . Así, la inversa de Leontief se puede
calcular mediante:
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II
2 | Temas 1 y 2 con Mathematica
Inverse [IdentityMatrix[3] - a]
matriz ⋯ matriz indentidad
In[4]:=
Out[4]= {{1.29464, 0.491071, 0.669643}, {0.424107, 1.54018, 0.736607}, {0.267857, 0.446429, 1.51786}}
In[5]:= MatrixForm[%4]
forma de matriz
Out[5]//MatrixForm=
1.29464 0.491071 0.669643
0.424107 1.54018 0.736607
0.267857 0.446429 1.51786
Como puede observarse, (I - A)-1 es una matriz no negativa, puesto que todos sus elementos son mayores o
iguales que 0. Por tanto, A es productiva.
(I - A) y determinamos el signo de sus menores principales:
Segundo método. Aplicamos la condición de Hawkins-Simon; para ello calculamos la matriz de Leontief
In[6]:= IdentityMatrix[3] - a
matriz indentidad
Out[6]= {{0.9, -0.2, -0.3}, {-0.2, 0.8, -0.3}, {-0.1, -0.2, 0.8}}
In[7]:= MatrixForm[%6]
forma de matriz
0.9 -0.2 -0.3
Out[7]//MatrixForm=
-0.2 0.8 -0.3
-0.1 -0.2 0.8
Para calcular los menores principales de la matriz anterior, podemos seleccionar con el ratón los elementos que
nos interesen de la matriz, copiarlos y calcularle el determinante a la nueva matriz resultante.
En nuestro ejemplo, el primer menor principal es 0.9, que es mayor que 0.
El segundo menor principal es:
0.9 - 0.2
Det
-
In[8]:=
0.2 0.8
determinante
Out[8]= 0.68
También es mayor que 0.
Por último, el tercer menor principal es el determinante de la matriz de Leontief:
In[9]:= Det[IdentityMatrix[3] - a]
d⋯ matriz indentidad
Out[9]= 0.448
que resulta ser igualmente mayor que 0. Por tanto, dado que todos los menores principales de I-A son positivos,
se cumple la condición de Hawkins-Simon, lo que equivale a decir que la matriz A es productiva.
Tercer método. Aplicamos la condición de Brauer-Solow, que no siempre será concluyente, al ser una condi-
Total[{lista de números a sumar}], que suma cómodamente los elementos de una lista.
ción suficiente pero no necesaria. Sumamos las filas de la matriz A; para ello, podemos utilizar la orden
In[10]:= r1 = Total[{0.1, 0.2, 0.3}]
total
Out[10]= 0.6
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II
Temas 1 y 2 con Mathematica | 3
In[11]:= r2 = Total[{0.2, 0.2, 0.3}]
total
Out[11]= 0.7
In[12]:= r3 = Total[{0.1, 0.2, 0.2}]
total
Out[12]= 0.5
Todas las sumas calculadas son menores que 1; por tanto, podemos deducir de nuevo que A es productiva. Si
fuese necesario, se podrían sumar las columnas, copiándolas una a una o sumando las filas de la matriz
traspuesta de A.
A modo de ejemplo real, las tablas input-output de Andalucía las podemos consultar en el siguiente enlace:
[Link]/institutodeestadisticaycartografia/mioan/[Link] (tablas input-output simétricas a
precios básicos de diferentes años).
CÁLCULO DE AUTOVALORES Y AUTOVECTORES
Mathematica calcula los autovalores de una matriz mediante la orden Eigenvalues matrix , que podemos
encontrar en Paletas Ayudante de clase Comandos básicos Comandos de matriz Más:
1 2 5
In[13]:= b= 1 0 4 ;
0 0 3
In[14]:= Eigenvalues[b]
autovalores
Out[14]= {3, 2, -1}
Si un autovalor tuviera multiplicidad mayor que 1, aparecería repetido en la lista tantas veces como indique su
multiplicidad.
En la misma paleta, tenemos la instrucción Eigenvectors matrix que permite calcular los autovectores. El orden
en que se muestran coincide con el de sus correspondientes autovalores.
In[15]:= Eigenvectors[b]
autovectores
Out[15]= {{23, 13, 4}, {2, 1, 0}, {-1, 1, 0}}
Así, en este caso, todos los autovectores asociados al autovalor 3 serán de la forma α·(23,13,4), los autovec-
tores asociados al autovalor 2 serán de la forma β·(2,1,0) y los asociados al autovalor -1 serán γ·(-1,1,0), con α,
β y γ distintos de 0.
Para los autovalores con multiplicidad mayor que 1, Mathematica tratará de obtener el máximo número posible
de autovectores linealmente independientes. Si puede conseguir tantos como la multiplicidad del autovalor, los
mostrará; en caso contrario, completará la lista con el vector nulo (que, por definición, no es autovector) y eso
será señal de que la matriz no es diagonalizable (ya que no se podrán obtener n autovectores linealmente
independientes, para una matriz de orden n).
La orden Eigensystem matrix proporciona los mismos resultados que Eigenvalues y Eigenvectors de manera
conjunta; además, los autovalores y los autovectores siguen el mismo orden; es decir, en general, el primer
vector es un autovector asociado al primer autovalor, el segundo al segundo y así sucesivamente. Lo vemos a
continuación:
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II
4 | Temas 1 y 2 con Mathematica
In[16]:= Eigensystem[b]
autovalores y autovectores
Out[16]= {{3, 2, -1}, {{23, 13, 4}, {2, 1, 0}, {-1, 1, 0}}}
Ejemplo de matriz diagonalizable:
1 0 0
In[17]:= c= 0 2 0 ;
1 0 2
In[18]:= Eigensystem[c]
autovalores y autovectores
Out[18]= {{2, 2, 1}, {{0, 0, 1}, {0, 1, 0}, {-1, 0, 1}}}
Nótese que el autovalor 2 aparece dos veces por ser de multiplicidad 2 y los dos primeros vectores son autovec-
tores asociados a dicho autovalor; por su parte, el tercer vector es un autovector asociado al autovalor 1.
Tenemos así tres autovectores de C linealmente independientes (este número coincide con el orden de la matriz
C) lo que nos permite afirmar que C es diagonalizable.
paso. Para la 1ª, resulta cómodo usar la orden DiagonalMatrix[lista de entradas diagonales] (en Paletas
Con estos cálculos también podemos obtener una matriz diagonal semejante a C y la correspondiente matriz de
Ayudante de clase Comandos básicos Comandos de matriz Crear), indicando los elementos que
deben formar la diagonal principal que, como sabemos, son los autovalores de C.
In[19]:= d = DiagonalMatrix[{2, 2, 1}]
matriz diagonal
Out[19]= {{2, 0, 0}, {0, 2, 0}, {0, 0, 1}}
In[20]:= MatrixForm[d]
forma de matriz
Out[20]//MatrixForm=
2 0 0
0 2 0
0 0 1
En cuanto a la matriz de paso asociada, tendrá por columnas los autovectores calculados anteriormente,
dispuestos en el mismo orden que los autovalores en D:
In[21]:= p = Transpose[{{0, 0, 1}, {0, 1, 0}, {- 1, 0, 1}}]
transposición
Out[21]= {{0, 0, -1}, {0, 1, 0}, {1, 0, 1}}
In[22]:= MatrixForm[p]
forma de matriz
0 0 -1
Out[22]//MatrixForm=
0 1 0
1 0 1
Podemos comprobar fácilmente que estas matrices cumplen la relación D=P - 1 ·C·P. Para ello, calculamos el
producto del 2º miembro:
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II
Temas 1 y 2 con Mathematica | 5
In[23]:= Inverse[p].c.p
matriz inversa
Out[23]= {{2, 0, 0}, {0, 2, 0}, {0, 0, 1}}
In[24]:= MatrixForm[%23]
forma de matriz
Out[24]//MatrixForm=
2 0 0
0 2 0
0 0 1
y vemos que, efectivamente, coincide con la matriz diagonal que habíamos definido.
Ejemplo de matriz no diagonalizable:
3 -2 1
In[25]:= cc = 0 2 0 ;
1 2 3
Eigensystem[cc]
autovalores y autovectores
{{4, 2, 2}, {{1, 0, 1}, {- 1, 0, 1}, {0, 0, 0}}}
{{4, 2, 2}, {{1, 0, 1}, {- 1, 0, 1}, {0, 0, 0}}}
In[26]:=
Out[26]=
Observamos que, al final de la lista, aparece el vector nulo. Esto significa que Mathematica no ha podido
encontrar tres autovectores linealmente independientes (tantos como el orden de la matriz) sino que sólo ha
encontrado dos (los dos primeros, por ejemplo) y, por eso, la matriz dada no es diagonalizable. Por tanto, en
este caso, no se puede construir una matriz diagonal semejante a la dada ni una matriz de paso.
Otra forma de conocer los autovalores de una matriz y sus multiplicidades es calculando las raíces de su
la matriz (B-λ.I):
polinomio característico. Sabemos que, para la matriz B por ejemplo, éste se obtiene como el determinante de
In[27]:= Det[b - λ * IdentityMatrix[3]]
determin⋯ matriz indentidad
Out[27]= (3 - λ) -2 - λ + λ2
(en Paletas
Ayudante de clase Comandos básicos Comandos de matriz Más):
También podemos calcularlo directamente usando la orden CharacteristicPolynomial matrix , var
In[28]:= CharacteristicPolynomial[b, λ]
polinomio característico
Out[28]= -6 - λ + 4 λ2 - λ3
Para determinar las raíces del polinomio característico, podemos factorizarlo mediante la orden Factor expr ,
disponible en Paletas Ayudante de clase Comandos básicos Comandos de álgebra:
In[29]:= Factor- 6 - λ + 4 λ2 - λ3
factoriza
Out[29]= -(-3 + λ) (-2 + λ) (1 + λ)
Se ve de nuevo que los autovalores de B son el 3, el 2 y el -1, todos ellos simples.
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II
6 | Temas 1 y 2 con Mathematica
FORMAS CUADRÁTICAS
La expresión analítica o polinómica de la forma cuadrática asociada a la matriz cuadrada B se obtiene simplifi-
instrucción Simplify expr se encuentra en Paletas Ayudante de clase Comandos básicos Comandos
cando el producto x t .B.x, donde x es un vector cuyo número de componentes coincide con el orden de B (la
de álgebra):
Simplify( x y z ).b. y
x
In[30]:=
simplifica z
Out[30]= x2 + 3 x y + 5 x z + 4 y z + 3 z2
Como se puede ver, el resultado es una matriz cuadrada de orden 1. No obstante, con Mathematica se puede
obtener el mismo resultado, pero en forma de polinomio, sin necesidad de trasponer ninguno de los dos
vectores, calculando simplemente x.B.x:
In[31]:= Simplify[{x, y, z}.b.{x, y, z}]
simplifica
Out[31]= x 2 + 3 x y + 5 x z + 4 y z + 3 z2
CLASIFICACIÓN DE FORMAS CUADRÁTICAS
Para clasificar una forma cuadrática, según hemos visto en teoría, utilizaremos siempre la matriz simétrica
asociada a la misma. Si la matriz dada no es simétrica, entonces la “simetrizamos” utilizando, por ejemplo, la
(B + Bt ):
1
fórmula 2
s= (b + Transpose[b]);
1
In[32]:=
2 transposición
In[33]:= MatrixForm[s]
forma de matriz
Out[33]//MatrixForm=
3 5
1 2 2
3
2
0 2
5
2
2 3
Una vez obtenida la matriz simétrica, podemos utilizar cualquiera de los dos teoremas de clasificación conoci-
dos: bien calculando sus autovalores o bien calculando sus menores principales (recuerda que utilizar los
menores principales para clasificar una forma cuadrática no siempre es posible). Con Mathematica suele ser
más rápido y cómodo clasificar la forma cuadrática mediante el cálculo de los autovalores de su matriz
simétrica:
In[34]:= Eigenvalues[s]
autovalores
Root-17 - 38 #1 - 16 #12 + 4 #13 &, 3,
Root-17 - 38 #1 - 16 #12 + 4 #13 &, 1, Root-17 - 38 #1 - 16 #12 + 4 #13 &, 2
Out[34]=
aproximados de los autovalores, por lo que aproximamos el resultado anterior con la orden N expr :
En este caso, sale algo bastante extraño (y difícil de calcular a mano), pero nos basta con obtener unos valores
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II
Temas 1 y 2 con Mathematica | 7
In[35]:= N[%]
valor numérico
Out[35]= {5.77309, -1.10966, -0.663421}
Como hay autovalores positivos y negativos, sabemos que la forma cuadrática es indefinida.
Veamos otro ejemplo. Consideremos ahora la forma cuadrática asociada a la matriz simétrica M =
0 1 2
2 3 -1
1 5 3 . Vamos a clasificarla, calculando sus autovalores :
0 1 2
m= 1 5 3 ;
2 3 -1
In[36]:=
In[37]:= Eigenvalues[m]
autovalores
Out[37]= Root7 - 19 #1 - 4 #12 + #13 &, 3, Root7 - 19 #1 - 4 #12 + #13 &, 1, Root7 - 19 #1 - 4 #12 + #13 &, 2
Otra vez las soluciones que se obtienen no son sencillas. Para conocer el signo de los autovalores calculados,
como antes, aproximamos su valor:
N[Eigenvalues[m]]
⋯ autovalores
In[38]:=
Out[38]= {6.6854, -3.03086, 0.345465}
De nuevo, al haber tanto autovalores positivos como negativos, la forma cuadrática es indefinida.
CLASIFICACIÓN DE FORMAS CUADRÁTICAS RESTRINGIDAS
Primero introducimos la expresión polinómica de la forma cuadrática. A continuación, resolveremos el sistema
cuadrática, a partir de la orden Solve lhs1 rhs1 , lhs2 rhs2 , ..., var1 , var2 , ... disponible en Paletas
de ecuaciones homogéneo (sus soluciones son un subespacio vectorial) al que tenemos que restringir la forma
Ayudante de clase Comandos básicos Comandos de álgebra Más.
In[39]:= q = x ^2 + 2 x z + x t + 2 y z - z^2;
In[40]:= Solve[{x + y - z 0, z - t 0}, {x, y, z, t}]
resuelve
Out[40]= {{z x + y, t x + y}}
El siguiente paso es sustituir en la expresión polinómica de la forma cuadrática los valores de las variables
obtenidos al resolver el sistema. Esto lo podemos hacer, por ejemplo, mediante la siguiente línea:
In[41]:= q /. {z x + y, t x + y}
Out[41]= x2 + 3 x (x + y) + 2 y (x + y) - (x + y)2
Simplificamos el resultado :
In[42]:= Simplify[%41]
simplifica
Out[42]= 3 x2 + 3 x y + y2
A partir de esta expresión, obtenemos su matriz simétrica asociada y la clasificamos por el criterio de los
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II
8 | Temas 1 y 2 con Mathematica
A partir de esta expresión, obtenemos su matriz simétrica asociada y la clasificamos por el criterio de los
autovalores.
3/2
Eigenvalues
3
3/2 1
In[43]:=
autovalores
4+ 4- 13
1 1
Out[43]= 13 ,
2 2
In[44]:= N[%]
valor numérico
Out[44]= {3.80278, 0.197224}
Como todos los autovalores son positivos, la forma cuadrática restringida al subespacio vectorial dado es
definida positiva.
También podríamos haber usado el método de los menores principales. El primero vale 3 y el segundo es:
3/2
Det
3
3/2 1
In[45]:=
determinante
3
Out[45]=
4
Ambos son positivos, lo que indica que la forma cuadrática restringida al subespacio vectorial dado es definida
positiva.
Printed by Wolfram Mathematica Student Edition Matemática Empresarial II