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

Veja também

symrcm nnz sparse lu