Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

inverse participation ratio #6

Open
eminamitani opened this issue Sep 22, 2021 · 4 comments
Open

inverse participation ratio #6

eminamitani opened this issue Sep 22, 2021 · 4 comments

Comments

@eminamitani
Copy link
Owner

construct module to calculate inverse participation ratio

@Sctdhy
Copy link

Sctdhy commented Sep 3, 2023

nmodes=len(eigenvector)
iprdat=np.zeros(nmodes)
for i in range(nmodes):
vec=eigenvector[:,i]
inner=vecvec
ipr=inner
inner
print(ipr.sum())
iprdat[i]=ipr.sum()
In the original paper, it seems that we should first calculate the sum of squares for the three directions of an atom within a particular pattern before squaring it again.
image

@eminamitani
Copy link
Owner Author

I made get_IPR_rev module to evaluate the following equation directly. The eigenvector of vibrational mode is normalized, thus, the denomintor is 1. Thus, I evaluate IPR by using np.power(eigenvector_for_mode,4).
スクリーンショット 2024-04-08 19 33 01

@eminamitani
Copy link
Owner Author

And, this method and the previous version return the same results, since both evaluate the sum of respective elements to the 4th power, 1x^4+1y^4+1z^4 ..... Nx^4+Ny^4+Nz^4

@Sctdhy
Copy link

Sctdhy commented Dec 16, 2024

Thank you,Prof. Minamitani. I've sorted this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants