1) La composition eigendec n'aide pas vraiment beaucoup. Elle est certainement plus stable numériquement qu'une factorisation de Cholesky, ce qui est utile si votre matrice est mal conditionnée / presque singulière / a un nombre élevé de conditions. Vous pouvez donc utiliser la composition eigendec et cela vous donnera une solution à votre problème. Mais rien ne garantit que ce sera la bonne solution. Honnêtement, une fois que vous inversez explicitement , le mal est déjà fait. La formation de X T Σ - 1 X ne fait qu'empirer les choses. La composition par eigend vous aidera à gagner la bataille, mais la guerre est certainement perdue.ΣXTΣ- 1X
2) Sans connaître les spécificités de votre problème, voici ce que je ferais. Tout d' abord, effectuer une factorisation de Cholesky sur pour que Σ = L L T . Puis effectuer une factorisation QR sur L - 1 X de telle sorte que L - 1 X = Q R . Veuillez vous assurer de calculer L - 1 XΣΣ = L LTL- 1XL- 1X= Q RL- 1X en utilisant la substitution de l' avant - NE PAS explicitement inverti . Alors vous obtenez:
X T Σ - 1 X = X T ( LL
De là, vous pouvez résoudre n'importe quel côté droit que vous voulez. Mais encore une fois, veuillez ne pas inverser explicitementR(ouRTR). Utilisez des substitutions avant et arrière si nécessaire.
XTΣ- 1X======XT( L LT)- 1XXTL- TL- 1X( L- 1X)T( L- 1X)( Q R )TQ RRTQTQ TRTR
RRTR
BTW, je suis curieux de savoir le côté droit de votre équation. Vous avez écrit que c'est . Êtes-vous sûr que ce n'est pas X T Σ - 1 Y ? Parce que si c'était le cas, vous pourriez utiliser une astuce similaire sur le côté droit:
X T Σ - 1XTΣ YXTΣ- 1Oui
Et puis vous pouvez livrer le coup de grâce quand vous allez résoudre pourβ:
X T Σ - 1 X β = X T Σ - 1 Y R T R β = R T Q T L - 1 Y R β = Q T L -
XTΣ- 1Oui=====XT( L LT)- 1OuiXTL- TL- 1Oui( L- 1X)TL- 1Oui( Q R )TL- 1OuiRTQTL- 1Oui
β
Bien sûr, vous n'inverseriez jamais explicitement
Rpour la dernière étape, non? C'est juste une substitution en arrière. :-)
XTΣ- 1XβRTR βR ββ====XTΣ- 1OuiRTQTL- 1OuiQTL- 1OuiR- 1QTL- 1Oui
R