Вначале рассмотрим
элементарные разреженные матрицы и относящиеся к ним функции системы MATLAB.
Функция spdiags
расширяет возможности встроенной функции diag. Возможны четыре операции, различающиеся
числом входных аргументов:
[B.d] =
spdiags(A) — извлекает все ненулевые диагонали из матрицы А размера mxn.
В — матрица размера min(m,n)xp, столбцы которой р являются ненулевыми диагоналями
A. d — вектор длины р, целочисленные элементы которого точно определяют
номера диагоналей матрицы А (положительные номера — выше главной диагонали,
отрицательные — ниже);
В = spdiags(A.d)
— извлекает диагонали, определенные вектором d;
А = spdiags(B,d,A)
— заменяет столбцами матрицы В диагонали матрицы А, определенные вектором
d;
А = spdiags(B,d,m,n)
— создает разреженную матрицу размера mxn, размещая соответствующие столбцы
матрицы В вдоль диагоналей, определяемых вектором d.
S = speye(m.n)
— возвращает разреженную матрицу размера mxn с единицами на главной диагонали
и нулевыми недиагональными элементами;
S = speye(n)
— равносильна speye(n.n). Пример:
»
S = speye(4)
S
=
(1,1)
1
(2.2)
1
(3.3)
1
(4.4)
1
Матрица R
= sprand(S) имеет ту же структуру, что и разреженная матрица S, но ее элементы
распределены по равномерному закону:
R = sprand(m,n,density)
— возвращает случайную разреженную матрицу размера mxn, которая имеет приблизительно
densityxmxn равномерно распределенных ненулевых элементов (0<density<l);
R = sprand(m,n,density,re)
— в дополнение к этому имеет в числе параметров число обусловленности по
отношению к операции обращения, приблизительно равное rс. Если вектор гс
имеет длину lr (A,r<min(m.n)), то матрица R имеет гс в качестве своих
первых 1 r сингулярных чисел, все другие значения равны нулю. В этом случае
матрица R генерируется с помощью матриц случайных плоских вращений, которые
применяются к диагональной матрице с заданными сингулярными числами. Такие
матрицы играют важную роль при анализе алгебраических и топологических структур.
R = sprandn(S)
— возвращает матрицу со структурой разреженной матрицы S, но с элементами,
распределенными по нормальному закону с нулевым средним и дисперсией, равной
1;
R = sprandn(m,n,density)
— возвращает случайную разреженную матрицу размера mxn, имеющую примерно
densityxmxn нормально распределенных ненулевых элементов (0<density<l);
R = sprandnCm,n.density,гс)
— в дополнение к этому имеет своим параметром число обусловленности по отношению
к операции обращения, приблизительно равное rс. Если вектор гс имеет длину
1r (Xr<min(m,n)), то матрица R имеет гс в качестве своих первых 1r сингулярных
чисел, все другие значения равны нулю. В этом случае матрица R генерируется
с помощью матриц случайных плоских вращений, которые применяются к диагональной
матрице с заданными сингулярными числами.
sprandsym(S)
— возвращает случайную симметрическую матрицу, нижние под-диагонали и главная
диагональ которой имеют ту же структуру, что и матрица 5. Элементы результирующей
матрицы распределены по нормальному закону со средним, равным 0, и дисперсией,
равной 1;
sprandsym(n,density)
— возвращает симметрическую случайную разреженную матрицу размера пхп, которая
имеет приблизительно densityxnxn ненулевых элементов; каждый элемент сформирован
в виде суммы нормально распределенных случайных чисел (0<density<l);
R = sprandsym(n,density,гс)
— возвращает матрицу с числом обусловленности по отношению к операции обращения,
равным гс. Закон распределения не является равномерным; значения случайных
элементов симметричны относительно 0 и находятся в пределах [-1, 1]. Если
rс — вектор размера п, то матрица R имеет собственные значения, равные элементам
вектора rс. Таким образом, если элементы вектора гс положительны, то матрица
R является положительно определенной. В любом случае матрица R генерируется
с помощью случайного вращения по Якоби диагональных матриц с заданными собственными
значениями и числом обусловленности. Такие матрицы играют важную роль при
анализе алгебраических и топологических структур;
R = sprandsym(n.density.rc.klnd)
— возвращает положительно определенную матрицу. Аргумент kind может быть
следующим:
kind=l
— матрица R генерируется из положительно определенной диагональной матрицы
с помощью случайных вращений Якоби. R имеет точно заданное число обусловленности;
kind=2
— матрица R генерируется как смещенная сумма матриц внешних произведений.
Число обусловленности матрицы приблизительно, но структура более компактна
(по сравнению с предыдущим случаем);
kind=3
— генерируется матрица R той же структуры, что и S, а число обусловленности
приближенно равно 1/гс. Значение density игнорируется.