colperm
Permutação de colunas que ordena as colunas pelo número de elementos não nulos.
Categoria: Mathematics > Sparse Matrices
Sintaxe
p = colperm(S)
Retorna um vetor de permutação p tal que S(:,p) tenha colunas com contagens de não nulos não decrescentes.
Descrição
A ordenação é uma heurística barata: colunas com poucos não nulos vêm primeiro. Aplicada antes de uma fatoração LU ou QR, às vezes reduz o preenchimento, os novos não nulos criados durante a fatoração. Empates mantêm a ordem original.
É bem mais simples que symrcm ou uma ordenação por grau mínimo aproximado, que costumam dar resultados melhores.
Argumentos de entrada
S- Matriz esparsa ou cheia.
Argumentos de saída
p- Vetor de permutação de comprimento
size(S,2).
Exemplo
Ordenando colunas por densidade
S = sparse([1 1 1; 0 1 0; 0 1 1]);
p = colperm(S)
full(S(:, p))
Saída
p = 1×3
1 3 2
ans = 3×3
1 1 1
0 0 1
0 1 1