End-to-End Example

We learned in the high-level notebook how to setup the quantum side of the calculation, which involves specifying a Hamiltonian, defining a trial wavefunction ansatz before performing shadow tomography to extract the AFQMC trial wavefunction. In this example, we will repeat these steps again for the case of H4 which was studied in the paper. Then we will outline how to interface the output of the quantum half of the calculation with ipie to perform AFQMC with the quantum trial wavefunction.

Setup

First install recirq:

try:
    import recirq
except ImportError:
    %pip install git+https://github.com/quantumlib/ReCirq

Define an SCF Job

We first setup a PyscfHamiltonianParams object which defines the SCF job we will run using pyscf. Here we are simulation H4 in the (minimal) sto-3g basis.

from recirq.qcqmc.hamiltonian import PyscfHamiltonianParams, HamiltonianData

pyscf_params = PyscfHamiltonianParams(
    name="TEST_square_H4",
    n_orb=4,
    n_elec=4,
    geometry=(("H", (0, 0, 0)), ("H", (0, 0, 1.23)), ("H", (1.23, 0, 0)), ("H", (1.23, 0, 1.23))),
    basis="sto3g",
    multiplicity=1,
    charge=0,
    save_chkfile=True,
    overwrite_chk_file=True,
)
pyscf_hamiltonian = HamiltonianData.build_hamiltonian_from_pyscf(pyscf_params)
chk_path = pyscf_params.base_path.with_suffix(".chk")

Build Perfect Pairing Wavefunction

Next we build a perfect pairing wavefunction based upon our pyscf_params

import numpy as np
from recirq.qcqmc.trial_wf import (
    PerfectPairingPlusTrialWavefunctionParams,
    TrialWavefunctionData
)

pp_params = PerfectPairingPlusTrialWavefunctionParams(
    'pp_plus_test',
    hamiltonian_params=pyscf_params,
    heuristic_layers=tuple(),
    do_pp=True,
    restricted=False,
    initial_orbital_rotation=None,
    initial_two_body_qchem_amplitudes=np.asarray([0.3, 0.4]),
    do_optimization=True,
    use_fast_gradients=True
)

trial_wf = TrialWavefunctionData.build_pp_plus_trial_from_dependencies(
    pp_params, dependencies={pyscf_params: pyscf_hamiltonian}, do_print=True
)
Building Trial Wavefunction
Optimization restart 0
energy (-0.9036525455955693+0j), max|grad| 0.4055776835108693
energy (-1.256234949968444+1.9721522630525295e-31j), max|grad| 0.43314071871658744
.energy (-1.5679367915918823-3.1554436208840472e-30j), max|grad| 0.1811204228557937
.energy (-1.6837256095737443-3.1554436208840472e-30j), max|grad| 0.17092092191635425
.energy (-1.6110638875015533+4.733165431326071e-30j), max|grad| 0.24060226619070982
energy (-1.739073715060397-7.888609052210118e-31j), max|grad| 0.1836786739160159
.energy (-1.7998101370995379+4.733165431326071e-30j), max|grad| 0.151762339849006
.energy (-1.857606368395615+0j), max|grad| 0.11160684883438143
.energy (-1.8729358202175925+1.5777218104420236e-30j), max|grad| 0.12165176078875016
.energy (-1.8833629658996225+0j), max|grad| 0.04744919521740456
.energy (-1.8915943757614402+9.860761315262648e-32j), max|grad| 0.04346192982597949
.energy (-1.8961516702978143+1.5777218104420236e-30j), max|grad| 0.06268357491032855
.energy (-1.898442968985469-1.9721522630525295e-31j), max|grad| 0.02969566996340612
.energy (-1.899475663344246+2.3665827156630354e-30j), max|grad| 0.016198598801411876
.energy (-1.8999582242624653+3.944304526105059e-31j), max|grad| 0.01330367923362067
.energy (-1.9008521485048995-5.9164567891575885e-31j), max|grad| 0.013593564165312282
.energy (-1.9024872014890333+0j), max|grad| 0.017757950403533868
.energy (-1.9052431996796493+0j), max|grad| 0.032724150396420265
.energy (-1.9077325295619332+0j), max|grad| 0.06430046959095595
.energy (-1.9109606935977599+0j), max|grad| 0.04560022444022012
.energy (-1.9167456023429041+0j), max|grad| 0.030855014334774673
.energy (-1.9245242741571946+0j), max|grad| 0.05418451955434722
.energy (-1.929630474465971+0j), max|grad| 0.02554790869399536
.energy (-1.931175446196482-1.5777218104420236e-30j), max|grad| 0.029690318135312452
.energy (-1.9332131458111306-7.888609052210118e-31j), max|grad| 0.016232295165664518
.energy (-1.9335174127414065-7.888609052210118e-31j), max|grad| 0.05021773699668673
energy (-1.9343739538439912-7.888609052210118e-31j), max|grad| 0.019283334639730827
.energy (-1.9355279666657887+1.5777218104420236e-30j), max|grad| 0.015681476412196357
.energy (-1.9358397138491172-1.5777218104420236e-30j), max|grad| 0.0037272350118009996
.energy (-1.9359311847997986-3.1554436208840472e-30j), max|grad| 0.0032858945954082858
.energy (-1.935949260066688-3.1554436208840472e-30j), max|grad| 0.0018904320060629694
.energy (-1.935960980307641+0j), max|grad| 0.0015819830205778724
.energy (-1.935971776992102+7.888609052210118e-31j), max|grad| 0.0022156573747385373
.energy (-1.935990981159387+3.1554436208840472e-30j), max|grad| 0.002802979348763906
.energy (-1.936025770456646+9.860761315262648e-31j), max|grad| 0.0033990826813495596
.energy (-1.936087766044209+1.5777218104420236e-30j), max|grad| 0.004043298734374726
.energy (-1.936189859154311+1.1832913578315177e-30j), max|grad| 0.004694496254380182
.energy (-1.9363141517859095+0j), max|grad| 0.006336521423739285
.energy (-1.9364124568150087-3.1554436208840472e-30j), max|grad| 0.004499444948790454
.energy (-1.9365457339345191+0j), max|grad| 0.002046816255475814
.energy (-1.9365689020556154+0j), max|grad| 0.0005894672668083174
.energy (-1.9365692182174437+1.4791141972893971e-31j), max|grad| 0.0006216697259150796
.energy (-1.9365697112344122+0j), max|grad| 0.00040257411548273535
.energy (-1.9365704268815493+7.888609052210118e-31j), max|grad| 0.0003592751956366623
.energy (-1.9365716342543893-7.888609052210118e-31j), max|grad| 0.0006082322028443943
.energy (-1.9365737778865126-1.5777218104420236e-30j), max|grad| 0.0009528083466827653
.energy (-1.9365776013451788+3.944304526105059e-31j), max|grad| 0.0013095998995746316
.energy (-1.93658417962284-1.5777218104420236e-30j), max|grad| 0.001684408539730009
.energy (-1.936594399661054+3.944304526105059e-31j), max|grad| 0.002031025478022974
.energy (-1.936606690399712+1.5777218104420236e-30j), max|grad| 0.0021186052529106885
.energy (-1.9366162867365997+0j), max|grad| 0.0014581939029447155
.energy (-1.9366195221835287+0j), max|grad| 0.00036092736737058906
.energy (-1.9366196689025665-7.888609052210118e-31j), max|grad| 0.00010550045455294162
.energy (-1.9366197252120712-4.930380657631324e-31j), max|grad| 5.9378270655607735e-05
.energy (-1.9366197455133625-5.9164567891575885e-31j), max|grad| 7.583122878887803e-05
.energy (-1.9366197657409572+7.888609052210118e-31j), max|grad| 5.455537071611882e-05
.energy (-1.9366197706727242+3.1554436208840472e-30j), max|grad| 2.6424436699877455e-05
.energy (-1.9366197723710954+1.5777218104420236e-30j), max|grad| 2.655889407794278e-05
.energy (-1.9366197742250542-7.888609052210118e-31j), max|grad| 2.8853083487994607e-05
.energy (-1.936619777557521-1.9721522630525295e-31j), max|grad| 4.31476761057331e-05
.energy (-1.9366197837259813+1.5777218104420236e-30j), max|grad| 6.304132904575071e-05
.energy (-1.9366197952169575-3.944304526105059e-31j), max|grad| 8.853314268063333e-05
.energy (-1.9366198164682764-1.5777218104420236e-30j), max|grad| 0.00012341205447771782
.energy (-1.9366198549658415+0j), max|grad| 0.00017257588874571491
.energy (-1.9366199219172504+6.310887241768095e-30j), max|grad| 0.00024131800954125136
.energy (-1.936620029562583+3.944304526105059e-31j), max|grad| 0.0003301946129676084
.energy (-1.9366201798970106-3.944304526105059e-31j), max|grad| 0.00041249143204888367
.energy (-1.936620329571955-7.888609052210118e-31j), max|grad| 0.00039657526204336013
.energy (-1.9366205470519278+0j), max|grad| 0.0002545892148427364
.energy (-1.9366206441915805-1.5777218104420236e-30j), max|grad| 6.743656354101918e-05
.energy (-1.936620649996354-7.888609052210118e-31j), max|grad| 1.328629840979624e-05
.energy (-1.9366206507454669+7.888609052210118e-31j), max|grad| 3.7701181887680793e-06
.  message: Optimization terminated successfully.
  success: True
   status: 0
      fun: -1.9366206507454669
        x: [ 1.529e+00  1.601e+00 ...  1.504e+00  4.455e-01]
      nit: 69
      jac: [ 2.086e-07 -1.028e-06 ... -2.778e-07 -3.061e-07]
 hess_inv: [[ 3.205e-01 -1.300e-02 ... -1.604e-01  3.664e-01]
            [-1.300e-02  2.105e+00 ... -1.167e+00  2.442e+00]
            ...
            [-1.604e-01 -1.167e+00 ...  6.634e+01 -1.012e+02]
            [ 3.664e-01  2.442e+00 ... -1.012e+02  1.797e+02]]
     nfev: 72
     njev: 72
Hartree-Fock Energy:
(-1.7792432699055292+0j)
Sector N = 4 : S_z = 0
a'0011'b'0011' (1+0j)
--------------------------------------------------------------------------------
FCI Energy:
-1.9695121652162797
--------------------------------------------------------------------------------
  message: Optimization terminated successfully.
  success: True
   status: 0
      fun: -1.9366206507454669
        x: [ 1.529e+00  1.601e+00 ...  1.504e+00  4.455e-01]
      nit: 69
      jac: [ 2.086e-07 -1.028e-06 ... -2.778e-07 -3.061e-07]
 hess_inv: [[ 3.205e-01 -1.300e-02 ... -1.604e-01  3.664e-01]
            [-1.300e-02  2.105e+00 ... -1.167e+00  2.442e+00]
            ...
            [-1.604e-01 -1.167e+00 ...  6.634e+01 -1.012e+02]
            [ 3.664e-01  2.442e+00 ... -1.012e+02  1.797e+02]]
     nfev: 72
     njev: 72
--------------------------------------------------------------------------------
Ansatz Energy:
-1.9366206507454669
Sector N = 4 : S_z = 0
a'0011'b'0011' (-0.4638737894649439+4.529254575558195e-16j)
a'0011'b'0101' (-0.49320432185353796+2.249177406821179e-16j)
a'0011'b'1010' (0.09453179346269293-8.25484429076151e-17j)
a'0011'b'1100' (0.10050876201344666+7.717486589023381e-17j)
a'0101'b'0011' (0.493204156912177-3.1048839714553633e-17j)
a'0101'b'0101' (0.4638722278554495+1.823119834352266e-16j)
a'0101'b'1010' (-0.10051027974154084-5.3430838312801265e-17j)
a'0101'b'1100' (-0.09453283421894408-1.1550818895117443e-16j)
a'1010'b'0011' (-0.0945330665051787+2.641116492174689e-16j)
a'1010'b'0101' (-0.1005099264558924+2.1469235894286398e-16j)
a'1010'b'1010' (0.04049541637650403-3.9160027217460813e-17j)
a'1010'b'1100' (0.04305625630686536-5.078809551736785e-18j)
a'1100'b'0011' (0.10051000662350335-9.18861341181465e-18j)
a'1100'b'0101' (0.09453243410047898-5.454892180317694e-17j)
a'1100'b'1010' (-0.04305664097289534-7.928228386300251e-19j)
a'1100'b'1100' (-0.040495838099931694-4.2995392402628285e-18j)
Basis Rotation Matrix:
[[-0.00192525+0.j  0.        +0.j  0.20844777+0.j  0.        +0.j
   0.97799604+0.j  0.        +0.j -0.00834097+0.j  0.        +0.j]
 [ 0.        +0.j -0.00173788+0.j  0.        +0.j -0.20844859+0.j

   0.        +0.j -0.97801123+0.j  0.        +0.j -0.00633976+0.j]
 [-0.70708473+0.j  0.        +0.j -0.00552231+0.j  0.        +0.j
  -0.00624536+0.j  0.        +0.j -0.70707969+0.j  0.        +0.j]
 [ 0.        +0.j -0.7070898 +0.j  0.        +0.j  0.0048076 +0.j
   0.        +0.j  0.00481537+0.j  0.        +0.j -0.70709102+0.j]
 [-0.70708291+0.j  0.        +0.j -0.00586878+0.j  0.        +0.j
   0.00588936+0.j  0.        +0.j  0.70708177+0.j  0.        +0.j]
 [ 0.        +0.j  0.70708866+0.j  0.        +0.j -0.00514866+0.j
   0.        +0.j  0.00442448+0.j  0.        +0.j -0.70709231+0.j]
 [-0.0078253 +0.j  0.        +0.j  0.9780003 +0.j  0.        +0.j
  -0.20844678+0.j  0.        +0.j  0.00202827+0.j  0.        +0.j]
 [ 0.        +0.j  0.00682786+0.j  0.        +0.j  0.97800796+0.j
   0.        +0.j -0.20844967+0.j  0.        +0.j -0.00159782+0.j]]
Two Body Rotation Parameters:
[1.52877835 1.60143687]

We can comare the wavefunction of the optimized ansatz to the exact ground state energy:

print(f"Trial wavefunction energy: {trial_wf.ansatz_energy}")
print(f"Exact ground state energy: {trial_wf.fci_energy}")
Trial wavefunction energy: -1.9366206507454553
Exact ground state energy: -1.9695121652162797

Next, we build an experiment which will combine the trial wavefunction circuit with that required for shadow tomography. In this case the experiment will be simulated using a statevector simulator.

from recirq.qcqmc.blueprint import BlueprintParamsTrialWf, BlueprintData
from recirq.qcqmc.experiment import SimulatedExperimentParams, ExperimentData

blueprint_params = BlueprintParamsTrialWf(
    name="blueprint_test_medium",
    trial_wf_params=pp_params,
    n_cliffords=100,
    qubit_partition=(tuple(qubit for qubit in pp_params.qubits_jordan_wigner_ordered),),
    seed=1,
)

blueprint = BlueprintData.build_blueprint_from_dependencies(blueprint_params, dependencies={pp_params: trial_wf})

simulated_experiment_params = SimulatedExperimentParams(
    name="test_1",
    blueprint_params=blueprint.params,
    noise_model_name="None",
    noise_model_params=(0,),
    n_samples_per_clifford=31,
    seed=1,
)
experiment = ExperimentData.build_experiment_from_dependencies(
    params=simulated_experiment_params, dependencies={blueprint.params: blueprint}
)

The experimental output is post-processed to extract the reconstructed trial wavefunction:

from typing import Dict
from recirq.qcqmc.data import Params, Data
from recirq.qcqmc.analysis import OverlapAnalysisData, OverlapAnalysisParams

analysis_params = OverlapAnalysisParams(
    "TEST_analysis", experiment_params=experiment.params, k_to_calculate=(1,)
)
all_dependencies: Dict[Params, Data] = {
    pyscf_params: pyscf_hamiltonian,
    pp_params: trial_wf,
    blueprint_params: blueprint,
    simulated_experiment_params: experiment,
}
analysis = OverlapAnalysisData.build_analysis_from_dependencies(
    analysis_params, dependencies=all_dependencies
)

Finally, we save the wavefunction in a format that is acceptable for ipie.

from recirq.qcqmc.convert_to_ipie import save_wavefunction_for_ipie
ipie_data = save_wavefunction_for_ipie(
    hamiltonian_data=pyscf_hamiltonian, trial_wf_data=trial_wf, overlap_analysis_data=analysis, do_print=False
)
print(f"Reconstructed shadow wavefunction energy: {ipie_data.variational_energy}")
print(f"Ideal trial wavefunction energy: {trial_wf.ansatz_energy}")
print(f"FCI energy: {trial_wf.fci_energy}")
Reconstructed shadow wavefunction energy: -1.8771194904455986
Ideal trial wavefunction energy: -1.9366206507454553
FCI energy: -1.9695121652162797

Run AFQMC

Now that we have built our quantum wavefunction, we can use it as a trial wavefunction in an AFQMC simulation. First, we need to build a factorized Hamiltonian which is required for AFQMC.

In particular, we require the three-index Cholesky tensor (ham.chol below) which satisfies

\[ (pq|rs) = \sum_X L_{pq}^X L_{rs}^X. \]

from ipie.systems.generic import Generic
from ipie.utils.from_pyscf import generate_hamiltonian_from_chk

num_elec = (pyscf_params.n_elec // 2,) * 2
system = Generic(num_elec)
chk_path = pyscf_params.base_path.with_suffix(".chk")
ham = generate_hamiltonian_from_chk(str(chk_path))
assert ham.H1.shape == (2, pyscf_params.n_orb, pyscf_params.n_orb)
assert ham.chol.shape[0] == pyscf_params.n_orb * pyscf_params.n_orb

Next, we need to build a trial wavefunction from quantum wavefunction. In practice, the quantum trial is expanded as a linear combination of (orthogonal) Slater Determinants. Within ipie, this style of trial wavefunction is defined as a ParticleHole trial wavefunction.

import h5py
from ipie.trial_wavefunction.particle_hole import ParticleHole
# Read quantum wavefunction from file. 
with h5py.File(ipie_data.path, 'r') as fh5:
    coeffs = fh5["coeffs_rotated"][:]
    occa = fh5["occa_rotated"][:]
    occb = fh5["occb_rotated"][:]
wfn = ParticleHole((coeffs, occa, occb), num_elec, pyscf_params.n_orb)
wfn.half_rotate(ham)
wfn.calculate_energy(system, ham)
print(f"Trial wavefunction variational energy in ipie: {wfn.energy.real}")
assert np.isclose(wfn.energy.real, ipie_data.variational_energy)
Trial wavefunction variational energy in ipie: -1.8771194904455977

Note that the variational energy might differ slightly from the result compute from the previous section. This is because the cholesky factorization uses a threshold of \(1\times10^{-5}\) a stopping criteria for convergence. Reducing the parameter chol_cut in generate_hamiltonian_from_chk will yield better agreement.

At this point, we are ready to run AFQMC. We need to build an AFQMC driver class which takes as input the factorized Hamiltonian and our ParticleHole trial wavefunction.

from ipie.qmc.afqmc import AFQMC

qmc_driver = AFQMC.build(num_elec, ham, wfn, num_blocks=300, num_walkers=50, seed=7)
# random seed is 7
from recirq.qcqmc.config import OUTDIRS
import pathlib
ipie_path = pathlib.Path(pyscf_hamiltonian.params.path_prefix + OUTDIRS.DEFAULT_QMC_DIRECTORY)
if not ipie_path.is_dir():
    ipie_path.mkdir(parents=True)
qmc_driver.run(estimator_filename=f'{ipie_path}/estimates.h5')
# Using pair_branch population control algorithm.
# target weight is 50
# total weight is 50
# ipie version: 0.7.1
# Calculation uuid: dd86f718-8d30-11ef-a97f-338fed0f3aaf.
# Approximate memory available per node: 117.9093 GB.
# Running on 1 MPI rank.
# Root processor name: kokoro-gcp-ubuntu-prod-1005760060
# Python interpreter: 3.10.15 (main, Sep  7 2024, 18:35:33) [GCC 9.4.0]
# Using numpy v1.26.4 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/numpy.
# - BLAS lib: openblas64
# - BLAS version: 0.3.23.dev
# - BLAS include directory: /usr/local/lib
# Using scipy v1.14.1 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/scipy.
# Using h5py v3.12.1 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/h5py.
# Package mpi4py not found.
# Package cupy not found.
# MPI communicator : <class 'ipie.qmc.comm.FakeComm'>
# Available memory on the node is 117.909 GB
# Setting up estimator object.
# Writing estimator data to data/afqmc/estimates.h5
# Finished settting up estimator object.
            Block                   Weight            WeightFactor            HybridEnergy                  ENumer                  EDenom                  ETotal                  E1Body                  E2Body
                0   5.0000000000000000e+01  5.0000000000000000e+01  0.0000000000000000e+00 -9.6486300993486140e+01  5.0000000000000000e+01 -1.9297260198697228e+00 -4.3439319887334484e+00  2.4142059688637243e+00
                1   5.0244433022807165e+01  5.0518752251944193e+01 -5.1480641633154844e-01 -9.6652902833977208e+01  4.9999999999999993e+01 -1.9330580566795446e+00 -4.3381857960955283e+00  2.4051277394159842e+00
                2   4.9972807231529551e+01  5.0051684230657685e+01 -4.7661056726702938e-01 -9.7306252063109127e+01  4.9999999999999993e+01 -1.9461250412621829e+00 -4.3279049169629902e+00  2.3817798757008068e+00
                3   5.0011569816747176e+01  5.0004270526679505e+01 -5.1187088096394007e-01 -9.7466685241995151e+01  5.0000000000000007e+01 -1.9493337048399026e+00 -4.3253086885971825e+00  2.3759749837572812e+00
                4   4.9980812238067237e+01  4.9970432168876918e+01 -4.9087033570781513e-01 -9.7093058832653384e+01  4.9999999999999993e+01 -1.9418611766530680e+00 -4.3194202496650371e+00  2.3775590730119696e+00
                5   4.9994801173495880e+01  4.9974670790103147e+01 -4.8858185065738635e-01 -9.7291504816070187e+01  4.9999999999999993e+01 -1.9458300963214041e+00 -4.3163813736956600e+00  2.3705512773742550e+00
                6   4.9997714856271052e+01  4.9982897060835995e+01 -4.9093193950510583e-01 -9.7702574476433327e+01  5.0000000000000007e+01 -1.9540514895286663e+00 -4.3105617634553548e+00  2.3565102739266885e+00
                7   5.0007412010141607e+01  5.0010881911907838e+01 -5.2110286217022772e-01 -9.7920900086926906e+01  4.9999999999999993e+01 -1.9584180017385384e+00 -4.3055740479847167e+00  2.3471560462461789e+00
                8   4.9990340242748182e+01  4.9987359487768671e+01 -5.0874853212235593e-01 -9.7939560703821698e+01  5.0000000000000000e+01 -1.9587912140764341e+00 -4.3113563561529089e+00  2.3525651420764744e+00
                9   4.9989284823962024e+01  4.9981113643504621e+01 -5.0401494885451870e-01 -9.8272354011602005e+01  5.0000000000000000e+01 -1.9654470802320401e+00 -4.3059265759170406e+00  2.3404794956850008e+00
               10   5.0006358154429527e+01  5.0000626168179842e+01 -5.2611814683533353e-01 -9.7631189464160627e+01  5.0000000000000000e+01 -1.9526237892832126e+00 -4.3057907214888811e+00  2.3531669322056681e+00
               11   4.9980080186110030e+01  4.9964096572990741e+01 -5.0367759249910260e-01 -9.8371920616998523e+01  5.0000000000000000e+01 -1.9674384123399704e+00 -4.3085368344774331e+00  2.3410984221374629e+00
               12   4.9999931895105796e+01  4.9993907573108892e+01 -5.1187522023706744e-01 -9.8353391518380548e+01  5.0000000000000007e+01 -1.9670678303676106e+00 -4.3057813159784635e+00  2.3387134856108518e+00
               13   5.0002668641947224e+01  5.0001259614671397e+01 -5.3646250278383689e-01 -9.9431492052523780e+01  5.0000000000000014e+01 -1.9886298410504750e+00 -4.3027797148852969e+00  2.3141498738348223e+00
               14   4.9998825974208302e+01  5.0010955192667701e+01 -5.4435484647033339e-01 -9.9410780599155331e+01  5.0000000000000000e+01 -1.9882156119831067e+00 -4.3028830056132277e+00  2.3146673936301210e+00
               15   4.9982614127337840e+01  4.9952092079156294e+01 -5.2096723641817744e-01 -9.9252535596471418e+01  5.0000000000000007e+01 -1.9850507119294281e+00 -4.2965559817078880e+00  2.3115052697784595e+00
               16   4.9990789817356074e+01  4.9973015836342100e+01 -5.1743908136606731e-01 -9.8058547263886695e+01  5.0000000000000000e+01 -1.9611709452777339e+00 -4.3036256488727069e+00  2.3424547035949734e+00
               17   4.9993406023021976e+01  4.9998092864824251e+01 -5.2068204498388837e-01 -9.7810173985522141e+01  5.0000000000000007e+01 -1.9562034797104426e+00 -4.3021556741421900e+00  2.3459521944317476e+00
               18   4.9975149457537412e+01  4.9950113218420910e+01 -4.9005681962042896e-01 -9.7999037315063106e+01  4.9999999999999993e+01 -1.9599807463012624e+00 -4.3077446321792312e+00  2.3477638858779688e+00
               19   5.0005774986439413e+01  5.0002251276996446e+01 -5.1313827393400402e-01 -9.8568122837859008e+01  4.9999999999999993e+01 -1.9713624567571806e+00 -4.3020697156414531e+00  2.3307072588842725e+00
               20   4.9994172087299489e+01  4.9998603300646273e+01 -5.2135320930771401e-01 -9.9303307073580612e+01  5.0000000000000000e+01 -1.9860661414716123e+00 -4.3025275907729039e+00  2.3164614493012912e+00
               21   4.9995540118586341e+01  4.9983849527466475e+01 -5.2500040543207449e-01 -9.8654824641968105e+01  5.0000000000000007e+01 -1.9730964928393617e+00 -4.2995165229448524e+00  2.3264200301054907e+00
               22   4.9992854475910697e+01  4.9982981891530819e+01 -5.1687901719159113e-01 -9.9144504821636659e+01  5.0000000000000007e+01 -1.9828900964327330e+00 -4.3027625184015177e+00  2.3198724219687854e+00
               23   5.0009319515677319e+01  5.0022835583258640e+01 -5.5309663042708168e-01 -9.9066687628315606e+01  5.0000000000000000e+01 -1.9813337525663122e+00 -4.2974454173773600e+00  2.3161116648110482e+00
               24   4.9980093314606030e+01  4.9961797316613222e+01 -5.2516610715526024e-01 -9.8614698438101641e+01  5.0000000000000007e+01 -1.9722939687620324e+00 -4.2958742829981169e+00  2.3235803142360845e+00
               25   4.9994903522868938e+01  4.9972681611814195e+01 -5.2523821092658962e-01 -9.9081491034182605e+01  5.0000000000000000e+01 -1.9816298206836522e+00 -4.2918539861789666e+00  2.3102241654953146e+00
               26   4.9988338629033940e+01  4.9976527064360191e+01 -5.0861008343500946e-01 -9.8109546956776995e+01  5.0000000000000000e+01 -1.9621909391355399e+00 -4.2918648752882094e+00  2.3296739361526697e+00
               27   4.9990834275037095e+01  4.9968323488931112e+01 -5.0075086821912718e-01 -9.8091358326166386e+01  4.9999999999999993e+01 -1.9618271665233280e+00 -4.3013361685427389e+00  2.3395090020194118e+00
               28   4.9994738337599259e+01  4.9995865103310990e+01 -5.0860214753735555e-01 -9.8277177274203083e+01  5.0000000000000000e+01 -1.9655435454840617e+00 -4.2968224959013757e+00  2.3312789504173144e+00
               29   4.9985949715812040e+01  4.9977845096055766e+01 -5.0164101986470788e-01 -9.7910036560739357e+01  5.0000000000000000e+01 -1.9582007312147871e+00 -4.2968170069882294e+00  2.3386162757734428e+00
               30   4.9992088025407710e+01  4.9974992091874455e+01 -4.9642833568149036e-01 -9.7666881489952885e+01  4.9999999999999993e+01 -1.9533376297990581e+00 -4.2949672744066634e+00  2.3416296446076053e+00
               31   4.9999109072188176e+01  4.9989536758776303e+01 -5.0482496446939673e-01 -9.7815190910266963e+01  5.0000000000000000e+01 -1.9563038182053394e+00 -4.2969377950957535e+00  2.3406339768904139e+00
               32   4.9994153866267752e+01  4.9984604526085967e+01 -5.0661473074950458e-01 -9.7955219339042387e+01  4.9999999999999993e+01 -1.9591043867808482e+00 -4.2997155110465126e+00  2.3406111242656653e+00
               33   4.9991514911833640e+01  4.9984375497565168e+01 -5.0716327407991801e-01 -9.8745087482954375e+01  5.0000000000000000e+01 -1.9749017496590875e+00 -4.3008549851106572e+00  2.3259532354515700e+00
               34   5.0005343502647612e+01  5.0007976047901629e+01 -5.2625366791264194e-01 -9.8677979881900868e+01  5.0000000000000007e+01 -1.9735595976380171e+00 -4.3031447663502425e+00  2.3295851687122249e+00
               35   4.9987483438690113e+01  4.9969838194372926e+01 -5.1873618241162278e-01 -9.8606612010431363e+01  4.9999999999999993e+01 -1.9721322402086277e+00 -4.2997476652470681e+00  2.3276154250384402e+00
               36   5.0001187688130742e+01  4.9999520897569141e+01 -5.3305325334763409e-01 -9.8884910703620264e+01  4.9999999999999993e+01 -1.9776982140724058e+00 -4.2996834767587622e+00  2.3219852626863564e+00
               37   4.9996728508857579e+01  4.9980649532945044e+01 -5.4874901204118542e-01 -9.9085722082038885e+01  4.9999999999999993e+01 -1.9817144416407781e+00 -4.3046450258415208e+00  2.3229305842007428e+00
               38   4.9972114188570266e+01  4.9941645019950094e+01 -5.2003094602710898e-01 -9.8106253186020737e+01  5.0000000000000000e+01 -1.9621250637204148e+00 -4.2945609585288897e+00  2.3324358948084747e+00
               39   4.9970077143144493e+01  4.9927004976307373e+01 -4.8912521506242201e-01 -9.7307199420782112e+01  4.9999999999999993e+01 -1.9461439884156426e+00 -4.2983830776040923e+00  2.3522390891884495e+00
               40   4.9984799319667104e+01  4.9964408942882471e+01 -4.8364926197327124e-01 -9.7628748465286492e+01  5.0000000000000000e+01 -1.9525749693057299e+00 -4.2909084057320337e+00  2.3383334364263049e+00
               41   5.0002817797278261e+01  4.9994493189762387e+01 -5.0508842795784770e-01 -9.7500942250066231e+01  4.9999999999999993e+01 -1.9500188450013249e+00 -4.2878540675625914e+00  2.3378352225612660e+00
               42   4.9983262111350342e+01  4.9978118210241810e+01 -4.9634888880986011e-01 -9.8201469456894102e+01  5.0000000000000000e+01 -1.9640293891378822e+00 -4.2890166582211826e+00  2.3249872690832998e+00
               43   4.9989911443843596e+01  4.9965323824811826e+01 -5.1718145877053101e-01 -9.9065420460598290e+01  5.0000000000000000e+01 -1.9813084092119659e+00 -4.2871949618446994e+00  2.3058865526327335e+00
               44   4.9979735242346869e+01  4.9957205024528278e+01 -5.1111352380458630e-01 -9.9770957512452597e+01  5.0000000000000007e+01 -1.9954191502490517e+00 -4.2858518810670398e+00  2.2904327308179884e+00
               45   5.0001138425501352e+01  4.9999108174723240e+01 -5.4990745397718843e-01 -9.8214371287843250e+01  5.0000000000000000e+01 -1.9642874257568650e+00 -4.2673305238184804e+00  2.3030430980616150e+00
               46   4.9968304379258115e+01  4.9939033764367821e+01 -5.0597350783911632e-01 -9.7728021575643609e+01  4.9999999999999993e+01 -1.9545604315128726e+00 -4.2724116600333764e+00  2.3178512285205040e+00
               47   4.9989648528233275e+01  4.9960146556997955e+01 -5.1228708913086429e-01 -9.8064361977259594e+01  5.0000000000000000e+01 -1.9612872395451919e+00 -4.2754583217792490e+00  2.3141710822340569e+00
               48   4.9968122550099608e+01  4.9927906875611392e+01 -4.7888697956800469e-01 -9.8404071660054640e+01  5.0000000000000007e+01 -1.9680814332010925e+00 -4.2691971558175377e+00  2.3011157226164447e+00
               49   5.0007237708701581e+01  4.9985941596724132e+01 -5.3140075522842956e-01 -9.8418562311780647e+01  5.0000000000000000e+01 -1.9683712462356129e+00 -4.2850434058725302e+00  2.3166721596369171e+00
               50   4.9972006069491528e+01  4.9951642374571797e+01 -4.9688584096911015e-01 -9.7833292132573007e+01  5.0000000000000000e+01 -1.9566658426514603e+00 -4.2835569681168417e+00  2.3268911254653806e+00
               51   4.9997581680434351e+01  4.9980595183593444e+01 -5.1205842640661225e-01 -9.7785178540010534e+01  5.0000000000000000e+01 -1.9557035708002106e+00 -4.2881572344331742e+00  2.3324536636329634e+00
               52   4.9992032842046378e+01  4.9982206690336710e+01 -5.1074136693821881e-01 -9.8655290235586151e+01  4.9999999999999993e+01 -1.9731058047117234e+00 -4.2920465885878611e+00  2.3189407838761387e+00
               53   4.9996290149048107e+01  4.9985303729013957e+01 -5.1824935871773414e-01 -9.8341503957935259e+01  5.0000000000000000e+01 -1.9668300791587052e+00 -4.2928211975082045e+00  2.3259911183494997e+00
               54   4.9991606026440408e+01  4.9979728413681080e+01 -5.0951150747801643e-01 -9.8604668731015423e+01  4.9999999999999993e+01 -1.9720933746203089e+00 -4.2951653285746705e+00  2.3230719539543614e+00
               55   4.9997363930227884e+01  4.9988912517547789e+01 -5.2881832269624784e-01 -9.7862464473272780e+01  5.0000000000000000e+01 -1.9572492894654556e+00 -4.2918704796370859e+00  2.3346211901716312e+00
               56   4.9985359640888909e+01  4.9967423659095118e+01 -5.1410898940698946e-01 -9.7157161361400497e+01  4.9999999999999993e+01 -1.9431432272280103e+00 -4.2958256050156809e+00  2.3526823777876706e+00
               57   4.9984607646048637e+01  4.9964582754270303e+01 -5.0282429191801226e-01 -9.7397895575382023e+01  5.0000000000000000e+01 -1.9479579115076404e+00 -4.2958501652895817e+00  2.3478922537819420e+00
               58   4.9992629057032836e+01  4.9978066420729832e+01 -5.0730239643941011e-01 -9.7711174444126897e+01  5.0000000000000000e+01 -1.9542234888825381e+00 -4.2987766342110074e+00  2.3445531453284691e+00
               59   4.9992029904206937e+01  4.9964195593307252e+01 -4.9425450762568290e-01 -9.8192942351276344e+01  5.0000000000000000e+01 -1.9638588470255269e+00 -4.3075887977889771e+00  2.3437299507634499e+00
               60   4.9992138470036160e+01  4.9990209326400290e+01 -5.0508234175730615e-01 -9.8312885900401483e+01  5.0000000000000007e+01 -1.9662577180080294e+00 -4.3086175457941103e+00  2.3423598277860811e+00
               61   4.9990278154915678e+01  4.9981724198785514e+01 -5.0894845054903592e-01 -9.7881336944549162e+01  5.0000000000000000e+01 -1.9576267388909834e+00 -4.3107776959436777e+00  2.3531509570526943e+00
               62   4.9990243520291649e+01  4.9975161516400604e+01 -4.9921783292994709e-01 -9.7410255553151330e+01  4.9999999999999993e+01 -1.9482051110630270e+00 -4.3148722255616692e+00  2.3666671144986426e+00
               63   4.9987261810001954e+01  4.9968155699054940e+01 -4.8100289437660426e-01 -9.7509923618568294e+01  4.9999999999999993e+01 -1.9501984723713663e+00 -4.3145304944622929e+00  2.3643320220909265e+00
               64   4.9995055821637699e+01  4.9992379537987645e+01 -5.0256721251944436e-01 -9.7980899308250571e+01  4.9999999999999993e+01 -1.9596179861650118e+00 -4.3142906142592077e+00  2.3546726280941961e+00
               65   4.9997442858879040e+01  4.9989776940967587e+01 -5.1116365173340761e-01 -9.8291611012047156e+01  5.0000000000000000e+01 -1.9658322202409431e+00 -4.3070880608071738e+00  2.3412558405662307e+00
               66   4.9997760022577715e+01  4.9997939196783143e+01 -5.1665812029389091e-01 -9.8019809377010247e+01  5.0000000000000000e+01 -1.9603961875402049e+00 -4.3088215259201865e+00  2.3484253383799807e+00
               67   4.9976425762190331e+01  4.9943655015987446e+01 -4.9057353299145973e-01 -9.8106323902896079e+01  4.9999999999999993e+01 -1.9621264780579220e+00 -4.3104731083154029e+00  2.3483466302574802e+00
               68   5.0004814897542673e+01  4.9998180609391454e+01 -5.1222421217996517e-01 -9.8213734431501791e+01  5.0000000000000007e+01 -1.9642746886300355e+00 -4.3105467121393248e+00  2.3462720235092887e+00
               69   4.9989958504841525e+01  4.9968661629335486e+01 -5.0270995797658302e-01 -9.7937581894113634e+01  5.0000000000000000e+01 -1.9587516378822727e+00 -4.3088898502471613e+00  2.3501382123648891e+00
               70   4.9984101403353172e+01  4.9977032736413555e+01 -4.9663389258782692e-01 -9.7672236048940690e+01  4.9999999999999993e+01 -1.9534447209788142e+00 -4.3085635746430757e+00  2.3551188536642624e+00
               71   4.9999136818211653e+01  4.9979757639732242e+01 -5.1151319758611369e-01 -9.7717296192184904e+01  5.0000000000000000e+01 -1.9543459238436982e+00 -4.3075949659386996e+00  2.3532490420950012e+00
               72   4.9976509838167871e+01  4.9961477332760985e+01 -4.8509253468665503e-01 -9.7720019499626588e+01  5.0000000000000007e+01 -1.9544003899925315e+00 -4.3124205290106916e+00  2.3580201390181608e+00
               73   4.9995904634525090e+01  4.9986963926975839e+01 -4.9538862048827881e-01 -9.8081162919049135e+01  5.0000000000000000e+01 -1.9616232583809827e+00 -4.3124170643035340e+00  2.3507938059225517e+00
               74   4.9995004784704662e+01  4.9986203304557378e+01 -5.0127654487989959e-01 -9.7945549691109235e+01  5.0000000000000000e+01 -1.9589109938221847e+00 -4.3097055885972679e+00  2.3507945947750835e+00
               75   4.9999786926982061e+01  4.9985805206232875e+01 -5.1837343750006581e-01 -9.7574849611495011e+01  5.0000000000000000e+01 -1.9514969922299004e+00 -4.3029656310337092e+00  2.3514686388038091e+00
               76   4.9983922974508964e+01  4.9965023508564038e+01 -4.9615188322689058e-01 -9.7361105379004343e+01  4.9999999999999993e+01 -1.9472221075800873e+00 -4.3010409067356372e+00  2.3538187991555506e+00
               77   4.9994498816408445e+01  4.9974662796955954e+01 -5.0348790517121933e-01 -9.7165730642871026e+01  4.9999999999999993e+01 -1.9433146128574208e+00 -4.2963254026294306e+00  2.3530107897720098e+00
               78   4.9988086204734003e+01  4.9973804316879722e+01 -5.0637756137923429e-01 -9.7514371050696894e+01  4.9999999999999993e+01 -1.9502874210139383e+00 -4.2926128059028459e+00  2.3423253848889081e+00
               79   4.9982740048824056e+01  4.9962750853411400e+01 -4.8175407294911488e-01 -9.7720074129741079e+01  4.9999999999999993e+01 -1.9544014825948219e+00 -4.2912622567277339e+00  2.3368607741329117e+00
               80   4.9988248759725387e+01  4.9969939653624856e+01 -4.8523344699947052e-01 -9.7121004014233449e+01  5.0000000000000000e+01 -1.9424200802846689e+00 -4.2926200441743152e+00  2.3501999638896462e+00
               81   4.9992494939485425e+01  4.9982341496538076e+01 -4.9246766385960045e-01 -9.7145092652762784e+01  5.0000000000000000e+01 -1.9429018530552558e+00 -4.2907871635595560e+00  2.3478853105043007e+00
               82   4.9988238998079204e+01  4.9973665321592492e+01 -4.8065290331024313e-01 -9.7196098721572881e+01  5.0000000000000000e+01 -1.9439219744314578e+00 -4.2912487997711874e+00  2.3473268253397301e+00
               83   5.0000186689984467e+01  4.9992135759765951e+01 -5.0195708668555639e-01 -9.7382249819924780e+01  5.0000000000000000e+01 -1.9476449963984956e+00 -4.2943462291755594e+00  2.3467012327770638e+00
               84   4.9990238704271690e+01  4.9977283474490513e+01 -4.9645637175500079e-01 -9.7585501774425879e+01  5.0000000000000007e+01 -1.9517100354885173e+00 -4.2877970760408735e+00  2.3360870405523566e+00
               85   4.9995849232564787e+01  4.9964589754693947e+01 -5.0078294173366811e-01 -9.7380204844598396e+01  5.0000000000000000e+01 -1.9476040968919679e+00 -4.2771163798292537e+00  2.3295122829372863e+00
               86   4.9986703630184373e+01  4.9974025351004236e+01 -5.0168731135096001e-01 -9.8196832370491293e+01  5.0000000000000007e+01 -1.9639366474098257e+00 -4.2907194307898076e+00  2.3267827833799823e+00
               87   4.9984223274045362e+01  4.9959540876636837e+01 -4.9820184581726706e-01 -9.8313360808452899e+01  4.9999999999999993e+01 -1.9662672161690584e+00 -4.2869024297206568e+00  2.3206352135515980e+00
               88   4.9994098997475049e+01  4.9972883713287132e+01 -5.0801979262365216e-01 -9.8257465448332880e+01  5.0000000000000000e+01 -1.9651493089666576e+00 -4.2766572818994169e+00  2.3115079729327586e+00
               89   4.9996889655524029e+01  4.9995605496064890e+01 -5.4872425319026819e-01 -9.8400360691616044e+01  4.9999999999999993e+01 -1.9680072138323212e+00 -4.2866210204889938e+00  2.3186138066566722e+00
               90   4.9968533935800771e+01  4.9924568270437902e+01 -5.3296147525146043e-01 -9.9293382880676177e+01  5.0000000000000000e+01 -1.9858676576135237e+00 -4.2972190554397551e+00  2.3113513978262308e+00
               91   4.9966831335263791e+01  4.9921742401996973e+01 -5.2280313129326939e-01 -9.8431582035310981e+01  4.9999999999999993e+01 -1.9686316407062201e+00 -4.2973979857518785e+00  2.3287663450456577e+00
               92   4.9991052935680521e+01  4.9969271763079860e+01 -5.2759321103464341e-01 -9.9315043119322226e+01  4.9999999999999993e+01 -1.9863008623864449e+00 -4.2868963308638985e+00  2.3005954684774550e+00
               93   4.9995665487194657e+01  4.9982901903545915e+01 -5.3872487282802672e-01 -9.8236232767513670e+01  5.0000000000000000e+01 -1.9647246553502735e+00 -4.2874060429280130e+00  2.3226813875777386e+00
               94   4.9968481104638705e+01  4.9929330403006261e+01 -5.0744520770066726e-01 -9.7898416240430720e+01  5.0000000000000000e+01 -1.9579683248086144e+00 -4.2879220081450073e+00  2.3299536833363930e+00
               95   4.9973238733035323e+01  4.9928246530056477e+01 -5.2356565491543139e-01 -9.8164418941156597e+01  4.9999999999999993e+01 -1.9632883788231323e+00 -4.2848689788569994e+00  2.3215806000338670e+00
               96   4.9966552141123785e+01  4.9925270126641237e+01 -5.2333382500878478e-01 -9.7892663665543935e+01  5.0000000000000000e+01 -1.9578532733108787e+00 -4.2837060037508756e+00  2.3258527304399972e+00
               97   4.9978654440348016e+01  4.9959726790199710e+01 -5.3264727217207097e-01 -9.8223160947896460e+01  5.0000000000000007e+01 -1.9644632189579290e+00 -4.2890743157550126e+00  2.3246110967970841e+00
               98   4.9979517618312492e+01  4.9951315642064742e+01 -5.1718590323963753e-01 -9.8368222163210589e+01  4.9999999999999993e+01 -1.9673644432642121e+00 -4.2843340748555061e+00  2.3169696315912942e+00
               99   4.9990629671109566e+01  4.9973671811577589e+01 -5.2346197065406430e-01 -9.9280028842044260e+01  5.0000000000000000e+01 -1.9856005768408853e+00 -4.2906414942507052e+00  2.3050409174098188e+00
              100   4.9988574932342871e+01  4.9976196283389427e+01 -5.3335531665442570e-01 -9.9543008733959624e+01  5.0000000000000000e+01 -1.9908601746791925e+00 -4.2927439469569624e+00  2.3018837722777694e+00
              101   4.9966701367735077e+01  4.9923067952619803e+01 -5.3613562187656971e-01 -9.8307228305172984e+01  4.9999999999999986e+01 -1.9661445661034604e+00 -4.2994462504283231e+00  2.3333016843248631e+00
              102   4.9972053801583073e+01  4.9941135054067757e+01 -5.0892533350366698e-01 -9.8785815879687178e+01  5.0000000000000000e+01 -1.9757163175937436e+00 -4.2997416029195055e+00  2.3240252853257619e+00
              103   4.9991412454104484e+01  4.9975650426243085e+01 -5.1692698165557827e-01 -9.8385493714955999e+01  5.0000000000000007e+01 -1.9677098742991197e+00 -4.3027237535465499e+00  2.3350138792474304e+00
              104   4.9991826453110008e+01  4.9966834970755151e+01 -5.1996208486686568e-01 -9.9080881898347585e+01  5.0000000000000007e+01 -1.9816176379669515e+00 -4.3044724368243426e+00  2.3228547988573909e+00
              105   4.9985559562248937e+01  4.9970788296974099e+01 -5.2223734578495296e-01 -9.8318611182313703e+01  5.0000000000000000e+01 -1.9663722236462742e+00 -4.2951272972637859e+00  2.3287550736175113e+00
              106   4.9986340555028505e+01  4.9960235827346139e+01 -5.1204404505183287e-01 -9.8279386778149714e+01  5.0000000000000000e+01 -1.9655877355629943e+00 -4.3000164566273567e+00  2.3344287210643619e+00
              107   4.9984556423207849e+01  4.9971996347627510e+01 -5.1707799471414262e-01 -9.9690420049052577e+01  5.0000000000000007e+01 -1.9938084009810513e+00 -4.3063377422723548e+00  2.3125293412913037e+00
              108   4.9965956713787143e+01  4.9930857426986286e+01 -5.0957082560706546e-01 -9.8173629604744050e+01  5.0000000000000000e+01 -1.9634725920948810e+00 -4.3008917004127856e+00  2.3374191083179037e+00
              109   4.9994575961684994e+01  4.9971987299145432e+01 -5.1058766900454300e-01 -9.8061215956486720e+01  5.0000000000000000e+01 -1.9612243191297345e+00 -4.3003087849706976e+00  2.3390844658409624e+00
              110   4.9969093623136182e+01  4.9920312848164457e+01 -5.0335233497320253e-01 -9.7614259364773105e+01  4.9999999999999993e+01 -1.9522851872954625e+00 -4.2981700334311723e+00  2.3458848461357098e+00
              111   4.9982186358202334e+01  4.9957982107885954e+01 -4.9531398345829630e-01 -9.8148056849114212e+01  5.0000000000000007e+01 -1.9629611369822839e+00 -4.2988229789421002e+00  2.3358618419598152e+00
              112   4.9977813824308960e+01  4.9943311125846343e+01 -5.1024420165248907e-01 -9.8234510817979611e+01  5.0000000000000000e+01 -1.9646902163595923e+00 -4.3025407941502030e+00  2.3378505777906109e+00
              113   4.9994064299224220e+01  4.9986209365975910e+01 -5.1608761872158671e-01 -9.8522145175406450e+01  4.9999999999999993e+01 -1.9704429035081295e+00 -4.3087313845964879e+00  2.3382884810883580e+00
              114   4.9980792207590639e+01  4.9965832323389776e+01 -5.1701986631955088e-01 -9.8744902652457242e+01  5.0000000000000000e+01 -1.9748980530491449e+00 -4.3007353689814760e+00  2.3258373159323309e+00
              115   4.9992558449995727e+01  4.9977471868649062e+01 -5.3063902550190034e-01 -9.8357173893400542e+01  4.9999999999999993e+01 -1.9671434778680112e+00 -4.2865523348066166e+00  2.3194088569386055e+00
              116   4.9980636387454673e+01  4.9963293902693415e+01 -5.2015925915882055e-01 -9.8410432783681415e+01  5.0000000000000007e+01 -1.9682086556736280e+00 -4.2839444070549533e+00  2.3157357513813239e+00
              117   4.9996172406930462e+01  4.9980490631273810e+01 -5.2925247110195395e-01 -9.8102994539507591e+01  5.0000000000000000e+01 -1.9620598907901519e+00 -4.2912209517891862e+00  2.3291610609990347e+00
              118   4.9978406353809810e+01  4.9956826622986483e+01 -5.1070619147737562e-01 -9.8227408606661186e+01  5.0000000000000000e+01 -1.9645481721332239e+00 -4.2979511038186615e+00  2.3334029316854377e+00
              119   4.9987652156213315e+01  4.9963885400224676e+01 -4.9672327878530498e-01 -9.7645206779978963e+01  4.9999999999999993e+01 -1.9529041355995795e+00 -4.3031091693953885e+00  2.3502050337958087e+00
              120   5.0002599898319758e+01  4.9991695438084605e+01 -5.1430688443941264e-01 -9.8491297710076097e+01  5.0000000000000000e+01 -1.9698259542015220e+00 -4.3125557500759557e+00  2.3427297958744333e+00
              121   4.9990830154110327e+01  4.9981760075688598e+01 -5.1387438763602977e-01 -9.8201465271189960e+01  5.0000000000000000e+01 -1.9640293054237992e+00 -4.3086909692366717e+00  2.3446616638128726e+00
              122   4.9992782054967456e+01  4.9992603350490718e+01 -5.2109857644543012e-01 -9.8729093564018314e+01  5.0000000000000000e+01 -1.9745818712803662e+00 -4.3145339926620672e+00  2.3399521213817005e+00
              123   4.9988573475112958e+01  4.9989361163548033e+01 -5.2450517018578235e-01 -9.8803432007585187e+01  5.0000000000000000e+01 -1.9760686401517038e+00 -4.3190362963435502e+00  2.3429676561918469e+00
              124   4.9990804871638460e+01  4.9961334625444344e+01 -5.2302959070547927e-01 -9.9325263423128064e+01  5.0000000000000007e+01 -1.9865052684625610e+00 -4.3136380932635969e+00  2.3271328248010366e+00
              125   5.0001049702070290e+01  5.0006695470216108e+01 -5.4449020480967558e-01 -9.9121907464272951e+01  5.0000000000000007e+01 -1.9824381492854588e+00 -4.3131638132221726e+00  2.3307256639367133e+00
              126   4.9983989182421141e+01  4.9943631651605322e+01 -5.2120491431442773e-01 -9.9514233460986816e+01  5.0000000000000000e+01 -1.9902846692197365e+00 -4.3134190657164337e+00  2.3231343964966977e+00
              127   4.9997327985690752e+01  4.9975457754815629e+01 -5.3357298266103370e-01 -9.9241811949206195e+01  5.0000000000000000e+01 -1.9848362389841239e+00 -4.3058111104805388e+00  2.3209748714964142e+00
              128   4.9989061551067493e+01  4.9984843234656921e+01 -5.3636432306839776e-01 -9.9186480582329239e+01  5.0000000000000014e+01 -1.9837296116465841e+00 -4.3114969845365190e+00  2.3277673728899342e+00
              129   4.9996939521480947e+01  4.9985782707676606e+01 -5.3995146278166251e-01 -9.8291498600988021e+01  4.9999999999999993e+01 -1.9658299720197607e+00 -4.3092198410378160e+00  2.3433898690180546e+00
              130   4.9982518190476434e+01  4.9952394897309709e+01 -5.2021001543421241e-01 -9.9076821329512057e+01  5.0000000000000000e+01 -1.9815364265902411e+00 -4.3049297433614262e+00  2.3233933167711847e+00
              131   5.0006810241688555e+01  4.9997362175732690e+01 -5.5265309066914936e-01 -1.0045828273079368e+02  5.0000000000000014e+01 -2.0091656546158729e+00 -4.3135052867571471e+00  2.3043396321412737e+00
              132   4.9985998714859974e+01  4.9985195374692331e+01 -5.4223971662338177e-01 -1.0022044054339794e+02  5.0000000000000007e+01 -2.0044088108679587e+00 -4.3053646106985690e+00  2.3009557998306107e+00
              133   4.9989560432117770e+01  4.9973711206689835e+01 -5.4317205634680354e-01 -1.0023093830568897e+02  5.0000000000000000e+01 -2.0046187661137793e+00 -4.2989965802784234e+00  2.2943778141646436e+00
              134   4.9998092913592210e+01  4.9984960159350464e+01 -5.5102140164722202e-01 -1.0020375360973026e+02  5.0000000000000007e+01 -2.0040750721946048e+00 -4.3011547408338950e+00  2.2970796686392903e+00
              135   4.9995246236528700e+01  5.0780203681629978e+01 -5.6041945409433791e-01 -9.9746158206859334e+01  5.0000000000000007e+01 -1.9949231641371863e+00 -4.3050399271256046e+00  2.3101167629884181e+00
              136   4.9979666466962826e+01  4.9944878158656003e+01 -5.3750818613286233e-01 -1.0000662601129493e+02  4.9999999999999986e+01 -2.0001325202258990e+00 -4.2973567325901270e+00  2.2972242123642284e+00
              137   4.9992340827472965e+01  4.9977902628391476e+01 -5.4248264228833887e-01 -9.8858193086593886e+01  5.0000000000000000e+01 -1.9771638617318779e+00 -4.2769743981059705e+00  2.2998105363740917e+00
              138   4.9968891014784298e+01  4.9932539017496460e+01 -5.2139989281389398e-01 -9.9462702959138824e+01  4.9999999999999993e+01 -1.9892540591827768e+00 -4.2849671431725760e+00  2.2957130839897997e+00
              139   4.9998668896962990e+01  4.9997785481344202e+01 -5.5409339591801443e-01 -9.9821136795193922e+01  4.9999999999999993e+01 -1.9964227359038789e+00 -4.2869488076043449e+00  2.2905260717004663e+00
              140   4.9979778630129481e+01  4.9968869506034963e+01 -5.5616231202014521e-01 -9.9196382347070184e+01  5.0000000000000000e+01 -1.9839276469414038e+00 -4.2845272470199971e+00  2.3005996000785927e+00
              141   4.9978506947352251e+01  4.9934620392078642e+01 -5.3477253612087838e-01 -9.9143112185855983e+01  4.9999999999999993e+01 -1.9828622437171199e+00 -4.2838439016241159e+00  2.3009816579069962e+00
              142   4.9984512171443001e+01  4.9959947866591428e+01 -5.4105399926224440e-01 -9.8546132447878989e+01  5.0000000000000007e+01 -1.9709226489575795e+00 -4.2888760942058806e+00  2.3179534452483006e+00
              143   4.9965914721480907e+01  4.9936333662297749e+01 -5.0993307149264588e-01 -9.8458189237844351e+01  5.0000000000000000e+01 -1.9691637847568870e+00 -4.2857348805008568e+00  2.3165710957439702e+00
              144   4.9995863475776382e+01  4.9958653902828949e+01 -5.2790197483279566e-01 -9.8645816042938165e+01  5.0000000000000000e+01 -1.9729163208587635e+00 -4.2799477257720131e+00  2.3070314049132499e+00
              145   4.9977444305196322e+01  4.9943795706230368e+01 -5.2221361615071760e-01 -9.9185786045787452e+01  5.0000000000000007e+01 -1.9837157209157488e+00 -4.2781404206098115e+00  2.2944246996940620e+00
              146   4.9973036158386279e+01  4.9935486560166872e+01 -5.1271026194000768e-01 -9.9614660505326142e+01  5.0000000000000007e+01 -1.9922932101065225e+00 -4.2679629399935557e+00  2.2756697298870345e+00
              147   4.9991057501270944e+01  4.9958823097335234e+01 -5.5178735125820777e-01 -9.9624168787360418e+01  5.0000000000000007e+01 -1.9924833757472080e+00 -4.2818929628952516e+00  2.2894095871480431e+00
              148   4.9971994173618008e+01  4.9928278027805639e+01 -5.1751015366118602e-01 -9.9455820728496377e+01  5.0000000000000007e+01 -1.9891164145699272e+00 -4.2985528607759500e+00  2.3094364462060222e+00
              149   5.0008320560367160e+01  4.9995288275518199e+01 -5.6222757326826989e-01 -9.9826938983657556e+01  5.0000000000000000e+01 -1.9965387796731511e+00 -4.3013293987511894e+00  2.3047906190780383e+00
              150   4.9977307895612711e+01  4.9950225640711487e+01 -5.4788157864803522e-01 -9.9727146812754086e+01  4.9999999999999993e+01 -1.9945429362550822e+00 -4.2985495781568757e+00  2.3040066419017942e+00
              151   4.9992799191269285e+01  4.9981920736522945e+01 -5.6949362370031820e-01 -9.9661542875346015e+01  5.0000000000000007e+01 -1.9932308575069200e+00 -4.3075887214373356e+00  2.3143578639304159e+00
              152   4.9947469319898630e+01  4.9854335056206402e+01 -5.2786215035601558e-01 -9.9624817819175490e+01  4.9999999999999993e+01 -1.9924963563835103e+00 -4.3024274769056339e+00  2.3099311205221236e+00
              153   4.9985619561745182e+01  4.9940182304869225e+01 -5.2397221070197220e-01 -1.0006835748261574e+02  5.0000000000000014e+01 -2.0013671496523142e+00 -4.2978090977433796e+00  2.2964419480910658e+00
              154   4.9968198622899237e+01  4.9922552285982682e+01 -5.1583593986621923e-01 -9.8631020228376812e+01  5.0000000000000000e+01 -1.9726204045675362e+00 -4.3076154367117541e+00  2.3349950321442186e+00
              155   4.9940463490187838e+01  5.0260417676303817e+01 -4.7296425601006686e-01 -9.7014964855099024e+01  5.0000000000000000e+01 -1.9402992971019806e+00 -4.3016510472452927e+00  2.3613517501433132e+00
              156   4.9991998990563673e+01  4.9973019797972327e+01 -4.8254540429407300e-01 -9.7097812593181047e+01  5.0000000000000007e+01 -1.9419562518636206e+00 -4.3053685346862416e+00  2.3634122828226203e+00
              157   4.9983584905526762e+01  4.9976300381027116e+01 -4.8319671380870849e-01 -9.6457364072073773e+01  5.0000000000000014e+01 -1.9291472814414747e+00 -4.2986100901239679e+00  2.3694628086824925e+00
              158   4.9989940268850518e+01  4.9971932137955612e+01 -4.9388036682100417e-01 -9.6842348937447213e+01  5.0000000000000007e+01 -1.9368469787489440e+00 -4.2984814302990104e+00  2.3616344515500667e+00
              159   4.9985658789291456e+01  4.9961459691157920e+01 -4.8858779451704942e-01 -9.6683635503579680e+01  5.0000000000000000e+01 -1.9336727100715936e+00 -4.2981515155131342e+00  2.3644788054415402e+00
              160   4.9977061647506233e+01  4.9941081837269365e+01 -4.6304381720546184e-01 -9.7040214421091363e+01  5.0000000000000000e+01 -1.9408042884218273e+00 -4.2981457535497505e+00  2.3573414651279223e+00
              161   5.0005881351159388e+01  4.9997802236282268e+01 -5.0052052350509491e-01 -9.7610206035527796e+01  4.9999999999999993e+01 -1.9522041207105563e+00 -4.2963647050951543e+00  2.3441605843845981e+00
              162   4.9991840440874284e+01  4.9984681857822792e+01 -5.0442337423379779e-01 -9.8341948443291344e+01  5.0000000000000000e+01 -1.9668389688658270e+00 -4.2945183829835365e+00  2.3276794141177097e+00
              163   4.9990753006549156e+01  4.9993504174532568e+01 -5.2680216644478106e-01 -9.7885272338541370e+01  5.0000000000000000e+01 -1.9577054467708275e+00 -4.2946038808495244e+00  2.3368984340786971e+00
              164   4.9971941263155514e+01  4.9932204855450166e+01 -4.9890874754952019e-01 -9.8207939250756155e+01  4.9999999999999993e+01 -1.9641587850151234e+00 -4.2929969106659538e+00  2.3288381256508308e+00
              165   4.9993496033976747e+01  4.9972650140184960e+01 -5.1680440877844880e-01 -9.8278343104622436e+01  5.0000000000000000e+01 -1.9655668620924487e+00 -4.2790092972685629e+00  2.3134424351761136e+00
              166   4.9985699373120134e+01  4.9967284379929652e+01 -5.1781092876484835e-01 -9.9154824764695761e+01  5.0000000000000014e+01 -1.9830964952939145e+00 -4.2978875523043314e+00  2.3147910570104173e+00
              167   4.9985362131185106e+01  4.9976264674892299e+01 -5.2212071304112229e-01 -9.8705803531155681e+01  5.0000000000000007e+01 -1.9741160706231133e+00 -4.2962116162669117e+00  2.3220955456437982e+00
              168   4.9991445841207209e+01  4.9975626084081632e+01 -5.2646247028203741e-01 -9.9149496275268149e+01  5.0000000000000000e+01 -1.9829899255053631e+00 -4.3050413253257185e+00  2.3220513998203560e+00
              169   4.9991725956373671e+01  4.9968042804145682e+01 -5.2346259917509375e-01 -9.8706093612501562e+01  5.0000000000000007e+01 -1.9741218722500309e+00 -4.3063056885412223e+00  2.3321838162911912e+00
              170   4.9983866956155730e+01  4.9975473587806768e+01 -5.2605926170054484e-01 -9.8352492132668004e+01  4.9999999999999993e+01 -1.9670498426533605e+00 -4.2944826242643490e+00  2.3274327816109874e+00
              171   4.9983642722049922e+01  4.9970595338131751e+01 -5.1970494189597694e-01 -9.7844077645652732e+01  4.9999999999999993e+01 -1.9568815529130550e+00 -4.2878892848700714e+00  2.3310077319570164e+00
              172   4.9993936924889077e+01  4.9970096747052665e+01 -5.2163550576816498e-01 -9.8351809502580252e+01  5.0000000000000000e+01 -1.9670361900516051e+00 -4.2987652760916708e+00  2.3317290860400663e+00
              173   4.9982315493359401e+01  4.9946285744993524e+01 -5.0094040919025196e-01 -9.8889739121787713e+01  5.0000000000000000e+01 -1.9777947824357542e+00 -4.3052156439283502e+00  2.3274208614925960e+00
              174   4.9997330107666748e+01  4.9994237959414697e+01 -5.2644506159001281e-01 -9.9107176047090618e+01  4.9999999999999993e+01 -1.9821435209418128e+00 -4.2993811616737148e+00  2.3172376407319013e+00
              175   4.9991027182058481e+01  4.9986815095560651e+01 -5.3589517226198791e-01 -9.9638397154871214e+01  4.9999999999999986e+01 -1.9927679430974250e+00 -4.3022222181432808e+00  2.3094542750458564e+00
              176   4.9995083010321451e+01  4.9983484321137247e+01 -5.6507392695629588e-01 -9.9424787585673627e+01  4.9999999999999993e+01 -1.9884957517134729e+00 -4.2930004090418441e+00  2.3045046573283705e+00
              177   4.9969224297237560e+01  4.9927362690869714e+01 -5.3784503301829156e-01 -9.9387229740137158e+01  5.0000000000000000e+01 -1.9877445948027432e+00 -4.2949774572600239e+00  2.3072328624572815e+00
              178   4.9984338240289084e+01  4.9964902320381107e+01 -5.4346303203505708e-01 -9.9860677676256884e+01  5.0000000000000000e+01 -1.9972135535251376e+00 -4.3020960490655629e+00  2.3048824955404248e+00
              179   4.9987209687189136e+01  4.9971926865523841e+01 -5.4653007481281635e-01 -9.9242770209618172e+01  5.0000000000000007e+01 -1.9848554041923632e+00 -4.2915540297410901e+00  2.3066986255487270e+00
              180   4.9971380287270762e+01  4.9937126651582105e+01 -5.1601689437769882e-01 -9.8427475332703679e+01  5.0000000000000000e+01 -1.9685495066540737e+00 -4.2934579816089515e+00  2.3249084749548787e+00
              181   4.9996565902117219e+01  4.9982603702516506e+01 -5.3481150366860097e-01 -9.8284785337911913e+01  4.9999999999999993e+01 -1.9656957067582386e+00 -4.3081546446902221e+00  2.3424589379319838e+00
              182   4.9983590745486417e+01  4.9961779613173320e+01 -5.2477789903394789e-01 -9.8668864412890414e+01  4.9999999999999993e+01 -1.9733772882578087e+00 -4.3107517323644000e+00  2.3373744441065907e+00
              183   4.9985615200692941e+01  4.9961850571181124e+01 -5.1606550921973837e-01 -9.8478502309793697e+01  4.9999999999999993e+01 -1.9695700461958743e+00 -4.3075552640443489e+00  2.3379852178484755e+00
              184   4.9987297579542883e+01  4.9972862693585803e+01 -5.0613856823561565e-01 -9.7712713838888959e+01  5.0000000000000000e+01 -1.9542542767777793e+00 -4.3055846300055745e+00  2.3513303532277954e+00
              185   4.9990126272501541e+01  4.9979652361246508e+01 -5.0735152329139777e-01 -9.7861377041632892e+01  5.0000000000000007e+01 -1.9572275408326576e+00 -4.2927649080175598e+00  2.3355373671849029e+00
              186   4.9988361059919235e+01  4.9953639808480624e+01 -4.9980515918738572e-01 -9.7709990095726511e+01  5.0000000000000007e+01 -1.9541998019145299e+00 -4.2945587565874135e+00  2.3403589546728831e+00
              187   4.9997567759052075e+01  4.9995420319278985e+01 -5.0885913155909324e-01 -9.8175705647240477e+01  5.0000000000000000e+01 -1.9635141129448095e+00 -4.2896389451059695e+00  2.3261248321611592e+00
              188   4.9995668799486054e+01  4.9985108710285893e+01 -5.2419721699398103e-01 -9.9057090284400459e+01  4.9999999999999993e+01 -1.9811418056880095e+00 -4.3016749103142775e+00  2.3205331046262687e+00
              189   4.9994370449282343e+01  4.9990849316069429e+01 -5.5056073175056242e-01 -9.9939662406322313e+01  4.9999999999999993e+01 -1.9987932481264465e+00 -4.3212270296901716e+00  2.3224337815637246e+00
              190   4.9982892726214835e+01  4.9981342912650135e+01 -5.6120453420909011e-01 -1.0063247996327574e+02  4.9999999999999993e+01 -2.0126495992655151e+00 -4.3165536964688807e+00  2.3039040972033651e+00
              191   4.9971509592462816e+01  4.9927129984510543e+01 -5.5803168186660523e-01 -1.0125476648037144e+02  5.0000000000000000e+01 -2.0250953296074288e+00 -4.3165967149581972e+00  2.2915013853507693e+00
              192   4.9995053531780179e+01  4.9981126460359427e+01 -5.5721492530271510e-01 -1.0033296572623833e+02  5.0000000000000007e+01 -2.0066593145247662e+00 -4.3122172335132039e+00  2.3055579189884376e+00
              193   4.9999675078938111e+01  4.9968732801241508e+01 -5.9183111841754887e-01 -1.0107060714867370e+02  5.0000000000000014e+01 -2.0214121429734733e+00 -4.3230891671422675e+00  2.3016770241687938e+00
              194   4.9974693320994938e+01  4.9943900140727941e+01 -5.8392298896612660e-01 -1.0029945538866204e+02  5.0000000000000000e+01 -2.0059891077732410e+00 -4.3208909083618448e+00  2.3149018005886037e+00
              195   4.9948979354496743e+01  4.9894950613813144e+01 -5.2283851467373987e-01 -9.9144931862945086e+01  4.9999999999999993e+01 -1.9828986372589021e+00 -4.3142996579073829e+00  2.3314010206484812e+00
              196   5.0001606906084412e+01  4.9972960581242234e+01 -5.4198509359358549e-01 -9.9529522521064351e+01  5.0000000000000000e+01 -1.9905904504212870e+00 -4.3159658275218131e+00  2.3253753771005266e+00
              197   4.9980735895502846e+01  4.9958676768074696e+01 -5.2407351909288813e-01 -9.8814505280961527e+01  5.0000000000000007e+01 -1.9762901056192301e+00 -4.3095731660161922e+00  2.3332830603969619e+00
              198   4.9979637562652961e+01  4.9951165365125433e+01 -5.1037980012437756e-01 -9.9455630299848011e+01  4.9999999999999993e+01 -1.9891126059969606e+00 -4.3057537502564083e+00  2.3166411442594477e+00
              199   4.9999646073243071e+01  4.9985762252567056e+01 -5.4624724869050978e-01 -9.9321540926008808e+01  5.0000000000000000e+01 -1.9864308185201762e+00 -4.3088829844437004e+00  2.3224521659235249e+00
              200   4.9984324008244265e+01  4.9971381602803660e+01 -5.4552621832325243e-01 -9.9175921248731328e+01  5.0000000000000007e+01 -1.9835184249746263e+00 -4.3084510141645866e+00  2.3249325891899604e+00
              201   4.9979692006291636e+01  4.9960483768915019e+01 -5.4174513536353242e-01 -9.8660504645745021e+01  4.9999999999999993e+01 -1.9732100929149008e+00 -4.3123643973648269e+00  2.3391543044499259e+00
              202   4.9961771235317315e+01  4.9919595913213783e+01 -5.1887485055569882e-01 -9.8082457611410447e+01  5.0000000000000007e+01 -1.9616491522282087e+00 -4.3118543625599104e+00  2.3502052103317022e+00
              203   4.9982532364259590e+01  4.9933050945224643e+01 -4.9854673727554472e-01 -9.7836317744367221e+01  5.0000000000000000e+01 -1.9567263548873444e+00 -4.3030539540698172e+00  2.3463275991824726e+00
              204   4.9987861685631373e+01  4.9980404690234252e+01 -5.0504005022674370e-01 -9.7438905908111408e+01  5.0000000000000000e+01 -1.9487781181622281e+00 -4.3024053245199783e+00  2.3536272063577499e+00
              205   4.9986343607710658e+01  4.9961644752481163e+01 -4.9400844625567647e-01 -9.7197957038969946e+01  5.0000000000000007e+01 -1.9439591407793986e+00 -4.2902046771311673e+00  2.3462455363517689e+00
              206   4.9992757457341597e+01  4.9978891372096626e+01 -5.1053976577856530e-01 -9.7134749289927328e+01  5.0000000000000000e+01 -1.9426949857985465e+00 -4.2820428432256676e+00  2.3393478574271218e+00
              207   4.9989700381925850e+01  4.9975737188031118e+01 -5.1761198571970490e-01 -9.7812816226129328e+01  5.0000000000000000e+01 -1.9562563245225866e+00 -4.2919849353987267e+00  2.3357286108761404e+00
              208   4.9978977519439212e+01  4.9951649646665139e+01 -4.8942708702272969e-01 -9.7257195931856685e+01  5.0000000000000007e+01 -1.9451439186371333e+00 -4.2938427407838713e+00  2.3486988221467375e+00
              209   4.9981511259166467e+01  4.9949564539180528e+01 -4.8443273387268071e-01 -9.7812307360397483e+01  5.0000000000000007e+01 -1.9562461472079493e+00 -4.2944754333690431e+00  2.3382292861610945e+00
              210   5.0003965142270886e+01  4.9981585911031054e+01 -5.0646121757504348e-01 -9.8187475452609107e+01  5.0000000000000000e+01 -1.9637495090521822e+00 -4.2928765534982301e+00  2.3291270444460479e+00
              211   4.9984815073538748e+01  4.9979206534835974e+01 -5.0551325117199353e-01 -9.9350994009074611e+01  5.0000000000000000e+01 -1.9870198801814922e+00 -4.3073216407493264e+00  2.3203017605678342e+00
              212   4.9993902547107709e+01  4.9980141528613039e+01 -5.2862297812364467e-01 -1.0019817841809160e+02  5.0000000000000014e+01 -2.0039635683618315e+00 -4.3156073808496602e+00  2.3116438124878291e+00
              213   4.9931396720485907e+01  4.9842129167604490e+01 -5.2463882712768850e-01 -9.8959235470630205e+01  5.0000000000000000e+01 -1.9791847094126040e+00 -4.2953346674675146e+00  2.3161499580549099e+00
              214   4.9988290894066068e+01  4.9965625809578981e+01 -5.2402487858447588e-01 -9.8419278478640365e+01  5.0000000000000000e+01 -1.9683855695728074e+00 -4.2906782032326385e+00  2.3222926336598309e+00
              215   4.9980988359063986e+01  4.9955935818821921e+01 -5.1946898726012691e-01 -9.8030420694273403e+01  5.0000000000000000e+01 -1.9606084138854680e+00 -4.2877045529587638e+00  2.3270961390732952e+00
              216   4.9977741642197806e+01  4.9964675399591997e+01 -5.0645451431175792e-01 -9.7971370440662440e+01  5.0000000000000007e+01 -1.9594274088132484e+00 -4.2929930961142393e+00  2.3335656873009913e+00
              217   4.9984835370006849e+01  4.9961982905134356e+01 -5.1387934707990013e-01 -9.8780191875407155e+01  5.0000000000000007e+01 -1.9756038375081428e+00 -4.2916520260724154e+00  2.3160481885642725e+00
              218   4.9971411095277517e+01  4.9923473714718440e+01 -5.0884575380044950e-01 -9.8248834717125106e+01  5.0000000000000000e+01 -1.9649766943425022e+00 -4.2721060124924923e+00  2.3071293181499901e+00
              219   4.9963055409607414e+01  4.9918068504444619e+01 -4.8197320062564974e-01 -9.6957608272344601e+01  4.9999999999999993e+01 -1.9391521654468924e+00 -4.2744289415868710e+00  2.3352767761399784e+00
              220   4.9990591285998917e+01  4.9958575453456582e+01 -5.0507647801710120e-01 -9.8528228795954078e+01  4.9999999999999986e+01 -1.9705645759190822e+00 -4.2748662828698274e+00  2.3043017069507452e+00
              221   4.9970152683830548e+01  4.9946837560651460e+01 -4.8894088479210351e-01 -9.7639180043599907e+01  5.0000000000000007e+01 -1.9527836008719979e+00 -4.2946572537458474e+00  2.3418736528738489e+00
              222   4.9984630175813365e+01  4.9947041486992134e+01 -4.9179652282985425e-01 -9.8041971636418310e+01  5.0000000000000000e+01 -1.9608394327283662e+00 -4.2999537208783689e+00  2.3391142881500033e+00
              223   4.9984173615185611e+01  4.9968962782766795e+01 -4.9477590013924128e-01 -9.7551431893586795e+01  5.0000000000000000e+01 -1.9510286378717359e+00 -4.3045729706105629e+00  2.3535443327388275e+00
              224   4.9984881585947861e+01  4.9968391820426298e+01 -4.9421378012147327e-01 -9.7049639787002448e+01  5.0000000000000007e+01 -1.9409927957400486e+00 -4.3024354686488602e+00  2.3614426729088120e+00
              225   4.9984142995152183e+01  4.9964162072112508e+01 -4.8708743777884117e-01 -9.6748254737926132e+01  5.0000000000000007e+01 -1.9349650947585224e+00 -4.3053362028995359e+00  2.3703711081410135e+00
              226   4.9994876019489588e+01  4.9982254947168549e+01 -4.9704366093192953e-01 -9.6609306617059588e+01  4.9999999999999993e+01 -1.9321861323411922e+00 -4.3057714465145223e+00  2.3735853141733299e+00
              227   4.9981400989866742e+01  4.9966445538590797e+01 -4.9087732389769617e-01 -9.7255410177516495e+01  5.0000000000000007e+01 -1.9451082035503295e+00 -4.3124287762860822e+00  2.3673205727357520e+00
              228   4.9986329332235783e+01  4.9954257184111889e+01 -4.7857199533783928e-01 -9.7303819991653128e+01  5.0000000000000000e+01 -1.9460763998330626e+00 -4.3081635536451772e+00  2.3620871538121149e+00
              229   4.9981574659961517e+01  4.9969891373290722e+01 -4.7707184407779707e-01 -9.7467902035264871e+01  5.0000000000000007e+01 -1.9493580407052971e+00 -4.3074543308535418e+00  2.3580962901482447e+00
              230   5.0000807542363930e+01  4.9980863346501650e+01 -4.8774906542656793e-01 -9.7583034908040432e+01  4.9999999999999993e+01 -1.9516606981608091e+00 -4.3179614128203685e+00  2.3663007146595598e+00
              231   4.9998616395745067e+01  4.9993890516486275e+01 -5.0925262907708724e-01 -9.7668004858786816e+01  4.9999999999999993e+01 -1.9533600971757368e+00 -4.3133787589673505e+00  2.3600186617916137e+00
              232   4.9978702625265363e+01  4.9960170729415324e+01 -4.9522159932492160e-01 -9.7923066785794987e+01  5.0000000000000007e+01 -1.9584613357158995e+00 -4.3102432072148185e+00  2.3517818714989192e+00
              233   4.9999272240059121e+01  4.9975719139139891e+01 -5.1115373508663464e-01 -9.7944058197981747e+01  5.0000000000000000e+01 -1.9588811639596351e+00 -4.3154381674216244e+00  2.3565570034619889e+00
              234   4.9991729982966412e+01  4.9989698947830028e+01 -5.2097652866633271e-01 -9.8185662307761490e+01  5.0000000000000000e+01 -1.9637132461552298e+00 -4.3061410347808691e+00  2.3424277886256393e+00
              235   4.9975120468456147e+01  4.9938812406112824e+01 -5.0223016001795229e-01 -9.8093877415938451e+01  5.0000000000000000e+01 -1.9618775483187691e+00 -4.3041063351799149e+00  2.3422287868611464e+00
              236   4.9989876404171213e+01  4.9980936939389579e+01 -5.2009609002576940e-01 -9.8688238870354795e+01  5.0000000000000000e+01 -1.9737647774070959e+00 -4.3101545240949042e+00  2.3363897466878072e+00
              237   4.9991462734721310e+01  4.9969651886569245e+01 -5.1601143501026059e-01 -9.8531606370258174e+01  5.0000000000000000e+01 -1.9706321274051635e+00 -4.3150773050700204e+00  2.3444451776648574e+00
              238   4.9993064883455212e+01  4.9981044092674232e+01 -5.3158487499673213e-01 -9.8748280018387533e+01  5.0000000000000000e+01 -1.9749656003677507e+00 -4.3223684376133553e+00  2.3474028372456046e+00
              239   4.9968589761918928e+01  4.9946337824173142e+01 -4.9302435499094560e-01 -9.8134889974408864e+01  5.0000000000000014e+01 -1.9626977994881767e+00 -4.3147098527909167e+00  2.3520120533027389e+00
              240   5.0000435558001513e+01  4.9979921611308477e+01 -5.0852045349371200e-01 -9.8393737508248492e+01  4.9999999999999993e+01 -1.9678747501649703e+00 -4.3142619506985103e+00  2.3463872005335396e+00
              241   5.0001722976795463e+01  4.9998795414126391e+01 -5.2578058595456312e-01 -9.8632584605092575e+01  5.0000000000000007e+01 -1.9726516921018511e+00 -4.3156583165664406e+00  2.3430066244645897e+00
              242   4.9979007058142919e+01  4.9964823897054224e+01 -5.0389343717855584e-01 -9.8591234282173787e+01  5.0000000000000007e+01 -1.9718246856434754e+00 -4.3164599328935660e+00  2.3446352472500904e+00
              243   5.0004654916483368e+01  4.9993974892671460e+01 -5.2406049729495885e-01 -9.9223179819373073e+01  5.0000000000000007e+01 -1.9844635963874611e+00 -4.3176282199446963e+00  2.3331646235572356e+00
              244   4.9993645953086023e+01  4.9986312859318822e+01 -5.2580494688862989e-01 -9.9478512595073767e+01  4.9999999999999993e+01 -1.9895702519014757e+00 -4.3176659296315814e+00  2.3280956777301052e+00
              245   4.9998223884635664e+01  4.9990151333217582e+01 -5.5450386187019229e-01 -9.9638058227414319e+01  5.0000000000000000e+01 -1.9927611645482863e+00 -4.3171550321852621e+00  2.3243938676369762e+00
              246   4.9987253178874560e+01  4.9980954235917253e+01 -5.4075841293666616e-01 -9.9012634736766657e+01  5.0000000000000007e+01 -1.9802526947353329e+00 -4.3194179279078284e+00  2.3391652331724946e+00
              247   4.9981862359426032e+01  4.9940091718181975e+01 -5.1600020743321251e-01 -9.8738925451483723e+01  5.0000000000000007e+01 -1.9747785090296741e+00 -4.3193325448608455e+00  2.3445540358311709e+00
              248   5.0001616532633165e+01  4.9988147154878959e+01 -5.3380493657965200e-01 -9.9003469182922316e+01  4.9999999999999993e+01 -1.9800693836584466e+00 -4.3218622994415608e+00  2.3417929157831145e+00
              249   4.9989194802220119e+01  4.9972867389642118e+01 -5.3862413507605411e-01 -9.9840627471686119e+01  5.0000000000000000e+01 -1.9968125494337223e+00 -4.3273407406113753e+00  2.3305281911776516e+00
              250   4.9989350587882598e+01  4.9986321046147282e+01 -5.4997761800391332e-01 -9.9472608108391427e+01  5.0000000000000000e+01 -1.9894521621678285e+00 -4.3276627167867607e+00  2.3382105546189313e+00
              251   4.9968559093034074e+01  4.9929943337537445e+01 -5.2044623269931378e-01 -9.9200168434704764e+01  4.9999999999999993e+01 -1.9840033686940957e+00 -4.3201597389787718e+00  2.3361563702846757e+00
              252   4.9993435405342098e+01  4.9967746739819461e+01 -5.2562061082503075e-01 -9.8980492106062229e+01  4.9999999999999993e+01 -1.9796098421212449e+00 -4.3151429517677444e+00  2.3355331096464989e+00
              253   4.9984299562841791e+01  4.9967576403245694e+01 -5.1858936651044130e-01 -9.9043746306057315e+01  4.9999999999999979e+01 -1.9808749261211471e+00 -4.3179682759182239e+00  2.3370933497970769e+00
              254   4.9998153122111724e+01  5.0002864776160557e+01 -5.4968857851435105e-01 -9.9489954116271861e+01  5.0000000000000000e+01 -1.9897990823254372e+00 -4.3196594226312035e+00  2.3298603403057654e+00
              255   4.9975383038478888e+01  4.9954772751349786e+01 -5.2147895628006591e-01 -9.8127659704675239e+01  4.9999999999999993e+01 -1.9625531940935053e+00 -4.3226784861292460e+00  2.3601252920357405e+00
              256   4.9993632152261362e+01  4.9970826347325904e+01 -5.2612623595792463e-01 -9.8407710340787389e+01  5.0000000000000000e+01 -1.9681542068157478e+00 -4.3207792592262564e+00  2.3526250524105090e+00
              257   4.9987172997617130e+01  4.9987336279299768e+01 -5.2902786764406351e-01 -9.8594906871617596e+01  5.0000000000000000e+01 -1.9718981374323519e+00 -4.3299853587263968e+00  2.3580872212940438e+00
              258   4.9990043336595001e+01  4.9958606970612898e+01 -5.2193380409971002e-01 -9.8581271370130409e+01  5.0000000000000000e+01 -1.9716254274026082e+00 -4.3266020739656366e+00  2.3549766465630277e+00
              259   4.9985898326857289e+01  4.9960311881408309e+01 -5.1785759598592551e-01 -9.8908431074574523e+01  5.0000000000000000e+01 -1.9781686214914904e+00 -4.3282761595189543e+00  2.3501075380274639e+00
              260   4.9989084689807633e+01  4.9970083035776298e+01 -5.2387439700799165e-01 -9.8584146233550058e+01  4.9999999999999993e+01 -1.9716829246710015e+00 -4.3163946191615743e+00  2.3447116944905719e+00
              261   4.9989395450072038e+01  4.9958241316695805e+01 -5.2032797110199547e-01 -9.9238024388702058e+01  5.0000000000000000e+01 -1.9847604877740412e+00 -4.3058161418630876e+00  2.3210556540890468e+00
              262   4.9973071444393916e+01  4.9982178813532641e+01 -5.6822582403766830e-01 -1.0030467395618020e+02  5.0000000000000000e+01 -2.0060934791236038e+00 -4.3153852321146084e+00  2.3092917529910042e+00
              263   4.9955269916289424e+01  4.9852906938438664e+01 -5.2604978159376004e-01 -9.8281641694474914e+01  4.9999999999999993e+01 -1.9656328338894986e+00 -4.3003543666689481e+00  2.3347215327794499e+00
              264   4.9974280657738383e+01  4.9932838494681093e+01 -5.0290393404232381e-01 -9.7681003138609853e+01  5.0000000000000000e+01 -1.9536200627721971e+00 -4.3081053656691353e+00  2.3544853028969377e+00
              265   4.9990409711694440e+01  4.9954717919548031e+01 -4.9205808349064811e-01 -9.7752469104665309e+01  4.9999999999999993e+01 -1.9550493820933066e+00 -4.3094690533517870e+00  2.3544196712584804e+00
              266   5.0004179016443288e+01  4.9991626445230132e+01 -5.0991837277862939e-01 -9.8166196750556153e+01  5.0000000000000000e+01 -1.9633239350111231e+00 -4.3090214438832515e+00  2.3456975088721279e+00
              267   4.9986502037574859e+01  4.9983918003497628e+01 -5.1535010658922509e-01 -9.7683642578487920e+01  5.0000000000000000e+01 -1.9536728515697583e+00 -4.2979111089153683e+00  2.3442382573456095e+00
              268   4.9983596850769395e+01  4.9966996918880049e+01 -5.0871743092335964e-01 -9.7566113710566370e+01  4.9999999999999993e+01 -1.9513222742113279e+00 -4.3134703880447187e+00  2.3621481138333911e+00
              269   4.9996040818531732e+01  4.9979212124468624e+01 -5.1406373922022519e-01 -9.7468429045890389e+01  5.0000000000000000e+01 -1.9493685809178078e+00 -4.3187393712891273e+00  2.3693707903713190e+00
              270   4.9980246019658047e+01  4.9958827599010675e+01 -5.0414058732365863e-01 -9.8122996592469704e+01  4.9999999999999993e+01 -1.9624599318493945e+00 -4.3231610755706402e+00  2.3607011437212462e+00
              271   5.0001258258085464e+01  5.0002348649345151e+01 -5.1378233219313441e-01 -9.7588884369286546e+01  4.9999999999999993e+01 -1.9517776873857313e+00 -4.3197879750504447e+00  2.3680102876647138e+00
              272   4.9984225632686176e+01  4.9971134708300127e+01 -5.0396124012417254e-01 -9.7969442321774068e+01  5.0000000000000000e+01 -1.9593888464354814e+00 -4.3191957745066016e+00  2.3598069280711202e+00
              273   4.9985907160548827e+01  4.9960887936521161e+01 -4.9129310193619929e-01 -9.7531424625875118e+01  5.0000000000000007e+01 -1.9506284925175021e+00 -4.3185117565920743e+00  2.3678832640745724e+00
              274   4.9988273511785145e+01  4.9964290467307521e+01 -4.8781378649509699e-01 -9.7887146895061107e+01  5.0000000000000007e+01 -1.9577429379012219e+00 -4.3063511063829898e+00  2.3486081684817677e+00
              275   4.9989422029966107e+01  5.0085366370716656e+01 -4.7806392308049839e-01 -9.7722044095008656e+01  5.0000000000000000e+01 -1.9544408819001731e+00 -4.3061209545463957e+00  2.3516800726462233e+00
              276   4.9996558746858781e+01  5.0465681230247583e+01 -5.0131367216435929e-01 -9.7811943238702938e+01  5.0000000000000000e+01 -1.9562388647740587e+00 -4.3107336058274699e+00  2.3544947410534114e+00
              277   5.0004651650989615e+01  5.0004570356610721e+01 -5.3591010782685222e-01 -9.8403730401877070e+01  5.0000000000000000e+01 -1.9680746080375415e+00 -4.3138617509512391e+00  2.3457871429136965e+00
              278   4.9972041216421779e+01  4.9951344289708224e+01 -4.9839950125113391e-01 -9.8269576643388163e+01  5.0000000000000007e+01 -1.9653915328677629e+00 -4.3165654725133908e+00  2.3511739396456273e+00
              279   5.0007808898609632e+01  5.0007501239827228e+01 -5.3377899403638451e-01 -9.8544925586442531e+01  5.0000000000000007e+01 -1.9708985117288502e+00 -4.3164496102210830e+00  2.3455510984922325e+00
              280   4.9982967642366049e+01  4.9962479002136227e+01 -5.2189478750574669e-01 -9.8356760607902288e+01  5.0000000000000000e+01 -1.9671352121580459e+00 -4.3120605914145802e+00  2.3449253792565337e+00
              281   4.9980607270905651e+01  4.9947560278740028e+01 -4.9550970947544415e-01 -9.8357778217089773e+01  4.9999999999999993e+01 -1.9671555643417959e+00 -4.3087119590214673e+00  2.3415563946796705e+00
              282   4.9989839404956129e+01  4.9964645931447549e+01 -5.0627583888852579e-01 -9.7656551113474251e+01  5.0000000000000000e+01 -1.9531310222694851e+00 -4.2927244127685640e+00  2.3395933904990791e+00
              283   4.9989344434900460e+01  4.9979247937400203e+01 -5.1409122105223881e-01 -9.8798686620788075e+01  4.9999999999999993e+01 -1.9759737324157618e+00 -4.2992602703857363e+00  2.3232865379699748e+00
              284   5.0006102571164305e+01  5.0006356935615699e+01 -5.5751158172670101e-01 -9.9287086384420292e+01  4.9999999999999993e+01 -1.9857417276884062e+00 -4.2848598182283570e+00  2.2991180905399511e+00
              285   4.9950591866261433e+01  4.9904467963888585e+01 -5.2204900022090550e-01 -9.8383612683690998e+01  5.0000000000000000e+01 -1.9676722536738200e+00 -4.2959122799383218e+00  2.3282400262645018e+00
              286   4.9980397473264667e+01  4.9939472014523517e+01 -5.1628209080783627e-01 -9.8586674893178724e+01  5.0000000000000000e+01 -1.9717334978635745e+00 -4.2934547511568431e+00  2.3217212532932687e+00
              287   4.9995185088176171e+01  5.0001903477694754e+01 -5.4144097659954993e-01 -9.8183962438622274e+01  4.9999999999999993e+01 -1.9636792487724459e+00 -4.3001909555596782e+00  2.3365117067872325e+00
              288   4.9953201212801098e+01  4.9874378734396785e+01 -5.7203926657815729e-01 -9.8323629925702321e+01  5.0000000000000007e+01 -1.9664725985140461e+00 -4.2882112230538114e+00  2.3217386245397655e+00
              289   4.9946299955424728e+01  4.9881807668487539e+01 -4.9980387032616103e-01 -9.9136998388344267e+01  5.0000000000000000e+01 -1.9827399677668853e+00 -4.2981036348031134e+00  2.3153636670362276e+00
              290   4.9999204587669645e+01  4.9956755012855382e+01 -5.2168470251632304e-01 -9.7981837770737314e+01  4.9999999999999993e+01 -1.9596367554147467e+00 -4.3103708746199310e+00  2.3507341192051845e+00
              291   4.9976987312091168e+01  4.9967813605296016e+01 -5.0127851545015067e-01 -9.7164798228182647e+01  5.0000000000000007e+01 -1.9432959645636527e+00 -4.3119485140500338e+00  2.3686525494863817e+00
              292   4.9988535960180897e+01  4.9967927673415396e+01 -5.1073843133412677e-01 -9.7407072967333676e+01  5.0000000000000007e+01 -1.9481414593466733e+00 -4.3028671313563036e+00  2.3547256720096312e+00
              293   4.9989676878440171e+01  4.9978024025975564e+01 -5.2276456689685802e-01 -9.7885641406111418e+01  4.9999999999999993e+01 -1.9577128281222287e+00 -4.3064759816925795e+00  2.3487631535703515e+00
              294   4.9971488172899761e+01  4.9930696292328932e+01 -4.8478619862819361e-01 -9.7813968558536615e+01  4.9999999999999993e+01 -1.9562793711707327e+00 -4.3113621308062511e+00  2.3550827596355179e+00
              295   5.0004180879725155e+01  4.9997533219867144e+01 -5.1124640847879144e-01 -9.7894806682667252e+01  5.0000000000000014e+01 -1.9578961336533445e+00 -4.3038789756405684e+00  2.3459828419872233e+00
              296   4.9984922308147389e+01  4.9968303938065183e+01 -4.9734452969354020e-01 -9.7181773973763725e+01  4.9999999999999993e+01 -1.9436354794752748e+00 -4.2978106519059498e+00  2.3541751724306756e+00
              297   4.9980835402257142e+01  4.9944034992513473e+01 -4.8538206931203293e-01 -9.8133418545262757e+01  5.0000000000000007e+01 -1.9626683709052548e+00 -4.2991676118907636e+00  2.3364992409855092e+00
              298   5.0002865690905089e+01  4.9999019284109636e+01 -5.1216270626322946e-01 -9.7416520437491471e+01  5.0000000000000007e+01 -1.9483304087498292e+00 -4.2998365015266238e+00  2.3515060927767952e+00
              299   4.9979485988981459e+01  4.9953497467100718e+01 -4.8840592720451487e-01 -9.7425249146521836e+01  4.9999999999999993e+01 -1.9485049829304371e+00 -4.2986608052525339e+00  2.3501558223220966e+00
              300   4.9994253368992943e+01  4.9992979625362167e+01 -5.0593397928713069e-01 -9.7352602453970903e+01  4.9999999999999993e+01 -1.9470520490794185e+00 -4.3038810795633022e+00  2.3568290304838841e+00

Next, we can visualize the data which is by default saved to estimates.0.h5.

from ipie.analysis.extraction import extract_observable
import matplotlib.pyplot as plt
data = extract_observable(qmc_driver.estimators.filename)
plt.plot(data.ETotal, marker='o', label="AFQMC", color="C0")
plt.axhline(-1.969512, label="Exact Result", color="C1")
plt.legend()
plt.xlabel("Block number")
plt.ylabel("Total Energy (Ha)")
Text(0, 0.5, 'Total Energy (Ha)')

png

Through visual inspection, we can determine when the calculation has equilibrated, after which we should be sampling the (approximate) ground state. We can use samples from this point on to estimate the AFQMC energy and error bar. The function reblock_minimal will perform the necessary error analysis taking into account the serial temporal correlation in the AFQMC data.

from ipie.analysis.blocking import reblock_minimal 
reblock_minimal(qmc_driver.estimators.filename, start_block=20)

Note that the number of walkers and the number of blocks is probably too low to obtain statistically significant results and we would advise increasing both of these. For larger scale simulations, we can use MPI to distribute the work among many MPI processes. See ipie for further details.

Next steps

The results presented above are worse than reported in the paper. In practice one needs to:

  1. Carefully converge the trial wavefunction parameters by scanning over multiple random restarts.
  2. Converge the reconstructed shadow wavefunction with respect to: n_cliffords
  3. The AFQMC part of the simulations can be sped up using MPI parallelism. See ipie for more information. The number of walkers should also be increased to obtain better statistics and reduce any population control biases. The number of samples (num_blocks) should also be increased (ETotal_nsamp_ac should be about 100 for statistically significant results.)