# spcompack

converte uma representação de adjacência comprimida em representação de adjacência padrão

## Parâmetros

xadj

  vetor de inteiros de comprimento (n+1).

xlindx

  vetor de inteiros de comprimento n+1 (ponteiros).

lindx

  vetor de inteiros

adjncy

  vetor de inteiros

## Descrição

    A função utilitária spcompak é usada para converter uma representação de adjacência
    comprimida em uma representação de adjacência padrão.

## Exemplos

    // A é a matriz esparsa:
    A=[1,0,0,0,0,0,0;
       0,1,0,0,0,0,0;
       0,0,1,0,0,0,0;
       0,0,1,1,0,0,0;
       0,0,1,1,1,0,0;
       0,0,1,1,0,1,0;
       0,0,1,1,0,1,1];
    A=sparse(A);
    //Para esta matriz a representação padrão de adjacência é dada por:
    xadj=[1,2,3,8,12,13,15,16];
    adjncy=[1, 2, 3,4,5,6,7, 4,5,6,7, 5, 6,7, 7];
    //(ver sp2adj).
    // Incrementos no vetor xadj dão o número de entradas não nulas em cada coluna
    // i.e., há 2-1=1 entrada na coluna 1
    //    há 3-2=1 entrada na coluna 2
    //    há 8-3=5 entradas na coluna 3
    //              12-8=4                      4
    //etc.
    //O índice de linha dessas entradas é dado pelo vetor adjncy
    // por exemplo,
    // adjncy (3:7)=adjncy(xadj(3):xadj(4)-1)=[3,4,5,6,7]
    // diz que as 5=xadj(4)-xadj(3) entradas na coluna 3 têm índices de linha
    // 3,4,5,6,7.
    //Na representação compacta, as seqüências repetidas em adjncy
    //são eliminadas.
    //Aqui em adjncy, as seqüências 4,5,6,7  e 7 são eliminadas.
    //A estrutura padrão (xadj,adjncy) toma a forma comprimida (lindx,xlindx)
    lindx=[1, 2, 3,4,5,6,7, 5, 6,7];
    xlindx=[1,2,3,8,9,11];
    //(colunas 4 e 7 de A são eliminadas).
    //A pode ser reconstruída de (xadj,xlindx,lindx).
    [xadj,adjncy,anz]= sp2adj(A);
    adjncy-spcompack(xadj,xlindx,lindx)

## Ver Também

- sp2adj
- adj2sp
- spget