<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><tt>g_psi multiplies the correction vector by an approximation of
        the inverse of (H-eS), typically just the inverse of the
        diagonal .</tt></p>
    <p><tt>regterg is the real version of the routine: that is
        appropriate the one for k==Gamma</tt></p>
    <p><tt>in this case psi is real in real space which means that the
        Fourier components at G and -G are complex conjugate of each
        other.</tt></p>
    <p><tt>the normalization is as usual <br>
      </tt></p>
    <p><tt>1 = \sum_G psi(G)^* psi(G)   when summing over all G <br>
      </tt></p>
    <p><tt>but only half of them (the "positive" G) are stored and the
        normalization is computed as</tt></p>
    <p><tt>1 = psi(0)* psi(0) + 2.0 \sum_G/=0 psi(G)* psi(G)   or rather<br>
      </tt></p>
    <p><tt>1 = 2.0 \sum_G psi(G)* psi(G)   -  psi(0)* psi(0)</tt></p>
    <p><tt>the processor with gstart==2 is the one for which the first
        component is G=0<br>
      </tt></p>
    <p><tt>HTH</tt></p>
    <p><tt>stefano<br>
      </tt></p>
    <div class="moz-cite-prefix">On 29/07/19 15:59, carlossiero siero
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:740511965.2641336.1564408790050@mail.yahoo.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div class="ydp214a4843yahoo-style-wrap"
        style="font-family:Helvetica Neue, Helvetica, Arial,
        sans-serif;font-size:13px;">
        <div dir="ltr" data-setdir="false">Dear Users, <br>
          <br>
          I have been digging in the regterg.f90 subroutine and I was
          wondering if somebody could tell me what the calling to g_psi
          (line 286) is doing?<br>
          <br>
          <span>                |     CALL g_psi( npwx, npw, notcnv, 1,
            psi(1,nb1), ew(nb1) )</span> <br>
          <br>
          I thought the correction vectors, |psi> = (<span>H - e*S)
            |psi>,</span> were already stored in psi, so there is no
          need to do any inversion or anything else. <br>
          <br>
          Also, running a 1processor calculation, the normalization goes
          through line 299:<br>
           <br>
          <span>                |      IF ( gstart == 2 ) ew(n) = ew(n)
            - psi(1,nbn) * psi(1,nbn)<br>
          </span><br>
          What is the purpose of substrating the psi product of the
          first element on each of the new vectors?<br>
          <br>
          Thanks so much for your help! <br>
          <br>
          Carlos </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Quantum ESPRESSO is supported by MaX (<a class="moz-txt-link-abbreviated" href="http://www.max-centre.eu/quantum-espresso">www.max-centre.eu/quantum-espresso</a>)
users mailing list <a class="moz-txt-link-abbreviated" href="mailto:users@lists.quantum-espresso.org">users@lists.quantum-espresso.org</a>
<a class="moz-txt-link-freetext" href="https://lists.quantum-espresso.org/mailman/listinfo/users">https://lists.quantum-espresso.org/mailman/listinfo/users</a></pre>
    </blockquote>
  </body>
</html>