From 42f8edc59403616152063ced7cfa365cb27e686f Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 7 Jan 2020 16:45:14 +0100 Subject: [PATCH] Single excitations OK in fast notebook --- Notebooks/F12_fast.ipynb | 6868 ++---------------------------------- Notebooks/F12_matrix.ipynb | 2596 +------------- 2 files changed, 361 insertions(+), 9103 deletions(-) diff --git a/Notebooks/F12_fast.ipynb b/Notebooks/F12_fast.ipynb index eaf9bf0..b46b371 100644 --- a/Notebooks/F12_fast.ipynb +++ b/Notebooks/F12_fast.ipynb @@ -16,47 +16,9 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val png_image : string -> unit = \n" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "- : unit = ()\n", - "Findlib has been successfully loaded. Additional directives:\n", - " #require \"package\";; to load a package\n", - " #list;; to list the available packages\n", - " #camlp4o;; to load camlp4 (standard syntax)\n", - " #camlp4r;; to load camlp4 (revised syntax)\n", - " #predicates \"p,q,...\";; to set these predicates\n", - " Topfind.reset();; to force that packages will be reloaded\n", - " #thread;; to enable threads\n", - "\n", - "- : unit = ()\n" - ] - }, - { - "data": { - "text/plain": [ - "val png_image : string -> Jupyter_notebook.display_id = \n" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let png_image = print_endline ;;\n", "\n", @@ -96,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -120,20 +82,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val pp_mo : Format.formatter -> MOBasis.t -> unit = \n" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "#install_printer AngularMomentum.pp_string ;;\n", "#install_printer Basis.pp ;;\n", @@ -176,222 +127,11 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val basis_filename : string = \"/home/scemama/qp2/data/basis/6-31g\"\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val aux_basis_filename : string = \"/home/scemama/qp2/data/basis/cc-pvdz\"\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val nuclei : Nuclei.t = [|(Element.C, 0.0000 0.0000 0.0000)|]\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val frozen_core : bool = false\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val multiplicity : int = 1\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val state : int = 1\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val basis : Basis.t =\n", - " \n", - " Atomic Basis set\n", - " ----------------\n", - "\n", - "-----------------------------------------------------------------------\n", - " # Angular Coordinates (Bohr) Exponents Coefficients\n", - " Momentum X Y Z\n", - "-----------------------------------------------------------------------\n", - " 1-3 S 0.0000 0.0000 0.0000 3.04752490e+03 1.83470000e-03\n", - " 4.57369510e+02 1.40373000e-02\n", - " 1.03948690e+02 6.88426000e-02\n", - " 2.92101550e+01 2.32184400e-01\n", - " 9.28666300e+00 4.67941300e-01\n", - " 3.16392700e+00 3.62312000e-01\n", - " \n", - " 7.86827240e+00 -1.19332400e-01\n", - " 1.88128850e+00 -1.60854200e-01\n", - " 5.44249300e-01 1.14345640e+00\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - " 3-8 P 0.0000 0.0000 0.0000 7.86827240e+00 6.89991000e-02\n", - " 1.88128850e+00 3.16424000e-01\n", - " 5.44249300e-01 7.44308300e-01\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val aux_basis : Basis.t =\n", - " \n", - " Atomic Basis set\n", - " ----------------\n", - "\n", - "-----------------------------------------------------------------------\n", - " # Angular Coordinates (Bohr) Exponents Coefficients\n", - " Momentum X Y Z\n", - "-----------------------------------------------------------------------\n", - " 1-6 S 0.0000 0.0000 0.0000 3.04752490e+03 1.83470000e-03\n", - " 4.57369510e+02 1.40373000e-02\n", - " 1.03948690e+02 6.88426000e-02\n", - " 2.92101550e+01 2.32184400e-01\n", - " 9.28666300e+00 4.67941300e-01\n", - " 3.16392700e+00 3.62312000e-01\n", - " \n", - " 7.86827240e+00 -1.19332400e-01\n", - " 1.88128850e+00 -1.60854200e-01\n", - " 5.44249300e-01 1.14345640e+00\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " 6.66500000e+03 6.92000000e-04\n", - " 1.00000000e+03 5.32900000e-03\n", - " 2.28000000e+02 2.70770000e-02\n", - " 6.47100000e+01 1.01718000e-01\n", - " 2.10600000e+01 2.74740000e-01\n", - " 7.49500000e+00 4.48564000e-01\n", - " 2.79700000e+00 2.85074000e-01\n", - " 5.21500000e-01 1.52040000e-02\n", - " \n", - " 6.66500000e+03 -1.46000000e-04\n", - " 1.00000000e+03 -1.15400000e-03\n", - " 2.28000000e+02 -5.72500000e-03\n", - " 6.47100000e+01 -2.33120000e-02\n", - " 2.10600000e+01 -6.39550000e-02\n", - " 7.49500000e+00 -1.49981000e-01\n", - " 2.79700000e+00 -1.27262000e-01\n", - " 5.21500000e-01 5.44529000e-01\n", - " \n", - " 1.59600000e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - " 3-14 P 0.0000 0.0000 0.0000 7.86827240e+00 6.89991000e-02\n", - " 1.88128850e+00 3.16424000e-01\n", - " 5.44249300e-01 7.44308300e-01\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " 9.43900000e+00 3.81090000e-02\n", - " 2.00200000e+00 2.09480000e-01\n", - " 5.45600000e-01 5.08557000e-01\n", - " \n", - " 1.51700000e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - " 19-24 D 0.0000 0.0000 0.0000 5.50000000e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val f12 : F12factor.t =\n", - " {F12factor.expo_s = 1.;\n", - " gaussian =\n", - " {GaussianOperator.coef_g =\n", - " [ -0.314400 -0.303700 -0.168100 -0.098110 -0.060240 -0.037260 ];\n", - " expo_sg =\n", - " [ 0.220900 1.004000 3.622000 12.160000 45.870000 254.400000 ];\n", - " expo_sg_inv =\n", - " [ 4.526935 0.996016 0.276091 0.082237 0.021801 0.003931 ]}}\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val charge : int = 0\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val simulation : Simulation.t = \n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], "source": [ "let basis_filename = \"/home/scemama/qp2/data/basis/6-31g\" \n", "let aux_basis_filename = \"/home/scemama/qp2/data/basis/cc-pvdz\" \n", @@ -415,22 +155,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val n_elec_alfa : int = 3\n", - "val n_elec_beta : int = 3\n", - "val n_elec : int = 6\n" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let n_elec_alfa, n_elec_beta, n_elec = \n", " let e = Simulation.electrons simulation in\n", @@ -446,115 +173,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "15 significant shell pairs computed in 0.011017 seconds\n", - "1\n", - "2\n", - "5\n", - "6\n", - "Computed ERIs in 0.076355 seconds\n", - "MOs =\n", - "\n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.995189 -0.236456 -0 0 -0\n", - " 2 0.0272807 0.573254 -0 0 3.53259E-15\n", - " 3 0 1.72951E-15 -0.367973 0.0766908 0.150337\n", - " ... ... ... ... ...\n", - " 7 0 -3.77874E-16 -0.187681 0.191376 0.736647\n", - " 8 0 -4.25307E-16 0.0510253 0.762647 -0.179253\n", - " 9 0 0 0.321637 -0.00931705 0.458283\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0 0.0649868 0 6.10109E-16\n", - " 2 6.80132E-16 -1.62901 1.38666E-15 -3.01446E-15\n", - " 3 0.483484 0 0.286039 1.00059\n", - " ... ... ... ...\n", - " 7 -0.577873 2.30797E-15 -0.225998 -0.693641\n", - " 8 0.157108 -1.58907E-15 -0.900616 0.168788\n", - " 9 0.990328 2.17391E-15 0.0110026 -0.431528\n", - " \n" - ] - }, - { - "data": { - "text/plain": [ - "val hf : HartreeFock.t = \n", - "======================================================================\n", - " Restricted Hartree-Fock \n", - "======================================================================\n", - "\n", - " ------------------------------------------------------------\n", - " # HF energy Convergence HOMO-LUMO\n", - " ------------------------------------------------------------\n", - " 1 -36.54848161 7.4861e-01 0.2723\n", - " ------------------------------------------------------------\n", - "\n", - "\n", - " ============================================================\n", - " One-electron energy -52.6699341214\n", - " Kinetic 42.4526747414\n", - " Potential -95.1226088628\n", - " -------------------------------------------------------- \n", - " Two-electron energy 16.1214525119\n", - " Coulomb 21.8535619856\n", - " Exchange -5.7321094737\n", - " -------------------------------------------------------- \n", - " HF HOMO 0.8237517089\n", - " HF LUMO 8.2337216842\n", - " HF LUMO-LUMO 7.4099699753\n", - " -------------------------------------------------------- \n", - " Electronic energy -36.5484816095\n", - " Nuclear repulsion 0.0000000000\n", - " Hartree-Fock energy -36.5484816095\n", - " ============================================================\n", - " \n", - "\n" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mo_basis : MOBasis.t =\n", - " Eigenvalues: -11.127416 -0.632049 -0.269831 0.131526 0.151773 \n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.995189 -0.236456 -0 0 -0\n", - " 2 0.0272807 0.573254 -0 0 3.53259E-15\n", - " 3 0 1.72951E-15 -0.367973 0.0766908 0.150337\n", - " ... ... ... ... ...\n", - " 7 0 -3.77874E-16 -0.187681 0.191376 0.736647\n", - " 8 0 -4.25307E-16 0.0510253 0.762647 -0.179253\n", - " 9 0 0 0.321637 -0.00931705 0.458283\n", - " \n", - " Eigenvalues: 0.786912 0.828231 0.869410 0.849164 \n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0 0.0649868 0 6.10109E-16\n", - " 2 6.80132E-16 -1.62901 1.38666E-15 -3.01446E-15\n", - " 3 0.483484 0 0.286039 1.00059\n", - " ... ... ... ...\n", - " 7 -0.577873 2.30797E-15 -0.225998 -0.693641\n", - " 8 0.157108 -1.58907E-15 -0.900616 0.168788\n", - " 9 0.990328 2.17391E-15 0.0110026 -0.431528\n", - " \n", - " \n" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let hf = HartreeFock.make ~guess:`Hcore ~max_scf:1 simulation ;;\n", "\n", @@ -568,16 +189,6 @@ "# FCI-F12" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Notations:\n", - "\n", - "* $\\langle ij || kl \\rangle = \\int \\phi_i(r_1) \\phi_j(r_2) \\frac{1}{r_{12}} \\phi_k(r1) \\phi_l(r2) $ \n", - "* $\\left[ ij || kl \\right] = \\int \\phi_i(r_1) \\phi_j(r_2) f_{12} \\phi_k(r1) \\phi_l(r2) $ \n" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -587,58 +198,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val f12 : F12factor.t =\n", - " {F12factor.expo_s = 1.;\n", - " gaussian =\n", - " {GaussianOperator.coef_g =\n", - " [ -0.314400 -0.303700 -0.168100 -0.098110 -0.060240 -0.037260 ];\n", - " expo_sg =\n", - " [ 0.220900 1.004000 3.622000 12.160000 45.870000 254.400000 ];\n", - " expo_sg_inv =\n", - " [ 4.526935 0.996016 0.276091 0.082237 0.021801 0.003931 ]}}\n" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mo_num : int = 9\n" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val pp_spindet : Format.formatter -> Spindeterminant.t -> unit = \n" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val pp_det : Format.formatter -> Determinant.t -> unit = \n" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let f12 = Util.of_some @@ Simulation.f12 simulation \n", "\n", @@ -657,109 +219,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val simulation_aux : Simulation.t = \n" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "66 significant shell pairs computed in 0.117263 seconds\n", - "1\n", - "2\n", - "5\n", - "6\n", - "9\n", - "10\n", - "11\n", - "12\n", - "15\n", - "18\n", - "Computed ERIs in 1.977485 seconds\n" - ] - }, - { - "data": { - "text/plain": [ - "val aux_basis : MOBasis.t =\n", - " Eigenvalues: -11.127416 -0.632049 -0.269831 0.131526 0.151773 \n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.995189 -0.236456 -1.73798E-11 -5.89341E-12 -7.00418E-13\n", - " 2 0.0272807 0.573254 -3.89444E-12 2.27307E-12 -2.56432E-12\n", - " 3 -1.94384E-12 1.73346E-12 -0.367973 0.0766908 0.150337\n", - " ... ... ... ... ...\n", - " 22 0 0 -0 0 -0\n", - " 23 0 0 -0 0 -0\n", - " 24 0 0 -0 0 -0\n", - " \n", - " Eigenvalues: 0.786912 0.828231 0.869410 0.849164 1.466632 \n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 -- -- 10 --\n", - " 1 1.50201E-11 0.0649868 -3.9865E-12 -2.80092E-12 5.89337E-13\n", - " 2 2.08028E-12 -1.62901 7.48425E-13 4.96652E-12 4.15331E-13\n", - " 3 0.483484 1.0051E-12 0.286039 1.00059 -1.60551E-12\n", - " ... ... ... ... ...\n", - " 22 0 0 0 -0 0.866025\n", - " 23 0 0 0 -0 -0\n", - " 24 5.27744E-16 0 -5.11589E-16 -4.6158E-16 -0\n", - " \n", - " Eigenvalues: 1.070084 1.070805 1.081067 1.500877 25.850974 \n", - " -- 11 -- -- 12 -- -- 13 -- -- 14 -- -- 15 --\n", - " 1 -5.48487E-10 -1.11498E-09 6.09785E-10 5.77229 1.19123E-08\n", - " 2 -1.94824E-10 3.47046E-11 4.11568E-12 -21.703 -1.7907E-09\n", - " 3 -9.41452 3.69747 -0.652915 2.28347E-11 -103.655\n", - " ... ... ... ... ...\n", - " 22 -6.92158E-15 2.3024E-14 3.73394E-14 0 3.94749E-13\n", - " 23 0 -0 -0 0 0\n", - " 24 1.42625E-14 -4.63583E-14 -7.19444E-14 0 -7.7113E-13\n", - " \n", - " Eigenvalues: 25.897153 25.860606 17.895130 378.235808 1.482313 \n", - " -- 16 -- -- 17 -- -- 18 -- -- 19 -- -- 20 --\n", - " 1 -1.21774E-08 -2.0721E-08 20.5865 436.893 -2.71241E-11\n", - " 2 -3.08076E-09 -3.38442E-10 -125.907 -12.7961 9.93073E-13\n", - " 3 -138.626 11.0904 3.97511E-09 -1.32873E-09 8.64773E-11\n", - " ... ... ... ... ...\n", - " 22 -5.51091E-13 5.33938E-13 -0 0 -0.499824\n", - " 23 0 0 -0 4.37638E-12 0.000428597\n", - " 24 1.08133E-12 -1.06903E-12 -0 0 0.999649\n", - " \n", - " Eigenvalues: 1.473167 1.473619 1.476138 \n", - " -- 21 -- -- 22 -- -- 23 --\n", - " 1 3.94644E-11 1.23634E-12 -1.91389E-09\n", - " 2 -1.44545E-12 -4.52649E-14 7.01117E-11\n", - " 3 -6.03758E-12 3.46113E-12 0\n", - " ... ... ...\n", - " 22 -0.0123761 0.00474354 -3.1708E-05\n", - " 23 -0.0204084 -0.00140208 0.999791\n", - " 24 0.0247521 -0.00948708 6.34159E-05\n", - " \n", - " \n" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val aux_num : int = 23\n" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let simulation_aux = \n", " let charge = Charge.to_int @@ Simulation.charge simulation \n", @@ -785,38 +247,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "66 significant shell pairs computed in 1.632481 seconds\n", - "1\n", - "2\n", - "5\n", - "6\n", - "9\n", - "10\n", - "11\n", - "12\n", - "15\n", - "18\n", - "Computed ERIs in 32.827461 seconds\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "4-idx transformation \n", - "23 / 23\n", - "4-idx transformation \n", - "23 / 23\n" - ] - } - ], + "outputs": [], "source": [ "let () = ignore @@ MOBasis.f12_ints aux_basis\n", "let () = ignore @@ MOBasis.two_e_ints aux_basis" @@ -853,73 +286,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val cancel_singles : bool = false\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_cabs : int list =\n", - " [10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23]\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_abs : int list =\n", - " [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21;\n", - " 22; 23]\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_in : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9]\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_a : Determinant.t -> int list = \n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_b : Determinant.t -> int list = \n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let cancel_singles = false \n", "\n", @@ -951,30 +320,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val h_one : int -> int -> '_weak1 -> float = \n" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val h_two : int -> int -> int -> int -> Spin.t -> Spin.t -> float = \n" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let h_one =\n", " let h = \n", @@ -1005,30 +353,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val f_two : int -> int -> int -> int -> Spin.t -> Spin.t -> float = \n" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val f_one : 'a -> 'b -> 'c -> float = \n" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let f_two = \n", " let two_e_ints = MOBasis.f12_ints aux_basis in\n", @@ -1054,7 +381,7 @@ "let f_two = h_two\n", "\n", "let f_one = h_one\n", - "*)" + "*)\n" ] }, { @@ -1073,57 +400,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val f12_integrals :\n", - " 'a ->\n", - " ('b -> 'c -> 'd -> float) *\n", - " (int -> int -> int -> int -> Spin.t -> Spin.t -> float) * 'e option = \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val h_ij : MOBasis.t -> CIMatrixElement.De.t -> CIMatrixElement.De.t -> float =\n", - " \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val f_ij : 'a -> CIMatrixElement.De.t -> CIMatrixElement.De.t -> float =\n", - " \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val hf_ij :\n", - " MOBasis.t -> CIMatrixElement.De.t -> CIMatrixElement.De.t -> float list =\n", - " \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let f12_integrals mo_basis =\n", " ( f_one, f_two, None )\n", @@ -1165,20 +444,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val is_a_double : DeterminantSpace.t -> Determinant.t -> bool = \n" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let is_a_double det_space =\n", " let mo_class = DeterminantSpace.mo_class det_space in\n", @@ -1209,64 +477,9 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of determinants : 84 84 7056\n" - ] - }, - { - "data": { - "text/plain": [ - "val in_space : DeterminantSpace.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of determinants : 1771 1771 3136441\n" - ] - }, - { - "data": { - "text/plain": [ - "val aux_space : DeterminantSpace.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val det_space_in : unit -> Determinant.t Stream.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val det_space_out : unit -> (Determinant.t * Determinant.t) Stream.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let in_space = \n", " DeterminantSpace.fci_f12_of_mo_basis aux_basis ~frozen_core mo_num\n", @@ -1299,90 +512,11 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val ci : CI.t =\n", - " {CI.e_shift = -37.5503735182818161; det_space = ; m_H = ;\n", - " m_S2 = ; eigensystem = ; n_states = 1}\n" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 1 0.0000000000 4.27876360e-01\n", - " 2 -0.0892428570 1.30475542e-01\n", - " 3 -0.0992140799 8.74622675e-02\n", - " 4 -0.1022422032 2.82063712e-02\n", - " 5 -0.1043598763 3.75067204e-02\n", - " 6 -0.1065557047 4.71900892e-02\n", - " 7 -0.1080257392 1.17050936e-02\n", - " 8 -0.1082438239 4.19578866e-03\n", - " 0 -0.1082636731 1.74312968e-03\n", - " 1 -0.1082673304 7.12907991e-04\n", - " 2 -0.1082677273 3.29773895e-04\n", - " 3 -0.1082677955 1.62017305e-04\n", - " 4 -0.1082678250 1.97376527e-04\n", - " 5 -0.1082678653 1.65667298e-04\n", - " 6 -0.1082678853 1.24231373e-04\n", - " 7 -0.1082678901 1.06697885e-05\n", - " 8 -0.1082678902 5.05286976e-06\n", - " 0 -0.1082678902 2.52891309e-06\n" - ] - }, - { - "data": { - "text/plain": [ - "val ci_coef : Lacaml.D.Mat.t =\n", - " \n", - "\n", - " -- 1 --\n", - " 1 -0.780949\n", - " 2 -0\n", - " 3 -0\n", - " ...\n", - " 7054 -0\n", - " 7055 -0\n", - " 7056 -3.12865E-06\n", - " \n", - "val ci_energy : Lacaml.D.Vec.t =\n", - " R1 R2 R3\n", - " -37.6586 -36.7238 -36.2286\n" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 1 -0.1082678902 4.37908381e-07\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let ci = CI.make ~n_states:state in_space\n", "\n", @@ -1451,4450 +585,11 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "val randomize : bool = false\n" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val out_list : (Determinant.t * Determinant.t) list =\n", - " [(phase:+1\n", - " a:+1 ++-------+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ++-------+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-+------+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-+------+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -++------+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -++------+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +--+-----+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +--+-----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+-+-----+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+-+-----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --++-----+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --++-----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +---+----+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +---+----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+--+----+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+--+----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+-+----+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+-+----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---++----+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---++----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +----+---+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +----+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+---+---+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+---+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+--+---+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+--+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+-+---+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+-+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----++---+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----++---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-----+--+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-----+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+----+--+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+----+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+---+--+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+---+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+--+--+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+--+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----+-+--+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----+-+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -----++--+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -----++--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +------+-+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +------+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+-----+-+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+-----+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+----+-+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+----+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+---+-+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+---+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----+--+-+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----+--+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -----+-+-+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -----+-+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ------++-+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ------++-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-------++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-------++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+------++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+------++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+-----++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+-----++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+----++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+----++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----+---++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----+---++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -----+--++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -----+--++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ------+-++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ------+-++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -------+++------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -------+++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ++--------+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ++--------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-+-------+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-+-------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -++-------+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -++-------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +--+------+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +--+------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+-+------+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+-+------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --++------+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --++------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +---+-----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +---+-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+--+-----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+--+-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+-+-----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+-+-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---++-----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---++-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +----+----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +----+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+---+----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+---+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+--+----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+--+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+-+----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+-+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----++----+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----++----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-----+---+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-----+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+----+---+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+----+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+---+---+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+---+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+--+---+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+--+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----+-+---+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----+-+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -----++---+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -----++---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +------+--+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +------+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+-----+--+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+-----+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+----+--+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+----+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+---+--+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+---+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----+--+--+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----+--+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -----+-+--+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -----+-+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ------++--+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ------++--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-------+-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-------+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+------+-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+------+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+-----+-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+-----+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+----+-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+----+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----+---+-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----+---+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -----+--+-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -----+--+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ------+-+-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ------+-+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -------++-+-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -------++-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +--------++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +--------++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+-------++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+-------++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+------++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+------++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+-----++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+-----++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----+----++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----+----++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -----+---++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -----+---++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ------+--++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ------+--++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -------+-++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -------+-++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --------+++-----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --------+++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ++---------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ++---------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-+--------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-+--------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -++--------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -++--------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +--+-------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +--+-------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+-+-------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+-+-------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --++-------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --++-------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +---+------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +---+------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+--+------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+--+------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+-+------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+-+------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---++------+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---++------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +----+-----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +----+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+---+-----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+---+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+--+-----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+--+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+-+-----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ---+-+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ----++-----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 ----++-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 +-----+----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 +-----+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 -+----+----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 -+----+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 --+---+----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ",\n", - "phase:+1\n", - "a:+1 --+---+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ");\n", - "(phase:+1\n", - " a:+1 ---+--+----+----------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ", ...);\n", - "...]\n" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val in_list : Determinant.t list =\n", - " [phase:+1\n", - " a:+1 +++-------------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++------+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +++-------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++------+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +++-------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++------+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +++-------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "...]\n" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val det_a : Determinant.t array =\n", - " [|phase:+1\n", - " a:+1 ++-------+------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+------+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++------+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++----+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++---+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++--+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-+-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------++-+------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-------++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+------++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-----++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+----++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+---++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+--++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+-++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+++------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++------+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++----+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++---+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-+--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------++--+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-------+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+------+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-----+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+----+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+---+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+--+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+-+-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------++-+-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--------++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-------++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+------++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-----++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+----++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+---++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+--++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+-++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------+++-----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++------+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++----+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------+---+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----+---+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----+---+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---+---+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--+---+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-+---+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------++---+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-------+--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+------+--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-----+--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+----+--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+---+--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+--+--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+-+--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------++--+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--------+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-------+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+------+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-----+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+----+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+---+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+--+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+-+-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------++-+----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---------++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--------++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-------++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+------++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-----++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+----++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+---++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+--++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------+-++----------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++------+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------+----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----+----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----+----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---+----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--+----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-+----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------++----+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-------+---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+------+---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-----+---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+----+---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+---+---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+--+---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+-+---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------++---+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--------+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-------+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+------+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-----+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+----+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+---+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+--+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+-+--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------++--+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---------+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--------+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-------+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+------+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-----+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+----+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+---+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+--+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------+-+-+---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----------++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---------++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--------++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-------++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+------++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-----++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+----++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+---++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------+--++---------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++------+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------+-----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----+-----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----+-----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---+-----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--+-----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-+-----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------++-----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-------+----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+------+----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-----+----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+----+----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+---+----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+--+----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+-+----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------++----+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--------+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-------+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+------+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-----+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+----+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+---+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+--+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+-+---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------++---+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---------+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--------+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-------+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+------+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-----+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+----+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+---+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+--+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------+-+--+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----------+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---------+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--------+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-------+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+------+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-----+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+----+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+---+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------+--+-+--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----------++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----------++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---------++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--------++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-------++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+------++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+-----++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -------+----++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --------+---++--------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++------------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-----------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-----------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+----------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+----------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++----------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+---------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+---------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+---------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++---------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+--------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+--------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+--------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+--------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++--------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------+------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----+------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----+------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---+------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--+------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-+------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------++------+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-------+-----+-------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "...|]\n" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val det_I : Determinant.t array =\n", - " [|phase:+1\n", - " a:+1 +++-------------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-+--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+++--------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++------+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++----+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++---+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++--+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-+-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+++-------------------------------------------------------\n", - "b:+1 +++-------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +++-------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-+--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+++--------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++------+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++----+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++---+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++--+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-+-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+++-------------------------------------------------------\n", - "b:+1 ++-+------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +++-------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++-+--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+++--------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++------+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++----+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++---+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-+--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----++--+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-----+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+----+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+---+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+--+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+-+-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----++-+-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +------++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-----++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+----++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+---++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+--++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -----+-++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ------+++-------------------------------------------------------\n", - "b:+1 +-++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +++-------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-+------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-++------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+++------------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++--+-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+-+-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++-+-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--++-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-++-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+++-----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++---+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+--+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++--+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+-+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+-+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++-+----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+++----------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++----+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+---+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++---+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+--+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+--+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++--+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++-+---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+--++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---+-++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ----+++---------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ++-----+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +-+----+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -++----+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +--+---+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+-+---+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --++---+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +---+--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+--+--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 --+-+--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 ---++--+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 +----+-+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "phase:+1\n", - "a:+1 -+---+-+--------------------------------------------------------\n", - "b:+1 -+++------------------------------------------------------------\n", - ";\n", - "...|]\n" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let randomize = false\n", "\n", @@ -5963,41 +658,14 @@ "source": [ "Function to generate all intermediate external determinants $|\\alpha \\rangle$ between $|I\\rangle$ and $|J\\rangle$, with a positive phase factor.\n", "\n", - "* `exc` is the degree of excitation between $|I\\rangle$ and $|J\\rangle$\n", - "* `cabs` is the number of electrons in the CABS\n", - "* `l` is the degree of excitation between $|I\\rangle$ and $|\\alpha \\rangle$\n", - "* `r` is the degree of excitation between $|\\alpha \\rangle$ and $|J\\rangle$" + "* `exc` is the degree of excitation between $|I\\rangle$ and $|J\\rangle$" ] }, { "cell_type": "code", - "execution_count": 84, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val generate_alphas :\n", - " Determinant.t -> Determinant.t -> int -> Determinant.t list = \n" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val compute_HaaF :\n", - " CIMatrixElement.De.t ->\n", - " CIMatrixElement.De.t list -> CIMatrixElement.De.t -> float = \n" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let generate_alphas ki kj exc =\n", " (* Check input excitation degree *)\n", @@ -6123,33 +791,9 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val check :\n", - " int ->\n", - " (CIMatrixElement.De.t -> CIMatrixElement.De.t -> float) -> int -> unit =\n", - " \n" - ] - }, - "execution_count": 85, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val sum : 'a list -> ('a -> float) -> float = \n" - ] - }, - "execution_count": 85, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let check n integral_value exc =\n", " let cpudet, cpuint = ref 0., ref 0. in\n", @@ -6225,61 +869,9 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val array_3_init :\n", - " int ->\n", - " int ->\n", - " int ->\n", - " (int -> int -> int -> float) ->\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 86, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val array_4_init :\n", - " int ->\n", - " int ->\n", - " int ->\n", - " int ->\n", - " (int -> int -> int -> int -> float) ->\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 86, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val array_5_init :\n", - " int ->\n", - " int ->\n", - " int ->\n", - " int ->\n", - " int ->\n", - " (int -> int -> int -> int -> int -> float) ->\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 86, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let array_3_init d1 d2 d3 f =\n", " let result = \n", @@ -6345,306 +937,92 @@ "# 1. 0 " ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$i,j$ : orbital indices of MOs occupied in $|I\\rangle$.\n", - "\n", - "$k$ : orbital indices of MOs unoccupied in $|I\\rangle$.\n", - "\n", - "\n", - "$\\sum_i \\sum_a \\left( \\hat{T}_{i}^{a} \\hat{T}_{a}^{i} + \n", - " \\sum_j \\sum_k \\hat{T}_{ij}^{ak} \\hat{T}_{ak}^{ij} \\right)$\n", - "\n", - "\n", - "\\begin{align}\n", - "\\sum_{a} \\sum_{i}\n", - " \\left( h_{ia} +\n", - " \\sum_{j} \\langle i j || a j \\rangle +\n", - " \\sum_{\\bar{j}} \\langle i \\bar{j} | a \\bar{j} \\rangle \\right) \n", - " \\left( f_{ai} +\n", - " \\sum_{j} \\left[ a j || i j \\right] + \n", - " \\sum_{\\bar{j}} \\left[ a \\bar{j} | i \\bar{j} \\right] \\right) + \\\\\n", - "\\sum_{\\bar{a}} \\sum_{\\bar{i}}\n", - " \\left( h_{ia} +\n", - " \\sum_{j} \\langle \\bar{i} j | \\bar{a} j \\rangle +\n", - " \\sum_{\\bar{j}} \\langle \\bar{i} \\bar{j} || \\bar{a} \\bar{j} \\rangle \\right) \n", - " \\left( f_{ai} +\n", - " \\sum_{j} \\left[ \\bar{a} j | \\bar{i} j \\right] + \n", - " \\sum_{\\bar{j}} \\left[ \\bar{a} \\bar{j} || \\bar{i} \\bar{j} \\right] \\right) +\\\\\n", - "\\sum_{a} \\sum_{k} \\sum_{i} \\sum_{j\n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0222_Haa : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 -0.00155999 -0.00466441 -0.000572849 -0.000277703\n", - " 2 -0.00155999 0 -0.0026547 -0.00188444 -0.00180488\n", - " 3 -0.00466441 -0.0026547 0 -0.0026701 -0.00249827\n", - " ... ... ... ... ...\n", - " 7 -0.00714682 -0.00236835 -0.00472999 -0.00322358 -0.00278404\n", - " 8 -0.017848 -0.00472607 -0.00553701 -0.00305449 -0.00230393\n", - " 9 -0.0181431 -0.00480564 -0.00570883 -0.00294446 -0.00305449\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 -0.0137564 -0.00714682 -0.017848 -0.0181431\n", - " 2 -0.00395582 -0.00236835 -0.00472607 -0.00480564\n", - " 3 -0.00305449 -0.00472999 -0.00553701 -0.00570883\n", - " ... ... ... ...\n", - " 7 -0.00241904 0 -0.00392545 -0.00436499\n", - " 8 -0.00615931 -0.00392545 0 -0.00939239\n", - " 9 -0.00662802 -0.00436499 -0.00939239 0\n", - " \n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_1H_2Fa : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 4.14739E-05 0.000191942 5.82024E-05 3.17097E-05\n", - " 2 0.00285405 0 0.00130171 0.000700762 0.000516783\n", - " 3 0.00481032 0.000752365 0 0.00113769 0.000719119\n", - " ... ... ... ... ...\n", - " 7 -0.0038408 -0.00136643 -0.00343881 -0.0025597 -0.00227822\n", - " 8 0.0164153 0.0118157 0.0104308 0.0060925 0.00526224\n", - " 9 0.0169863 0.0119275 0.010345 0.00631198 0.00505779\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0.000201052 -1.30724E-06 0.000334792 0.000361285\n", - " 2 0.000232155 -0.00168232 0.000833107 0.00101709\n", - " 3 -0.00387499 0.000450358 0.00302133 0.0034399\n", - " ... ... ... ...\n", - " 7 -0.00166305 0 0.00138329 0.00154135\n", - " 8 0.00316905 0.0028755 0 0.01773\n", - " 9 0.00269782 0.00232345 0.00673086 0\n", - " \n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0122_Hab :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_1H_2Fb : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.00296582 0.00298846 0.00488803 0.000118834 -0.000472337\n", - " 2 0.00298846 -0.00136004 -0.00413128 -0.0063196 -0.00598211\n", - " 3 0.00488803 -0.00413128 -0.00712705 -0.00508588 -0.00503032\n", - " ... ... ... ... ...\n", - " 7 -0.00407176 -0.00213095 -0.00406698 -0.00417531 -0.00370236\n", - " 8 0.0160286 0.0113907 0.0122954 0.00422566 0.00433287\n", - " 9 0.0166197 0.0110532 0.0122399 0.00511697 0.00234682\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0.0112594 -0.00407176 0.0160286 0.0166197\n", - " 2 0.00920237 -0.00213095 0.0113907 0.0110532\n", - " 3 0.00825188 -0.00406698 0.0122954 0.0122399\n", - " ... ... ... ...\n", - " 7 0.00439536 -0.00205646 0.00450369 0.00403074\n", - " 8 0.015059 0.00450369 0.019825 0.0230216\n", - " 9 0.0158987 0.00403074 0.0230216 0.02206\n", - " \n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 176, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_0111_1H_1F = \n", " Vec.init mo_num (fun i -> \n", " sum mos_cabs (fun a ->\n", " h_one i a Spin.Alfa *. f_one a i Spin.Alfa ))\n", "\n", - "let m_0122_Haa = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j a k Spin.Alfa Spin.Alfa *. f_two a k i j Spin.Alfa Spin.Alfa\n", - " ) )\n", - " \n", - "let m_0222_Haa = \n", - " Mat.init_cols mo_num mo_num (fun i j ->\n", - " sum mos_cabs (fun a ->\n", - " sum mos_cabs (fun b -> if b >= a then 0. else\n", - " h_two i j a b Spin.Alfa Spin.Alfa *. f_two a b i j Spin.Alfa Spin.Alfa\n", - " )\n", - " ) +.\n", - " sum mos_in (fun k -> m_0122_Haa.{i,j,k}) \n", - " )\n", - " \n", - "let m_0111_1H_2Fa = \n", - " Mat.init_cols mo_num mo_num (fun i j ->\n", - " sum mos_cabs (fun a ->\n", - " h_one i a Spin.Alfa *. f_two a j i j Spin.Alfa Spin.Alfa +.\n", - " h_two i j a j Spin.Alfa Spin.Alfa *. f_one a j Spin.Alfa\n", - " ) +.\n", - " if i < j then 0. else\n", - " begin\n", - " sum mos_cabs (fun a ->\n", - " sum mos_cabs (fun b -> if b >= a then 0. else\n", - " h_two i j a b Spin.Alfa Spin.Alfa *. f_two a b i j Spin.Alfa Spin.Alfa\n", - " )\n", - " ) +.\n", - " sum mos_in (fun k -> m_0122_Haa.{i,j,k}) \n", - " end\n", - " )\n", + "let m_0111_1H_2Fa, m_0111_2Ha_2Fa =\n", "\n", + " let m_0122_Haa = \n", + " array_3_init mo_num mo_num mo_num (fun i j k ->\n", + " sum mos_cabs (fun a ->\n", + " h_two i j a k Spin.Alfa Spin.Alfa *. f_two a k i j Spin.Alfa Spin.Alfa\n", + " ) )\n", + " in \n", " \n", - "let m_0122_Hab = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j a k Spin.Alfa Spin.Beta *. f_two a k i j Spin.Alfa Spin.Beta\n", - " ) )\n", - "\n", - "let m_0111_1H_2Fb = \n", - " Mat.init_cols mo_num mo_num (fun i j ->\n", - " sum mos_cabs (fun a ->\n", - " h_one i a Spin.Alfa *. f_two a j i j Spin.Alfa Spin.Beta +. \n", - " h_two i j a j Spin.Alfa Spin.Beta *. f_one a j Spin.Alfa +.\n", - " h_one j a Spin.Alfa *. f_two a i j i Spin.Alfa Spin.Beta +. \n", - " h_two j i a i Spin.Alfa Spin.Beta *. f_one a i Spin.Alfa\n", - " ) +.\n", - " sum mos_in (fun k -> m_0122_Hab.{i,j,k} +. m_0122_Hab.{j,i,k} ) +.\n", - " sum mos_cabs (fun a ->\n", - " sum mos_cabs (fun b ->\n", - " h_two i j a b Spin.Alfa Spin.Beta *. f_two a b i j Spin.Alfa Spin.Beta\n", - " )\n", + " let m_0111_1H_2Fa = \n", + " Mat.init_cols mo_num mo_num (fun i j ->\n", + " sum mos_cabs (fun a ->\n", + " h_one i a Spin.Alfa *. f_two a j i j Spin.Alfa Spin.Alfa +.\n", + " h_two i j a j Spin.Alfa Spin.Alfa *. f_one a i Spin.Alfa\n", + " ) +.\n", + " if i < j then 0. else\n", + " begin\n", + " sum mos_cabs (fun a ->\n", + " sum mos_cabs (fun b -> if b >= a then 0. else\n", + " h_two i j a b Spin.Alfa Spin.Alfa *. f_two a b i j Spin.Alfa Spin.Alfa\n", + " )\n", + " ) +.\n", + " sum mos_in (fun k -> m_0122_Haa.{i,j,k}) \n", + " end\n", " )\n", - " )\n", - " \n", - "let m_0111_2Hb_2Fb =\n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two k i a i Spin.Alfa Spin.Beta *.\n", - " f_two a j k j Spin.Alfa Spin.Beta +.\n", - " h_two i k a k Spin.Alfa Spin.Beta *.\n", - " f_two a j i j Spin.Alfa Spin.Alfa \n", - " ) -. m_0122_Hab.{k,i,j}\n", - " )\n", - " \n", - " (*\n", - "let m_0111_2Hb_1F = \n", - " Mat.init_cols mo_num mo_num (fun i j -> sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Beta *. f_one a j Spin.Alfa ))\n", - " *)\n", - " \n", + " in\n", + " \n", + " let m_0111_2Ha_2Fa =\n", + " array_3_init mo_num mo_num mo_num (fun i j k ->\n", + " sum mos_cabs (fun a ->\n", + " h_two i j a j Spin.Alfa Spin.Alfa *.\n", + " f_two a k i k Spin.Alfa Spin.Alfa \n", + " ) -. if i < j then 0. else m_0122_Haa.{i,j,k}\n", + " )\n", + " in m_0111_1H_2Fa, m_0111_2Ha_2Fa\n", "\n", - "let m_0111_2Ha_2Fa =\n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Alfa *.\n", - " f_two a k i k Spin.Alfa Spin.Alfa \n", - " ) -. if i < j then 0. else m_0122_Haa.{i,j,k}\n", - " )\n", "\n", + " \n", + "let m_0111_1H_2Fb, m_0111_2Hb_2Fb =\n", + " let m_0122_Hab = \n", + " array_3_init mo_num mo_num mo_num (fun i j k ->\n", + " sum mos_cabs (fun a ->\n", + " h_two i j a k Spin.Alfa Spin.Beta *. f_two a k i j Spin.Alfa Spin.Beta\n", + " ) )\n", + " in\n", + " \n", + " let m_0111_1H_2Fb = \n", + " Mat.init_cols mo_num mo_num (fun i j ->\n", + " sum mos_cabs (fun a ->\n", + " h_one i a Spin.Alfa *. f_two a j i j Spin.Alfa Spin.Beta +. \n", + " h_two i j a j Spin.Alfa Spin.Beta *. f_one a i Spin.Alfa +.\n", + " h_one j a Spin.Alfa *. f_two a i j i Spin.Alfa Spin.Beta +. \n", + " h_two j i a i Spin.Alfa Spin.Beta *. f_one a j Spin.Alfa\n", + " ) +.\n", + " sum mos_in (fun k -> m_0122_Hab.{i,j,k} +. m_0122_Hab.{j,i,k} ) +.\n", + " sum mos_cabs (fun a ->\n", + " sum mos_cabs (fun b ->\n", + " h_two i j a b Spin.Alfa Spin.Beta *. f_two a b i j Spin.Alfa Spin.Beta\n", + " )\n", + " )\n", + " )\n", + " in \n", + " \n", + " let m_0111_2Hb_2Fb =\n", + " array_3_init mo_num mo_num mo_num (fun i j k ->\n", + " sum mos_cabs (fun a ->\n", + " h_two k i a i Spin.Alfa Spin.Beta *.\n", + " f_two a j k j Spin.Alfa Spin.Beta +.\n", + " h_two i k a k Spin.Alfa Spin.Beta *.\n", + " f_two a j i j Spin.Alfa Spin.Alfa \n", + " ) -. m_0122_Hab.{k,i,j}\n", + " )\n", + " in\n", + " m_0111_1H_2Fb, m_0111_2Hb_2Fb\n", + " \n", "\n", "let m_0111_2Ha_2Fb =\n", " array_3_init mo_num mo_num mo_num (fun i j k ->\n", @@ -6657,57 +1035,6 @@ "\n", "\n", "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 177, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> 'a -> float = \n" - ] - }, - "execution_count": 177, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "Failed: (66, 66) | -1.636584e-01 -1.636584e-01 | 3.885781e-16 | cpu : 4.423033 0.001962\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 177, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ "let integral_value ki kj = \n", "\n", " let mos_i, mos_i' = mos_a ki, mos_b ki in\n", @@ -6772,7 +1099,7 @@ " \n", " \n", "let _ =\n", - " check 100 integral_value 0 \n", + " check 0 integral_value 0 \n", " \n", " " ] @@ -6786,562 +1113,191 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_1111_1H_1F : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 0 0 0 0\n", - " 2 0 0 0 0 0\n", - " 3 0 0 0 0 0\n", - " ... ... ... ... ...\n", - " 7 0 0 0 0 0\n", - " 8 0 0 0 0 0\n", - " 9 0 0 0 0 0\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0 0 0 0\n", - " 2 0 0 0 0\n", - " 3 0 0 0 0\n", - " ... ... ... ...\n", - " 7 0 0 0 0\n", - " 8 0 0 0 0\n", - " 9 0 0 0 0\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_1H_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_1H_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Ha_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Hb_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_1H_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_1H_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Ha_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Hb_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_va :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_v2 :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_v3 :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_oa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_o :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "ename": "error", - "evalue": "compile_error", - "output_type": "error", - "traceback": [ - "\u001b[32mFile \"[89]\", line 311, characters 8-13:\n\u001b[31mError: This function has type\n int ->\n (CIMatrixElement.De.t -> CIMatrixElement.De.t -> float) ->\n int -> unit\n It is applied to too many arguments; maybe you forgot a `;'.\n\u001b[36m 310: \u001b[30m\n\u001b[36m 311: \u001b[30mlet _ = \u001b[4mcheck\u001b[0m\u001b[30m 100 integral_value 1 1\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "let m_1111_1H_1F = \n", " Mat.init_cols mo_num mo_num (fun i k -> \n", " sum mos_cabs (fun a -> h_one i a Spin.Alfa *. f_one a k Spin.Alfa ))\n", "\n", "\n", - "let m_1111_1H_2Fa = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_one i a Spin.Alfa *. f_two a j k j Spin.Alfa Spin.Alfa ))\n", - "\n", " \n", - "let m_1111_1H_2Fb = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_one i a Spin.Alfa *. f_two a j k j Spin.Alfa Spin.Beta ))\n", - "\n", - "\n", - "let m_1111_2Ha_1F = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Alfa *. f_one a k Spin.Alfa ))\n", - "\n", - " \n", - "let m_1111_2Hb_1F = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Beta *. f_one a k Spin.Alfa ))\n", - "\n", "\n", "let m_1111_2Ha_2Fa =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Alfa *.\n", - " f_two a l k l Spin.Alfa Spin.Alfa \n", - " )\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", + " if l=i then\n", + " sum mos_cabs (fun a ->\n", + " h_two j l a l Spin.Alfa Spin.Alfa *.\n", + " f_two a i j k Spin.Alfa Spin.Alfa \n", + " )\n", + " else\n", + " sum mos_cabs (fun a ->\n", + " h_two i j a j Spin.Alfa Spin.Alfa *.\n", + " f_two a l k l Spin.Alfa Spin.Alfa +.\n", + " h_two j l a l Spin.Alfa Spin.Alfa *.\n", + " f_two a i j k Spin.Alfa Spin.Alfa )\n", " )\n", "\n", "\n", + "\n", "let m_1111_2Hb_2Fa =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Beta *.\n", - " f_two a l k l Spin.Alfa Spin.Alfa \n", - " )\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", + " if l=i then\n", + " sum mos_cabs (fun a ->\n", + " h_two j l a l Spin.Alfa Spin.Beta *.\n", + " f_two a i j k Spin.Alfa Spin.Beta \n", + " )\n", + " else\n", + " sum mos_cabs (fun a ->\n", + " h_two i j a j Spin.Alfa Spin.Beta *.\n", + " f_two a l k l Spin.Alfa Spin.Alfa +.\n", + " h_two j l a l Spin.Alfa Spin.Beta *.\n", + " f_two a i j k Spin.Alfa Spin.Beta \n", + " )\n", " )\n", "\n", "\n", "let m_1111_2Ha_2Fb =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", " h_two i j a j Spin.Alfa Spin.Alfa *.\n", - " f_two a l k l Spin.Alfa Spin.Beta \n", + " f_two a l k l Spin.Alfa Spin.Beta +.\n", + " h_two j l a l Spin.Alfa Spin.Beta *.\n", + " f_two a i j k Spin.Alfa Spin.Alfa \n", " )\n", " )\n", "\n", "\n", + "\n", "let m_1111_2Hb_2Fb =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", " h_two i j a j Spin.Alfa Spin.Beta *.\n", - " f_two a l k l Spin.Alfa Spin.Beta \n", - " )\n", - " )\n", - "\n", - "\n", - "let m_1112_1H_2Fa = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_one j a Spin.Alfa *. f_two a i j k Spin.Alfa Spin.Alfa ))\n", - "\n", - " \n", - "let m_1112_1H_2Fb = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_one j a Spin.Beta *. f_two a i j k Spin.Alfa Spin.Beta ))\n", - "\n", - "\n", - "let m_1112_2Ha_2Fa =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", - " sum mos_cabs (fun a ->\n", - " h_two j m a m Spin.Alfa Spin.Alfa *.\n", - " f_two a i j k Spin.Alfa Spin.Alfa \n", - " )\n", - " )\n", - "\n", - "\n", - "let m_1112_2Hb_2Fa =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", - " sum mos_cabs (fun a ->\n", - " h_two j m a m Spin.Alfa Spin.Beta *.\n", - " f_two a i j k Spin.Alfa Spin.Alfa \n", - " )\n", - " )\n", - "\n", - "let m_1112_2Ha_2Fb =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", - " sum mos_cabs (fun a ->\n", - " h_two j m a m Spin.Alfa Spin.Alfa *.\n", - " f_two a i j k Spin.Alfa Spin.Beta \n", - " )\n", - " )\n", - "\n", - "\n", - "let m_1112_2Hb_2Fb =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", - " sum mos_cabs (fun a ->\n", - " h_two j m a m Spin.Alfa Spin.Beta *.\n", + " f_two a l k l Spin.Alfa Spin.Beta +.\n", + " h_two j l a l Spin.Alfa Spin.Alfa *.\n", " f_two a i j k Spin.Alfa Spin.Beta \n", " )\n", " )\n", "\n", "\n", "\n", - "let m_1121_2Ha_1F = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j k a Spin.Alfa Spin.Alfa *. f_one a j Spin.Alfa))\n", "\n", " \n", - "let m_1121_2Hb_1F = \n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " h_two i j k a Spin.Alfa Spin.Beta *. f_one a j Spin.Beta))\n", "\n", "\n", "let m_1121_2Ha_2Fa =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", " h_two i j k a Spin.Alfa Spin.Alfa *.\n", - " f_two m a m j Spin.Alfa Spin.Alfa \n", + " f_two l a l j Spin.Alfa Spin.Alfa \n", " )\n", " )\n", "\n", "\n", "let m_1121_2Hb_2Fa =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", " h_two i j k a Spin.Alfa Spin.Beta *.\n", - " f_two m a m j Spin.Alfa Spin.Alfa \n", + " f_two l a l j Spin.Alfa Spin.Alfa \n", " )\n", " )\n", "\n", "let m_1121_2Ha_2Fb =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", " h_two i j k a Spin.Alfa Spin.Alfa *.\n", - " f_two m a m j Spin.Alfa Spin.Beta \n", + " f_two l a l j Spin.Alfa Spin.Beta \n", " )\n", " )\n", "\n", "\n", "let m_1121_2Hb_2Fb =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", " h_two i j k a Spin.Alfa Spin.Beta *.\n", - " f_two m a m j Spin.Alfa Spin.Beta \n", + " f_two l a l j Spin.Alfa Spin.Beta \n", " )\n", " )\n", "\n", - "\n", "let m_1122_va =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", - " h_two j i a m Spin.Alfa Spin.Alfa *.\n", - " f_two m a k j Spin.Alfa Spin.Alfa \n", + " h_two j i a l Spin.Alfa Spin.Alfa *.\n", + " f_two l a k j Spin.Alfa Spin.Alfa \n", " )\n", " )\n", + " \n", + "let m_1111_1H_2Fa = \n", + " array_3_init mo_num mo_num mo_num (fun j i k ->\n", + " sum mos_in (fun l -> m_1122_va.{l,j,i,k}) +.\n", + " sum mos_cabs (fun a ->\n", + " h_one i a Spin.Alfa *. f_two a j k j Spin.Alfa Spin.Alfa +.\n", + " h_two i j a j Spin.Alfa Spin.Alfa *. f_one a k Spin.Alfa +.\n", + " h_one j a Spin.Alfa *. f_two a i j k Spin.Alfa Spin.Alfa +.\n", + " h_two i j k a Spin.Alfa Spin.Alfa *. f_one a j Spin.Alfa +.\n", + " sum mos_cabs (fun b -> if b > a then 0. else\n", + " h_two i j a b Spin.Alfa Spin.Alfa *.\n", + " f_two a b k j Spin.Alfa Spin.Alfa )\n", + " )\n", + " )\n", + "\n", "\n", "let m_1122_v2 =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", - " h_two i j m a Spin.Alfa Spin.Beta *.\n", - " f_two m a k j Spin.Alfa Spin.Beta \n", + " h_two i j l a Spin.Alfa Spin.Beta *.\n", + " f_two l a k j Spin.Alfa Spin.Beta \n", " )\n", " )\n", "\n", + "\n", "let m_1122_v3 =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", - " h_two i j a m Spin.Alfa Spin.Beta *.\n", - " f_two a m k j Spin.Alfa Spin.Beta \n", + " h_two i j a l Spin.Alfa Spin.Beta *.\n", + " f_two a l k j Spin.Alfa Spin.Beta \n", " )\n", " )\n", "\n", + " \n", + "let m_1111_1H_2Fb = \n", + " array_3_init mo_num mo_num mo_num (fun j i k ->\n", + " sum mos_in (fun l -> m_1122_v2.{l,j,i,k} +. m_1122_v3.{l,j,i,k}) +.\n", + " sum mos_cabs (fun a ->\n", + " h_one i a Spin.Alfa *. f_two a j k j Spin.Alfa Spin.Beta +.\n", + " h_two i j a j Spin.Alfa Spin.Beta *. f_one a k Spin.Alfa +.\n", + " h_one j a Spin.Beta *. f_two a i j k Spin.Alfa Spin.Beta +.\n", + " h_two i j k a Spin.Alfa Spin.Beta *. f_one a j Spin.Beta +.\n", + " sum mos_cabs (fun b ->\n", + " h_two i j a b Spin.Alfa Spin.Beta *.\n", + " f_two a b k j Spin.Alfa Spin.Beta \n", + " )\n", + " )\n", + " )\n", + " \n", "let m_1122_oa =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", + " if l > j then\n", " sum mos_cabs (fun a ->\n", " h_two j l a k Spin.Alfa Spin.Alfa *.\n", " f_two i a l j Spin.Alfa Spin.Alfa \n", " )\n", + " else 0.\n", " )\n", "\n", "let m_1122_o =\n", - " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", + " array_4_init mo_num mo_num mo_num mo_num (fun l j i k ->\n", " sum mos_cabs (fun a ->\n", " h_two l j k a Spin.Alfa Spin.Beta *.\n", " f_two i a l j Spin.Alfa Spin.Beta \n", " )\n", " )\n", " \n", + "\n", + "\n", "(*----*)\n", "\n", "let integral_value ki kj = \n", @@ -7353,26 +1309,22 @@ " in\n", " \n", " (* MOs unoccupied in both I and J *)\n", - " let mos_virt_a, mos_virt_b = \n", - " Array.init mo_num (fun i -> Some (i+1)) , \n", - " Array.init mo_num (fun i -> Some (i+1)) \n", + " let mos_novirt, mos_novirt' =\n", + " let alfa = \n", + " let i = Spindeterminant.bitstring @@ Determinant.alfa ki in\n", + " let j = Spindeterminant.bitstring @@ Determinant.alfa kj in\n", + " Bitstring.to_list (Bitstring.logor i j)\n", + " in\n", + " let beta = \n", + " let i = Spindeterminant.bitstring @@ Determinant.beta ki in\n", + " let j = Spindeterminant.bitstring @@ Determinant.beta kj in\n", + " Bitstring.to_list (Bitstring.logor i j)\n", + " in\n", + " match s with\n", + " | Spin.Alfa -> alfa, beta\n", + " | Spin.Beta -> beta, alfa\n", " in\n", - " List.iter (fun i -> mos_virt_a.(i-1) <- None) (mos_a ki);\n", - " List.iter (fun i -> mos_virt_a.(i-1) <- None) (mos_a kj);\n", - " List.iter (fun i -> mos_virt_b.(i-1) <- None) (mos_b ki);\n", - " List.iter (fun i -> mos_virt_b.(i-1) <- None) (mos_b kj);\n", " \n", - " let mos_virt_a, mos_virt_b = \n", - " Array.to_list mos_virt_a |> Util.list_some,\n", - " Array.to_list mos_virt_b |> Util.list_some\n", - " in\n", - " \n", - " let mos_virt, mos_virt' =\n", - " match s with\n", - " | Spin.Alfa -> mos_virt_a, mos_virt_b\n", - " | Spin.Beta -> mos_virt_b, mos_virt_a\n", - " in\n", - " \n", " let mos_ij, mos_ij' =\n", " let alfa = \n", " let i = Spindeterminant.bitstring @@ Determinant.alfa ki in\n", @@ -7403,39 +1355,25 @@ " \n", " let result = \n", " m_1111_1H_1F.{i,k} +. \n", - " sum mos_i (fun j -> if j = i then 0. else\n", - " m_1111_1H_2Fa.{i,j,k} +. m_1111_2Ha_1F.{i,j,k} +.\n", - " sum mos_i (fun l -> if l = i then 0. else m_1111_2Ha_2Fa.{i,j,k,l}) +.\n", - " sum mos_i' (fun l -> m_1111_2Ha_2Fb.{i,j,k,l})) +.\n", - " sum mos_i' (fun j ->\n", - " m_1111_1H_2Fb.{i,j,k} +. m_1111_2Hb_1F.{i,j,k} +.\n", - " sum mos_i (fun l -> if l = i then 0. else m_1111_2Hb_2Fa.{i,j,k,l}) +.\n", - " sum mos_i' (fun l -> m_1111_2Hb_2Fb.{i,j,k,l}))\n", - " +.\n", " sum mos_ij (fun j -> \n", - " m_1112_1H_2Fa.{i,j,k} +. \n", - " m_1121_2Ha_1F.{i,j,k} +. \n", - " sum mos_i (fun m -> m_1112_2Ha_2Fa.{i,j,k,m}) +.\n", - " sum mos_i' (fun m -> m_1112_2Hb_2Fa.{i,j,k,m}) +.\n", - " sum mos_j (fun m -> m_1121_2Ha_2Fa.{i,j,k,m}) +.\n", - " sum mos_j' (fun m -> m_1121_2Ha_2Fb.{i,j,k,m})) +.\n", + " m_1111_1H_2Fa.{j,i,k} \n", + " +. sum mos_i (fun l -> m_1111_2Ha_2Fa.{l,j,i,k})\n", + " +. sum mos_i' (fun l -> m_1111_2Ha_2Fb.{l,j,i,k})\n", + " +. sum mos_j (fun l -> m_1121_2Ha_2Fa.{l,j,i,k})\n", + " +. sum mos_j' (fun l -> m_1121_2Ha_2Fb.{l,j,i,k})\n", + " -. sum mos_novirt (fun l -> m_1122_va.{l,j,i,k})\n", + " -. sum mos_ij (fun l -> m_1122_oa.{l,j,i,k} )\n", + " ) +.\n", " sum mos_ij' (fun j ->\n", - " m_1112_1H_2Fb.{i,j,k} +. \n", - " m_1121_2Hb_1F.{i,j,k} +. \n", - " sum mos_i (fun m -> m_1112_2Hb_2Fb.{i,j,k,m}) +.\n", - " sum mos_i' (fun m -> m_1112_2Ha_2Fb.{i,j,k,m}) +.\n", - " sum mos_j (fun m -> m_1121_2Hb_2Fb.{i,j,k,m}) +.\n", - " sum mos_j' (fun m -> m_1121_2Hb_2Fa.{i,j,k,m}))\n", - " +.\n", - " sum mos_ij (fun j -> \n", - " sum mos_virt (fun m -> m_1122_va.{i,j,k,m} )) +.\n", - " sum mos_ij' (fun j -> \n", - " sum mos_virt (fun m -> m_1122_v2.{i,j,k,m} ) +.\n", - " sum mos_virt' (fun m -> m_1122_v3.{i,j,k,m} )) -.\n", - " sum mos_ij (fun j -> \n", - " sum mos_ij (fun l -> if l <= j then 0. else m_1122_oa.{i,j,k,l} )) -. \n", - " sum mos_ij' (fun j -> \n", - " sum mos_ij (fun l -> m_1122_o.{i,j,k,l} )) \n", + " m_1111_1H_2Fb.{j,i,k} \n", + " +. sum mos_i (fun l -> m_1111_2Hb_2Fa.{l,j,i,k})\n", + " +. sum mos_i' (fun l -> m_1111_2Hb_2Fb.{l,j,i,k})\n", + " +. sum mos_j (fun l -> m_1121_2Hb_2Fb.{l,j,i,k})\n", + " +. sum mos_j' (fun l -> m_1121_2Hb_2Fa.{l,j,i,k})\n", + " -. sum mos_novirt (fun l -> m_1122_v2.{l,j,i,k}) \n", + " -. sum mos_novirt' (fun l -> m_1122_v3.{l,j,i,k})\n", + " -. sum mos_ij (fun l -> m_1122_o.{l,j,i,k})\n", + " ) \n", " in\n", " match phase with\n", " | Phase.Pos -> result\n", @@ -7452,234 +1390,22 @@ " in compute_HaaF ki alphas kj\n", "*)\n", "\n", - "let _ = check 100 integral_value 1 1 \n", - "\n", + "let _ = check 100 integral_value 1 \n", "\n" ] }, { - "cell_type": "markdown", + "cell_type": "raw", "metadata": {}, "source": [ - "# 4. 1 2" + "Timing : 40.020974 0.019294" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "$|J\\rangle = \\hat{T}_{i}^{k}|I\\rangle$\n", - "\n", - "$j$ : orbital indices of MOs occupied both in $|I\\rangle$ and $|J\\rangle$.\n", - "\n", - "$\\sum_{j} \\sum_{a} \\sum_{b}\n", - " \\hat{T}_{ij}^{ab} \\hat{T}_{ab}^{kj} +\n", - "\\sum_{\\bar{j}} \\sum_{a} \\sum_{\\bar{b}}\n", - " \\hat{T}_{i\\bar{j}}^{a\\bar{b}} \\hat{T}_{a\\bar{b}}^{k\\bar{j}} \n", - "$\n", - "\n", - "\n", - "$$\n", - "\\sum_{j} \\sum_{b}\\sum_{a\n" - ] - }, - "execution_count": 142, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1222 :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 142, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 142, - "metadata": {}, - "output_type": "execute_result" - }, - { - "ename": "error", - "evalue": "compile_error", - "output_type": "error", - "traceback": [ - "\u001b[32mFile \"[142]\", line 56, characters 8-13:\n\u001b[31mError: This function has type\n int ->\n (CIMatrixElement.De.t -> CIMatrixElement.De.t -> float) ->\n int -> unit\n It is applied to too many arguments; maybe you forgot a `;'.\n\u001b[36m 55: \u001b[30m\n\u001b[36m 56: \u001b[30mlet _ = \u001b[4mcheck\u001b[0m\u001b[30m 100 integral_value 1 2\u001b[0m\n" - ] - } - ], - "source": [ - "let m_1222a =\n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " sum mos_cabs (fun b -> if b > a then 0. else\n", - " h_two i j a b Spin.Alfa Spin.Alfa *.\n", - " f_two a b k j Spin.Alfa Spin.Alfa \n", - " )\n", - " )\n", - " )\n", - "\n", - "let m_1222 =\n", - " array_3_init mo_num mo_num mo_num (fun i j k ->\n", - " sum mos_cabs (fun a ->\n", - " sum mos_cabs (fun b ->\n", - " h_two i j a b Spin.Alfa Spin.Beta *.\n", - " f_two a b k j Spin.Alfa Spin.Beta \n", - " )\n", - " )\n", - " )\n", - " \n", - "\n", - "let integral_value ki kj = \n", - " let i, k, s, phase =\n", - " match Excitation.of_det ki kj with\n", - " | Excitation.(Single (phase, { hole ; particle ; spin })) ->\n", - " hole, particle, spin, phase\n", - " | _ -> assert false\n", - " in\n", - " \n", - " (* MOs unoccupied in both I and J *)\n", - " let mos_j, mos_j' =\n", - " let alfa = \n", - " let i = Spindeterminant.bitstring @@ Determinant.alfa ki in\n", - " let j = Spindeterminant.bitstring @@ Determinant.alfa kj in\n", - " Bitstring.to_list (Bitstring.logand i j)\n", - " in\n", - " let beta = \n", - " let i = Spindeterminant.bitstring @@ Determinant.beta ki in\n", - " let j = Spindeterminant.bitstring @@ Determinant.beta kj in\n", - " Bitstring.to_list (Bitstring.logand i j)\n", - " in\n", - " match s with\n", - " | Spin.Alfa -> alfa, beta\n", - " | Spin.Beta -> beta, alfa\n", - " in\n", - "\n", - " let result = \n", - " sum mos_j (fun j -> m_1222a.{i,j,k} ) +.\n", - " sum mos_j' (fun j -> m_1222.{i,j,k} )\n", - " in\n", - " match phase with\n", - " | Phase.Pos -> result\n", - " | Phase.Neg -> -. result\n", - " \n", - "\n", - "let _ = check 100 integral_value 1 2 \n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 5. *2 1*" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$|J\\rangle = \\hat{T}_{ij}^{kl}|I\\rangle$\n", - "\n", - "$m$ : orbital indices of MOs unoccupied both in $|I\\rangle$ and $|J\\rangle$.\n", - "\n", - "$n$ : orbital indices of MOs occupied in $|I\\rangle$\n", - "\n", - "$\\sum_{a} \n", - " \\hat{T}_{i}^{a} \\hat{T}_{aj}^{kl} +\n", - " \\hat{T}_{j}^{a} \\hat{T}_{ia}^{kl} \n", - "$\n", - "\n", - "\n", - "$$\n", - "\\sum_{a}\n", - " \\left( h_{ia} + \\sum_{n} \\langle i n || a n \\rangle + \\sum_{\\bar{n}} \\langle i \\bar{n} | a \\bar{n} \\rangle \\right) \\left[ a j || k l \\right] + \\\\\n", - "\\sum_{a}\n", - " \\left( h_{ja} + \\sum_{n} \\langle j n || a n \\rangle + \\sum_{\\bar{n}} \\langle j \\bar{n} | a \\bar{n} \\rangle \\right) \\left[ i a || k l \\right] \n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$|J\\rangle = \\hat{T}_{ij}^{kl}|I\\rangle$\n", - "\n", - "$m$ : orbital indices of MOs unoccupied both in $|I\\rangle$ and $|J\\rangle$.\n", - "\n", - "$n$ : orbital indices of MOs occupied in $|J\\rangle$\n", - "\n", - "$\\sum_{a} \n", - " \\hat{T}_{ij}^{al} \\hat{T}_{a}^{k} +\n", - " \\hat{T}_{ij}^{ka} \\hat{T}_{a}^{l} +\n", - " \\hat{T}_{i\\bar{j}}^{a\\bar{l}} \\hat{T}_{a}^{k} +\n", - " \\hat{T}_{i\\bar{j}}^{k\\bar{a}} \\hat{T}_{\\bar{a}}^{\\bar{l}}\n", - "$\n", - "\n", - "\n", - "$$\n", - "\\sum_{a}\n", - " \\langle i j || a l \\rangle \\left( f_{ak} + \\sum_{n} \\left[ a n || k n \\right] + \\sum_{\\bar{n}} \\left[ a \\bar{n} | k \\bar{n} \\right] \\right) + \\\\\n", - "\\sum_{a}\n", - " \\langle i j || k a \\rangle \\left( f_{al} + \\sum_{n} \\left[ n a || n l \\right] + \\sum_{\\bar{n}} \\left[ \\bar{n} a | \\bar{n} l \\right] \\right) \n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$|J\\rangle = \\hat{T}_{ij}^{kl}|I\\rangle$\n", - "\n", - "$m$ : orbital indices of MOs unoccupied both in $|I\\rangle$ and $|J\\rangle$.\n", - "\n", - "$n$ : orbital indices of MOs occupied in both $|I\\rangle$ and $|J\\rangle$ .\n", - "\n", - "$\\sum_{a} \n", - " \\hat{T}_{ij}^{am} \\hat{T}_{am}^{kl} +\n", - " \\hat{T}_{ij}^{ma} \\hat{T}_{ma}^{kl} -\n", - " \\hat{T}_{in}^{al} \\hat{T}_{aj}^{kn} -\n", - " \\hat{T}_{nj}^{ka} \\hat{T}_{ia}^{nl} +\n", - " \\sum_{n}\n", - " \\hat{T}_{i\\bar{n}}^{k\\bar{a}} \\hat{T}_{\\bar{a}j}^{\\bar{n}l}\n", - "$\n", - "\n", - "\n", - "$$\n", - "\\sum_{a}\n", - "\\sum_{m} \\langle i j || a m \\rangle \\left[ a m || k l \\right] + \\langle i j || m a \\rangle \\left[ m a || k l \\right] - \\\\\n", - "\\sum_{n} \\langle i n || a l \\rangle \\left[ a j || k n \\right] + \\langle n j || k a \\rangle \\left[ i a || n l \\right] \n", - "$$" + "# 3. 2" ] }, { @@ -7777,48 +1503,9 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (11, 20) | -6.303757e-03 -6.303757e-03 | 4.336809e-18 | cpu : 15.777756 0.108934\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " let i, j, k, l, s, s', phase =\n", @@ -7973,28 +1660,6 @@ "# 12. 2 2 " ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "let _ = png_image \"2_2_22.png\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$|J\\rangle = \\hat{T}_{ij}^{kl}|I\\rangle$\n", - "\n", - "$$\n", - "\\sum_{b}\\sum_{a Determinant.t -> float = \n" - ] - }, - "execution_count": 419, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (24, 43) | 1.154913e-03 1.154913e-03 | 6.505213e-19 | cpu : 10.122233 0.688825\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 419, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " let i, j, m, k, l, n, s1, s2, s3, phase =\n", diff --git a/Notebooks/F12_matrix.ipynb b/Notebooks/F12_matrix.ipynb index 5b48821..4ec56eb 100644 --- a/Notebooks/F12_matrix.ipynb +++ b/Notebooks/F12_matrix.ipynb @@ -16,51 +16,9 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val png_image : string -> unit = \n" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Raised at file \"stdlib.ml\", line 34, characters 25-45\n", - "Called from file \"toplevel/toploop.ml\", line 468, characters 4-128\n", - "Called from file \"toplevel/topdirs.ml\", line 144, characters 10-51\n", - "\n", - "- : unit = ()\n", - "Findlib has been successfully loaded. Additional directives:\n", - " #require \"package\";; to load a package\n", - " #list;; to list the available packages\n", - " #camlp4o;; to load camlp4 (standard syntax)\n", - " #camlp4r;; to load camlp4 (revised syntax)\n", - " #predicates \"p,q,...\";; to set these predicates\n", - " Topfind.reset();; to force that packages will be reloaded\n", - " #thread;; to enable threads\n", - "\n", - "- : unit = ()\n" - ] - }, - { - "data": { - "text/plain": [ - "val png_image : string -> Jupyter_notebook.display_id = \n" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let png_image = print_endline ;;\n", "\n", @@ -100,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -124,20 +82,9 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val pp_mo : Format.formatter -> MOBasis.t -> unit = \n" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "#install_printer AngularMomentum.pp_string ;;\n", "#install_printer Basis.pp ;;\n", @@ -180,222 +127,9 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val basis_filename : string = \"/home/scemama/qp2/data/basis/6-31g\"\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val aux_basis_filename : string = \"/home/scemama/qp2/data/basis/cc-pvdz\"\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val nuclei : Nuclei.t = [|(Element.C, 0.0000 0.0000 0.0000)|]\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val frozen_core : bool = false\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val multiplicity : int = 1\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val state : int = 1\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val basis : Basis.t =\n", - " \n", - " Atomic Basis set\n", - " ----------------\n", - "\n", - "-----------------------------------------------------------------------\n", - " # Angular Coordinates (Bohr) Exponents Coefficients\n", - " Momentum X Y Z\n", - "-----------------------------------------------------------------------\n", - " 1-3 S 0.0000 0.0000 0.0000 3.04752490e+03 1.83470000e-03\n", - " 4.57369510e+02 1.40373000e-02\n", - " 1.03948690e+02 6.88426000e-02\n", - " 2.92101550e+01 2.32184400e-01\n", - " 9.28666300e+00 4.67941300e-01\n", - " 3.16392700e+00 3.62312000e-01\n", - " \n", - " 7.86827240e+00 -1.19332400e-01\n", - " 1.88128850e+00 -1.60854200e-01\n", - " 5.44249300e-01 1.14345640e+00\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - " 3-8 P 0.0000 0.0000 0.0000 7.86827240e+00 6.89991000e-02\n", - " 1.88128850e+00 3.16424000e-01\n", - " 5.44249300e-01 7.44308300e-01\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val aux_basis : Basis.t =\n", - " \n", - " Atomic Basis set\n", - " ----------------\n", - "\n", - "-----------------------------------------------------------------------\n", - " # Angular Coordinates (Bohr) Exponents Coefficients\n", - " Momentum X Y Z\n", - "-----------------------------------------------------------------------\n", - " 1-6 S 0.0000 0.0000 0.0000 3.04752490e+03 1.83470000e-03\n", - " 4.57369510e+02 1.40373000e-02\n", - " 1.03948690e+02 6.88426000e-02\n", - " 2.92101550e+01 2.32184400e-01\n", - " 9.28666300e+00 4.67941300e-01\n", - " 3.16392700e+00 3.62312000e-01\n", - " \n", - " 7.86827240e+00 -1.19332400e-01\n", - " 1.88128850e+00 -1.60854200e-01\n", - " 5.44249300e-01 1.14345640e+00\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " 6.66500000e+03 6.92000000e-04\n", - " 1.00000000e+03 5.32900000e-03\n", - " 2.28000000e+02 2.70770000e-02\n", - " 6.47100000e+01 1.01718000e-01\n", - " 2.10600000e+01 2.74740000e-01\n", - " 7.49500000e+00 4.48564000e-01\n", - " 2.79700000e+00 2.85074000e-01\n", - " 5.21500000e-01 1.52040000e-02\n", - " \n", - " 6.66500000e+03 -1.46000000e-04\n", - " 1.00000000e+03 -1.15400000e-03\n", - " 2.28000000e+02 -5.72500000e-03\n", - " 6.47100000e+01 -2.33120000e-02\n", - " 2.10600000e+01 -6.39550000e-02\n", - " 7.49500000e+00 -1.49981000e-01\n", - " 2.79700000e+00 -1.27262000e-01\n", - " 5.21500000e-01 5.44529000e-01\n", - " \n", - " 1.59600000e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - " 3-14 P 0.0000 0.0000 0.0000 7.86827240e+00 6.89991000e-02\n", - " 1.88128850e+00 3.16424000e-01\n", - " 5.44249300e-01 7.44308300e-01\n", - " \n", - " 1.68714400e-01 1.00000000e+00\n", - " \n", - " 9.43900000e+00 3.81090000e-02\n", - " 2.00200000e+00 2.09480000e-01\n", - " 5.45600000e-01 5.08557000e-01\n", - " \n", - " 1.51700000e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - " 19-24 D 0.0000 0.0000 0.0000 5.50000000e-01 1.00000000e+00\n", - " \n", - " \n", - "-----------------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val f12 : F12factor.t =\n", - " {F12factor.expo_s = 1.;\n", - " gaussian =\n", - " {GaussianOperator.coef_g =\n", - " [ -0.314400 -0.303700 -0.168100 -0.098110 -0.060240 -0.037260 ];\n", - " expo_sg =\n", - " [ 0.220900 1.004000 3.622000 12.160000 45.870000 254.400000 ];\n", - " expo_sg_inv =\n", - " [ 4.526935 0.996016 0.276091 0.082237 0.021801 0.003931 ]}}\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val charge : int = 0\n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val simulation : Simulation.t = \n" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let basis_filename = \"/home/scemama/qp2/data/basis/6-31g\" \n", "let aux_basis_filename = \"/home/scemama/qp2/data/basis/cc-pvdz\" \n", @@ -419,22 +153,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val n_elec_alfa : int = 3\n", - "val n_elec_beta : int = 3\n", - "val n_elec : int = 6\n" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let n_elec_alfa, n_elec_beta, n_elec = \n", " let e = Simulation.electrons simulation in\n", @@ -450,124 +171,9 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "15 significant shell pairs computed in 0.016332 seconds\n", - "1\n", - "2\n", - "5\n", - "6\n", - "Computed ERIs in 0.046598 seconds\n", - "MOs =\n", - "\n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.996612 -0.227167 -0 -0 0\n", - " 2 0.0192375 0.476116 -0 -0 2.6158E-15\n", - " 3 0 2.03898E-15 -0.311528 0.112708 0.385089\n", - " ... ... ... ... ...\n", - " 7 0 -1.27056E-15 -0.2512 0.160842 0.549548\n", - " 8 0 -3.86977E-16 0.0682945 0.640967 -0.133725\n", - " 9 0 -2.94182E-16 0.430493 -0.00783052 0.341885\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 -0 0.0754634 -4.03636E-15 -5.48678E-15\n", - " 2 2.47356E-15 -1.66012 9.26322E-14 1.31026E-13\n", - " 3 0.521643 9.10799E-14 0.273858 0.935677\n", - " ... ... ... ...\n", - " 7 -0.553226 -8.12878E-14 -0.248658 -0.849577\n", - " 8 0.150407 -3.91558E-14 -0.990908 0.206736\n", - " 9 0.948091 -3.91643E-14 0.0121041 -0.52854\n", - " \n" - ] - }, - { - "data": { - "text/plain": [ - "val hf : HartreeFock.t = \n", - "======================================================================\n", - " Restricted Hartree-Fock \n", - "======================================================================\n", - "\n", - " ------------------------------------------------------------\n", - " # HF energy Convergence HOMO-LUMO\n", - " ------------------------------------------------------------\n", - " 1 -36.54848161 7.4861e-01 0.2723\n", - " 2 -37.55037352 1.9776e-01 0.4104\n", - " 3 -37.58727938 3.0130e-02 0.4115\n", - " 4 -37.58813705 7.2124e-03 0.4099\n", - " 5 -37.58819378 2.3539e-03 0.4094\n", - " 6 -37.58820226 1.0327e-03 0.4092\n", - " 7 -37.58820371 4.5157e-04 0.4091\n", - " 8 -37.58820396 1.9102e-04 0.4091\n", - " 9 -37.58820401 8.0044e-05 0.4091\n", - " 10 -37.58820402 3.3447e-05 0.4091\n", - " ------------------------------------------------------------\n", - "\n", - "\n", - " ============================================================\n", - " One-electron energy -50.3759860187\n", - " Kinetic 37.5972073815\n", - " Potential -87.9731934002\n", - " -------------------------------------------------------- \n", - " Two-electron energy 12.7877820020\n", - " Coulomb 17.8173369652\n", - " Exchange -5.0295549632\n", - " -------------------------------------------------------- \n", - " HF HOMO -9.3108539820\n", - " HF LUMO 1.8212205669\n", - " HF LUMO-LUMO 11.1320745489\n", - " -------------------------------------------------------- \n", - " Electronic energy -37.5882040167\n", - " Nuclear repulsion 0.0000000000\n", - " Hartree-Fock energy -37.5882040167\n", - " ============================================================\n", - " \n", - "\n" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mo_basis : MOBasis.t =\n", - " Eigenvalues: -11.348496 -0.709564 -0.342166 0.066926 0.066926 \n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.996612 -0.227167 -0 -0 0\n", - " 2 0.0192375 0.476116 -0 -0 2.6158E-15\n", - " 3 0 2.03898E-15 -0.311528 0.112708 0.385089\n", - " ... ... ... ... ...\n", - " 7 0 -1.27056E-15 -0.2512 0.160842 0.549548\n", - " 8 0 -3.86977E-16 0.0682945 0.640967 -0.133725\n", - " 9 0 -2.94182E-16 0.430493 -0.00783052 0.341885\n", - " \n", - " Eigenvalues: 0.758670 0.787535 0.789515 0.789515 \n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 -0 0.0754634 -4.03636E-15 -5.48678E-15\n", - " 2 2.47356E-15 -1.66012 9.26322E-14 1.31026E-13\n", - " 3 0.521643 9.10799E-14 0.273858 0.935677\n", - " ... ... ... ...\n", - " 7 -0.553226 -8.12878E-14 -0.248658 -0.849577\n", - " 8 0.150407 -3.91558E-14 -0.990908 0.206736\n", - " 9 0.948091 -3.91643E-14 0.0121041 -0.52854\n", - " \n", - " \n" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let hf = HartreeFock.make ~guess:`Hcore ~max_scf:10 simulation ;;\n", "\n", @@ -600,58 +206,9 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val f12 : F12factor.t =\n", - " {F12factor.expo_s = 1.;\n", - " gaussian =\n", - " {GaussianOperator.coef_g =\n", - " [ -0.314400 -0.303700 -0.168100 -0.098110 -0.060240 -0.037260 ];\n", - " expo_sg =\n", - " [ 0.220900 1.004000 3.622000 12.160000 45.870000 254.400000 ];\n", - " expo_sg_inv =\n", - " [ 4.526935 0.996016 0.276091 0.082237 0.021801 0.003931 ]}}\n" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mo_num : int = 9\n" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val pp_spindet : Format.formatter -> Spindeterminant.t -> unit = \n" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val pp_det : Format.formatter -> Determinant.t -> unit = \n" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let f12 = Util.of_some @@ Simulation.f12 simulation \n", "\n", @@ -670,109 +227,9 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val simulation_aux : Simulation.t = \n" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "66 significant shell pairs computed in 0.062429 seconds\n", - "1\n", - "2\n", - "5\n", - "6\n", - "9\n", - "10\n", - "11\n", - "12\n", - "15\n", - "18\n", - "Computed ERIs in 0.799183 seconds\n" - ] - }, - { - "data": { - "text/plain": [ - "val aux_basis : MOBasis.t =\n", - " Eigenvalues: -11.348496 -0.709564 -0.342166 0.066926 0.066926 \n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.996612 -0.227167 -1.55889E-11 -6.35567E-12 -1.34954E-12\n", - " 2 0.0192375 0.476116 -3.63701E-12 2.3503E-12 -1.30322E-12\n", - " 3 -1.94978E-12 1.78028E-12 -0.311528 0.112708 0.385089\n", - " ... ... ... ... ...\n", - " 22 0 0 -0 0 -0\n", - " 23 0 0 -0 0 -0\n", - " 24 0 0 -0 0 -0\n", - " \n", - " Eigenvalues: 0.758670 0.787535 0.789515 0.789515 1.401263 \n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 -- -- 10 --\n", - " 1 1.68715E-11 0.0754634 -3.20267E-12 -2.55841E-12 5.89356E-13\n", - " 2 2.50504E-12 -1.66012 5.42225E-13 5.5698E-12 4.15278E-13\n", - " 3 0.521643 9.98939E-13 0.273858 0.935677 -1.60551E-12\n", - " ... ... ... ... ...\n", - " 22 0 0 0 -0 0.866025\n", - " 23 0 0 0 -0 -0\n", - " 24 5.34208E-16 0 -5.0103E-16 -5.16533E-16 -0\n", - " \n", - " Eigenvalues: 1.041443 1.042290 1.054347 1.485261 25.739829 \n", - " -- 11 -- -- 12 -- -- 13 -- -- 14 -- -- 15 --\n", - " 1 -5.48487E-10 -1.11498E-09 6.09785E-10 5.77229 1.19123E-08\n", - " 2 -1.94824E-10 3.47045E-11 4.11571E-12 -21.703 -1.7907E-09\n", - " 3 -9.41452 3.69747 -0.652915 2.28355E-11 -103.655\n", - " ... ... ... ... ...\n", - " 22 0 2.26934E-14 3.81775E-14 0 4.22204E-13\n", - " 23 0 -0 -0 0 0\n", - " 24 1.19652E-14 -4.56971E-14 -7.36206E-14 0 -8.2604E-13\n", - " \n", - " Eigenvalues: 25.783000 25.748833 17.771759 378.085285 1.415838 \n", - " -- 16 -- -- 17 -- -- 18 -- -- 19 -- -- 20 --\n", - " 1 -1.21774E-08 -2.0721E-08 20.5865 436.893 -8.50365E-11\n", - " 2 -3.08075E-09 -3.38443E-10 -125.907 -12.7961 3.11494E-12\n", - " 3 -138.626 11.0904 3.97511E-09 -1.32873E-09 -7.82399E-11\n", - " ... ... ... ... ...\n", - " 22 -5.42356E-13 5.36689E-13 -0 0 0.499656\n", - " 23 0 0 -0 0 3.09005E-06\n", - " 24 1.06385E-12 -1.07453E-12 -0 0 -0.999313\n", - " \n", - " Eigenvalues: 1.404881 1.410962 1.410166 \n", - " -- 21 -- -- 22 -- -- 23 --\n", - " 1 3.87235E-12 -1.73871E-12 3.46244E-11\n", - " 2 -1.41864E-13 6.38182E-14 -1.23539E-12\n", - " 3 -2.83484E-12 -3.14844E-12 0\n", - " ... ... ...\n", - " 22 -0.0166614 0.0081182 -1.77664E-05\n", - " 23 0.000220122 0.00245004 0.999997\n", - " 24 0.0333229 -0.0162364 3.55327E-05\n", - " \n", - " \n" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val aux_num : int = 23\n" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let simulation_aux = \n", " let charge = Charge.to_int @@ Simulation.charge simulation \n", @@ -798,38 +255,9 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "66 significant shell pairs computed in 1.000310 seconds\n", - "1\n", - "2\n", - "5\n", - "6\n", - "9\n", - "10\n", - "11\n", - "12\n", - "15\n", - "18\n", - "Computed ERIs in 18.798852 seconds\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "4-idx transformation \n", - "23 / 23\n", - "4-idx transformation \n", - "23 / 23\n" - ] - } - ], + "outputs": [], "source": [ "let () = ignore @@ MOBasis.f12_ints aux_basis\n", "let () = ignore @@ MOBasis.two_e_ints aux_basis" @@ -866,73 +294,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val cancel_singles : bool = false\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_cabs : int list =\n", - " [10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23]\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_abs : int list =\n", - " [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21;\n", - " 22; 23]\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_in : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9]\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_a : Determinant.t -> int list = \n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val mos_b : Determinant.t -> int list = \n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let cancel_singles = false \n", "\n", @@ -964,30 +328,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val h_one : int -> int -> '_weak1 -> float = \n" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val h_two : int -> int -> int -> int -> Spin.t -> Spin.t -> float = \n" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let h_one =\n", " let h = \n", @@ -1018,30 +361,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val f_two : int -> int -> int -> int -> Spin.t -> Spin.t -> float = \n" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val f_one : 'a -> 'b -> 'c -> float = \n" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let f_two = \n", " let two_e_ints = MOBasis.f12_ints aux_basis in\n", @@ -1065,9 +387,9 @@ "\n", "(*\n", "let f_two = h_two\n", + "*)\n", "\n", - "let f_one = h_one\n", - "*)" + "let f_one = h_one" ] }, { @@ -1086,57 +408,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val f12_integrals :\n", - " 'a ->\n", - " ('b -> 'c -> 'd -> float) *\n", - " (int -> int -> int -> int -> Spin.t -> Spin.t -> float) * 'e option = \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val h_ij : MOBasis.t -> CIMatrixElement.De.t -> CIMatrixElement.De.t -> float =\n", - " \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val f_ij : 'a -> CIMatrixElement.De.t -> CIMatrixElement.De.t -> float =\n", - " \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val hf_ij :\n", - " MOBasis.t -> CIMatrixElement.De.t -> CIMatrixElement.De.t -> float list =\n", - " \n" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let f12_integrals mo_basis =\n", " ( f_one, f_two, None )\n", @@ -1178,20 +452,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val is_a_double : DeterminantSpace.t -> Determinant.t -> bool = \n" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let is_a_double det_space =\n", " let mo_class = DeterminantSpace.mo_class det_space in\n", @@ -1222,64 +485,9 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of determinants : 84 84 7056\n" - ] - }, - { - "data": { - "text/plain": [ - "val in_space : DeterminantSpace.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of determinants : 1771 1771 3136441\n" - ] - }, - { - "data": { - "text/plain": [ - "val aux_space : DeterminantSpace.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val det_space_in : unit -> Determinant.t Stream.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val det_space_out : unit -> (Determinant.t * Determinant.t) Stream.t = \n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let in_space = \n", " DeterminantSpace.fci_f12_of_mo_basis aux_basis ~frozen_core mo_num\n", @@ -1312,90 +520,11 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val ci : CI.t =\n", - " {CI.e_shift = -37.5503735182818161; det_space = ; m_H = ;\n", - " m_S2 = ; eigensystem = ; n_states = 1}\n" - ] - }, - "execution_count": 73, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 1 0.0000000000 4.27876360e-01\n", - " 2 -0.0892428570 1.30475542e-01\n", - " 3 -0.0992140799 8.74622675e-02\n", - " 4 -0.1022422032 2.82063712e-02\n", - " 5 -0.1043598763 3.75067204e-02\n", - " 6 -0.1065557047 4.71900892e-02\n", - " 7 -0.1080257392 1.17050936e-02\n", - " 8 -0.1082438239 4.19578866e-03\n", - " 0 -0.1082636731 1.74312968e-03\n", - " 1 -0.1082673304 7.12907991e-04\n", - " 2 -0.1082677273 3.29773895e-04\n", - " 3 -0.1082677955 1.62017305e-04\n", - " 4 -0.1082678250 1.97376527e-04\n", - " 5 -0.1082678653 1.65667298e-04\n", - " 6 -0.1082678853 1.24231373e-04\n", - " 7 -0.1082678901 1.06697885e-05\n", - " 8 -0.1082678902 5.05286976e-06\n", - " 0 -0.1082678902 2.52891309e-06\n" - ] - }, - { - "data": { - "text/plain": [ - "val ci_coef : Lacaml.D.Mat.t =\n", - " \n", - "\n", - " -- 1 --\n", - " 1 -0.780949\n", - " 2 -0\n", - " 3 -0\n", - " ...\n", - " 7054 -0\n", - " 7055 -0\n", - " 7056 -3.12865E-06\n", - " \n", - "val ci_energy : Lacaml.D.Vec.t =\n", - " R1 R2 R3\n", - " -37.6586 -36.7238 -36.2286\n" - ] - }, - "execution_count": 73, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 1 -0.1082678902 4.37908381e-07\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 73, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let ci = CI.make ~n_states:state in_space\n", "\n", @@ -1545,34 +674,9 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val generate_alphas :\n", - " Determinant.t ->\n", - " Determinant.t -> int -> int -> int -> int -> Determinant.t list = \n" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val compute_HaaF :\n", - " CIMatrixElement.De.t ->\n", - " CIMatrixElement.De.t list -> CIMatrixElement.De.t -> float = \n" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let generate_alphas ki kj exc cabs l r =\n", " (* Check input excitation degree *)\n", @@ -1715,33 +819,9 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val check :\n", - " int ->\n", - " (CIMatrixElement.De.t -> CIMatrixElement.De.t -> float) ->\n", - " int -> int -> int -> int -> unit = \n" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val sum : 'a list -> ('a -> float) -> float = \n" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let check n integral_value exc cabs lexc rexc =\n", " let cpudet, cpuint = ref 0., ref 0. in\n", @@ -1817,61 +897,9 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val array_3_init :\n", - " int ->\n", - " int ->\n", - " int ->\n", - " (int -> int -> int -> float) ->\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val array_4_init :\n", - " int ->\n", - " int ->\n", - " int ->\n", - " int ->\n", - " (int -> int -> int -> int -> float) ->\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val array_5_init :\n", - " int ->\n", - " int ->\n", - " int ->\n", - " int ->\n", - " int ->\n", - " (int -> int -> int -> int -> int -> float) ->\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let array_3_init d1 d2 d3 f =\n", " let result = \n", @@ -1939,27 +967,9 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "- : Jupyter_notebook.display_id = \n" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let _ = png_image \"0_1_11.png\"" ] @@ -1992,48 +1002,9 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> 'a -> float = \n" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (2725, 2725) | -3.638004e-01 -3.638004e-01 | 1.665335e-16 | cpu : 7.381801 1.597322\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " (* Alpha-Beta *)\n", @@ -2044,19 +1015,23 @@ " sum mos_a (fun i -> \n", " (h_one i a s +.\n", " sum mos_a (fun j -> h_two i j a j s s ) +.\n", - " sum mos_b (fun j -> h_two i j a j s s') ) *. \n", + " sum mos_b (fun j -> h_two i j a j s s')\n", + " ) *. \n", " (f_one a i s +.\n", " sum mos_a (fun j -> f_two a j i j s s ) +.\n", - " sum mos_b (fun j -> f_two a j i j s s') )\n", + " sum mos_b (fun j -> f_two a j i j s s')\n", + " )\n", " )\n", " +.\n", " sum mos_b (fun i -> \n", - " (h_one i a s +.\n", + " (h_one i a s' +.\n", " sum mos_b (fun j -> h_two i j a j s' s') +.\n", - " sum mos_a (fun j -> h_two i j a j s' s ) ) *. \n", - " (f_one a i s +.\n", - " sum mos_a (fun j -> f_two a j i j s' s ) +.\n", - " sum mos_b (fun j -> f_two a j i j s' s') )\n", + " sum mos_a (fun j -> h_two i j a j s' s )\n", + " ) *. \n", + " (f_one a i s' +.\n", + " sum mos_b (fun j -> f_two a j i j s' s') +.\n", + " sum mos_a (fun j -> f_two a j i j s' s )\n", + " )\n", " ) \n", " ) \n", " \n", @@ -2067,233 +1042,11 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_0111_1H_1F : Lacaml.D.vec = R1 R2 R3 R7 R8 R9\n", - " 0 0 0 ... 0 0 0\n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_1H_2Fa : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 4.14739E-05 0.000191942 5.82024E-05 3.17097E-05\n", - " 2 0.00441404 0 0.00130171 0.000700762 0.000516783\n", - " 3 0.00947473 0.00340706 0 0.00113769 0.000719119\n", - " ... ... ... ... ...\n", - " 7 0.00330602 0.00100192 0.00129118 0.000663876 0.000505817\n", - " 8 0.0342633 0.0165417 0.0159678 0.00914699 0.00756616\n", - " 9 0.0351294 0.0167331 0.0160539 0.00925644 0.00811228\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0.000201052 -1.30724E-06 0.000334792 0.000361285\n", - " 2 0.000232155 -0.00168232 0.000833107 0.00101709\n", - " 3 -0.00387499 0.000450358 0.00302133 0.0034399\n", - " ... ... ... ...\n", - " 7 0.000755987 0 0.00138329 0.00154135\n", - " 8 0.00932835 0.00680096 0 0.01773\n", - " 9 0.00932584 0.00668845 0.0161232 0\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_1H_2Fb : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0.00240706 0.000203061 0.000204496 6.9114E-05 3.98705E-05\n", - " 2 0.00453599 0.000921371 0.00101171 0.00018998 6.05419E-06\n", - " 3 0.010046 0.00215252 0.00186996 0.000735619 0.00032706\n", - " ... ... ... ... ...\n", - " 7 0.00333148 0.00134734 0.00136183 0.000678955 0.000509352\n", - " 8 0.03544 0.0162787 0.0160193 0.00909405 0.00750383\n", - " 9 0.0363843 0.016229 0.0160429 0.00913626 0.00685374\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0.000172239 0.000122518 0.000307621 0.000336864\n", - " 2 0.000706018 0.000468703 0.00152775 0.00171167\n", - " 3 0.00115063 0.000924145 0.0033018 0.00371036\n", - " ... ... ... ...\n", - " 7 0.000821248 0.000738693 0.00150412 0.00167373\n", - " 8 0.00938437 0.0089191 0.0164475 0.0178998\n", - " 9 0.00941992 0.00884667 0.0163266 0.018548\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Ha_1F : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 0 0 0 0\n", - " 2 0 0 0 0 0\n", - " 3 0 0 0 0 0\n", - " ... ... ... ... ...\n", - " 7 0 0 0 0 0\n", - " 8 0 0 0 0 0\n", - " 9 0 0 0 0 0\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0 0 0 0\n", - " 2 0 0 0 0\n", - " 3 0 0 0 0\n", - " ... ... ... ...\n", - " 7 0 0 0 0\n", - " 8 0 0 0 0\n", - " 9 0 0 0 0\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Hb_1F : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 0 0 0 0\n", - " 2 0 0 0 0 0\n", - " 3 0 0 0 0 0\n", - " ... ... ... ... ...\n", - " 7 0 0 0 0 0\n", - " 8 0 0 0 0 0\n", - " 9 0 0 0 0 0\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0 0 0 0\n", - " 2 0 0 0 0\n", - " 3 0 0 0 0\n", - " ... ... ... ...\n", - " 7 0 0 0 0\n", - " 8 0 0 0 0\n", - " 9 0 0 0 0\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0111_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> 'a -> float = \n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (416, 416) | -1.497602e-01 -1.497602e-01 | 1.110223e-16 | cpu : 7.418296 0.113910\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_0111_1H_1F = \n", " Vec.init mo_num (fun i -> \n", @@ -2313,12 +1066,12 @@ "\n", "let m_0111_2Ha_1F = \n", " Mat.init_cols mo_num mo_num (fun i j -> sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Alfa *. f_one a j Spin.Alfa ))\n", + " h_two i j a j Spin.Alfa Spin.Alfa *. f_one a i Spin.Alfa ))\n", "\n", " \n", "let m_0111_2Hb_1F = \n", " Mat.init_cols mo_num mo_num (fun i j -> sum mos_cabs (fun a ->\n", - " h_two i j a j Spin.Alfa Spin.Beta *. f_one a j Spin.Alfa ))\n", + " h_two i j a j Spin.Alfa Spin.Beta *. f_one a i Spin.Alfa ))\n", "\n", "\n", "let m_0111_2Ha_2Fa =\n", @@ -2365,25 +1118,33 @@ " sum mos_a (fun i ->\n", " m_0111_1H_1F.{i} +. \n", " sum mos_a (fun j ->\n", - " m_0111_1H_2Fa.{i,j} +. m_0111_2Ha_1F.{i,j} +.\n", + " m_0111_2Ha_1F.{i,j} +.\n", + " m_0111_1H_2Fa.{i,j} +.\n", " sum mos_a (fun k -> m_0111_2Ha_2Fa.{i,j,k}) +.\n", - " sum mos_b (fun k -> m_0111_2Ha_2Fb.{i,j,k})) +.\n", + " sum mos_b (fun k -> m_0111_2Ha_2Fb.{i,j,k})\n", + " ) +.\n", " sum mos_b (fun j ->\n", - " m_0111_1H_2Fb.{i,j} +. m_0111_2Hb_1F.{i,j} +.\n", + " m_0111_2Hb_1F.{i,j} +.\n", + " m_0111_1H_2Fb.{i,j} +.\n", " sum mos_a (fun k -> m_0111_2Hb_2Fa.{i,j,k}) +.\n", - " sum mos_b (fun k -> m_0111_2Hb_2Fb.{i,j,k}))\n", + " sum mos_b (fun k -> m_0111_2Hb_2Fb.{i,j,k})\n", + " )\n", " )\n", " +.\n", " sum mos_b (fun i ->\n", " m_0111_1H_1F.{i} +. \n", " sum mos_b (fun j ->\n", - " m_0111_1H_2Fa.{i,j} +. m_0111_2Ha_1F.{i,j} +.\n", + " m_0111_2Ha_1F.{i,j} +.\n", + " m_0111_1H_2Fa.{i,j} +.\n", " sum mos_b (fun k -> m_0111_2Ha_2Fa.{i,j,k}) +.\n", - " sum mos_a (fun k -> m_0111_2Ha_2Fb.{i,j,k})) +.\n", + " sum mos_a (fun k -> m_0111_2Ha_2Fb.{i,j,k})\n", + " ) +.\n", " sum mos_a (fun j ->\n", - " m_0111_1H_2Fb.{i,j} +. m_0111_2Hb_1F.{i,j} +.\n", + " m_0111_2Hb_1F.{i,j} +.\n", + " m_0111_1H_2Fb.{i,j} +.\n", " sum mos_b (fun k -> m_0111_2Hb_2Fa.{i,j,k}) +.\n", - " sum mos_a (fun k -> m_0111_2Hb_2Fb.{i,j,k}))\n", + " sum mos_a (fun k -> m_0111_2Hb_2Fb.{i,j,k})\n", + " )\n", " )\n", " \n", "let _ =\n", @@ -2400,27 +1161,9 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "- : Jupyter_notebook.display_id = \n" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let _ = png_image \"0_1_22.png\"" ] @@ -2454,48 +1197,9 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (96, 96) | -3.551300e-02 -3.551300e-02 | 4.163336e-17 | cpu : 1.998001 0.120893\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " (* mos unoccupied in both I and J *)\n", @@ -2546,72 +1250,9 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_0122_Haa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0122_Hab :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (96, 96) | -3.551300e-02 -3.551300e-02 | 4.163336e-17 | cpu : 1.975414 0.002633\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_0122_Haa = \n", " array_3_init mo_num mo_num mo_num (fun i j k ->\n", @@ -2675,29 +1316,11 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "image/png": "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" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "- : Jupyter_notebook.display_id = \n" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let _ = png_image \"0_2_22.png\"" ] @@ -2728,48 +1351,9 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> 'a -> float = \n" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (6, 6) | -5.846493e-03 -5.846493e-03 | 1.821460e-17 | cpu : 2.262464 0.188633\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " (* Alpha-Beta *)\n", @@ -2799,110 +1383,9 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_0222_Haa : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 -6.71384E-07 -9.968E-05 -6.45073E-05 -5.27031E-05\n", - " 2 -6.71384E-07 0 -4.68481E-05 -2.57378E-05 -2.05896E-05\n", - " 3 -9.968E-05 -4.68481E-05 0 -0.00237038 -0.00210405\n", - " ... ... ... ... ...\n", - " 7 3.23766E-08 -1.08041E-05 -0.000287197 -0.000198078 -0.00017547\n", - " 8 -5.45331E-05 -5.28682E-05 -0.000600588 -1.92121E-05 -0.000295033\n", - " 9 -6.63373E-05 -5.80165E-05 -0.000866918 -0.000558093 -1.92121E-05\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 -1.93604E-05 3.23766E-08 -5.45331E-05 -6.63373E-05\n", - " 2 -3.17579E-05 -1.08041E-05 -5.28682E-05 -5.80165E-05\n", - " 3 -1.92121E-05 -0.000287197 -0.000600588 -0.000866918\n", - " ... ... ... ...\n", - " 7 -0.000208547 0 -0.000297666 -0.000320273\n", - " 8 -0.000500592 -0.000297666 0 -0.000806147\n", - " 9 -0.000497322 -0.000320273 -0.000806147 0\n", - " \n" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_0222_Hab : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 -0.000169963 -1.53492E-05 -0.000103698 -6.51009E-05 -5.22436E-05\n", - " 2 -1.53492E-05 -0.0025733 -0.00022554 -0.000225645 -0.00021764\n", - " 3 -0.000103698 -0.00022554 -0.00532837 -0.00229291 -0.00204143\n", - " ... ... ... ... ...\n", - " 7 -2.92509E-05 -5.57267E-05 -0.000425167 -0.000318692 -0.00029493\n", - " 8 -5.57988E-05 -8.81786E-05 -0.000592839 -0.000542726 -0.00025893\n", - " 9 -6.8656E-05 -9.61834E-05 -0.000844322 -0.000504532 -0.000746806\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 -1.72021E-05 -2.92509E-05 -5.57988E-05 -6.8656E-05\n", - " 2 -8.82835E-05 -5.57267E-05 -8.81786E-05 -9.61834E-05\n", - " 3 -0.000139913 -0.000425167 -0.000592839 -0.000844322\n", - " ... ... ... ...\n", - " 7 -0.000386756 -0.00048578 -0.000493231 -0.000516994\n", - " 8 -0.000633297 -0.000493231 -0.00140435 -0.000967207\n", - " 9 -0.000627417 -0.000516994 -0.000967207 -0.00165712\n", - " \n" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> 'a -> float = \n" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (6, 6) | -5.846493e-03 -5.846493e-03 | 1.908196e-17 | cpu : 2.250297 0.000800\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_0222_Haa = \n", " Mat.init_cols mo_num mo_num (fun i j ->\n", @@ -2950,27 +1433,9 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV4AAAGeCAMAAADrHZmcAAAJJmlDQ1BpY2MAAEiJlZVnUJNZF8fv8zzphUASQodQQ5EqJYCUEFoo0quoQOidUEVsiLgCK4qINEWQRQEXXJUia0UUC4uCAhZ0gywCyrpxFVFBWXDfGZ33HT+8/5l7z2/+c+bec8/5cAEgiINlwct7YlK6wNvJjhkYFMwE3yiMn5bC8fR0A9/VuxEArcR7ut/P+a4IEZFp/OW4uLxy+SmCdACg7GXWzEpPWeGjy0wPj//CZ1dYsFzgMt9Y4eh/eexLzr8s+pLj681dfhUKABwp+hsO/4b/c++KVDiC9NioyGymT3JUelaYIJKZttIJHpfL9BQkR8UmRH5T8P+V/B2lR2anr0RucsomQWx0TDrzfw41MjA0BF9n8cbrS48hRv9/z2dFX73kegDYcwAg+7564ZUAdO4CQPrRV09tua+UfAA67vAzBJn/eqiVDQ0IgALoQAYoAlWgCXSBETADlsAWOAAX4AF8QRDYAPggBiQCAcgCuWAHKABFYB84CKpALWgATaAVnAad4Dy4Aq6D2+AuGAaPgRBMgpdABN6BBQiCsBAZokEykBKkDulARhAbsoYcIDfIGwqCQqFoKAnKgHKhnVARVApVQXVQE/QLdA66At2EBqGH0Dg0A/0NfYQRmATTYQVYA9aH2TAHdoV94fVwNJwK58D58F64Aq6HT8Id8BX4NjwMC+GX8BwCECLCQJQRXYSNcBEPJBiJQgTIVqQQKUfqkVakG+lD7iFCZBb5gMKgaCgmShdliXJG+aH4qFTUVlQxqgp1AtWB6kXdQ42jRKjPaDJaHq2DtkDz0IHoaHQWugBdjm5Et6OvoYfRk+h3GAyGgWFhzDDOmCBMHGYzphhzGNOGuYwZxExg5rBYrAxWB2uF9cCGYdOxBdhK7EnsJewQdhL7HkfEKeGMcI64YFwSLg9XjmvGXcQN4aZwC3hxvDreAu+Bj8BvwpfgG/Dd+Dv4SfwCQYLAIlgRfAlxhB2ECkIr4RphjPCGSCSqEM2JXsRY4nZiBfEU8QZxnPiBRCVpk7ikEFIGaS/pOOky6SHpDZlM1iDbkoPJ6eS95CbyVfJT8nsxmpieGE8sQmybWLVYh9iQ2CsKnqJO4VA2UHIo5ZQzlDuUWXG8uIY4VzxMfKt4tfg58VHxOQmahKGEh0SiRLFEs8RNiWkqlqpBdaBGUPOpx6hXqRM0hKZK49L4tJ20Bto12iQdQ2fRefQ4ehH9Z/oAXSRJlTSW9JfMlqyWvCApZCAMDQaPkcAoYZxmjDA+SilIcaQipfZItUoNSc1Ly0nbSkdKF0q3SQ9Lf5RhyjjIxMvsl+mUeSKLktWW9ZLNkj0ie012Vo4uZynHlyuUOy33SB6W15b3lt8sf0y+X35OQVHBSSFFoVLhqsKsIkPRVjFOsUzxouKMEk3JWilWqUzpktILpiSTw0xgVjB7mSJleWVn5QzlOuUB5QUVloqfSp5Km8oTVYIqWzVKtUy1R1WkpqTmrpar1qL2SB2vzlaPUT+k3qc+r8HSCNDYrdGpMc2SZvFYOawW1pgmWdNGM1WzXvO+FkaLrRWvdVjrrjasbaIdo12tfUcH1jHVidU5rDO4Cr3KfFXSqvpVo7okXY5upm6L7rgeQ89NL0+vU++Vvpp+sP5+/T79zwYmBgkGDQaPDamGLoZ5ht2GfxtpG/GNqo3uryavdly9bXXX6tfGOsaRxkeMH5jQTNxNdpv0mHwyNTMVmLaazpipmYWa1ZiNsulsT3Yx+4Y52tzOfJv5efMPFqYW6RanLf6y1LWMt2y2nF7DWhO5pmHNhJWKVZhVnZXQmmkdan3UWmijbBNmU2/zzFbVNsK20XaKo8WJ45zkvLIzsBPYtdvNcy24W7iX7RF7J/tC+wEHqoOfQ5XDU0cVx2jHFkeRk4nTZqfLzmhnV+f9zqM8BR6f18QTuZi5bHHpdSW5+rhWuT5z03YTuHW7w+4u7gfcx9aqr01a2+kBPHgeBzyeeLI8Uz1/9cJ4eXpVez33NvTO9e7zofls9Gn2eedr51vi+9hP0y/Dr8ef4h/i3+Q/H2AfUBogDNQP3BJ4O0g2KDaoKxgb7B/cGDy3zmHdwXWTISYhBSEj61nrs9ff3CC7IWHDhY2UjWEbz4SiQwNCm0MXwzzC6sPmwnnhNeEiPpd/iP8ywjaiLGIm0iqyNHIqyiqqNGo62ir6QPRMjE1MecxsLDe2KvZ1nHNcbdx8vEf88filhICEtkRcYmjiuSRqUnxSb7JicnbyYIpOSkGKMNUi9WCqSOAqaEyD0tandaXTlz/F/gzNjF0Z45nWmdWZ77P8s85kS2QnZfdv0t60Z9NUjmPOT5tRm/mbe3KVc3fkjm/hbKnbCm0N39qzTXVb/rbJ7U7bT+wg7Ijf8VueQV5p3tudATu78xXyt+dP7HLa1VIgViAoGN1tubv2B9QPsT8M7Fm9p3LP58KIwltFBkXlRYvF/OJbPxr+WPHj0t6ovQMlpiVH9mH2Je0b2W+z/0SpRGlO6cQB9wMdZcyywrK3BzcevFluXF57iHAo45Cwwq2iq1Ktcl/lYlVM1XC1XXVbjXzNnpr5wxGHh47YHmmtVagtqv14NPbogzqnuo56jfryY5hjmceeN/g39P3E/qmpUbaxqPHT8aTjwhPeJ3qbzJqamuWbS1rgloyWmZMhJ+/+bP9zV6tua10bo63oFDiVcerFL6G/jJx2Pd1zhn2m9az62Zp2WnthB9SxqUPUGdMp7ArqGjzncq6n27K7/Ve9X4+fVz5ffUHyQslFwsX8i0uXci7NXU65PHsl+spEz8aex1cDr97v9eoduOZ67cZ1x+tX+zh9l25Y3Th/0+LmuVvsW523TW939Jv0t/9m8lv7gOlAxx2zO113ze92D64ZvDhkM3Tlnv296/d5928Prx0eHPEbeTAaMip8EPFg+mHCw9ePMh8tPN4+hh4rfCL+pPyp/NP637V+bxOaCi+M24/3P/N59niCP/Hyj7Q/Fifzn5Ofl08pTTVNG02fn3Gcufti3YvJlykvF2YL/pT4s+aV5quzf9n+1S8KFE2+Frxe+rv4jcyb42+N3/bMec49fZf4bmG+8L3M+xMf2B/6PgZ8nFrIWsQuVnzS+tT92fXz2FLi0tI/QiyQvpNzTVQAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJNQTFRF////y8vLy8vLy8vLy8vLy8vL/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA9icn61dXAAAAAAAAAAAAAAAAAAAA0AAAlAAAAAAArgAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy8vL/wAA519f2ZWVAAAAiAAARAAA////lQ150AAAACl0Uk5TAIi7RCIziEQz3Zlm7hGqu8wiVad1RCIziLundWbHp6rHp1XdEe7Md5mFXR8vAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAABLAAAASwAc4jpUgAAAAd0SU1FB+MMAw8DHcg2+UQAAAi8SURBVHja7Z1tc6PKEUbJTa69K9vr9U0QkJDoRjCITDLJ//93QbIsCRj0Uts9g7znfNgq11Zxth9DM0hsT5JM8q/b+EMiwi+3WX+5WyvxEu/9xvvH2/iTTKG/3mb99Z6tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA380AEijxaMtA8ee0XQtDjq10QghpP1j6/EIMSL8/W2m/koMSr/WZf7RNBqLCwTw/2kXxV+PK9y7WL9+W7faD/Soe7sNuztos3eVnY54c3IpHj7Wt3S3tL3uNNkt+6H19JRe7cfd2fru/xdgEviFflqe2REIiXeOFnizf6oK0/27984kFb0cfE/dv+hyl8xEu8M4yX3vu5hxyyMCNe4gXiJV7iBeIlXuIF4iVe4gXiJV4g3mA88XovAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMyM9DaWMtbsNmt2t1Z3G7lMocVt1uJurcRLvPcbL71X2woAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCc8EIEij5YMNE9e+4UQ9PhqF4SgxpO1bDCrxsuztfYbOSjxar/ZV/tEECos7NODfSRfFb5873Lt4n35bh/ov9LhLuz2rN3uTP+ysM8Pb0Qix9vX7pb2lrzHmyS/dT++korcufu6P13f4+0CXhCvylPbIyEQL/FCvHh/0kFbf7V/Y8ih3pi4/9r/MYWPeIn3LPltpDKFlrdZS3Hr3+0/QllZOQDxEi8QL/ESLxAv8RIvEC/xEi8QL/ESL/Eq8sTrvQAAAAAAAAAAAAAAAAAAoI5/8F+2ivFviWPV1E4M/stdGqHOOFZN7cTgP+KVYWLwH/GKMDX4j3glmBz8R7wSTA7+I14Bpgf/Ee8Pc27wH/H+aLhnB/8R7w9xafAf8f7YuXth8B/xSj21PfJYQbzES7zES7x3r3W3jU77LGPiQlmJl3jvN9784uC/390/Iww57FnLUNaeVnjIIbc2Vg7ES7zEGzveZZ4NjOtcv7w41iDafrypc1V5NNa5cU6/zjjWINpBc8jyyjXZ3rg2rinrAIXGsYbQjnvvxphsZyxdFa4VxrGqaz23tqwyWWcsXVuHqzOSVVvrWznUxuQud23Y+3ccq7LWuzDLtk/fTR240DhWXa1/3Zt3xvBL0DhWVa0/3tpIfWB123Uaw6qqnXhqa12M/THiWDW1E/GWro5QZxyrpnZi8N+yiVFnHGssLQAAAAAAAAAAAAAAAAAAfEr8L2Rrjxuck1VTm/pfyFb+Xw6zsmpqc5dFKHRWVk1t5X+zVbnQWVkVtaVzpg5e6LysetraOOdWoQudmVVPW7iVK3yvX6oWOjOrmrZ1ZXdon1Oz0LlZlbRZ07m6Q9eNy+tghc7PqqLNWrf9TW4PXbfO5Msghc7RqqBdVl2bXx4Ova4Gczh0Cp2nVUGbFftf4ceh122AQudp1X1qS6M8P83ISrzES7zES7yfIN7bJqcxJo54ifdnHHLYmysYbMjhNdYylFVzyCG3NlYOxEu8xBs73lDjBudgDaLtK0ONG5yDNYh2oAw0bnAW1hDacd8JMW5wLlZ1rUcZYNzgbKzaWp9Sf9zgfKzKWq9SfdzgjKy6Wr9Se9zgnKyqWr9Se9zgnKyq2gml8rjBWVk1tRNK5XGDs7Jqakv/K6/Kc/9mZWXIIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3IzZnPvbtgnv1BJHsZ4fG5u7tUK8V4yqVRBHsQ6ky/TIsvtRZXbPFYUqiH3W7KRcFetAejpFeLP7uY4Sr4LYZ61Oys00rGPpdvMXs95rSreJE6+8eMqadvVWSyWrR2rcyTVimjjxyosnrcYdQ5W2jqXbgV7HDt9O7NupHq+4eMqa7RuDinUs3XS6+kSex4lXXDx1vK5eo2YdH27l3OkV0pg48YqLp6yr3taZwtax1PS3UNhEWYEqiKesp61X3DqS9ltvktRuFSdeafGEtdd6xa0jab/17i6eZZR4pcUT1l7rFbeOpIPWmyRr/RVo9/DkWc4LiyfiXQ12LZa1jqRmtHtNVanGu2xN0xamGE8elBVPxNtvvdLWoXTYepPpLetFnHXumt1E+OZjQGamJPbHO2i90tahdNR6FT7oOHF2qe7HaS/303OzSknsj3fYeoWtQ+mo9e7WgrVSvF26h4HPq/fxuZtcSeyPdzXeMF7SOpQaz8ZhpfBg26OhcMf79Ob9Km1SJbE/3lHrlbUOpJ7Wu53LXOjEm59+eJTufrFZpSX2xjtuvbLWgdTTencfdKisQGtzWlu6y7rdaIm98Y5br6x1IPW1XrUVaHfyVr0TqUiW/b4nKfbG62m9otaB1Hj3bBTeC+pD0fRl23iLjZrYG6+n9Ypa+1Jv6xV/sNg764Gsi3fd6Im937V5Wq+otS/1t17px+K9Mx3Iur5kMj2xL15v69XrSP7WK3xnO4m3V5sbXaii4kOldW5W9ZnWq3c/9bZe8Y8kj/EW/XgbTfGhsva4KbCv9Ypae3H6W+9GeruMY+8dxFtoig+VusNlUnbXT61a7uCbCV/rFf866MO5Om0O9WoUr6z4NN79k3jlu1hFrb3je1uv/JeZHwfMTvZASqt8tVsF55mS+HC0qthvJ9h7aNSxHp6g0nS9bUpmk6aKH9D1Cy0/TqN1UWTbXlwn2fFqFRYfH8Wr+uNabX1rfI1PQfPdi0Bm92e/tRvF1wbXlcnzfGVW6Xu9q7zKtMRHa1t1p29WuMr3raWs9eKlUMrvA3XqzDb55tAhlpuTXUD1PqdL0rZxRVsGKPdivCv5l/iu627S4ijWS1KNV1CvKlTzO5Jw1ktSjReorypUXBzFekkq/jXxtYUqfz8dyHpBmiq8wXdVoanaajuo9cLxWvFXdK4stI3ybpC49by0Vtn89IpCFcRRrOelpcrmp1cUqrzaDmY9Ly1MEifewnwOa3Z2Fb3MNOLNLq/cFcRxrAAAAAAAAAAAMDv+D53ycM1ZW08eAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE5LTEyLTAzVDE1OjAzOjI5KzAxOjAw6B9Y5wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOS0xMi0wM1QxNTowMzoyOSswMTowMJlC4FsAAAAUdEVYdHBkZjpWZXJzaW9uAFBERi0xLjUgBVwLOQAAAABJRU5ErkJggg==" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "- : Jupyter_notebook.display_id = \n" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let _ = png_image \"1_1_11.png\"" ] @@ -2996,48 +1461,9 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (0, 0) | 0.000000e+00 0.000000e+00 | 0.000000e+00 | cpu : 22.881818 5.474353\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " let i, k, s, phase =\n", @@ -3080,48 +1506,9 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val ki : Determinant.t =\n", - " phase:+1\n", - " a:+1 +------++-------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val kj : Determinant.t =\n", - " phase:+1\n", - " a:+1 ------+++-------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "- : float = -0.0173816203798749\n" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let ki = det_I.(77)\n", "let kj = det_I.(83)\n", @@ -3131,149 +1518,11 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_1111_1H_1F : Lacaml.D.mat =\n", - " \n", - "\n", - " -- 1 -- -- 2 -- -- 3 -- -- 4 -- -- 5 --\n", - " 1 0 0 0 0 0\n", - " 2 0 0 0 0 0\n", - " 3 0 0 0 0 0\n", - " ... ... ... ... ...\n", - " 7 0 0 0 0 0\n", - " 8 0 0 0 0 0\n", - " 9 0 0 0 0 0\n", - " \n", - "\n", - " -- 6 -- -- 7 -- -- 8 -- -- 9 --\n", - " 1 0 0 0 0\n", - " 2 0 0 0 0\n", - " 3 0 0 0 0\n", - " ... ... ... ...\n", - " 7 0 0 0 0\n", - " 8 0 0 0 0\n", - " 9 0 0 0 0\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_1H_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_1H_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Ha_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Hb_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1111_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value_11 : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_1111_1H_1F = \n", " Mat.init_cols mo_num mo_num (fun i k -> \n", @@ -3371,10 +1620,8 @@ " | Phase.Pos -> result\n", " | Phase.Neg -> -. result\n", " \n", - "(*\n", "let _ =\n", " check 0 integral_value_11 1 1 1 1\n", - "*) \n", " " ] }, @@ -3480,92 +1727,9 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_1112_1H_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_1H_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1112_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value_12 : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_1112_1H_2Fa = \n", " array_3_init mo_num mo_num mo_num (fun i j k ->\n", @@ -3661,9 +1825,7 @@ " \n", " \n", "\n", - "(*\n", - "let _ = check 100 integral_value_12 1 1 1 2\n", - "*)" + "let _ = check 100 integral_value_12 1 1 1 2" ] }, { @@ -3769,92 +1931,9 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_1121_2Ha_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Hb_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Array3.t =\n", - " \n" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1121_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value_21 : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_1121_2Ha_1F = \n", " array_3_init mo_num mo_num mo_num (fun i j k ->\n", @@ -3950,9 +2029,7 @@ " \n", " \n", "\n", - "(*\n", - "let _ = check 100 integral_value_21 1 1 2 1\n", - "*)" + "let _ = check 100 integral_value_21 1 1 2 1" ] }, { @@ -4249,88 +2326,17 @@ " | Phase.Pos -> result\n", " | Phase.Neg -> -. result\n", " \n", - "let _ = check 10 integral_value 1 1 2 2\n", + "let _ = check 100 integral_value 1 1 2 2\n", "\n" ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_1122_va :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_v2 :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_v3 :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_oa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_1122_o :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value_22 : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_1122_va =\n", " array_4_init mo_num mo_num mo_num mo_num (fun i j k m ->\n", @@ -4446,48 +2452,16 @@ " | Phase.Neg -> -. result\n", " \n", "\n", - "(*\n", "let _ = check 100 integral_value_22 1 1 2 2\n", - "*)\n", "\n", "\n" ] }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val ki : Determinant.t =\n", - " phase:+1\n", - " a:+1 +------++-------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n", - "val kj : Determinant.t =\n", - " phase:+1\n", - " a:+1 ------+++-------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "- : float = -0.029105573460178686\n" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let ki = det_I.(77) and kj = det_I.(83)\n", "\n", @@ -4691,70 +2665,11 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val ki : Determinant.t =\n", - " phase:+1\n", - " a:+1 +-++------------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val kj : Determinant.t =\n", - " phase:+1\n", - " a:+1 ---+-++---------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "- : float = -0.00102394452584360905\n" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "- : float = -0.00102394452584360926\n" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " let i, j, k, l, s, s', phase =\n", @@ -4827,142 +2742,11 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_2112_1H_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2112_1H_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2112_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2112_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2112_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2112_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val ki : Determinant.t =\n", - " phase:+1\n", - " a:+1 +-++------------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val kj : Determinant.t =\n", - " phase:+1\n", - " a:+1 ---+-++---------------------------------------------------------\n", - " b:+1 +++-------------------------------------------------------------\n", - "\n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "- : float = -0.00102394452584360905\n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "- : float = -0.00102394452584360926\n" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_2112_1H_2Fa =\n", " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", @@ -5030,14 +2814,12 @@ " ) \n", " else\n", " m_2112_1H_2Fb.{i,j,k,l} +.\n", - " 0. (*\n", " sum mos (fun n ->\n", " m_2112_2Ha_2Fb.{i,j,k,l,n} +. m_2112_2Hb_2Fb.{j,i,l,k,n}\n", " ) +.\n", " sum mos' (fun n ->\n", " m_2112_2Hb_2Fb.{i,j,k,l,n} +. m_2112_2Ha_2Fb.{j,i,l,k,n}\n", " ) \n", - " *)\n", " in\n", "\n", " match phase with\n", @@ -5150,122 +2932,11 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "text/plain": [ - "val m_2121_2Ha_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2121_2Hb_1F :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2121_2Ha_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2121_2Hb_2Fa :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2121_2Ha_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val m_2121_2Hb_2Fb :\n", - " (float, Bigarray.float64_elt, Bigarray.fortran_layout) Bigarray.Genarray.t =\n", - " \n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (25, 59) | 2.096432e-03 2.096432e-03 | 8.673617e-19 | cpu : 0.111770 0.004378\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let m_2121_2Ha_1F =\n", " array_4_init mo_num mo_num mo_num mo_num (fun i j k l ->\n", @@ -5709,7 +3380,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# 13. *3 1 2 2*" + "# 13. 3 1 2 2" ] }, { @@ -5748,48 +3419,9 @@ }, { "cell_type": "code", - "execution_count": 419, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val integral_value : Determinant.t -> Determinant.t -> float = \n" - ] - }, - "execution_count": 419, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Checking ... \n", - " - 10 %\n", - " - 20 %\n", - " - 30 %\n", - " - 40 %\n", - " - 50 %\n", - " - 60 %\n", - " - 70 %\n", - " - 80 %\n", - " - 90 %\n", - " - 100 %\n", - "OK: (24, 43) | 1.154913e-03 1.154913e-03 | 6.505213e-19 | cpu : 10.122233 0.688825\n" - ] - }, - { - "data": { - "text/plain": [ - "- : unit = ()\n" - ] - }, - "execution_count": 419, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let integral_value ki kj = \n", " let i, j, m, k, l, n, s1, s2, s3, phase =\n",