Estoy leyendo un artículo que menciona que se puede comprobar que y tienen el mismo radio espectral, es decir, , es decir, según las correspondientes matrices de adyacencia con un conveniente etiquetado. Por ejemplo, la matriz de adyacencia de sería
dónde y están completos -gráficos de partículas. ¿Cómo calcularon el radio espectral?
La matriz de adyacencia del grafo tripartito completo es el matriz simétrica
Desde es simétrico, su radio espectral es igual a su norma espectral, es decir,
dónde
y
Usando SymPy ,
>>> from sympy import *
>>> M = Matrix([[0,1,1,1,1],
[1,0,1,1,1],
[1,1,0,0,0],
[1,1,0,0,0],
[1,1,0,0,0]])
>>> (M**2).eigenvals()
{0: 2, 9: 1, 4: 1, 1: 1}
y por lo tanto, . Por último, el radio espectral de es
Puedo confirmar la declaración, pero no tengo idea de por qué uno esperaría que fuera verdad. Calculé los radios espectrales numéricamente con numpy, y ambos resultaron ser
. Usé numpy y la función numpy.linalg.eigs
que proporciona los vectores propios asociados, así como los valores propios. Los vectores propios se devuelven normalizados, pero en este caso, tenían una estructura simple y pude encontrar fácilmente vectores propios con componentes enteros para poder hacer aritmética exacta.
Aquí está mi secuencia de comandos de Python para confirmar los vectores propios. En caso de que no conozca Python, A es la matriz de adyacencia de y B el de . El vector propio de A es
import numpy as np
A = np.ones((20,20), dtype=int)
A[0:4,0:4]=0
A[4:8,4:8]=0
A[8:20,8:20]=0
x = np.array(8*[3]+12*[2])
y = np.array(20*[0], dtype=int)
z= 12*x-A@x
assert all(y[i]==z[i] for i in range(20))
B=np.ones((20,20), dtype=int)
B[0:2,0:2]=0
B[2:11,2:11]=0
B[11:20,11:20]=0
x = np.array(2*[3]+18*[2])
y = np.array(20*[0], dtype=int)
z= 12*x-B@x
assert all(y[i]==z[i] for i in range(20))
Observamos que las matrices son irreducibles, por lo que se aplica el teorema de Perron-Frobenius. Una de las afirmaciones es que el valor propio de Perron-Frobenius es el único con un vector propio asociado de elementos no negativos, lo que prueba que es el valor propio máximo en ambos casos.
EDITAR Pensándolo bien, con este ejemplo como guía, deberíamos poder calcular el radio espectral de cualquier completo
-gráfico de partículas. Esperamos que el vector propio de Perron-Frobenius sea un "vector de bloque" de
bloques, donde cada bloque es un vector constante cuya longitud es el tamaño de la parte correspondiente del gráfico. No puedo hacer esto de la cabeza, pero no suena difícil. No veo una fórmula, pero este enfoque reduce el problema a encontrar los valores propios de un
matriz. En el presente caso, solo tendríamos que mostrar que el valor propio más grande de
saulspatz
Sal
rodrigo de azevedo