Normalization of complex eigenvector

6 ビュー (過去 30 日間)
AVM
AVM 2020 年 2 月 1 日
編集済み: AVM 2020 年 2 月 3 日
What is the best way of normalisation of a complex eigenvector of a complex hermitian matrix. Here I am doing this in the following way, but norm remaim as it is.
syms theta phi
a=[cos(theta) sin(theta)*exp(1i*phi);sin(theta)*exp(-1i*phi) cos(theta)];
[V,~]=eig(a);
V(:,1)/norm(V(:,1))
This produces the vector as
exp(phi*1i)/(exp(-2*imag(phi)) + 1)^(1/2)
1/(exp(-2*imag(phi)) + 1)^(1/2)
But Normalization factor remain in symbolic form, but it should by sqrt(2). Pl somebody help me to understand.
  5 件のコメント
AVM
AVM 2020 年 2 月 1 日
編集済み: AVM 2020 年 2 月 1 日
@walter: Is it little bit of faster if I run the Matlab code using cmd in windows compare to Matlab script? I mean without opening Matlab display?
Walter Roberson
Walter Roberson 2020 年 2 月 1 日
Possibly, but I would not expect the difference to be much.

サインインしてコメントする。

採用された回答

Vladimir Sovkov
Vladimir Sovkov 2020 年 2 月 1 日
You probably want
V(:,1) = V(:,1)/norm(V(:,1));
Besides, if your theta and phi are supposed to be real, the overall computation would be simpler with the assumptions
syms theta phi
assume(theta,'real');
assume(phi,'real');
  18 件のコメント
AVM
AVM 2020 年 2 月 3 日
@Walter: Thanks for your brilliant analysis and observation. I am really great ful to you for your valuable advice. So there is no hope to go further with this kind of situation at all according to your suggestion. Thanks a lot once again.
Walter Roberson
Walter Roberson 2020 年 2 月 3 日
Well, given sufficient time you can get some result, but if you want values that mean anything, you need to evaluate symbolically to 80 or so digits and set a relatively large numeric integration target.
If you are willing to give up that approximately 2% contribution term then the process would be to extract the 3rd term of r, evaluate it at a matrix of theta and k1, evalf(), and integrate the matrix over phi = 0..2*pi and the integration will not take a grindingly long time. If you keep the approximately 2% contribution term you would probably have to set a larger permitted relative error term in order to prevent the numeric integration from being very very slow.
Integrating r as a whole and then substituting k1 and theta into it is probably going to take much too long.
If you substitute in a particular theta value then the third term of r expands to a surprisingly long expression involving k1 and phi that is not profitable to do an exact integration on with respect to phi.
I don't know if an exact integral of r even exists. I had to kill the exact integration when it got up to 75 gigabytes of memory on my system.

サインインしてコメントする。

その他の回答 (1 件)

AVM
AVM 2020 年 2 月 3 日
編集済み: AVM 2020 年 2 月 3 日
Thanks a lot. If I just avoid that 2% contribution, then the plotting will appear shortly? I need to see the graph anyhow. I had to see the nature of graph only. I am not worried about any particular data. If that 2% contributing term takes so long time, just avoid it. I think it will not change the nature of the graph drastically. If at least that can be done, then there is a positive sign for me.

カテゴリ

Help Center および File ExchangeNumber Theory についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by