<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Dear QE users,</div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
 </div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I am trying to compute the full matrix elements of the commutator operator <i>[r, [r, H]]</i> in the eigenvector basis, where r is the position operator and H is the Kohn-Sham Hamiltonian. I need these (and even further nested commutators) to calculate the
 non-linear response properties of materials. I am aware of the code that outputs the
<i>[r,H]</i>. I am also aware of using Wannier functions to obtain the matrix elements but I specifically want them using DFT. I was wondering if there is a code or step in a code that does this? If not, I have two questions when trying to implement this on
 my own:</div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<ol data-editing-info="{"orderedStyleType":3,"unorderedStyleType":1}">
<li style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; list-style-type: "1) "; color: rgb(0, 0, 0);">
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"> In the code
</span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 16px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">PP/src/compute_ppsi.f90 it says: </span></div>
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><i>! commutator_Hx_psi calculates [H, x], here we need i/2 [H, x]</i></span></div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; list-style-type: "2) "; color: rgb(0, 0, 0);">
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><i>!  ppsi = ppsi * (0.0_DP, 0.5_DP)</i></span></div>
</div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; list-style-type: "2) "; color: rgb(0, 0, 0);">
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><i>!   ppsi contains p - i/2 [x, V_{nl}-eS] psi_v for the ipol polarization</i></span></div>
</div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; list-style-type: "2) "; color: rgb(0, 0, 0);">
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">My question is, since
</span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 16px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">the momentum operator
<i>p = i [H,r] </i>(in a.u.) then </span><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">why is there a
<i>i/2</i> factor in ppsi instead of just being <i>i </i>(and the discrepancy of the factor in the two terms in ppsi)?</span></div>
</div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; list-style-type: "2) "; color: rgb(0, 0, 0);">
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
</div>
</li><li style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; font-weight: 400; list-style-type: "2) "; color: rgb(0, 0, 0);">
<div class="elementToProof" style="margin: 0px;"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; font-weight: 400; color: rgb(0, 0, 0);">My second question is, can
 the required matrix elements be calculated by doing the following? </span></div>
<div style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; font-weight: 400; list-style-type: "3) "; color: rgb(0, 0, 0);">
<div class="elementToProof" style="margin: 0px;"><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; font-weight: 400; color: rgb(0, 0, 0);">First, calculate the non-diagonal
 part in matrix(r) which can be obtained from the </span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 16px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">matrix(
<i>[H,r] </i>)  using the </span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; font-weight: 400; color: rgb(0, 0, 0);">code
</span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 16px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">PW/src/commutator_Hx_psi.f90</span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; font-weight: 400; color: rgb(0, 0, 0);">. 
 This is because, </span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 16px; font-weight: 400; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><i><psi v | r
 | psi c > </i></span><span style="letter-spacing: normal; font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; font-weight: 400; color: rgb(0, 0, 0);"><i>= <psi v | [H,r] | psi c > / (Ev - Ec)</i>. And the
 diagonal of matrix( <i>r</i> ) is zero. Then, the required matrix elements of <i>
[r, [r, H]]</i> can be computed using: matrix( <i>r </i>) * matrix( <i>[r, H]</i> ) - matrix(
<i>[r, H] </i>) * matrix( <i>r </i>). Am I missing a factor of ½ here somewhere?</span></div>
</div>
</li></ol>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you very much. Any advice or insights are appreciated.</div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best regards,</div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Vishal Tiwari</span></div>
<div class="elementToProof"><span style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
<div class="elementToProof" style="font-family: "Segoe UI", "Segoe UI Web (West European)", "Helvetica Neue", sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
University of Rochester</div>
<div id="Signature">
<p> </p>
</div>
</body>
</html>