Матричная декомпозиция - PullRequest
0 голосов
/ 21 июля 2010

У меня есть квадрат n * n матрицы S, который необходимо разложить на произведение двух матриц - A1 и A2, где A2 - транспонированная матрица в A1 (A2 = A1 ^ T), поэтому A1 * A2 = S.Существуют ли алгоритмы для эффективного выполнения такой операции?Решение на C # / C ++ было бы неплохо.

Ответы [ 3 ]

3 голосов
/ 21 июля 2010

Как предположил Андрей, похоже, вы пытаетесь провести разложение Холецкого.

Для польского вики-сайта предоставляется код C ++ .

Существует также отдельный подраздел в «Числовые рецепты в C» (2,9 разложение Холецкого, можно найти здесь: http://www.nrbook.com/a/bookcpdf/c2-9.pdf)

2 голосов
/ 21 июля 2010

В этом случае вы, вероятно, хотите http://en.wikipedia.org/wiki/Cholesky_decomposition

0 голосов
/ 21 июля 2010

Я не совсем уверен, что вы хотите сделать, но

вот библиотека GSL, которая может помочь

14 Линейная алгебра

...