Normalization of complex eigenvector

조회 수: 14 (최근 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 CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by