Complexité de la recherche de la matrice pseudoinverse

11

Combien d'opérations arithmétiques sont nécessaires pour trouver une matrice pseudoinverse de Moore – Penrose d'un champ arbitraire?

Si la matrice est inversible et de valeur complexe, alors c'est juste l'inverse. Trouver l'inverse prend temps, où est la constante de multiplication de la matrice. Il s'agit du Théorème 28.2 dans Introduction to Algorithms 3rd Edition.O(nω)ω

Si la matrice a des lignes ou des colonnes linéairement indépendantes et une valeur complexe, alors la matrice pseudo-inverse peut être calculée avec ou respectivement , où est la transposée conjuguée de . En particulier, cela implique un du temps pour trouver la pseudo d' .AA(AA)1(AA)1AAAO(nω)A

Pour la matrice générale, les algorithmes que j'ai vus utilisent la décomposition QR ou SVD, qui semble prendre les opérations arithmétiques dans le pire des cas. Existe-t-il des algorithmes qui utilisent moins d'opérations?O(n3)

Chao Xu
la source
J'ai un suivi, c'est peut-être trop basique mais pouvez-vous s'il vous plaît confirmer ce qui est n ici dans l'équation de complexité. Est-ce la dimension d'une matrice et si la matrice n'est pas un carré.?
Mike Pomp
Dans l'affirmation que l'inverse peut être trouvé en temps , est en effet la dimension de la matrice carrée; si la matrice n'est pas carrée, vous pouvez probablement prendre pour être la plus grande dimension. O(nω)nn
David Richerby
Puisque c'est une question facile, j'y ai répondu ici. Cependant, si vous avez d'autres questions, veuillez les poser comme une page à part en utilisant le bouton "poser une question" en haut de la page. Vous pouvez créer un lien vers cette page pour donner un contexte. Ce site n'est configuré que pour une question par page: il n'y a pas de discussion et les messages se déplacent en fonction des votes qu'ils obtiennent, donc les choses deviennent terriblement désordonnées avec plus d'une question sur une page. Il y a plus d'informations lors de notre courte visite et dans notre centre d'aide .
David Richerby

Réponses:

7

Tout d'abord, les gens ont tendance à oublier que est un infimum. Chaque fois que nous écrivonsω , nous voulons dire que pour tout γ > ω , il y a un algorithme fonctionnant dans le temps O γ ( n γ ) .O(nω)γ>ωOγ(nγ)

Keller-Gehrig a montré (entre autre) la manière de présenter une matrice de rang forme normale dans le temps O ( n ω ) . Si A a un rang r , alors une forme normale de rang A est S ( I r 0 0 0 ) T pour un certain S , T inversible de dimensions appropriées; voir aussi Théorie de la complexité algébrique, proposition 16.13, page 435.AO(nω)ArA

S(jer000)T
S,T

La forme normale du rang est similaire à la décomposition du rang mentionnée dans l'article de Wikipedia, oùacolonnes etalignes. En effet, nous pouvons prendrepour être les premierscolonnes deetpour être les premiersrangées de. Compte tenu de cette décomposition, Wikipedia donne une formule pour le pseudoinverse en utilisant uniquement l'adjoint hermitien, la multiplication matricielle et l'inverse matriciel. Le pseudoinverse peut donc être calculé en temps.X r Y r X r S Y r T O ( n ω )UNE=XOuiXrOuirXrSOuirTO(nω)

Yuval Filmus
la source
Merci pour la réponse! J'ai reçu le papier et j'ai trouvé qu'il me manquait le fond. Y a-t-il de bonnes introductions / enquêtes sur ce type de résultat? Je sais que le livre de théorie de la complexité algébrique est un bon mais actuellement il est extrait de la bibliothèque ...
Chao Xu
1
Il peut y avoir des notes de cours pertinentes, mais il est probablement préférable de jeter un œil au livre. CLRS (Introduction to Algorithms) contient également des éléments pertinents, tels que l'équivalence entre la multiplication matricielle et l'inverse matriciel.
Yuval Filmus
Donc vaut en général? Pouvez-vous me donner une idée de la "constante de multiplication matricielle" w ? O(nω)w
ben
Nous ne connaissons pas la valeur de . La meilleure limite supérieure, en raison de Le Gall, est . On suppose que . ω < 2,3728639 ω = 2ωω<2,3728639ω=2
Yuval Filmus