<p>The renormalization will only matter if the inverse of betamix is regularized. I am not that familiar with how the Johnson algorithm behaves for bad problems to know if regularization helps in practice, or does matter for a multisecant method.</p>

<div class="gmail_quote">On Apr 12, 2011 1:41 AM, &quot;Stefano de Gironcoli&quot; &lt;<a href="mailto:degironc@sissa.it">degironc@sissa.it</a>&gt; wrote:<br type="attribution">&gt; It has been there for some time, didn&#39;t seem to have any relevant effect.<br>
&gt; do you have evidence of the contrary?<br>&gt; stefano<br>&gt; <br>&gt; On 04/11/2011 05:25 PM, Laurence Marks wrote:<br>&gt;&gt; Thanks.<br>&gt;&gt;<br>&gt;&gt; Another question if I may. From the looks of PW/mix_rho.f90 you do not<br>
&gt;&gt; use the weights in the Johnson paper, just a straight inverse of<br>&gt;&gt; betamix (what would be called Y^T Y in the optimization literature) at<br>&gt;&gt; lines 289-295? Have you considered a regularization, e.g. adding after<br>
&gt;&gt; line 278 something like<br>&gt;&gt;<br>&gt;&gt;          betamix(i,i)=betamix(i,i) + 1.D-7/iter_used<br>&gt;&gt;<br>&gt;&gt; which is about right for your Al (001) example. The regularization<br>&gt;&gt; term (e.g. PRB 78, 075114 (2008)) is a bit empirical, although I might<br>
&gt;&gt; be able to change this.<br>&gt;&gt;<br>&gt;&gt; This is safe, so long as mix_rho.f90 is only used for mixing densities<br>&gt;&gt; during the scf iterations -- is it used elsewhere?<br>&gt;&gt;<br>&gt;&gt; On Mon, Apr 11, 2011 at 5:12 AM, Stefano de Gironcoli&lt;<a href="mailto:degironc@sissa.it">degironc@sissa.it</a>&gt;  wrote:<br>
&gt;&gt;&gt; in my previous  post<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; reminder -&gt;  remainder<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; stefano<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; On 04/11/2011 11:57 AM, Stefano de Gironcoli wrote:<br>&gt;&gt;&gt;&gt; dear Laurence Marks<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;       thank you for contributing this patch for bfgs !<br>&gt;&gt;&gt;&gt;&gt; A quick question. In the ion optimization it looks like you are<br>&gt;&gt;&gt;&gt;&gt; starting from some iterpolation of the new density (i.e. &quot;NEW-OLD<br>
&gt;&gt;&gt;&gt;&gt; atomic charge density approx. for the potential&quot;), what is it?<br>&gt;&gt;&gt;&gt; if i remember correctly the charge density of the new positions is<br>&gt;&gt;&gt;&gt; written<br>&gt;&gt;&gt;&gt; as the superposition of atomic charges plus a reminder which is computed<br>
&gt;&gt;&gt;&gt; as the scf rho minus the superposition of atomic charges at the old<br>&gt;&gt;&gt;&gt; positions.<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; rho_trial_new = rho_atomic_newR + (rho_scf_oldR - rho_atomic_oldR)<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; this is done for the first ionic iteration and assumes that the main<br>&gt;&gt;&gt;&gt; change in the density is due to rigid displacement of atomic-like<br>&gt;&gt;&gt;&gt; contributions.<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; At subsequent iterations the reminder (rho_scf_oldR-rho_atomic_oldR)<br>&gt;&gt;&gt;&gt; can be extrapolated on the basis of its change in the previous couple<br>&gt;&gt;&gt;&gt; of iterations<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;   Stefano de Gironcoli<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; On 04/11/2011 01:11 AM, Laurence Marks wrote:<br>&gt;&gt;&gt;&gt;&gt; For completeness, added proper comments.<br>&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Sun, Apr 10, 2011 at 4:13 PM, Laurence Marks<br>&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:L-marks@northwestern.edu">L-marks@northwestern.edu</a>&gt;    wrote:<br>&gt;&gt;&gt;&gt;&gt;&gt; A very minor bug that you probably known: some of the routines in<br>
&gt;&gt;&gt;&gt;&gt;&gt; S3DE/iotk/src have lines such as &quot;# 1 &quot;iotk_write_interf.spp&quot; &quot;. Most<br>&gt;&gt;&gt;&gt;&gt;&gt; sensible preprocessors will ignore these and just give warnings.<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; A more serious bug. Your bfgs code does not have curvature failure<br>&gt;&gt;&gt;&gt;&gt;&gt; conditions trapped. Not to get too technical here (contact me offline<br>&gt;&gt;&gt;&gt;&gt;&gt; if needed), unless one is close to the minimum bfgs fails unless this<br>
&gt;&gt;&gt;&gt;&gt;&gt; is done. The failure is well documented, less well known, as is the<br>&gt;&gt;&gt;&gt;&gt;&gt; change needed (at least the standard form). I am attaching a modified<br>&gt;&gt;&gt;&gt;&gt;&gt; version with the standard fix. It gives a slightly lower energy with<br>
&gt;&gt;&gt;&gt;&gt;&gt; smaller forces in about the same number of iterations -- due to<br>&gt;&gt;&gt;&gt;&gt;&gt; numerical limitations I cannot compare exactly with your reference<br>&gt;&gt;&gt;&gt;&gt;&gt; directory. I am a newbie with this code so there could be other<br>
&gt;&gt;&gt;&gt;&gt;&gt; repercussions of this change if it is used for something except<br>&gt;&gt;&gt;&gt;&gt;&gt; optimizing the atomic positions, so perhaps a few tests are<br>&gt;&gt;&gt;&gt;&gt;&gt; appropriate for harder problems.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; A quick question. In the ion optimization it looks like you are<br>&gt;&gt;&gt;&gt;&gt;&gt; starting from some iterpolation of the new density (i.e. &quot;NEW-OLD<br>&gt;&gt;&gt;&gt;&gt;&gt; atomic charge density approx. for the potential&quot;), what is it?<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; Another quick one: line 1766 of install/<a href="http://configure.ac">configure.ac</a> nulls out<br>&gt;&gt;&gt;&gt;&gt;&gt; scalapack_libs and the lines below look like they are special tests,<br>
&gt;&gt;&gt;&gt;&gt;&gt; which seems to be inconsistent with line 150 and standard protocols of<br>&gt;&gt;&gt;&gt;&gt;&gt; letting the user define input variables. (OK, while scalapack is<br>&gt;&gt;&gt;&gt;&gt;&gt; probably only useful for large problems I might want to do some.)<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; --<br>&gt;&gt;&gt;&gt;&gt;&gt; Professor Laurence Marks<br>&gt;&gt;&gt;&gt;&gt;&gt; Department of Materials Science and Engineering<br>&gt;&gt;&gt;&gt;&gt;&gt; MSE Rm 2036 Cook Hall<br>
&gt;&gt;&gt;&gt;&gt;&gt; 2220 N Campus Drive<br>&gt;&gt;&gt;&gt;&gt;&gt; Northwestern University<br>&gt;&gt;&gt;&gt;&gt;&gt; Evanston, IL 60208, USA<br>&gt;&gt;&gt;&gt;&gt;&gt; Tel: (847) 491-3996 Fax: (847) 491-7820<br>&gt;&gt;&gt;&gt;&gt;&gt; email: L-marks at northwestern dot edu<br>
&gt;&gt;&gt;&gt;&gt;&gt; Web: <a href="http://www.numis.northwestern.edu">www.numis.northwestern.edu</a><br>&gt;&gt;&gt;&gt;&gt;&gt; Chair, Commission on Electron Crystallography of IUCR<br>&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://www.numis.northwestern.edu/">www.numis.northwestern.edu/</a><br>
&gt;&gt;&gt;&gt;&gt;&gt; Research is to see what everybody else has seen, and to think what<br>&gt;&gt;&gt;&gt;&gt;&gt; nobody else has thought<br>&gt;&gt;&gt;&gt;&gt;&gt; Albert Szent-Gyorgi<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>&gt;&gt;&gt;&gt;&gt; Pw_forum mailing list<br>&gt;&gt;&gt;&gt;&gt; <a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.democritos.it/mailman/listinfo/pw_forum">http://www.democritos.it/mailman/listinfo/pw_forum</a><br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Pw_forum mailing list<br>&gt;&gt;&gt; <a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>&gt;&gt;&gt; <a href="http://www.democritos.it/mailman/listinfo/pw_forum">http://www.democritos.it/mailman/listinfo/pw_forum</a><br>
&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt; <br>&gt; _______________________________________________<br>&gt; Pw_forum mailing list<br>&gt; <a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>&gt; <a href="http://www.democritos.it/mailman/listinfo/pw_forum">http://www.democritos.it/mailman/listinfo/pw_forum</a><br>
</div>