Функции разреженных матриц
Элементарные разреженные матрицы
Матрицы без нулевых значений называются полными матрицами. Матрицы, содержащие некоторое число элементов с нулевыми значениями, в MATLAB называются разреженными матрицами.Преобразование разреженных матриц
Теперь рассмотрим функции преобразования разреженных матриц. Они представлены ниже: | k = f ind(X) – возвращает индексы вектора х для его ненулевых элементов. Если таких элементов нет, то find возвращает пустой вектор .find(X>100) возвращает индексы элементов вектора с Х>100;Работа с ненулевыми элементами разреженных матриц
Поскольку разреженные матрицы содержат ненулевые элементы, то предусмотрен ряд функций для работы с ними: | nnz(X) – возвращает число ненулевых элементов матрицы X. Плотность разреженной матрицы определяется по формуле nnz(X)/numel (X). Пример: | h = sparse(hilb(10)); | >> nnz(h) | ans = | 100Визуализация разреженных матриц
Визуализация разреженных матриц нередко позволяет выявить не только любопытные, но и полезные и поучительные свойства тех математических закономерностей, которые порождают такие матрицы или описываются последними.Алгоритмы упорядочения
Упорядочение – это еще одна характерная для разреженных матриц операция. Ее алгоритм реализуется несколькими функциями: | р = colmmd(S) – возвращает вектор упорядоченности столбцов разреженной матрицы S. [то nzmax(S) – максимальное количество ячеек для хранения ненулевых элементов.Норма, число обусловленности и ранг разреженной матрицы
Ниже представлены функции, позволяющие вычислять числа обусловленности и ранги для разреженных матриц. | с = condest(A) – использует метод Хейджера в модификации Хаема для оценки числа обусловленности матрицы по первой норме.Разложение Холецкого разреженных матриц
cholinc(X,'0') – возвращает неполное разложение Холецкого для действительной симметрической положительно определенной разреженной матрицы [nrm = norm(S) занимает слишком много времени. Эта функция изначально предназначена для работы с разреженными матрицами, хотя она работает корректно и с большими полными матрицами;]. Результат представляет собой верхнюю треугольную матрицу;LU-разложение разреженных матриц
Функция luinc осуществляет неполное LU-разложение и возвращает нижнюю треугольную матрицу, верхнюю треугольную матрицу и матрицу перестановок для разреженных матриц [Благодаря LAPACK в MATLAB 6 появилась отсутствующая в прежних версиях возможность использовать команду lu для точного LU-разложения разреженных матриц. – Примеч. ред.]. Используется в следующих формах:Вычисление собственных значений и сингулярных чисел разреженных матриц
…