Nous savons par exemple de Koutis-Miller-Peng (basé sur les travaux de Spielman & Teng), que nous pouvons résoudre très rapidement des systèmes linéaires pour les matrices qui sont la matrice de graphes laplaciens pour certains graphes clairsemés avec des poids de bord non négatifs .
Maintenant (première question), envisagez d'utiliser l'une de ces matrices de graphes laplaciens comme covariance ou (deuxième question) matrice de covariance inverse d'une distribution normale multivariée à moyenne nulle , ou \ mathcal {N} (\ boldsymbol {0}, A ^ {- 1}) . Pour chacun de ces cas, j'ai deux questions:
A. Avec quelle efficacité pouvons-nous tirer un échantillon de cette distribution? (Typiquement pour dessiner un échantillon, nous calculons la décomposition de Cholesky , dessinons une normale normale , puis calculons un échantillon comme ).
B. Avec quelle efficacité pouvons-nous calculer le déterminant de ?
Notez que ces deux pourraient être résolus facilement étant donné une décomposition Cholesky, mais je ne vois pas immédiatement comment extraire plus efficacement qu'en utilisant simplement un algorithme Cholesky clairsemé standard, qui n'utiliserait pas les techniques présentées dans le référencé ci-dessus fonctionne, et qui aurait une complexité cubique pour les graphiques à largeur d'arbre clairsemée mais élevée.
Réponses:
Il y a deux problèmes distincts ici.
Les réponses courtes sont 1) utiliser des approximations de fonctions matricielles rationnelles, et 2) vous n'en avez pas, mais vous n'en avez pas besoin de toute façon. J'aborde ces deux problèmes ci-dessous.
Approximations de la racine carrée de la matrice
L'idée ici est de convertir une approximation de fonction rationnelle pour les fonctions scalaires en une approximation de fonction rationnelle pour les fonctions matricielles.
Nous savons qu'il existe des fonctions rationnelles qui peuvent très bien approcher la fonction racine carrée, pour positif . En effet, pour obtenir une grande précision sur l'intervalle , vous avez besoin de termes dans la série. Pour obtenir les poids appropriés ( ) et les pôles ( ), il suffit de rechercher l'approximation des fonctions rationnelles en ligne ou dans un livre.bi[m,M]O(logM
Envisagez maintenant d'appliquer cette fonction rationnelle à votre matrice:
En raison de la symétrie de , nous avons où est la décomposition en valeurs singulières (SVD) de . Ainsi, la qualité de l'approximation de la matrice rationnelle est équivalente à la qualité de l'approximation de la fonction rationnelle à l'emplacement des valeurs propres.| | A 1 / 2 - r ( A ) | | 2A
En dénotant le nombre de conditions de par , nous pouvons appliquer à n'importe quelle tolérance souhaitée en effectuant des solutions laplaciennes à graphique positivement décalé de la forme,A κ A1/2b O(logκ)
Ces solutions peuvent être faites avec votre solveur laplacien graphique préféré - je préfère les techniques de type multigrille, mais celle du document que vous citez devrait également convenir. Le supplémentaire ne fait la convergence du solveur.bI
Pour un excellent article discutant de cela, ainsi que des techniques d'analyse complexes plus générales qui s'appliquent aux matrices non symétriques, voir Computing , , and related matrix functions by contour integralsAα log(A) , par Hale, Higham et Trefethen (2008 ).
"Calcul" déterminant
Le déterminant est plus difficile à calculer. Pour autant que je sache, la meilleure façon est de calculer la décomposition Schur en utilisant l'algorithme QR, alors lisez les valeurs propres au large de la diagonale de la matrice triangulaire supérieure . Cela prend du temps , où est le nombre de nœuds dans le graphique. U O ( n 3 ) nA=QUQ∗ U O(n3) n
Cependant, le calcul des déterminants est un problème intrinsèquement mal conditionné, donc si vous lisez un article qui repose sur le calcul des déterminants d'une grande matrice, vous devriez être très sceptique quant à la méthode.
Heureusement, vous n'avez probablement pas réellement besoin du déterminant. Par exemple,
Nous pouvons voir comme une mise à jour de bas niveau de l'identité, où la valeur numérique effective le rang, , de la mise à jour de bas rang est une mesure locale de la non-gaussienne de la distribution réelle; généralement, il est bien inférieur au rang complet de la matrice. En effet, si est grand, alors la vraie distribution est localement si non gaussienne que l'on devrait remettre en question toute la stratégie d'essayer d'échantillonner cette distribution en utilisant des approximations gaussiennes locales.A−1x0Axp
Les facteurs de bas rang et peuvent être trouvés avec SVD randomisé ou Lanczos en appliquant la matrice à différents vecteurs, dont chaque application nécessite un graphique Solution laplacienne. Ainsi, le travail global pour obtenir ces facteurs de rang bas est .Q D
Connaissant , le rapport déterminant est alors det ( A - 1 x 0 A x p ) = det ( I + Q D Q ∗ ) = exp ( r ∑ i = 1 log d i ) .D=diag(d1,d2,…,dr)
Ces techniques de calcul de la ration des déterminants de bas rang peuvent être trouvées dans A Stochastic Newton MCMC Method for Large-Scale Statistical Inverse Problems with Application to Seismic Inversion , par Martin, et al. (2012). Dans cet article, il est appliqué à des problèmes de continuum, donc le "graphe" est une grille dans l'espace 3D et le graphe laplacien est la matrice laplacienne réelle. Cependant, toutes les techniques s'appliquent aux Laplaciens graphes généraux. Il y a probablement d'autres articles appliquant cette technique aux graphiques généraux maintenant (l'extension est triviale et fondamentalement ce que je viens d'écrire).
la source