What is the reverse function of dmperm()?

I'm trying to solve Ax = b using Jacobi iterations.
The function dmperm() is used to permute the rows of A so that the diagonal has no zeros. b is also permuted by the same order of row permutation of A. Then I get x with rows permuted. How can I "unpermute" x to get the original order?
Thanks a lot!

 채택된 답변

Roger Stafford
Roger Stafford 2013년 12월 11일

0 개 추천

As long as you use the single-output version of 'dmperm'
p = dmperm(A);
and only permute the rows of matrix A, getting A(p,:), then the elements of x are not permuted.
A permutation of both the rows and columns of A, A(p,q), will permute the elements of x by q. To get x back to the original order is accomplished by
x(q) = x;
which amounts to the inverse permutation of q.

댓글 수: 1

Elena
Elena 2013년 12월 11일
Thank you very much!!!
x(q) = x; is exactly what I want!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Sparse Matrices에 대해 자세히 알아보기

제품

질문:

2013년 12월 10일

댓글:

2013년 12월 11일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by