From owner-chemistry@ccl.net Thu Mar 8 18:08:01 2012 From: "Jussi Lehtola jussi.lehtola::helsinki.fi" To: CCL Subject: CCL: incremental and nonincremental Fock matrix Message-Id: <-46445-120308112746-4180-mOMfyrtmlwJMBVEnoeiIiA .. server.ccl.net> X-Original-From: Jussi Lehtola Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Date: Thu, 8 Mar 2012 18:27:36 +0200 Mime-Version: 1.0 Sent to CCL by: Jussi Lehtola [jussi.lehtola- -helsinki.fi] On Thu, 08 Mar 2012 15:26:00 +0200 "Heribert Reis hreis]![eie.gr" wrote: > Sent to CCL by: Heribert Reis [hreis###eie.gr] > Dear Reza, > > NoIncFock calculates the Fock-matrix from scratch at each SCF step, > which is expensive, but accurate. > IncFock approximates the Fock-matrix by adding up the changes due to > the density matrix change from consecutive steps of the SCF: > > F(P_i) = F(P_i-1) + F(P_i - P_i-1), where P is the density. > > This is faster than NoIncFock, and the approximation is a good one, if > the density changes are small, e.g. close to convergence, but may also > fail. Well, it's not really an approximation, since in Hartree-Fock theory the Fock matrix is linear in the density matrix, and you should get the same result in both cases. When you form the matrix from scratch as G(i,j) = sum_{k,l} P(k,l) [2(ij|kl) - (ik|lj)] you screen out the elements for which the product of the density matrix elements and integrals (estimated, e.g., with the Schwarz inequality), are small. If you do incremental formation, the formation becomes much more effective as the elements that haven't changed are screened out. -- -------------------------------------------------------- Mr. Jussi Lehtola, M. Sc. Doctoral Student jussi.lehtola^^^helsinki.fi Department of Physics http://www.helsinki.fi/~jzlehtol University of Helsinki Office phone: +358 9 191 50 632 Finland -------------------------------------------------------- Jussi Lehtola, FM Tohtorikoulutettava jussi.lehtola^^^helsinki.fi Fysiikan laitos http://www.helsinki.fi/~jzlehtol Helsingin Yliopisto Työpuhelin: (0)9 191 50 632 --------------------------------------------------------