¿Cuál es el algoritmo más rápido para calcular el rango de una matriz rectangular?


15

Dada una matriz m×n (suponiendo que m≥n ), ¿cuál es el algoritmo más rápido para calcular su rango y base de las columnas?

Soy consciente de que se puede resolver a través de la intersección matroide lineal, lo que implica un algoritmo determinista de tiempo y un algoritmo aleatorio de tiempo O ( m n ω - 1 ) . ¿Existe un algoritmo determinista de tiempo O ( m n ω - 1 ) que reduzca más directamente el problema (o la eliminación gaussiana) a la multiplicación de matrices?O(mn1.62)O(mnω−1)O(mnω−1)

Respuestas:


9

Puede traer una matriz de en forma escalonada en el tiempo O ( n ω + ϵ ) para cualquier ϵ > 0 . Ver el libro "Teoría de la complejidad algebraica" de Bürgisser, Clausen, Shokrollahi, Sección 16.5.2n×nO(nω+ϵ)ϵ>0

Ahora aplica este procedimiento veces a su matriz m × n . Esto proporciona un algoritmo con operaciones aritméticas O ( m n ω - 1 ) .m/nm×nO(mnω−1)

Si trae una matriz de en forma escalonada, entonces contiene una matriz cero de tamaño n × n después. Usted toma la matriz n × n restante, agrega un nuevo bloque n × n de su matriz de entrada y lo lleva a la forma escalonada y así sucesivamente.2n×nn×nn×nn×n


1
¿Te refieres a dividir las filas en m / n grupos? ¿Cómo se combinan los resultados de m / n para obtener el rango? Considere dos filas en forma escalonada de diferentes grupos que tienen 1 en la primera columna, pueden tener rango 2 ¿verdad? mm/nm/n
— Ho Yee Cheung

¿Hay un límite inferior para esto? ¿Como en el rango tiene alguna fuerza computacional?
— Thomas Ahle

3

Podemos calcular el rango de una m×n matriz A en O~(nnz(A)+rω) tiempo, donde nnz(A) es el número de no-cero entradas en A y r es el rango de A . Esto se desprende del Teorema 1.1 en Cheung et. Alabama. [CKL'13] y búsqueda binaria sobre r . Esto es más rápido que el algoritmo O(mnω−1) mencionado anteriormente.


2
Supongo que te refieres a "más rápido que el algoritmo " (no puedo editar la respuesta yo mismo ya que la edición es demasiado pequeña)O(mnω−1)
— Smaper

1
Gracias por señalar eso. La cita anterior es un documento del OP, por lo que mi respuesta es principalmente para completar.
— Ainesh Bakshi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.