И другие программы этой серии
Если X – положительно определенная матрица, то p=0 и матрица R – верхняя треугольная, в противном случае p – положительное целое число, R – верхняя треугольная матрица размера q×n, где q=p–1. Разреженная структура матрицы R такая же, как и у верхнего треугольника размера q×n матрицы X, и произведение R\'*R размера n×n соответствует структуре разреженности матрицы X по ее первым q строкам и столбцам X(1:q,:) и X(:,1:q).
• R = cholinc(X,droptol) возвращает неполное разложение Холецкого любой квадратной разреженной матрицы, используя положительный числовой параметр droptol. Функция cholinc(X,droptol) возвращает приближение к полному разложению Холецкого, вычисленному с помощью функции chol(X). При меньших значениях droptol аппроксимация
1 Проверить, является ли матрица разреженной, можно при помощи функции issparse. Она вернет 1, если матрица разреженная. Сама эта функция может применяться при использовании pcg или подобных методов решения линейных уравнений, когда обе части уравнения умножаются cholinc(S), где S – симметрическая матрица.
улучшается, пока значение droptol не станет равным 0. В этом случае cholinc задает полное преобразование Холецкого (chol(X)).
• R = cholinc(X,options) использует структуру с тремя переменными, которые могут быть использованы в любой из комбинаций: droptol, michol, rdiag. Дополнительные поля игнорируются. Если michol=1, cholinc возвращает модифицированное разложение Холецкого. Если rdiag=1, то все нули на диагонали верхней треугольной матрицы заменяются квадратным корнем от произведения 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 может быть действительной квадратной положительно полуопределенной.
Начало в части 1