function RP = inverte_permutacao(PR,n)
%Supoe que PR(i) eh um indice entre 1 e n, sem repeticao. Devolve um vetor
%linha
%RP tal que RP(j) eh o indice i tal que PR(i) = j, ou zero se tal elemento
%nao existe em PR. Ou seja, PR(RP(i)) = i para todo i.

RP = sparse(1,n);
for i = 1:size(PR,2)
    j = PR(i);
    assert((j >= 1) && (j <= n))
    assert(RP(j) == 0)
    RP(j) = i;
end