1) Ейгендекомпозиція насправді не дуже допомагає. Це, безумовно, більш стабільно чисельно, ніж факторизація Чолеського, що корисно, якщо ваша матриця погано обумовлена / майже сингулярна / має високий номер умови. Таким чином , ви можете використовувати eigendecomposition і це дасть вам А рішення вашої проблеми. Але мало гарантій, що це буде ПРАВИЛЬНЕ рішення. Чесно кажучи, щойно явно ви інвертуєте , шкода вже зроблена. Формування просто погіршує справи. Ейгендекомпозиція допоможе вам виграти битву, але війна, безумовно, програна.ΣXTΣ−1X
2) Не знаючи специфіки вашої проблеми, це я би робив. По- перше, виконати розкладання Холецкого на , так що . Потім виконайте QR-факторизацію на щоб . Будь ласка , переконайтеся , що обчислювальний з допомогою прямої підстановки - DO NOT явно інвертного . Тоді ви отримуєте:
Звідси ви можете вирішити будь-яку потрібну вам праву частину. Але знову ж таки,ΣΣ=LLTL−1XL−1X=QRL−1XL
XTΣ−1X======XT(LLT)−1XXTL−TL−1X(L−1X)T(L−1X)(QR)TQRRTQTQTRTR
R(або ). Використовуйте заміну вперед та назад.
RTR
До речі, мені цікаво праворуч вашого рівняння. Ви писали , що це . Ви впевнені, що це не ? Бо якби це було, ви можете скористатися подібним трюком з правого боку:
І тоді ви можете доставити переворот, коли ви вирішите вирішити для :
XTΣYXTΣ−1Y β X T Σ - 1 X β = X T Σ - 1 Y R T R β = R T Q T L - 1 Y R β = Q T L - 1 Y β = R - 1 Q T L - 1 Y R
XTΣ−1Y=====XT(LLT)−1YXTL−TL−1Y(L−1X)TL−1Y(QR)TL−1YRTQTL−1Y
βXTΣ−1XβRTRβRββ====XTΣ−1YRTQTL−1YQTL−1YR−1QTL−1Y
Rдля завершального кроку, правда? Це просто відстала заміна. :-)