Разреженное сочетание столбца на основе ненулевого количества
j = colperm(S)
j = colperm(S)
генерирует вектор сочетания j
таким образом, что столбцы S(:,j)
упорядочены согласно увеличивающемуся количеству ненулевых записей. Это иногда полезно как предварительное упорядоченное расположение для LU-факторизации; в этом случае используют lu(S(:,j))
.
Если S
симметрично, затем j
=
colperm(S)
генерирует сочетание j
так, чтобы оба строки и столбцы S(j,j)
упорядочены согласно увеличивающемуся количеству ненулевых записей. Если S
положителен определенный, это иногда полезно как предварительное упорядоченное расположение для факторизации Холесского; в этом случае используют chol(S(j,j))
.
100
- 100
матрица в виде стрелки
n = 100; A = [ones(1,n); ones(n-1,1) speye(n-1,n-1)]
имеет полную первую строку и столбец. Его LU-факторизация, lu(A)
, почти абсолютно полно. Оператор
j = colperm(A)
возвращает j
=
[2:n
1] . Так
A(j,j)
отправляет полную строку и столбец в нижнюю часть и заднюю часть и lu(A(j,j))
имеет ту же ненулевую структуру как A
самостоятельно.
С другой стороны, Маркерный пример мяча,
B = bucky
имеет точно три ненулевых элемента в каждой строке и столбце, таким образом, j = colperm(B)
единичное сочетание и не справка вообще для сокращения временной замены с последующими факторизациями.
Алгоритм включает вид на количествах ненулей в каждом столбце.