{"id":174,"date":"2019-04-12T18:43:15","date_gmt":"2019-04-12T10:43:15","guid":{"rendered":"http:\/\/132.145.126.25\/?p=174"},"modified":"2022-02-08T20:44:11","modified_gmt":"2022-02-08T12:44:11","slug":"molecular-orbitals-from-roothaan-equation","status":"publish","type":"post","link":"https:\/\/www.tsihyoung.com\/index.php\/en\/2019\/04\/12\/molecular-orbitals-from-roothaan-equation\/","title":{"rendered":"Molecular Orbitals from Roothaan Equation"},"content":{"rendered":"\n<p>Roothaan equation is the matrix version of Hartree-Fock equations. The derivation is direct as follow.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Hartree-Fock equation for the \\(i^\\mathrm{th}\\) spatial orbital \\(\\varphi_{i}\\)<ul><li>\\(\\hat{f}(1)\\varphi_{i}(1)=\\epsilon_{i}\\varphi_{i}(1)\\)<\/li><\/ul><\/li><li>Given a set of basis functions \\(\\left\\{\\chi_{\\nu}\\right\\},\\nu=1,2,\\dots,m\\), the HF orbitals can be expanded as<ul><li>\\(\\varphi_{i}=\\sum_{\\nu=1}^{m}{C_{{\\nu}i}\\chi_{\\nu},i=1,2,\\dots,m}\\)<\/li><\/ul><\/li><li>Denote overlap matrix and Fock matrix as follows<ul><li>\\(S_{\\mu\\nu}=\\langle\\chi_{\\mu}|\\chi_{\\nu}\\rangle\\)<\/li><li>\\(F_{\\mu\\nu}=\\left\\langle\\chi_{\\mu}\\left|\\hat{f}\\right|\\chi_{\\nu}\\right\\rangle\\)<\/li><\/ul><\/li><li>HF equations are then transformed into<ul><li>\\(\\sum_{\\nu=1}^{m}{F_{\\mu\\nu}C_{{\\nu}i}}=\\epsilon_{i}\\sum_{\\nu=1}^{m}{S_{\\mu\\nu}C_{{\\nu}i}},i=1,2,\\dots,m\\)<\/li><\/ul><\/li><li>Now we get the Roothaan equation<ul><li>\\(\\mathbf{F}\\mathbf{C}=\\mathbf{S}\\mathbf{C}\\mathbf{\\epsilon}\\)<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>It&#8217;s obvious that \\(\\mathbf{S}\\) is real-symmetric positive-definite matrix. Thus, it can be Cholesky decomposed into product of upper triangular matrix and its transpose using <strong><a href=\"http:\/\/www.netlib.org\/lapack\/explore-html\/d1\/d7a\/group__double_p_ocomputational_ga2f55f604a6003d03b5cd4a0adcfb74d6.html#ga2f55f604a6003d03b5cd4a0adcfb74d6\" target=\"_blank\" rel=\"noreferrer noopener\">dpotrf<\/a><\/strong> provided by lapack:<\/p>\n\n\n\n<p class=\"has-text-align-center\">\\(\\mathbf{S}=\\mathbf{U}^\\dagger\\mathbf{U}\\)<\/p>\n\n\n\n<p>After straight forwards linear algebra, one can get the orthogonalised Roothaan equation \\(\\mathbf{F}&#8217;\\mathbf{C}&#8217;=\\mathbf{C}&#8217;\\mathbf{\\epsilon}\\) with these transformations: \\(\\mathbf{C}&#8217;=\\mathbf{U}\\mathbf{C}\\) and \\(\\mathbf{F}&#8217;=\\left(\\mathbf{U}^{\\dagger}\\right)^{-1}\\mathbf{F}\\mathbf{U}^{-1}\\).<\/p>\n\n\n\n<p>To get \\(\\mathbf{C}&#8217;\\), we merely need to diagonalise \\(\\mathbf{F}&#8217;\\). This process can be done by calling <strong><a href=\"http:\/\/www.netlib.org\/lapack\/explore-html\/d2\/d8a\/group__double_s_yeigen_ga442c43fca5493590f8f26cf42fed4044.html\" target=\"_blank\" rel=\"noreferrer noopener\">dsyev<\/a><\/strong> (for symmetric matrices) or <strong><a href=\"http:\/\/www.netlib.org\/lapack\/explore-html\/d9\/d8e\/group__double_g_eeigen_ga66e19253344358f5dee1e60502b9e96f.html\" target=\"_blank\" rel=\"noreferrer noopener\">dgeev<\/a><\/strong> (for general matrices) provided by lapack. Then the original molecular orbitals \\(\\mathbf{C}\\) can be obtained by a backwards transformation \\(\\mathbf{C}=\\mathbf{U}^{-1}\\mathbf{C}&#8217;\\).<\/p>\n\n\n\n<p>Noted herein that \\(\\mathbf{C}\\) itself is <strong>NOT<\/strong> normalised but the resulting molecular orbitals are orthonormal. The reason is atomic bases are not orthogonal, so that \\(\\mathbf{C}\\) is normalised with weight \\(\\mathbf{S}\\). We can make a checking calculation to show this fact.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The output from <strong><a href=\"http:\/\/www.netlib.org\/lapack\/explore-html\/d2\/d8a\/group__double_s_yeigen_ga442c43fca5493590f8f26cf42fed4044.html\" target=\"_blank\" rel=\"noreferrer noopener\">dsyev<\/a><\/strong> is orthonormalised as<ul><li>\\(\\mathbf{C}&#8217;^{\\dagger}\\mathbf{C}&#8217;=\\mathbf{I}\\)<\/li><\/ul><\/li><li>Plug \\(\\mathbf{C}&#8217;=\\mathbf{U}\\mathbf{C}\\) into above equation and remember \\(\\mathbf{S}=\\mathbf{U}^\\dagger\\mathbf{U}\\)<ul><li>\\(\\mathbf{C}^{\\dagger}\\mathbf{S}\\mathbf{C}=\\mathbf{I}\\)<\/li><\/ul><\/li><li>Molecular orbitals \\(\\varphi_{i}\\) are orthonormal since<ul><li>\\(\\langle \\varphi_{i} | \\varphi_{j} \\rangle = \\sum_{\\alpha, \\beta}{C_{i\\alpha}^{\\ast}\\langle \\chi_{\\alpha}|\\chi_{\\beta} \\rangle C_{\\beta j}} = \\mathbf{C}^{\\dagger}\\mathbf{S}\\mathbf{C} = \\mathbf{I}\\)<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>Lapack provides more convenient tools <strong><a href=\"http:\/\/www.netlib.org\/lapack\/explore-html\/d2\/d8a\/group__double_s_yeigen_ga007d33bcdcc697e17c6d15432f159b73.html\" target=\"_blank\" rel=\"noreferrer noopener\">dsygv<\/a><\/strong> (for symmetric matrices) or <a href=\"http:\/\/www.netlib.org\/lapack\/explore-html\/d9\/d8e\/group__double_g_eeigen_ga4f59e87e670a755b41cbdd7e97f36bea.html\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>dggev<\/strong><\/a> (for general matrices) to solve such generalised eigenvalue problems as Roothaan equation. Nevertheless, the algorithm lying in these tools is the same as stated above, so that the output eigenvectors are <strong>NOT<\/strong> normalised without weight \\(\\mathbf{S}\\) either.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Roothaan equation is the matrix version of Hartree-Fock equations. The derivation is direct as follow. Hartree-Fock equation for the \\(i^\\mathrm{th}\\) spatial orbital \\(\\varphi_{i}\\) \\(\\hat{f}(1)\\varphi_{i}(1)=\\epsilon_{i}\\varphi_{i}(1)\\) Given a set of basis functions \\(\\left\\{\\chi_{\\nu}\\right\\},\\nu=1,2,\\dots,m\\), the HF orbitals can be expanded as \\(\\varphi_{i}=\\sum_{\\nu=1}^{m}{C_{{\\nu}i}\\chi_{\\nu},i=1,2,\\dots,m}\\) Denote overlap matrix and Fock matrix as follows \\(S_{\\mu\\nu}=\\langle\\chi_{\\mu}|\\chi_{\\nu}\\rangle\\) \\(F_{\\mu\\nu}=\\left\\langle\\chi_{\\mu}\\left|\\hat{f}\\right|\\chi_{\\nu}\\right\\rangle\\) HF equations are then transformed into [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[],"post_formats":[],"languages":[9],"post_translationss":[],"class_list":["post-174","post","type-post","status-publish","format-standard","hentry","category-computational-chemistry-en"],"guten_post_layout_featured_media_urls":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"guten_post_layout_landscape_large":false,"guten_post_layout_portrait_large":false,"guten_post_layout_square_large":false,"guten_post_layout_landscape":false,"guten_post_layout_portrait":false,"guten_post_layout_square":false,"sciencexlite-blog-thumb":false},"_links":{"self":[{"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/posts\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":4,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/posts\/174\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/posts\/174\/revisions\/608"}],"wp:attachment":[{"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/media?parent=174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/categories?post=174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/tags?post=174"},{"taxonomy":"post_format","embeddable":true,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/post_formats?post=174"},{"taxonomy":"language","embeddable":true,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/languages?post=174"},{"taxonomy":"post_translations","embeddable":true,"href":"https:\/\/www.tsihyoung.com\/index.php\/wp-json\/wp\/v2\/post_translationss?post=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}