Radio espectral de un gráfico tripartito completo

Estoy leyendo un artículo que menciona que se puede comprobar que k 4 , 4 , 12 y k 2 , 9 , 9 tienen el mismo radio espectral, es decir, 12 , es decir, según las correspondientes matrices de adyacencia con un conveniente etiquetado. Por ejemplo, la matriz de adyacencia de k 4 , 4 , 12 sería

[ 0 4 × 4 ( 1 ) ( 1 ) ( 1 ) 0 4 × 4 ( 1 ) ( 1 ) ( 1 ) 0 12 × 12 ]

dónde k 4 , 4 , 12 y k 2 , 9 , 9 están completos 3 -gráficos de partículas. ¿Cómo calcularon el radio espectral?

Calculé los radios espectrales numéricamente, y ambos resultaron ser 12 por lo que vale.
¿Podrías mencionar cómo? y que metodo usaste

Respuestas (2)

La matriz de adyacencia del grafo tripartito completo k 4 , 4 , 12 es el 20 × 20 matriz simétrica

A := [ 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 ] =: METRO 1 4 1 4 = METRO 1 4 1 4

Desde A es simétrico, su radio espectral es igual a su norma espectral, es decir,

ρ ( A ) = A 2 = σ máximo ( A ) = λ máximo ( A A ) = λ máximo ( A 2 )

dónde

A 2 = METRO 2 1 4 1 4 1 4 = 4 1 4 = METRO 2 4 1 4 1 4 = 4 METRO 2 1 4 1 4

y

λ máximo ( A 2 ) = 4 λ máximo ( METRO 2 ) λ máximo ( 1 4 1 4 ) = tr ( 1 4 1 4 ) = 4 = dieciséis λ máximo ( METRO 2 )

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, λ máximo ( METRO 2 ) = 9 . Por último, el radio espectral de A es

ρ ( A ) = λ máximo ( A 2 ) = 4 λ máximo ( METRO 2 ) = 4 9 = 12

Lo siento, pero ¿cómo encontraste la matriz de adyacencia? Solo vi que M es la matriz de adyacencia, entonces, ¿por qué hay una suma directa?
Además, ¿podría explicar por qué el radio espectral es igual a la norma espectral? Cómo A ser simétrico ayuda? Gracias
No es una suma directa, es un producto de Kronecker . Para matrices simétricas (que tienen valores propios reales), el radio espectral es igual a la norma espectral. Echa un vistazo a esto .
METRO no es una matriz de adyacencia. vi A como un 5 × 5 matriz de bloques donde cada bloque es 4 × 4 . Luego lo escribí usando el producto Kronecker para que pudiera concentrarme en 5 × 5 matriz METRO en lugar de en 20 × 20 matriz A .

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 12 . Usé numpy y la función numpy.linalg.eigsque 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 k 4 , 4 , 12 y B el de k 2 , 9 , 9 . El vector propio de A es

( 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 )
y el vector propio de B es
( 3 , 3 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 )

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 12 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 k -gráfico de partículas. Esperamos que el vector propio de Perron-Frobenius sea un "vector de bloque" de k 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 k × k matriz. En el presente caso, solo tendríamos que mostrar que el valor propio más grande de

( 0 4 12 4 0 12 4 4 0 )  y  ( 0 9 9 2 0 9 2 9 0 )
son ambos 12 .