Cómo generar una matriz idempotente NXN

Todas las matices idempotentes, es decir, matrices [matemáticas] X [/ matemáticas] de tal manera que [matemáticas] X \ cdot X = X [/ matemáticas], se pueden obtener mediante un procedimiento simple:

  • Comience con una matriz cuadrada [matemática] n \ veces n [/ matemática] [matemática] D [/ matemática] cuyas entradas son iguales a [matemática] 0 [/ matemática] con una posible excepción de algunas entradas [matemática] 1 [ / math] en el daigonal principal, por ejemplo, en el caso [math] 3 \ times 3 [/ math] algo como [math] D = \ left (\ begin {array} {ccc} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \ end {array} \ right) [/ math].
  • Observe que [math] D \ cdot D = D [/ math] por lo tanto [math] D [/ math] es idempotente.
  • Luego tome una matriz invertible arbitraria [matemáticas] A [/ matemáticas] y calcule [matemáticas] X = A ^ {- 1} DA [/ matemáticas].
  • Obviamente, [matemáticas] X \ cdot X = A ^ {- 1} DA \ cdot A ^ {- 1} DA = A ^ {- 1} D \ cdot (AA ^ {- 1}) \ cdot DA = A ^ {-1} D ^ 2A = A ^ {- 1} DA = X. [/matemáticas]
  • Esto confirma que [math] X [/ math] es una matriz idempotente deseada.
  • Se puede demostrar que cada matriz idempotente [matemáticas] X [/ matemáticas] se puede obtener de esa manera. Este es un ejercicio relativamente fácil sobre la imagen y el núcleo de la transformación lineal asociada con [matemáticas] X: [/ matemáticas] son ​​espacios propios de [matemáticas] X [/ matemáticas] para los valores propios [matemáticas] 1 [/ matemáticas] y [ matemáticas] 0 [/ matemáticas], correspondientemente.

Problema divertido! Puede generar una matriz idempotente simétrica N por N de rango k de la siguiente manera (el caso no simétrico es mucho más complicado):

1: generar un vector N aleatorio

2: normalizar a la unidad

3: generar un segundo vector N aleatorio

4: proyectar fuera del componente en el primer vector aleatorio y normalizar

5: crea un tercer vector N aleatorio

6: proyectar los componentes del tercero contra el primero y el segundo y normalizar

7: repite hasta que tengas k vectores

8: denota por Q la matriz N por k formada a partir de las columnas que acaba de formar

9: conjunto A = QQ ‘

¡Juego terminado!

Es fácil demostrar que esto funciona teóricamente, que todos los idempotentes tienen esta forma y no es difícil de codificar. En cuanto a la complejidad, una pregunta planteada en la sección de comentarios, el número de matrices simétricas idempotentes de rango k es;

[matemáticas] (N-1) + (N-2) + .. + (Nk) \ aprox Nk-k ^ 2/2 [/ matemáticas]

Para k acercándose a N obtenemos [matemática] N ^ 2/2. [/ Matemática]