Accuracy of complex conjugated eigenvectors computed by eig(A).
古いコメントを表示
Suppose I have a non-symmetric real matrix A, and [V,D]=eig(A) will store the eigenvectors of A in columns of V. The eigenvectors should come with complex conjugated pairs (except for several real eigenvectors) in columns of V. Now for each column of V, I want to find the index of its complex-conjugated column in V. If there are any rounding or truncation errors during the computation of eig(A), I could compensate this error by using ismembertol() like the following:
ConjugatedIndices = cellfun(@(V_i) find(ismembertol(real(V.'),real(conj(V_i.')),'ByRows',true) & ismembertol(imag(V.'),imag(conj(V_i.')),'ByRows',true)), num2cell(V,1))
However, ismembertol() is quite new and not recognized by some old version of MATLAB, and it may have some performance drawbacks. So I'm wondering if I can just use the exact ismember() for this purpose. But I'm not sure if the complex-conjugated column pairs in V are always EXACTLY complex-conjugated, so that I don't need to use the new and maybe slower ismembertol().
Thanks in advance!
回答 (1 件)
カテゴリ
ヘルプ センター および File Exchange で Symbolic Math Toolbox についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!