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