Dada una matriz (suponiendo que ), ¿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?
fuente
Podemos calcular el rango de unam×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.
fuente