Étant donné une matrice (en supposant ), quel est l'algorithme le plus rapide pour calculer son rang et sa base des colonnes?
Je suis conscient qu'il peut être résolu par intersection matroïde linéaire, ce qui implique un algorithme déterministe temporel et un algorithme randomisé temporel . Existe-t-il un algorithme déterministe du temps qui réduit plus directement le problème (ou l'élimination gaussienne) à la multiplication matricielle?
la source
On peut calculer le rang d'une matrice A dans temps, où est le nombre des entrées non nuls dans et est le rang de . Cela découle du théorème 1.1 de Cheung et. Al. [CKL'13] et recherche binaire sur . C'est plus rapide que l' algorithme mentionné ci-dessus.m × n O~( nnz ( A ) + rω) nnz (A) UNE r UNE r O ( m nω - 1)
la source