Разложение Холецкого разреженных матриц
-
choli пс(X,'0')
— возвращает неполное разложение Холецкого для действительной симметрической
положительно определенной разреженной матрицы [nrm = norm(S) занимает слишком
много времени. Эта функция изначально предназначена для работы с разреженными
матрицами, хотя она работает корректно и с большими полными матрицами;].
Результат представляет собой верхнюю треугольную матрицу;
-
R = cholincCX,'0')
— возвращает верхнюю треугольную матрицу, которая имеет такую же разреженную
структуру, как и верхний треугольник матрицы действительной положительно
определенной матрицы X. Результат умножения R' *R соответствует X по своей
разреженной структуре. Положительной определенности матрицы X недостаточно,
чтобы гарантировать существование неполного разложения Холецкого, и в этом
случае выдается сообщение об ошибке;
-
[R,p] =
cho!1nc(X, '0') — никогда не выдает сообщение об ошибке в ходе разложения.
Если X — положительно определенная матрица, то р=0 и матрица R — верхняя
треугольная, в противном случае р — положительное целое число, R — верхняя
треугольная матрица размера qxn, где q=p-l. Разреженная структура матрицы
R такая же, как и у верхнего треугольника размера qxn матрицы X, и произведение
R' *R размера nxn соответствует структуре разреженности матрицы X по ее
первым q строкам и столбцам X(l:q,:) и Х(: ,l:q).
-
R = cho1inc(X,droptol)
— возвращает неполное разложение Холецкого любой квадратной разреженной
матрицы, используя положительный числовой параметр droptol. Функция cholinc(X,droptol)
возвращает приближение к полному разложению Холецкого, вычисленному с помощью
функции chol (X). При меньших значениях droptol аппроксимация улучшается,
пока значение droptol не станет равным 0. В этом случае cholinc задает полное
преобразование Холецкого (chol(X));
-
R = cholinc(X.options)
— использует структуру с тремя переменными, которые могут быть использованы
в любой из комбинаций: droptol, mi chol, rdi ag. Дополнительные поля игнорируются.
Если mi chol =1, chol inc возвращает модифицированное разложение Холецкого.
Если rdiag=l, то все нули на диагонали верхней треугольной матрицы заменяются
квадратным корнем от произведения droptol и нормы соответствующего столбца
матрицы X — sqrt(droptol*norm(X(: ,j))). По умолчанию rdiag=0;
-
R = cholinc(X,droptol)
и R = cholinc(X.options) — возвращают верхнюю треугольную матрицу R. Результат
R'*R — это аппроксимация матрицы;
-
R = cholinc(X,
'inf') - возвращает разложение Холецкого в неопределенности, когда не удается
получить обычное разложение. Матрица X может быть действительной квадратной
положительно полуопределенной.
Пример:
»
S = delsqCnumgndCC' .4))
S =
(1.1)
4
(2.1)
-1
(1.2)
-1
(2.2)
4
(3.2)
-1
(2.3)
-1
(3.3)
4
»
RD=cholinc(S,'0')
R0=
(1.1)
2.0000
(1.2)
-0.5000
(2.2)
1.9365
(2.3)
-0.5164
(3.3)
1.9322
Содержание раздела