Implications de l'approximation du déterminant

16

On sait que l'on peut calculer exactement le déterminant d'une matrice dans l' espace determinstic . Quelles seraient les implications de complexité d'approximer le déterminant d'une matrice réelle, de norme au plus ( ) dans l'espace logarithmique randomisé, jusqu'à un 1 / \ text {poly } précision?n×nlog2(n)1A11/poly

À cet égard, quelle serait l'approximation "correcte" à demander - multiplicative ou additive? (voir une des réponses ci-dessous).

Lior Eldar
la source
1
Sont-ils censés être sur une vraie RAM?
Je ne suis pas sûr d'avoir bien compris la question, mais si vous vous référez à la précision de l'arithmétique, je suppose que chaque nombre réel est stocké dans des bits de log (n).
Lior Eldar

Réponses:

4

Avec le risque de ne pas avoir bien compris les détails de la question: être en mesure d'approximer le déterminant dans n'importe quel facteur nécessite de pouvoir décider si une matrice carrée est singulière ou non, ce qui devrait avoir des conséquences.

D'une part, il donne un test aléatoire pour savoir si un graphique général a une correspondance parfaite (via la matrice de Tutte et Schwarz-Zippel). Je ne pense pas que ce dernier soit connu dans l'espace de journalisation aléatoire (par exemple, le Complexity Zoo répertorie la correspondance parfaite bipartite comme difficile pour NL).

Magnus Wahlström
la source
Merci Magnus, même si je pensais en fait à une erreur d'approximation additive, auquel cas vous ne serez pas obligé de dire si une matrice est singulière ou non. Une approximation multilatérale peut également être intéressante, donc pour le moment, je ne sais pas quelle est la meilleure définition.
Lior Eldar
1
@LiorEldar, sûrement même avec une erreur d'approximation additive, si les entrées dans la matrice sont des entiers et que la limite d'erreur additive est inférieure à 0,5, vous avez un test de singularité à toute épreuve?
Peter Taylor
Salut Peter Taylor, je pense que pour parler de, disons, une précision de 0,5, vous devez d'abord définir la plus grande norme d'opérateur que vous supportez. Ainsi, par exemple, si votre entrée a A 1 , alors votre erreur additive déterminante peut être 1 / p o l y ( n ) . Donc, même si votre entrée vous est donnée sous forme d'entiers tronqués, chacun de l o g ( n ) bits, alors la norme maximale pour laquelle vous devez approximer le déterminant serait n n en termes d'entiers, ce qui signifie que 0,5AA11/poly(n)log(n)nn0.5l'erreur d'approximation est beaucoup plus petite que rapport à A . 1/poly(n)A
Lior Eldar
Je pense que le problème avec l'erreur additive par rapport à la norme est qu'elle ne se modifie pas vraiment bien. Supposons que j'avais un algorithme qui a donné une erreur d'approximation de rapport à | | A | | . Soit maintenant A la matrice diagonale de blocs n 3 × n 3 formée en utilisant n 2 copies de A comme blocs. Alors | | A | | = | | A | |1/poly(n)||A||An3×n3n2A||A||=||A||, mais , donc a | | A | | / p o l y ( n ) erreur additive pour d e t ( A ) échelles à uneerreur additive O ( 1 ) pour d e t ( A ) . det(A)=det(A)n2||A||/poly(n)det(A)O(1)det(A)
Kevin Costello