diff --git a/docs/pages/electronicstructuremethods.md b/docs/pages/electronicstructuremethods.md index 8ad013e..406029e 100644 --- a/docs/pages/electronicstructuremethods.md +++ b/docs/pages/electronicstructuremethods.md @@ -14,4 +14,4 @@ Moving beyond HF, the text delves into Møller--Plesset Perturbation Theory, whi The part culminates with a discussion on the Coupled Cluster theory, a highly accurate and computationally efficient method for capturing electron correlation effects, often used for small to medium-sized systems. By introducing truncations such as Coupled Cluster Doubles and Coupled Cluster Singles and Doubles, the text demonstrates how electron correlation can be systematically included while balancing computational cost. The Coupled Cluster section provides iterative coding exercises for calculating correlation energies, rounding out the document’s comprehensive approach to electronic structure methods in computational quantum chemistry. Through this blend of theory, mathematical formulations, and hands-on coding exercises, the document serves as an invaluable resource for building a strong foundational understanding of electronic structure methods. -{: .no_toc .text-delta } +{:.no_toc .text-delta} diff --git a/docs/pages/hartreefockmethod.md b/docs/pages/hartreefockmethod.md index ca7bd1b..46a1878 100644 --- a/docs/pages/hartreefockmethod.md +++ b/docs/pages/hartreefockmethod.md @@ -8,9 +8,9 @@ nav_order: 1 # Hartree--Fock Method -The Hartree--Fock method is a foundational approach in quantum chemistry, aimed at solving the electronic structure problem in molecules by determining an optimal wave function. This method simplifies the complex interactions of electrons through a mean-field approximation, where each electron moves in an average field created by all others. This allows for the use of a single set of orbitals, leading to the construction of the Fock operator and iterative solutions to one-electron equations. +The Hartree--Fock method is a foundational approach in quantum chemistry, aimed at solving the electronic structure problem in molecules by determining an optimal wavefunction. This method simplifies the complex interactions of electrons through a mean-field approximation, where each electron moves in an average field created by all others. This allows for the use of a single set of orbitals, leading to the construction of the Fock operator and iterative solutions to one-electron equations. -However, Hartree--Fock has notable limitations. Its reliance on a single-determinant wave function means it struggles to account for electron correlation. This leads to inaccuracies in energy predictions, particularly for systems with strong electron interactions, such as transition metal complexes or molecules with delocalized electrons. +However, Hartree--Fock has notable limitations. Its reliance on a single-determinant wavefunction means it struggles to account for electron correlation. This leads to inaccuracies in energy predictions, particularly for systems with strong electron interactions, such as transition metal complexes or molecules with delocalized electrons. ## Theoretical Background @@ -20,7 +20,7 @@ Our primary objective is to solve the Schrödinger equation in the form \hat{\mathbf{H}}\ket{\Psi}=E\ket{\Psi} \end{equation} -where $\hat{\mathbf{H}}$ denotes the molecular Hamiltonian operator, $\ket{\Psi}$ represents the molecular wave function, and $E$ is the total energy of the system. The Hartree--Fock approximates the total wavefunction $\ket{\Psi}$ as a single Slater determinant, expressed as +where $\hat{\mathbf{H}}$ denotes the molecular Hamiltonian operator, $\ket{\Psi}$ represents the molecular wavefunction, and $E$ is the total energy of the system. The Hartree--Fock approximates the total wavefunction $\ket{\Psi}$ as a single Slater determinant, expressed as \begin{equation} \ket{\Psi}=\ket{\chi\_1\chi\_2\cdots\chi\_N} diff --git a/education/python/H_AO.mat b/education/python/H_AO.mat deleted file mode 100644 index 3552208..0000000 --- a/education/python/H_AO.mat +++ /dev/null @@ -1,8 +0,0 @@ -7 7 - -32.6849383983115018 -7.6042882981283206 -0.0165049888737314 -0.0057180702819767 -0.0066013273733363 -1.6190863978474117 -1.6190801974713471 - -7.6042882981283206 -9.3019300463050971 -0.1963038975889783 -0.0680085632934925 -0.0785135928146506 -3.5423845715711804 -3.5423751217410113 - -0.0165049888737314 -0.1963038975889783 -7.5098086287469812 -0.0038084927680014 -0.0384391238713152 -1.8000966319409237 -1.1315011315757795 - -0.0057180702819767 -0.0680085632934925 -0.0038084927680014 -7.5545892023988461 0.0338520073262876 1.2288233765192262 -2.2444632755229121 - -0.0066013273733363 -0.0785135928146506 -0.0384391238713152 0.0338520073262876 -7.4597174637393806 -1.2547263673362294 0.0822066979075309 - -1.6190863978474117 -3.5423845715711804 -1.8000966319409237 1.2288233765192262 -1.2547263673362294 -4.9559425318596970 -1.5595175364522611 - -1.6190801974713471 -3.5423751217410113 -1.1315011315757795 -2.2444632755229121 0.0822066979075309 -1.5595175364522611 -4.9559366582184081 diff --git a/education/python/J_AO.mat b/education/python/J_AO.mat deleted file mode 100644 index eb96993..0000000 --- a/education/python/J_AO.mat +++ /dev/null @@ -1,50 +0,0 @@ -7 7 7 7 - 4.7850657518157167 0.7413803208589640 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.1589781957751611 0.1589775786127235 0.7413803208589640 1.1189468404728955 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.3817003741996338 0.3816993001002738 0.0000000000000000 -0.0000000000000000 1.1158138186289568 0.0000000000000000 0.0000000000000000 0.1918418261072061 0.1179502014240335 0.0000000000000000 -0.0000000000000000 0.0000000000000000 1.1158138186289568 0.0000000000000000 -0.1382666799096492 0.2455927920913975 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.1158138186289568 0.1358294570769857 -0.0119252521981035 0.1589781957751611 0.3817003741996338 0.1918418261072061 -0.1382666799096492 0.1358294570769857 0.5170653976528593 0.1549090971796644 0.1589775786127235 0.3816993001002738 0.1179502014240335 0.2455927920913975 -0.0119252521981035 0.1549090971796644 0.5170646684993802 - 0.7413803208589640 0.1368733673561338 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0290979969151906 0.0290978843765433 0.1368733673561338 0.2566333713546148 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0886186841165633 0.0886184365690185 0.0000000000000000 -0.0000000000000000 0.2566839693361471 0.0000000000000000 0.0000000000000000 0.0451213127060354 0.0277419584921381 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.2566839693361471 0.0000000000000000 -0.0325204061472090 0.0577635727782623 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.2566839693361471 0.0319471698733557 -0.0028048265072369 0.0290979969151906 0.0886186841165633 0.0451213127060354 -0.0325204061472090 0.0319471698733557 0.1219996037778910 0.0363070243412765 0.0290978843765433 0.0886184365690185 0.0277419584921381 0.0577635727782623 -0.0028048265072369 0.0363070243412765 0.1219994342077250 - 0.0000000000000000 0.0000000000000000 0.0244774107811672 0.0000000000000000 0.0000000000000000 0.0009441400017802 0.0005804851149862 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0000000000000000 0.0000000000000000 0.0046740921760673 0.0028737728393143 0.0244774107811672 0.0378086058533166 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0114220897563872 0.0101229948932509 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0015053117089585 0.0016439206487888 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0014787776222954 -0.0000798238749742 0.0009441400017802 0.0046740921760673 0.0114220897563872 -0.0015053117089585 0.0014787776222954 0.0084351070286822 0.0024161379266733 0.0005804851149862 0.0028737728393143 0.0101229948932509 0.0016439206487888 -0.0000798238749742 0.0024161379266733 0.0051861606131789 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0244774107811672 0.0000000000000000 -0.0006804725854886 0.0012086707647445 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0000000000000000 -0.0033687711376107 0.0059836938548866 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0015053117089585 0.0016439206487888 0.0244774107811672 0.0378086058533166 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0104184319072687 0.0127564015939649 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0010658034085081 -0.0001662071628008 -0.0006804725854886 -0.0033687711376107 -0.0015053117089585 0.0104184319072687 -0.0010658034085081 -0.0060794575781752 0.0008370651347857 0.0012086707647445 0.0059836938548866 0.0016439206487888 0.0127564015939649 -0.0001662071628008 0.0008370651347857 0.0107984865633770 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0244774107811672 0.0006684779145857 -0.0000586894410512 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0033093899046198 -0.0002905502954224 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0014787776222954 -0.0000798238749742 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0010658034085081 -0.0001662071628008 0.0244774107811672 0.0378086058533166 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0103805210366290 0.0093415439895745 0.0006684779145857 0.0033093899046198 0.0014787776222954 -0.0010658034085081 0.0103805210366290 0.0059722951524236 0.0009663555339284 -0.0000586894410512 -0.0002905502954224 -0.0000798238749742 -0.0001662071628008 0.0093415439895745 0.0009663555339284 -0.0005243422436363 - 0.1589781957751611 0.0290979969151906 0.0009441400017802 -0.0006804725854886 0.0006684779145857 0.0062665360763040 0.0061745990476390 0.0290979969151906 0.0541910827418329 0.0017651424451208 -0.0012721959043387 0.0012497709433308 0.0191982461423551 0.0186267995084848 0.0009441400017802 0.0017651424451208 0.0542450286906862 -0.0001138068626155 0.0001118007922863 0.0102128788861415 0.0062649716819358 -0.0006804725854886 -0.0012721959043387 -0.0001138068626155 0.0541691486252700 -0.0000805784884056 -0.0073607559131398 0.0118186599797227 0.0006684779145857 0.0012497709433308 0.0001118007922863 -0.0000805784884056 0.0541662824300356 0.0072310080780946 -0.0002794689709439 0.0062665360763040 0.0191982461423551 0.0102128788861415 -0.0073607559131398 0.0072310080780946 0.0266751118377841 0.0077947051964561 0.0061745990476390 0.0186267995084848 0.0062649716819358 0.0118186599797227 -0.0002794689709439 0.0077947051964561 0.0255994924267121 - 0.1589775786127235 0.0290978843765433 0.0005804851149862 0.0012086707647445 -0.0000586894410512 0.0061745990476390 0.0062664876159468 0.0290978843765433 0.0541908745606216 0.0010852617210354 0.0022597032730856 -0.0001097244393655 0.0186267800205473 0.0191981189790031 0.0005804851149862 0.0010852617210354 0.0541466069886119 0.0001242860533821 -0.0000060349594085 0.0097471911092337 0.0062791649257316 0.0012086707647445 0.0022597032730856 0.0001242860533821 0.0543457015896942 -0.0000125658329820 -0.0062712754452813 0.0130743112558906 -0.0000586894410512 -0.0001097244393655 -0.0000060349594085 -0.0000125658329820 0.0540875266134117 0.0066836710340204 -0.0006348494909613 0.0061745990476390 0.0186267800205473 0.0097471911092337 -0.0062712754452813 0.0066836710340204 0.0255994296131590 0.0077946754424951 0.0062664876159468 0.0191981189790031 0.0062791649257316 0.0130743112558906 -0.0006348494909613 0.0077946754424951 0.0266749718932802 - 0.7413803208589640 0.1368733673561338 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0290979969151906 0.0290978843765433 0.1368733673561338 0.2566333713546148 -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0886186841165633 0.0886184365690185 0.0000000000000000 -0.0000000000000000 0.2566839693361471 0.0000000000000000 0.0000000000000000 0.0451213127060354 0.0277419584921381 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.2566839693361471 0.0000000000000000 -0.0325204061472090 0.0577635727782623 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.2566839693361471 0.0319471698733557 -0.0028048265072369 0.0290979969151906 0.0886186841165633 0.0451213127060354 -0.0325204061472090 0.0319471698733557 0.1219996037778910 0.0363070243412765 0.0290978843765433 0.0886184365690185 0.0277419584921381 0.0577635727782623 -0.0028048265072369 0.0363070243412765 0.1219994342077250 - 1.1189468404728955 0.2566333713546148 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0541910827418329 0.0541908745606216 0.2566333713546148 0.8172062958357494 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.3118439910350611 0.3118431685312394 0.0000000000000000 0.0000000000000000 0.8170225910993408 0.0000000000000000 0.0000000000000000 0.1695603732167930 0.1042509016390392 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.8170225910993408 0.0000000000000000 -0.1222077079052905 0.2170684721387884 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.8170225910993408 0.1200535561152216 -0.0105401964465989 0.0541910827418329 0.3118439910350611 0.1695603732167930 -0.1222077079052905 0.1200535561152216 0.4918265084411055 0.1388343964102938 0.0541908745606216 0.3118431685312394 0.1042509016390392 0.2170684721387884 -0.0105401964465989 0.1388343964102938 0.4918259427779375 - -0.0000000000000000 -0.0000000000000000 0.0378086058533166 0.0000000000000000 0.0000000000000000 0.0017651424451208 0.0010852617210354 -0.0000000000000000 0.0000000000000000 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0355117603011051 0.0218337109560013 0.0378086058533166 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0724290503850180 0.0610359052490957 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0132018112419911 0.0144174384230220 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0129691032908598 -0.0007000677331816 0.0017651424451208 0.0355117603011051 0.0724290503850180 -0.0132018112419911 0.0129691032908598 0.0879610288293885 0.0218637806098230 0.0010852617210354 0.0218337109560013 0.0610359052490957 0.0144174384230220 -0.0007000677331816 0.0218637806098230 0.0540811614326769 - -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0000000000000000 -0.0012721959043387 0.0022597032730856 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.1805183876315438 0.0000000000000000 -0.0255944873660513 0.0454615759079857 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0132018112419911 0.0144174384230220 0.0378086058533166 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0636268193276561 0.0841312894322016 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0093472570076059 -0.0014576625318940 -0.0012721959043387 -0.0255944873660513 -0.0132018112419911 0.0636268193276561 -0.0093472570076059 -0.0633963909980715 0.0075746568361703 0.0022597032730856 0.0454615759079857 0.0144174384230220 0.0841312894322016 -0.0014576625318940 0.0075746568361703 0.1126063650205043 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0012497709433308 -0.0001097244393655 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.1805183876315438 0.0251433340654902 -0.0022074782953084 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0129691032908598 -0.0007000677331816 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0093472570076059 -0.0014576625318940 0.0378086058533166 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0632943352612487 0.0541824599245477 0.0012497709433308 0.0251433340654902 0.0129691032908598 -0.0093472570076059 0.0632943352612487 0.0622789046177670 0.0087446097646533 -0.0001097244393655 -0.0022074782953084 -0.0007000677331816 -0.0014576625318940 0.0541824599245477 0.0087446097646533 -0.0054678286383969 - 0.3817003741996338 0.0886186841165633 0.0046740921760673 -0.0033687711376107 0.0033093899046198 0.0191982461423551 0.0186267800205473 0.0886186841165633 0.3118439910350611 0.0355117603011051 -0.0255944873660513 0.0251433340654902 0.1465842003937041 0.1203708481627231 0.0046740921760673 0.0355117603011051 0.3142447114975889 -0.0055178574242677 0.0054205943084498 0.0968107576703990 0.0519798166315017 -0.0033687711376107 -0.0255944873660513 -0.0055178574242677 0.3105657120709420 -0.0039067996451810 -0.0697746800801584 0.0762619823038440 0.0033093899046198 0.0251433340654902 0.0054205943084498 -0.0039067996451810 0.3104267463153613 0.0685447637796854 0.0039733226079082 0.0191982461423551 0.1465842003937041 0.0968107576703990 -0.0697746800801584 0.0685447637796854 0.2892648812558031 0.0652648960882752 0.0186267800205473 0.1203708481627231 0.0519798166315017 0.0762619823038440 0.0039733226079082 0.0652648960882752 0.1967575958090880 - 0.3816993001002738 0.0886184365690185 0.0028737728393143 0.0059836938548866 -0.0002905502954224 0.0186267995084848 0.0191981189790031 0.0886184365690185 0.3118431685312394 0.0218337109560013 0.0454615759079857 -0.0022074782953084 0.1203708481627231 0.1465834874518935 0.0028737728393143 0.0218337109560013 0.3094820629019785 0.0060259423050276 -0.0002926017539307 0.0730048042710149 0.0595220813008524 0.0059836938548866 0.0454615759079857 0.0060259423050276 0.3191350573186295 -0.0006092476388432 -0.0329613667114352 0.1239353045715860 -0.0002905502954224 -0.0022074782953084 -0.0002926017539307 -0.0006092476388432 0.3066175827561544 0.0460153727055861 -0.0060179280942207 0.0186267995084848 0.1203708481627231 0.0730048042710149 -0.0329613667114352 0.0460153727055861 0.1967572989908636 0.0652647562716866 0.0191981189790031 0.1465834874518935 0.0595220813008524 0.1239353045715860 -0.0060179280942207 0.0652647562716866 0.2892640423291029 - 0.0000000000000000 0.0000000000000000 0.0244774107811672 0.0000000000000000 0.0000000000000000 0.0009441400017802 0.0005804851149862 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0000000000000000 0.0000000000000000 0.0046740921760673 0.0028737728393143 0.0244774107811672 0.0378086058533166 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0114220897563872 0.0101229948932509 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0015053117089585 0.0016439206487888 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0014787776222954 -0.0000798238749742 0.0009441400017802 0.0046740921760673 0.0114220897563872 -0.0015053117089585 0.0014787776222954 0.0084351070286822 0.0024161379266733 0.0005804851149862 0.0028737728393143 0.0101229948932509 0.0016439206487888 -0.0000798238749742 0.0024161379266733 0.0051861606131789 - -0.0000000000000000 -0.0000000000000000 0.0378086058533166 0.0000000000000000 0.0000000000000000 0.0017651424451208 0.0010852617210354 -0.0000000000000000 0.0000000000000000 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0355117603011051 0.0218337109560013 0.0378086058533166 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0724290503850180 0.0610359052490957 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0132018112419911 0.0144174384230220 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0129691032908598 -0.0007000677331816 0.0017651424451208 0.0355117603011051 0.0724290503850180 -0.0132018112419911 0.0129691032908598 0.0879610288293885 0.0218637806098230 0.0010852617210354 0.0218337109560013 0.0610359052490957 0.0144174384230220 -0.0007000677331816 0.0218637806098230 0.0540811614326769 - 1.1158138186289568 0.2566839693361471 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0542450286906862 0.0541466069886119 0.2566839693361471 0.8170225910993408 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.3142447114975889 0.3094820629019785 0.0000000000000000 0.0000000000000000 0.8801590896471142 0.0000000000000000 0.0000000000000000 0.1806856906428344 0.1095478412847632 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.7852702009215762 0.0000000000000000 -0.1195547893843243 0.2091429942390208 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.7852702009215762 0.1174474005135410 -0.0101553589196488 0.0542450286906862 0.3142447114975889 0.1806856906428344 -0.1195547893843243 0.1174474005135410 0.5011963917972988 0.1413105038881261 0.0541466069886119 0.3094820629019785 0.1095478412847632 0.2091429942390208 -0.0101553589196488 0.1413105038881261 0.4829546655451414 - 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0001138068626155 0.0001242860533821 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0055178574242677 0.0060259423050276 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 -0.0082441905826279 0.0114302403202919 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 0.0000000000000000 0.0094993711131071 0.0086179780193885 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0020593297190984 -0.0001974490310552 -0.0001138068626155 -0.0055178574242677 -0.0082441905826279 0.0094993711131071 -0.0020593297190984 -0.0211372887999219 0.0015779409372688 0.0001242860533821 0.0060259423050276 0.0114302403202919 0.0086179780193885 -0.0001974490310552 0.0015779409372688 0.0230836252584455 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0001118007922863 -0.0000060349594085 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0054205943084498 -0.0002926017539307 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0080988704698000 -0.0005550183185087 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0020593297190984 -0.0001974490310552 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 0.0000000000000000 0.0094261202847066 0.0045612315241355 0.0001118007922863 0.0054205943084498 0.0080988704698000 -0.0020593297190984 0.0094261202847066 0.0207647024116652 0.0024607559787724 -0.0000060349594085 -0.0002926017539307 -0.0005550183185087 -0.0001974490310552 0.0045612315241355 0.0024607559787724 -0.0011208718729458 - 0.1918418261072061 0.0451213127060354 0.0114220897563872 -0.0015053117089585 0.0014787776222954 0.0102128788861415 0.0097471911092337 0.0451213127060354 0.1695603732167930 0.0724290503850180 -0.0132018112419911 0.0129691032908598 0.0968107576703990 0.0730048042710149 0.0114220897563872 0.0724290503850180 0.1806856906428344 -0.0082441905826279 0.0080988704698000 0.0842492877978575 0.0477756875333611 -0.0015053117089585 -0.0132018112419911 -0.0082441905826279 0.1639402570384643 -0.0020593297190984 -0.0455574817625255 0.0454572472814958 0.0014787776222954 0.0129691032908598 0.0080988704698000 -0.0020593297190984 0.1638670062100639 0.0447544413277452 0.0023862381765348 0.0102128788861415 0.0968107576703990 0.0842492877978575 -0.0455574817625255 0.0447544413277452 0.2181517778877281 0.0462673577510696 0.0097471911092337 0.0730048042710149 0.0477756875333611 0.0454572472814958 0.0023862381765348 0.0462673577510696 0.1272235868696834 - 0.1179502014240335 0.0277419584921381 0.0101229948932509 0.0016439206487888 -0.0000798238749742 0.0062649716819358 0.0062791649257316 0.0277419584921381 0.1042509016390392 0.0610359052490957 0.0144174384230220 -0.0007000677331816 0.0519798166315017 0.0595220813008524 0.0101229948932509 0.0610359052490957 0.1095478412847632 0.0114302403202919 -0.0005550183185087 0.0477756875333611 0.0449336429478656 0.0016439206487888 0.0144174384230220 0.0114302403202919 0.1035729600049176 -0.0001974490310552 -0.0136402407311079 0.0497523377189314 -0.0000798238749742 -0.0007000677331816 -0.0005550183185087 -0.0001974490310552 0.0995162135096646 0.0194462800474996 -0.0024158248688450 0.0062649716819358 0.0519798166315017 0.0477756875333611 -0.0136402407311079 0.0194462800474996 0.0969963568235609 0.0319695698992487 0.0062791649257316 0.0595220813008524 0.0449336429478656 0.0497523377189314 -0.0024158248688450 0.0319695698992487 0.1341263450373733 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0244774107811672 0.0000000000000000 -0.0006804725854886 0.0012086707647445 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0000000000000000 -0.0033687711376107 0.0059836938548866 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0015053117089585 0.0016439206487888 0.0244774107811672 0.0378086058533166 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0104184319072687 0.0127564015939649 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0010658034085081 -0.0001662071628008 -0.0006804725854886 -0.0033687711376107 -0.0015053117089585 0.0104184319072687 -0.0010658034085081 -0.0060794575781752 0.0008370651347857 0.0012086707647445 0.0059836938548866 0.0016439206487888 0.0127564015939649 -0.0001662071628008 0.0008370651347857 0.0107984865633770 - -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0000000000000000 -0.0012721959043387 0.0022597032730856 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.1805183876315438 0.0000000000000000 -0.0255944873660513 0.0454615759079857 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0132018112419911 0.0144174384230220 0.0378086058533166 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0636268193276561 0.0841312894322016 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0093472570076059 -0.0014576625318940 -0.0012721959043387 -0.0255944873660513 -0.0132018112419911 0.0636268193276561 -0.0093472570076059 -0.0633963909980715 0.0075746568361703 0.0022597032730856 0.0454615759079857 0.0144174384230220 0.0841312894322016 -0.0014576625318940 0.0075746568361703 0.1126063650205043 - 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0001138068626155 0.0001242860533821 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0055178574242677 0.0060259423050276 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 -0.0082441905826279 0.0114302403202919 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 0.0000000000000000 0.0094993711131071 0.0086179780193885 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0020593297190984 -0.0001974490310552 -0.0001138068626155 -0.0055178574242677 -0.0082441905826279 0.0094993711131071 -0.0020593297190984 -0.0211372887999219 0.0015779409372688 0.0001242860533821 0.0060259423050276 0.0114302403202919 0.0086179780193885 -0.0001974490310552 0.0015779409372688 0.0230836252584455 - 1.1158138186289568 0.2566839693361471 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0541691486252700 0.0543457015896942 0.2566839693361471 0.8170225910993408 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.3105657120709420 0.3191350573186295 0.0000000000000000 0.0000000000000000 0.7852702009215762 0.0000000000000000 0.0000000000000000 0.1639402570384643 0.1035729600049176 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.8801590896471142 0.0000000000000000 -0.1288284050603608 0.2346115056225085 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.7852702009215762 0.1160743543702103 -0.0104716537492157 0.0541691486252700 0.3105657120709420 0.1639402570384643 -0.1288284050603608 0.1160743543702103 0.4871032271146138 0.1383248621244226 0.0543457015896942 0.3191350573186295 0.1035729600049176 0.2346115056225085 -0.0104716537492157 0.1383248621244226 0.5199324682615618 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000805784884056 -0.0000125658329820 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0039067996451810 -0.0006092476388432 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0020593297190984 -0.0001974490310552 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0067258243264693 -0.0008713131480755 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 -0.0067937132513899 0.0094972757304634 -0.0000805784884056 -0.0039067996451810 -0.0020593297190984 0.0067258243264693 -0.0067937132513899 -0.0149658003159770 -0.0000330101055779 -0.0000125658329820 -0.0006092476388432 -0.0001974490310552 -0.0008713131480755 0.0094972757304634 -0.0000330101055779 -0.0023338497902504 - -0.1382666799096492 -0.0325204061472090 -0.0015053117089585 0.0104184319072687 -0.0010658034085081 -0.0073607559131398 -0.0062712754452813 -0.0325204061472090 -0.1222077079052905 -0.0132018112419911 0.0636268193276561 -0.0093472570076059 -0.0697746800801584 -0.0329613667114352 -0.0015053117089585 -0.0132018112419911 -0.1195547893843243 0.0094993711131071 -0.0020593297190984 -0.0455574817625255 -0.0136402407311079 0.0104184319072687 0.0636268193276561 0.0094993711131071 -0.1288284050603608 0.0067258243264693 0.0538741011272728 -0.0045481710290262 -0.0010658034085081 -0.0093472570076059 -0.0020593297190984 0.0067258243264693 -0.1181043120530863 -0.0322559899431967 -0.0006695604095361 -0.0073607559131398 -0.0697746800801584 -0.0455574817625255 0.0538741011272728 -0.0322559899431967 -0.1572291228507566 -0.0235853231099498 -0.0062712754452813 -0.0329613667114352 -0.0136402407311079 -0.0045481710290262 -0.0006695604095361 -0.0235853231099498 -0.0396735953779343 - 0.2455927920913975 0.0577635727782623 0.0016439206487888 0.0127564015939649 -0.0001662071628008 0.0118186599797227 0.0130743112558906 0.0577635727782623 0.2170684721387884 0.0144174384230220 0.0841312894322016 -0.0014576625318940 0.0762619823038440 0.1239353045715860 0.0016439206487888 0.0144174384230220 0.2091429942390208 0.0086179780193885 -0.0001974490310552 0.0454572472814958 0.0497523377189314 0.0127564015939649 0.0841312894322016 0.0086179780193885 0.2346115056225085 -0.0008713131480755 -0.0045481710290262 0.1246322218432352 -0.0001662071628008 -0.0014576625318940 -0.0001974490310552 -0.0008713131480755 0.2072100296491923 0.0288774079329155 -0.0050301666939127 0.0118186599797227 0.0762619823038440 0.0454572472814958 -0.0045481710290262 0.0288774079329155 0.1173538996265942 0.0506902366540671 0.0130743112558906 0.1239353045715860 0.0497523377189314 0.1246322218432352 -0.0050301666939127 0.0506902366540671 0.2792743308027172 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0244774107811672 0.0006684779145857 -0.0000586894410512 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0033093899046198 -0.0002905502954224 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0014787776222954 -0.0000798238749742 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0010658034085081 -0.0001662071628008 0.0244774107811672 0.0378086058533166 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0103805210366290 0.0093415439895745 0.0006684779145857 0.0033093899046198 0.0014787776222954 -0.0010658034085081 0.0103805210366290 0.0059722951524236 0.0009663555339284 -0.0000586894410512 -0.0002905502954224 -0.0000798238749742 -0.0001662071628008 0.0093415439895745 0.0009663555339284 -0.0005243422436363 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0378086058533166 0.0012497709433308 -0.0001097244393655 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.1805183876315438 0.0251433340654902 -0.0022074782953084 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0129691032908598 -0.0007000677331816 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0093472570076059 -0.0014576625318940 0.0378086058533166 0.1805183876315438 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0632943352612487 0.0541824599245477 0.0012497709433308 0.0251433340654902 0.0129691032908598 -0.0093472570076059 0.0632943352612487 0.0622789046177670 0.0087446097646533 -0.0001097244393655 -0.0022074782953084 -0.0007000677331816 -0.0014576625318940 0.0541824599245477 0.0087446097646533 -0.0054678286383969 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0001118007922863 -0.0000060349594085 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0054205943084498 -0.0002926017539307 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0080988704698000 -0.0005550183185087 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0020593297190984 -0.0001974490310552 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 0.0000000000000000 0.0094261202847066 0.0045612315241355 0.0001118007922863 0.0054205943084498 0.0080988704698000 -0.0020593297190984 0.0094261202847066 0.0207647024116652 0.0024607559787724 -0.0000060349594085 -0.0002926017539307 -0.0005550183185087 -0.0001974490310552 0.0045612315241355 0.0024607559787724 -0.0011208718729458 - 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0000000000000000 -0.0000805784884056 -0.0000125658329820 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0039067996451810 -0.0006092476388432 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.0020593297190984 -0.0001974490310552 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0067258243264693 -0.0008713131480755 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0474444443627691 0.0000000000000000 -0.0067937132513899 0.0094972757304634 -0.0000805784884056 -0.0039067996451810 -0.0020593297190984 0.0067258243264693 -0.0067937132513899 -0.0149658003159770 -0.0000330101055779 -0.0000125658329820 -0.0006092476388432 -0.0001974490310552 -0.0008713131480755 0.0094972757304634 -0.0000330101055779 -0.0023338497902504 - 1.1158138186289568 0.2566839693361471 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0541662824300356 0.0540875266134117 0.2566839693361471 0.8170225910993408 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.3104267463153613 0.3066175827561544 0.0000000000000000 0.0000000000000000 0.7852702009215762 0.0000000000000000 0.0000000000000000 0.1638670062100639 0.0995162135096646 -0.0000000000000000 0.0000000000000000 0.0000000000000000 0.7852702009215762 0.0000000000000000 -0.1181043120530863 0.2072100296491923 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.8801590896471142 0.1265056867646584 -0.0109818799225197 0.0541662824300356 0.3104267463153613 0.1638670062100639 -0.1181043120530863 0.1265056867646584 0.4865708901796127 0.1367174465233874 0.0540875266134117 0.3066175827561544 0.0995162135096646 0.2072100296491923 -0.0109818799225197 0.1367174465233874 0.4719816785997982 - 0.1358294570769857 0.0319471698733557 0.0014787776222954 -0.0010658034085081 0.0103805210366290 0.0072310080780946 0.0066836710340204 0.0319471698733557 0.1200535561152216 0.0129691032908598 -0.0093472570076059 0.0632943352612487 0.0685447637796854 0.0460153727055861 0.0014787776222954 0.0129691032908598 0.1174474005135410 -0.0020593297190984 0.0094261202847066 0.0447544413277452 0.0194462800474996 -0.0010658034085081 -0.0093472570076059 -0.0020593297190984 0.1160743543702103 -0.0067937132513899 -0.0322559899431967 0.0288774079329155 0.0103805210366290 0.0632943352612487 0.0094261202847066 -0.0067937132513899 0.1265056867646584 0.0527267481986452 0.0181428243824622 0.0072310080780946 0.0685447637796854 0.0447544413277452 -0.0322559899431967 0.0527267481986452 0.1544576495759089 0.0299408115989355 0.0066836710340204 0.0460153727055861 0.0194462800474996 0.0288774079329155 0.0181428243824622 0.0299408115989355 0.0750607960024445 - -0.0119252521981035 -0.0028048265072369 -0.0000798238749742 -0.0001662071628008 0.0093415439895745 -0.0002794689709439 -0.0006348494909613 -0.0028048265072369 -0.0105401964465989 -0.0007000677331816 -0.0014576625318940 0.0541824599245477 0.0039733226079082 -0.0060179280942207 -0.0000798238749742 -0.0007000677331816 -0.0101553589196488 -0.0001974490310552 0.0045612315241355 0.0023862381765348 -0.0024158248688450 -0.0001662071628008 -0.0014576625318940 -0.0001974490310552 -0.0104716537492157 0.0094972757304634 -0.0006695604095361 -0.0050301666939127 0.0093415439895745 0.0541824599245477 0.0045612315241355 0.0094972757304634 -0.0109818799225197 0.0181428243824622 0.0212834690181702 -0.0002794689709439 0.0039733226079082 0.0023862381765348 -0.0006695604095361 0.0181428243824622 0.0146179790732214 0.0013507563967925 -0.0006348494909613 -0.0060179280942207 -0.0024158248688450 -0.0050301666939127 0.0212834690181702 0.0013507563967925 -0.0135607270837149 - 0.1589781957751611 0.0290979969151906 0.0009441400017802 -0.0006804725854886 0.0006684779145857 0.0062665360763040 0.0061745990476390 0.0290979969151906 0.0541910827418329 0.0017651424451208 -0.0012721959043387 0.0012497709433308 0.0191982461423551 0.0186267995084848 0.0009441400017802 0.0017651424451208 0.0542450286906862 -0.0001138068626155 0.0001118007922863 0.0102128788861415 0.0062649716819358 -0.0006804725854886 -0.0012721959043387 -0.0001138068626155 0.0541691486252700 -0.0000805784884056 -0.0073607559131398 0.0118186599797227 0.0006684779145857 0.0012497709433308 0.0001118007922863 -0.0000805784884056 0.0541662824300356 0.0072310080780946 -0.0002794689709439 0.0062665360763040 0.0191982461423551 0.0102128788861415 -0.0073607559131398 0.0072310080780946 0.0266751118377841 0.0077947051964561 0.0061745990476390 0.0186267995084848 0.0062649716819358 0.0118186599797227 -0.0002794689709439 0.0077947051964561 0.0255994924267121 - 0.3817003741996338 0.0886186841165633 0.0046740921760673 -0.0033687711376107 0.0033093899046198 0.0191982461423551 0.0186267800205473 0.0886186841165633 0.3118439910350611 0.0355117603011051 -0.0255944873660513 0.0251433340654902 0.1465842003937041 0.1203708481627231 0.0046740921760673 0.0355117603011051 0.3142447114975889 -0.0055178574242677 0.0054205943084498 0.0968107576703990 0.0519798166315017 -0.0033687711376107 -0.0255944873660513 -0.0055178574242677 0.3105657120709420 -0.0039067996451810 -0.0697746800801584 0.0762619823038440 0.0033093899046198 0.0251433340654902 0.0054205943084498 -0.0039067996451810 0.3104267463153613 0.0685447637796854 0.0039733226079082 0.0191982461423551 0.1465842003937041 0.0968107576703990 -0.0697746800801584 0.0685447637796854 0.2892648812558031 0.0652648960882752 0.0186267800205473 0.1203708481627231 0.0519798166315017 0.0762619823038440 0.0039733226079082 0.0652648960882752 0.1967575958090880 - 0.1918418261072061 0.0451213127060354 0.0114220897563872 -0.0015053117089585 0.0014787776222954 0.0102128788861415 0.0097471911092337 0.0451213127060354 0.1695603732167930 0.0724290503850180 -0.0132018112419911 0.0129691032908598 0.0968107576703990 0.0730048042710149 0.0114220897563872 0.0724290503850180 0.1806856906428344 -0.0082441905826279 0.0080988704698000 0.0842492877978575 0.0477756875333611 -0.0015053117089585 -0.0132018112419911 -0.0082441905826279 0.1639402570384643 -0.0020593297190984 -0.0455574817625255 0.0454572472814958 0.0014787776222954 0.0129691032908598 0.0080988704698000 -0.0020593297190984 0.1638670062100639 0.0447544413277452 0.0023862381765348 0.0102128788861415 0.0968107576703990 0.0842492877978575 -0.0455574817625255 0.0447544413277452 0.2181517778877281 0.0462673577510696 0.0097471911092337 0.0730048042710149 0.0477756875333611 0.0454572472814958 0.0023862381765348 0.0462673577510696 0.1272235868696834 - -0.1382666799096492 -0.0325204061472090 -0.0015053117089585 0.0104184319072687 -0.0010658034085081 -0.0073607559131398 -0.0062712754452813 -0.0325204061472090 -0.1222077079052905 -0.0132018112419911 0.0636268193276561 -0.0093472570076059 -0.0697746800801584 -0.0329613667114352 -0.0015053117089585 -0.0132018112419911 -0.1195547893843243 0.0094993711131071 -0.0020593297190984 -0.0455574817625255 -0.0136402407311079 0.0104184319072687 0.0636268193276561 0.0094993711131071 -0.1288284050603608 0.0067258243264693 0.0538741011272728 -0.0045481710290262 -0.0010658034085081 -0.0093472570076059 -0.0020593297190984 0.0067258243264693 -0.1181043120530863 -0.0322559899431967 -0.0006695604095361 -0.0073607559131398 -0.0697746800801584 -0.0455574817625255 0.0538741011272728 -0.0322559899431967 -0.1572291228507566 -0.0235853231099498 -0.0062712754452813 -0.0329613667114352 -0.0136402407311079 -0.0045481710290262 -0.0006695604095361 -0.0235853231099498 -0.0396735953779343 - 0.1358294570769857 0.0319471698733557 0.0014787776222954 -0.0010658034085081 0.0103805210366290 0.0072310080780946 0.0066836710340204 0.0319471698733557 0.1200535561152216 0.0129691032908598 -0.0093472570076059 0.0632943352612487 0.0685447637796854 0.0460153727055861 0.0014787776222954 0.0129691032908598 0.1174474005135410 -0.0020593297190984 0.0094261202847066 0.0447544413277452 0.0194462800474996 -0.0010658034085081 -0.0093472570076059 -0.0020593297190984 0.1160743543702103 -0.0067937132513899 -0.0322559899431967 0.0288774079329155 0.0103805210366290 0.0632943352612487 0.0094261202847066 -0.0067937132513899 0.1265056867646584 0.0527267481986452 0.0181428243824622 0.0072310080780946 0.0685447637796854 0.0447544413277452 -0.0322559899431967 0.0527267481986452 0.1544576495759089 0.0299408115989355 0.0066836710340204 0.0460153727055861 0.0194462800474996 0.0288774079329155 0.0181428243824622 0.0299408115989355 0.0750607960024445 - 0.5170653976528593 0.1219996037778910 0.0084351070286822 -0.0060794575781752 0.0059722951524236 0.0266751118377841 0.0255994296131590 0.1219996037778910 0.4918265084411055 0.0879610288293885 -0.0633963909980715 0.0622789046177670 0.2892648812558031 0.1967572989908636 0.0084351070286822 0.0879610288293885 0.5011963917972988 -0.0211372887999219 0.0207647024116652 0.2181517778877281 0.0969963568235609 -0.0060794575781752 -0.0633963909980715 -0.0211372887999219 0.4871032271146138 -0.0149658003159770 -0.1572291228507566 0.1173538996265942 0.0059722951524236 0.0622789046177670 0.0207647024116652 -0.0149658003159770 0.4865708901796127 0.1544576495759089 0.0146179790732214 0.0266751118377841 0.2892648812558031 0.2181517778877281 -0.1572291228507566 0.1544576495759089 0.7746059442114875 0.1339105409009737 0.0255994296131590 0.1967572989908636 0.0969963568235609 0.1173538996265942 0.0146179790732214 0.1339105409009737 0.3424825855057970 - 0.1549090971796644 0.0363070243412765 0.0024161379266733 0.0008370651347857 0.0009663555339284 0.0077947051964561 0.0077946754424951 0.0363070243412765 0.1388343964102938 0.0218637806098230 0.0075746568361703 0.0087446097646533 0.0652648960882752 0.0652647562716866 0.0024161379266733 0.0218637806098230 0.1413105038881261 0.0015779409372688 0.0024607559787724 0.0462673577510696 0.0319695698992487 0.0008370651347857 0.0075746568361703 0.0015779409372688 0.1383248621244226 -0.0000330101055779 -0.0235853231099498 0.0506902366540671 0.0009663555339284 0.0087446097646533 0.0024607559787724 -0.0000330101055779 0.1367174465233874 0.0299408115989355 0.0013507563967925 0.0077947051964561 0.0652648960882752 0.0462673577510696 -0.0235853231099498 0.0299408115989355 0.1339105409009737 0.0356023955949539 0.0077946754424951 0.0652647562716866 0.0319695698992487 0.0506902366540671 0.0013507563967925 0.0356023955949539 0.1339105409009737 - 0.1589775786127235 0.0290978843765433 0.0005804851149862 0.0012086707647445 -0.0000586894410512 0.0061745990476390 0.0062664876159468 0.0290978843765433 0.0541908745606216 0.0010852617210354 0.0022597032730856 -0.0001097244393655 0.0186267800205473 0.0191981189790031 0.0005804851149862 0.0010852617210354 0.0541466069886119 0.0001242860533821 -0.0000060349594085 0.0097471911092337 0.0062791649257316 0.0012086707647445 0.0022597032730856 0.0001242860533821 0.0543457015896942 -0.0000125658329820 -0.0062712754452813 0.0130743112558906 -0.0000586894410512 -0.0001097244393655 -0.0000060349594085 -0.0000125658329820 0.0540875266134117 0.0066836710340204 -0.0006348494909613 0.0061745990476390 0.0186267800205473 0.0097471911092337 -0.0062712754452813 0.0066836710340204 0.0255994296131590 0.0077946754424951 0.0062664876159468 0.0191981189790031 0.0062791649257316 0.0130743112558906 -0.0006348494909613 0.0077946754424951 0.0266749718932802 - 0.3816993001002738 0.0886184365690185 0.0028737728393143 0.0059836938548866 -0.0002905502954224 0.0186267995084848 0.0191981189790031 0.0886184365690185 0.3118431685312394 0.0218337109560013 0.0454615759079857 -0.0022074782953084 0.1203708481627231 0.1465834874518935 0.0028737728393143 0.0218337109560013 0.3094820629019785 0.0060259423050276 -0.0002926017539307 0.0730048042710149 0.0595220813008524 0.0059836938548866 0.0454615759079857 0.0060259423050276 0.3191350573186295 -0.0006092476388432 -0.0329613667114352 0.1239353045715860 -0.0002905502954224 -0.0022074782953084 -0.0002926017539307 -0.0006092476388432 0.3066175827561544 0.0460153727055861 -0.0060179280942207 0.0186267995084848 0.1203708481627231 0.0730048042710149 -0.0329613667114352 0.0460153727055861 0.1967572989908636 0.0652647562716866 0.0191981189790031 0.1465834874518935 0.0595220813008524 0.1239353045715860 -0.0060179280942207 0.0652647562716866 0.2892640423291029 - 0.1179502014240335 0.0277419584921381 0.0101229948932509 0.0016439206487888 -0.0000798238749742 0.0062649716819358 0.0062791649257316 0.0277419584921381 0.1042509016390392 0.0610359052490957 0.0144174384230220 -0.0007000677331816 0.0519798166315017 0.0595220813008524 0.0101229948932509 0.0610359052490957 0.1095478412847632 0.0114302403202919 -0.0005550183185087 0.0477756875333611 0.0449336429478656 0.0016439206487888 0.0144174384230220 0.0114302403202919 0.1035729600049176 -0.0001974490310552 -0.0136402407311079 0.0497523377189314 -0.0000798238749742 -0.0007000677331816 -0.0005550183185087 -0.0001974490310552 0.0995162135096646 0.0194462800474996 -0.0024158248688450 0.0062649716819358 0.0519798166315017 0.0477756875333611 -0.0136402407311079 0.0194462800474996 0.0969963568235609 0.0319695698992487 0.0062791649257316 0.0595220813008524 0.0449336429478656 0.0497523377189314 -0.0024158248688450 0.0319695698992487 0.1341263450373733 - 0.2455927920913975 0.0577635727782623 0.0016439206487888 0.0127564015939649 -0.0001662071628008 0.0118186599797227 0.0130743112558906 0.0577635727782623 0.2170684721387884 0.0144174384230220 0.0841312894322016 -0.0014576625318940 0.0762619823038440 0.1239353045715860 0.0016439206487888 0.0144174384230220 0.2091429942390208 0.0086179780193885 -0.0001974490310552 0.0454572472814958 0.0497523377189314 0.0127564015939649 0.0841312894322016 0.0086179780193885 0.2346115056225085 -0.0008713131480755 -0.0045481710290262 0.1246322218432352 -0.0001662071628008 -0.0014576625318940 -0.0001974490310552 -0.0008713131480755 0.2072100296491923 0.0288774079329155 -0.0050301666939127 0.0118186599797227 0.0762619823038440 0.0454572472814958 -0.0045481710290262 0.0288774079329155 0.1173538996265942 0.0506902366540671 0.0130743112558906 0.1239353045715860 0.0497523377189314 0.1246322218432352 -0.0050301666939127 0.0506902366540671 0.2792743308027172 - -0.0119252521981035 -0.0028048265072369 -0.0000798238749742 -0.0001662071628008 0.0093415439895745 -0.0002794689709439 -0.0006348494909613 -0.0028048265072369 -0.0105401964465989 -0.0007000677331816 -0.0014576625318940 0.0541824599245477 0.0039733226079082 -0.0060179280942207 -0.0000798238749742 -0.0007000677331816 -0.0101553589196488 -0.0001974490310552 0.0045612315241355 0.0023862381765348 -0.0024158248688450 -0.0001662071628008 -0.0014576625318940 -0.0001974490310552 -0.0104716537492157 0.0094972757304634 -0.0006695604095361 -0.0050301666939127 0.0093415439895745 0.0541824599245477 0.0045612315241355 0.0094972757304634 -0.0109818799225197 0.0181428243824622 0.0212834690181702 -0.0002794689709439 0.0039733226079082 0.0023862381765348 -0.0006695604095361 0.0181428243824622 0.0146179790732214 0.0013507563967925 -0.0006348494909613 -0.0060179280942207 -0.0024158248688450 -0.0050301666939127 0.0212834690181702 0.0013507563967925 -0.0135607270837149 - 0.1549090971796644 0.0363070243412765 0.0024161379266733 0.0008370651347857 0.0009663555339284 0.0077947051964561 0.0077946754424951 0.0363070243412765 0.1388343964102938 0.0218637806098230 0.0075746568361703 0.0087446097646533 0.0652648960882752 0.0652647562716866 0.0024161379266733 0.0218637806098230 0.1413105038881261 0.0015779409372688 0.0024607559787724 0.0462673577510696 0.0319695698992487 0.0008370651347857 0.0075746568361703 0.0015779409372688 0.1383248621244226 -0.0000330101055779 -0.0235853231099498 0.0506902366540671 0.0009663555339284 0.0087446097646533 0.0024607559787724 -0.0000330101055779 0.1367174465233874 0.0299408115989355 0.0013507563967925 0.0077947051964561 0.0652648960882752 0.0462673577510696 -0.0235853231099498 0.0299408115989355 0.1339105409009737 0.0356023955949539 0.0077946754424951 0.0652647562716866 0.0319695698992487 0.0506902366540671 0.0013507563967925 0.0356023955949539 0.1339105409009737 - 0.5170646684993802 0.1219994342077250 0.0051861606131789 0.0107984865633770 -0.0005243422436363 0.0255994924267121 0.0266749718932802 0.1219994342077250 0.4918259427779375 0.0540811614326769 0.1126063650205043 -0.0054678286383969 0.1967575958090880 0.2892640423291029 0.0051861606131789 0.0540811614326769 0.4829546655451414 0.0230836252584455 -0.0011208718729458 0.1272235868696834 0.1341263450373733 0.0107984865633770 0.1126063650205043 0.0230836252584455 0.5199324682615618 -0.0023338497902504 -0.0396735953779343 0.2792743308027172 -0.0005243422436363 -0.0054678286383969 -0.0011208718729458 -0.0023338497902504 0.4719816785997982 0.0750607960024445 -0.0135607270837149 0.0255994924267121 0.1967575958090880 0.1272235868696834 -0.0396735953779343 0.0750607960024445 0.3424825855057970 0.1339105409009737 0.0266749718932802 0.2892640423291029 0.1341263450373733 0.2792743308027172 -0.0135607270837149 0.1339105409009737 0.7746059442114875 diff --git a/education/python/S_AO.mat b/education/python/S_AO.mat deleted file mode 100644 index b424629..0000000 --- a/education/python/S_AO.mat +++ /dev/null @@ -1,8 +0,0 @@ -7 7 - 1.0000000000000007 0.2367039205727262 0.0000000000000000 0.0000000000000000 -0.0000000000000000 0.0499979530712930 0.0499977612946618 - 0.2367039205727262 0.9999999999999998 -0.0000000000000000 -0.0000000000000000 -0.0000000000000000 0.4539104107387046 0.4539093782896402 - 0.0000000000000000 -0.0000000000000000 0.9999999999999998 0.0000000000000000 0.0000000000000000 0.2687518869141010 0.1652369566212325 - 0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.9999999999999998 0.0000000000000000 -0.1936982767371106 0.3440520240182046 - -0.0000000000000000 -0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0000000000000000 0.1902839627243655 -0.0167061383224885 - 0.0499979530712930 0.4539104107387046 0.2687518869141010 -0.1936982767371106 0.1902839627243655 1.0000000000000000 0.2508979537881345 - 0.0499977612946618 0.4539093782896402 0.1652369566212325 0.3440520240182046 -0.0167061383224885 0.2508979537881345 1.0000000000000000 diff --git a/education/python/molecule.xyz b/education/python/molecule.xyz deleted file mode 100644 index fbddb23..0000000 --- a/education/python/molecule.xyz +++ /dev/null @@ -1,5 +0,0 @@ -3 -water/RHF/STO-3G/-74.965901192180 - O -0.04258229 -0.01476312 -0.01697740 - H 0.65343210 -0.51640346 0.47582054 - H 0.38535019 0.87626658 -0.06024314 diff --git a/education/python/molecule.xyz b/education/python/molecule.xyz new file mode 120000 index 0000000..488c37e --- /dev/null +++ b/education/python/molecule.xyz @@ -0,0 +1 @@ +../../example/molecule/water.xyz \ No newline at end of file diff --git a/script/general/docstopdf.sh b/script/general/docstopdf.sh index 6cde6e9..8214228 100755 --- a/script/general/docstopdf.sh +++ b/script/general/docstopdf.sh @@ -334,7 +334,7 @@ echo "" >> docs/tex/main.tex && for PAGE in ${PAGES[@]}; do # replace some MD quirks with LaTeX quirks awk '/^//g ; /mathjax/d ; /{:.cite}/d ; /^>/d ; s/^```py{/```python{/' \ + sed 's/\\\\\\\\\\/\\\\/g ; s/\\_/_/g ; s/\\|/|/g ; s///g ; /mathjax/d ; /{:.cite}/d ; /{:.no_toc .text-delta}/d ; /^>/d ; s/^```py{/```python{/' \ > temp.md # convert MD to LaTeX diff --git a/script/general/docstoqmhandson.sh b/script/general/docstoqmhandson.sh index 18ab0d8..5f8393d 100755 --- a/script/general/docstoqmhandson.sh +++ b/script/general/docstoqmhandson.sh @@ -12,5 +12,8 @@ sed -n '/tableofcontents/,/appendices/{/tableofcontents/b;/appendices/b;p}' docs # extract the code solutions sed -n '/\\label{sec:hf_code_solution}/,/appendices/{/appendices/b;p}' docs/tex/main.tex > docs/tex/qmhandson/elstructure_solutions.tex +# remove some additional lines +sed -i '/\\part/d' docs/tex/qmhandson/elstructure.tex + # remove first ald last line of the files sed -i '1d;$d' docs/tex/qmhandson/elstructure.tex && sed -i '$d' docs/tex/qmhandson/elstructure_solutions.tex diff --git a/src/main.cpp b/src/main.cpp index 6389750..d856347 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -26,7 +26,7 @@ std::tuple parse_input(const std::filesystem::path& path) return {input_json, patched_input.get()}; } -std::array, 3> parse_arguments(int argc, char** argv) { +std::array, 4> parse_arguments(int argc, char** argv) { // extract the executable path and start the program timer std::filesystem::path executable_path = std::filesystem::weakly_canonical(std::filesystem::path(argv[0])).parent_path(); @@ -37,19 +37,23 @@ std::array, 3> parse_arguments(int arg std::shared_ptr program = std::make_shared("Acorn Quantum Package", "1.0", argparse::default_arguments::none); // add subcommands - std::shared_ptr command_show = std::make_shared("show"); - std::shared_ptr command_run = std::make_shared("run" ); + std::shared_ptr command_show = std::make_shared("show" ); + std::shared_ptr command_integral = std::make_shared("integral"); + std::shared_ptr command_run = std::make_shared("run" ); // set the subcommand options - command_run ->add_argument("files").help("Input files int .json format to specify the calculations.").remaining(); - command_show->add_argument("files").help("Input files in the .xyz format to show." ).remaining(); + command_run ->add_argument("files") .help("Input files int .json format to specify the calculations.").remaining(); + command_show ->add_argument("files") .help("Input files in the .xyz format to show." ).remaining(); + command_integral->add_argument("file") .help("Input file in the .xyz format to use for integrals." ); + command_integral->add_argument("-b", "--basis").help("Basis to use for the integral calculation." ).default_value("sto-3g"); // add the command line arguments program->add_argument("-h", "--help" ).help("-- This help message." ).default_value(false).implicit_value(true) ; program->add_argument("-n", "--nthread").help("-- Number of threads to use during calculation.").default_value(1 ) .scan<'i', int>(); // add the subparsers - program->add_subparser(*command_run ); + program->add_subparser(*command_run ); + program->add_subparser(*command_integral); #ifdef GRAPHIC program->add_subparser(*command_show); #endif @@ -63,12 +67,12 @@ std::array, 3> parse_arguments(int arg nthread = program->get("-n"); // return the program - return {program, command_run, command_show}; + return {program, command_integral, command_run, command_show}; } int main(int argc, char** argv) { // define the program timer and parse the command line arguments - Timepoint program_timer = Timer::Now(); auto [program, command_run, command_show] = parse_arguments(argc, argv); + Timepoint program_timer = Timer::Now(); auto [program, command_integral, command_run, command_show] = parse_arguments(argc, argv); // print the program header std::printf("ACORN QUANTUM PACKAGE\n\n"); @@ -86,18 +90,48 @@ int main(int argc, char** argv) { // print the compilation and execution timestamps std::printf("\n\nPROGRAM COMPILED: %s\nPROGRAM EXECUTED: %s\n", __TIMESTAMP__, Timer::Local().c_str()); + // graphic block #ifdef GRAPHIC if (program->is_subcommand_used("show")) {Viewer viewer(program->at("show").get>("files")); return 0;} #endif + // define the inputs + std::vector> inputs; + + // extract the input files + if (program->is_subcommand_used("run")) for (const std::string& program_input : command_run->get>("files")) inputs.push_back(parse_input(program_input)); + + // add additional input files for the integral subcommand + if (program->is_subcommand_used("integral")) { + + // create the default input + nlohmann::json input_json; input_json["integral"] = default_input.at("integral"), input_json["system"] = default_input.at("system"); + + // add the integral input + input_json.at("system").at("path") = command_integral->get("file" ); + input_json.at("system").at("basis") = command_integral->get("basis"); + + // enable exports + input_json.at("integral").at("data_export").at("kinetic") = true; + input_json.at("integral").at("data_export").at("nuclear") = true; + input_json.at("integral").at("data_export").at("coulomb") = true; + input_json.at("integral").at("data_export").at("overlap") = true; + + // create the patched input + nlohmann::json patched_input = default_input; patched_input.merge_patch(input_json); + + // add the input to the list + inputs.push_back({input_json, patched_input.get()}); + } + // loop over all input files - for (const std::string& program_input : program->at("run").get>("files")) { + for (const std::tuple& program_input : inputs) { - // print the input file being processed - std::printf("\nPROCESSING INPUT FILE: %s\n\n", program_input.c_str()); + // print the input file being processed and extract the input + auto [input_json, input] = program_input; std::cout << std::endl << input_json.dump(4) << std::endl << std::endl; - // parse the input file, initialize the system - auto [input_json, input] = parse_input(program_input); System system; if (input_json.contains("system")) system = System(input.system); + // initialize the system + System system; if (input_json.contains("system")) system = System(input.system); // define all the variables to store the results double energy_hf = 0, energy_mp = 0, energy_cc = 0, energy_ci = 0; torch::Tensor T_AO, V_AO, S_AO, J_AO, dT_AO, dV_AO, dS_AO, dJ_AO, T_MS, V_MS, F_MS, C_MS, J_MS_AP, E_CI, C_CI; @@ -135,7 +169,7 @@ int main(int argc, char** argv) { std::printf("%s\n", Timer::Format(Timer::Elapsed(integral_calculation_timer)).c_str()); // boolean to export the integrals to the disk - bool export_d0 = input.integral.data_export.kinetic || input.integral.data_export.nuclear || input.integral.data_export.coulomb || input.integral.data_export.overlap; + bool export_d0 = input.integral.data_export.kinetic || input.integral.data_export.nuclear || input.integral.data_export.coulomb || input.integral.data_export.overlap ; bool export_d1 = input.integral.data_export.kinetic_d1 || input.integral.data_export.nuclear_d1 || input.integral.data_export.coulomb_d1 || input.integral.data_export.overlap_d1; // write the integrals to the disk