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.9036540062626464+0j), max|grad| 0.4055778794357425
energy (-1.2562368588437032-7.888609052210118e-31j), max|grad| 0.4331379130513979
.energy (-1.5679374247963946+1.9721522630525295e-31j), max|grad| 0.18111782362663215
.energy (-1.6837246665467411+0j), max|grad| 0.17092036783044146
.energy (-1.6110669589234137-7.888609052210118e-31j), max|grad| 0.2405987513472548
energy (-1.739072625661004-1.5777218104420236e-30j), max|grad| 0.18367926366417006
.energy (-1.7998087490345531+1.5777218104420236e-30j), max|grad| 0.15176124912908212
.energy (-1.857604827061179+1.1832913578315177e-30j), max|grad| 0.11159886713967881
.energy (-1.8729342965890403+3.1554436208840472e-30j), max|grad| 0.12163928433585955
.energy (-1.8833608675751092+3.944304526105059e-31j), max|grad| 0.04744855668935217
.energy (-1.8915925472404478+4.930380657631324e-32j), max|grad| 0.04346411368173819
.energy (-1.8961503187010251+0j), max|grad| 0.06268423948373358
.energy (-1.8984417758128478+3.944304526105059e-30j), max|grad| 0.029698836620397847
.energy (-1.8994746204928887-7.888609052210118e-31j), max|grad| 0.016201854102026323
.energy (-1.8999572014969193-1.9721522630525295e-31j), max|grad| 0.013304133970136005
.energy (-1.900851151008184+1.5777218104420236e-30j), max|grad| 0.013590539661907838
.energy (-1.9024862069591686-1.5777218104420236e-30j), max|grad| 0.017762858264099513
.energy (-1.905241992824486-1.9721522630525295e-31j), max|grad| 0.03273195822698014
.energy (-1.9077304802944584-7.888609052210118e-31j), max|grad| 0.0643066805484103
.energy (-1.9109588448091532-7.888609052210118e-31j), max|grad| 0.04560207287255662
.energy (-1.9167439088358273-1.5777218104420236e-30j), max|grad| 0.03084796048047171
.energy (-1.924523788392177+0j), max|grad| 0.05417187731077
.energy (-1.9296292702179807-3.944304526105059e-31j), max|grad| 0.0255920293559154
.energy (-1.931176163308261+2.465190328815662e-31j), max|grad| 0.029638055386350583
.energy (-1.9332159148125827+3.944304526105059e-31j), max|grad| 0.016210760885936707
.energy (-1.9334865022844676+0j), max|grad| 0.05061349409232197
energy (-1.9343719716192824-3.944304526105059e-31j), max|grad| 0.019124049518395258
.energy (-1.9355257556500236-4.733165431326071e-30j), max|grad| 0.015830794256315017
.energy (-1.9358387722341863-9.466330862652142e-30j), max|grad| 0.003772567333247434
.energy (-1.9359314607080176+1.5777218104420236e-30j), max|grad| 0.003200160408821543
.energy (-1.9359492683890531+1.5777218104420236e-30j), max|grad| 0.0018919063115872103
.energy (-1.9359611849206129+0j), max|grad| 0.0015724061559810314
.energy (-1.9359718407742763-7.888609052210118e-31j), max|grad| 0.0022002194319455533
.energy (-1.9359908818545568+1.9721522630525295e-31j), max|grad| 0.002799008605095335
.energy (-1.9360254775826826+0j), max|grad| 0.003416200505926901
.energy (-1.9360872529496023+0j), max|grad| 0.0040926248374983445
.energy (-1.9361891445659154+1.5777218104420236e-30j), max|grad| 0.004789327613199851
.energy (-1.9363129739878353+3.944304526105059e-31j), max|grad| 0.006438470223450508
.energy (-1.9364098288065534+0j), max|grad| 0.0044560812908210345
.energy (-1.9365429132708298+0j), max|grad| 0.002123306505370015
.energy (-1.9365688598431614+1.5777218104420236e-30j), max|grad| 0.0005844751423737507
.energy (-1.9365691944256387+1.9721522630525295e-31j), max|grad| 0.0006212048944707801
.energy (-1.936569706581885+7.888609052210118e-31j), max|grad| 0.0003963220024852209
.energy (-1.9365703915501182+0j), max|grad| 0.00035847269519194566
.energy (-1.936571560844051+1.5777218104420236e-30j), max|grad| 0.000587533812317631
.energy (-1.936573645050995-7.888609052210118e-31j), max|grad| 0.0009275529160988616
.energy (-1.936577364857035-3.944304526105059e-31j), max|grad| 0.0012900874728914435
.energy (-1.9365837600804685-1.5777218104420236e-30j), max|grad| 0.0016835767482814012
.energy (-1.936593687084617+3.1554436208840472e-30j), max|grad| 0.0020664330644043494
.energy (-1.9366057394300649+3.1554436208840472e-30j), max|grad| 0.0021710537727195334
.energy (-1.936615749691116+0j), max|grad| 0.0015707204946762698
.energy (-1.9366194954892224+3.944304526105059e-31j), max|grad| 0.0003613985660360161
.energy (-1.936619668065493-1.5777218104420236e-30j), max|grad| 0.00011315080863111222
.energy (-1.9366197270827685+3.944304526105059e-31j), max|grad| 6.430514569663956e-05
.energy (-1.936619745872311+0j), max|grad| 7.331250692358791e-05
.energy (-1.9366197673277465+0j), max|grad| 4.9780819985504635e-05
.energy (-1.936619771527746+0j), max|grad| 2.5640978267011897e-05
.energy (-1.9366197732374273+0j), max|grad| 2.6583681585896304e-05
.energy (-1.936619775144175-3.944304526105059e-31j), max|grad| 2.815727023723727e-05
.energy (-1.9366197785810018+2.9582283945787943e-31j), max|grad| 4.3451473699502944e-05
.energy (-1.936619784952108-6.310887241768095e-30j), max|grad| 6.284554458478063e-05
.energy (-1.9366197968292234-7.888609052210118e-31j), max|grad| 8.77673764834801e-05
.energy (-1.9366198187975385+7.888609052210118e-31j), max|grad| 0.00012194173804053167
.energy (-1.936619858569836+3.944304526105059e-31j), max|grad| 0.00017013402094539763
.energy (-1.936619927604493+1.9721522630525295e-31j), max|grad| 0.00023738780296525522
.energy (-1.936620038047785+0j), max|grad| 0.00032367096112046525
.energy (-1.9366201880994902-7.888609052210118e-31j), max|grad| 0.000398590604044678
.energy (-1.9366203391156134+0j), max|grad| 0.0003802496104528039
.energy (-1.9366205555862317-1.9721522630525295e-31j), max|grad| 0.00023727354088700156
.energy (-1.93662064426751+7.888609052210118e-31j), max|grad| 6.282618760031484e-05
.energy (-1.9366206498975007+0j), max|grad| 1.2027961206590844e-05
.energy (-1.936620650696911-1.232595164407831e-31j), max|grad| 3.602538574806661e-06
.  message: Optimization terminated successfully.
  success: True
   status: 0
      fun: -1.936620650696911
        x: [ 1.529e+00  1.601e+00 ...  1.504e+00  4.454e-01]
      nit: 69
      jac: [ 4.616e-07 -1.193e-06 ...  1.575e-07 -8.276e-08]
 hess_inv: [[ 3.209e-01 -1.605e-02 ... -1.289e-01  3.218e-01]
            [-1.605e-02  2.131e+00 ... -1.185e+00  2.527e+00]
            ...
            [-1.289e-01 -1.185e+00 ...  6.735e+01 -1.023e+02]
            [ 3.218e-01  2.527e+00 ... -1.023e+02  1.811e+02]]
     nfev: 72
     njev: 72
Hartree-Fock Energy:
(-1.7792432698907588+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.936620650696911
        x: [ 1.529e+00  1.601e+00 ...  1.504e+00  4.454e-01]
      nit: 69
      jac: [ 4.616e-07 -1.193e-06 ...  1.575e-07 -8.276e-08]
 hess_inv: [[ 3.209e-01 -1.605e-02 ... -1.289e-01  3.218e-01]
            [-1.605e-02  2.131e+00 ... -1.185e+00  2.527e+00]
            ...
            [-1.289e-01 -1.185e+00 ...  6.735e+01 -1.023e+02]
            [ 3.218e-01  2.527e+00 ... -1.023e+02  1.811e+02]]
     nfev: 72
     njev: 72
--------------------------------------------------------------------------------
Ansatz Energy:
-1.936620650696911
Sector N = 4 : S_z = 0
a'0011'b'0011' (-0.46387401402672185+1.4273521600771666e-16j)
a'0011'b'0101' (-0.49319604870084166-1.9136168344369153e-17j)
a'0011'b'1010' (0.09453242557360372+1.7957098481791167e-18j)
a'0011'b'1100' (0.10050769884662533+9.219106597915805e-17j)
a'0101'b'0011' (0.4932121133812686-8.881648671729692e-17j)
a'0101'b'0101' (0.463872421559459+1.486712229020748e-17j)
a'0101'b'1010' (-0.10051252389229907+7.528428835196221e-18j)
a'0101'b'1100' (-0.09453345931214366-1.056351729179783e-16j)
a'1010'b'0011' (-0.09453244426896946-8.661420105443574e-17j)
a'1010'b'0101' (-0.10050753163692468-1.2307049910426082e-16j)
a'1010'b'1010' (0.04049538320842448+6.36596081838442e-17j)
a'1010'b'1100' (0.04305547875406739+5.445405411308446e-17j)
a'1100'b'0011' (0.10051091749262266+3.42336835962298e-17j)
a'1100'b'0101' (0.09453180697895684+1.1426813271639413e-16j)
a'1100'b'1010' (-0.04305727968107058-3.218725199566341e-17j)
a'1100'b'1100' (-0.04049580295848443-3.4365820736001473e-17j)
Basis Rotation Matrix:
[[-0.0019289 +0.j  0.        +0.j  0.20844642+0.j  0.        +0.j
   0.97799642+0.j  0.        +0.j -0.00832941+0.j  0.        +0.j]
 [ 0.        +0.j -0.0017375 +0.j  0.        +0.j -0.20844971+0.j

   0.        +0.j -0.97801093+0.j  0.        +0.j -0.00635044+0.j]
 [-0.70709082+0.j  0.        +0.j -0.00553341+0.j  0.        +0.j
  -0.00623724+0.j  0.        +0.j -0.70707358+0.j  0.        +0.j]
 [ 0.        +0.j -0.70708361+0.j  0.        +0.j  0.00480579+0.j
   0.        +0.j  0.00482324+0.j  0.        +0.j -0.70709717+0.j]
 [-0.70707664+0.j  0.        +0.j -0.00587992+0.j  0.        +0.j
   0.00588079+0.j  0.        +0.j  0.70708802+0.j  0.        +0.j]
 [ 0.        +0.j  0.70709486+0.j  0.        +0.j -0.00514814+0.j
   0.        +0.j  0.00443232+0.j  0.        +0.j -0.70708607+0.j]
 [-0.00784059+0.j  0.        +0.j  0.97800046+0.j  0.        +0.j
  -0.20844549+0.j  0.        +0.j  0.0020259 +0.j  0.        +0.j]
 [ 0.        +0.j  0.00682626+0.j  0.        +0.j  0.97800773+0.j
   0.        +0.j -0.20845076+0.j  0.        +0.j -0.00160098+0.j]]
Two Body Rotation Parameters:
[1.52877842 1.60143649]

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.9366206506969101
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.8771197610059773
Ideal trial wavefunction energy: -1.9366206506969101
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.8771197610059789

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: 5ae92cb8-4e56-11ef-982f-d38e1b77be85.
# Approximate memory available per node: 117.9093 GB.
# Running on 1 MPI rank.
# Root processor name: kokoro-gcp-ubuntu-prod-91717751
# Python interpreter: 3.10.14 (main, Apr  6 2024, 18:45:05) [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.0 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/scipy.
# Using h5py v3.11.0 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.6486304211856719e+01  5.0000000000000000e+01 -1.9297260842371344e+00 -4.3439319178107807e+00  2.4142058335736465e+00
                1   5.0244433021526227e+01  5.0518752257427458e+01 -5.1480637820760167e-01 -9.6652905727056250e+01  5.0000000000000000e+01 -1.9330581145411250e+00 -4.3381857300472140e+00  2.4051276155060894e+00
                2   4.9972807280258280e+01  5.0051684340535097e+01 -4.7661057457312117e-01 -9.7306249370838216e+01  5.0000000000000000e+01 -1.9461249874167643e+00 -4.3279047904635419e+00  2.3817798030467778e+00
                3   5.0011569797908436e+01  5.0004270514029081e+01 -5.1187080315433597e-01 -9.7466683635212064e+01  5.0000000000000000e+01 -1.9493336727042414e+00 -4.3253085724145119e+00  2.3759748997102701e+00
                4   4.9980812287758617e+01  4.9970432248310928e+01 -4.9087031781689922e-01 -9.7093058373000787e+01  5.0000000000000007e+01 -1.9418611674600155e+00 -4.3194201294640546e+00  2.3775589620040387e+00
                5   4.9994801257979191e+01  4.9974671018004493e+01 -4.8858192685213120e-01 -9.7291505143860149e+01  4.9999999999999993e+01 -1.9458301028772034e+00 -4.3163812727283775e+00  2.3705511698511734e+00
                6   4.9997714843679240e+01  4.9982897100676027e+01 -4.9093194612861435e-01 -9.7702570384311301e+01  5.0000000000000000e+01 -1.9540514076862261e+00 -4.3105616139872316e+00  2.3565102063010057e+00
                7   5.0007412003777311e+01  5.0010881902554814e+01 -5.2110272756451770e-01 -9.7920892213265589e+01  5.0000000000000007e+01 -1.9584178442653115e+00 -4.3055738970701460e+00  2.3471560528048343e+00
                8   4.9990340249783586e+01  4.9987359463221175e+01 -5.0874833941857611e-01 -9.7939553412594009e+01  4.9999999999999993e+01 -1.9587910682518805e+00 -4.3113561595206917e+00  2.3525650912688119e+00
                9   4.9989284850476714e+01  4.9981113754913224e+01 -5.0401472906594535e-01 -9.8272343991398003e+01  5.0000000000000000e+01 -1.9654468798279601e+00 -4.3059263760911684e+00  2.3404794962632081e+00
               10   5.0006358178320419e+01  5.0000626303980788e+01 -5.2611796730746940e-01 -9.7631184136296369e+01  5.0000000000000007e+01 -1.9526236827259271e+00 -4.3057905290930769e+00  2.3531668463671491e+00
               11   4.9980080208327834e+01  4.9964096605766088e+01 -5.0367743464432591e-01 -9.8371913093312045e+01  5.0000000000000007e+01 -1.9674382618662407e+00 -4.3085366075569178e+00  2.3410983456906775e+00
               12   4.9999931899734385e+01  4.9993907539919512e+01 -5.1187500574377109e-01 -9.8353383266319739e+01  5.0000000000000007e+01 -1.9670676653263945e+00 -4.3057810859658598e+00  2.3387134206394653e+00
               13   5.0002668689609855e+01  5.0001259638180855e+01 -5.3646223591769371e-01 -9.9431472724052881e+01  5.0000000000000000e+01 -1.9886294544810577e+00 -4.3027794803378452e+00  2.3141500258567884e+00
               14   4.9998826084908487e+01  5.0010955581072430e+01 -5.4435478942132276e-01 -9.9410765714446455e+01  4.9999999999999993e+01 -1.9882153142889294e+00 -4.3028827996093391e+00  2.3146674853204088e+00
               15   4.9982614072719187e+01  4.9952091922254269e+01 -5.2096698063482472e-01 -9.9252527043186149e+01  5.0000000000000000e+01 -1.9850505408637231e+00 -4.2965557938926713e+00  2.3115052530289479e+00
               16   4.9990789919263214e+01  4.9973016057347245e+01 -5.1743883839537974e-01 -9.8058542763298973e+01  5.0000000000000000e+01 -1.9611708552659795e+00 -4.3036254207795146e+00  2.3424545655135360e+00
               17   4.9993406140505158e+01  4.9998093031710809e+01 -5.2068207003476119e-01 -9.7810171642141242e+01  5.0000000000000007e+01 -1.9562034328428246e+00 -4.3021554895545639e+00  2.3459520567117398e+00
               18   4.9975149496410204e+01  4.9950113481253851e+01 -4.9005677112524687e-01 -9.7999026551365944e+01  5.0000000000000000e+01 -1.9599805310273188e+00 -4.3077444547972137e+00  2.3477639237698940e+00
               19   5.0005774984386633e+01  5.0002251193638394e+01 -5.1313804177993727e-01 -9.8568097918857461e+01  4.9999999999999993e+01 -1.9713619583771496e+00 -4.3020695034048249e+00  2.3307075450276749e+00
               20   4.9994172117768784e+01  4.9998603398869392e+01 -5.2135283528057330e-01 -9.9303299399394447e+01  4.9999999999999993e+01 -1.9860659879878892e+00 -4.3025271929043232e+00  2.3164612049164326e+00
               21   4.9995540539929138e+01  4.9983850213716622e+01 -5.2500069325563015e-01 -9.8654834590312674e+01  4.9999999999999993e+01 -1.9730966918062538e+00 -4.2995162044291737e+00  2.3264195126229197e+00
               22   4.9992854443421258e+01  4.9982982269603099e+01 -5.1687921132475090e-01 -9.9144502635122365e+01  5.0000000000000000e+01 -1.9828900527024473e+00 -4.3027621791634942e+00  2.3198721264610462e+00
               23   5.0009319441491726e+01  5.0022835222962776e+01 -5.5309663422230870e-01 -9.9066684340612824e+01  5.0000000000000014e+01 -1.9813336868122557e+00 -4.2974451120952653e+00  2.3161114252830095e+00
               24   4.9980093422968288e+01  4.9961797472411789e+01 -5.2516615740790895e-01 -9.8614704178847873e+01  4.9999999999999993e+01 -1.9722940835769578e+00 -4.2958739873856251e+00  2.3235799038086671e+00
               25   4.9994903683062134e+01  4.9972682025878377e+01 -5.2523844588952129e-01 -9.9081490738718742e+01  5.0000000000000000e+01 -1.9816298147743749e+00 -4.2918535992767186e+00  2.3102237845023432e+00
               26   4.9988338585215232e+01  4.9976526952484917e+01 -5.0861014546610850e-01 -9.8109548257274014e+01  4.9999999999999993e+01 -1.9621909651454807e+00 -4.2918645320265316e+00  2.3296735668810511e+00
               27   4.9990834245710843e+01  4.9968323566239782e+01 -5.0075093861010833e-01 -9.8091356801530935e+01  5.0000000000000000e+01 -1.9618271360306188e+00 -4.3013358349641511e+00  2.3395086989335319e+00
               28   4.9994738338051661e+01  4.9995865029116914e+01 -5.0860209236027565e-01 -9.8277177526186804e+01  5.0000000000000000e+01 -1.9655435505237362e+00 -4.2968221605064940e+00  2.3312786099827574e+00
               29   4.9985949817534291e+01  4.9977845438003534e+01 -5.0164122066983896e-01 -9.7910038986669960e+01  4.9999999999999986e+01 -1.9582007797334000e+00 -4.2968167838194979e+00  2.3386160040860982e+00
               30   4.9992088035230204e+01  4.9974992199515221e+01 -4.9642837816631497e-01 -9.7666891004924622e+01  4.9999999999999993e+01 -1.9533378200984928e+00 -4.2949670440301464e+00  2.3416292239316534e+00
               31   4.9999109147127797e+01  4.9989536954874019e+01 -5.0482516578482017e-01 -9.7815204467118207e+01  5.0000000000000000e+01 -1.9563040893423642e+00 -4.2969376514438471e+00  2.3406335621014827e+00
               32   4.9994153961190307e+01  4.9984604718905580e+01 -5.0661504752094422e-01 -9.7955232984238819e+01  5.0000000000000000e+01 -1.9591046596847763e+00 -4.2997153493501514e+00  2.3406106896653749e+00
               33   4.9991514971752949e+01  4.9984375601397360e+01 -5.0716369052988741e-01 -9.8745105178634674e+01  5.0000000000000000e+01 -1.9749021035726935e+00 -4.3008548732610317e+00  2.3259527696883384e+00
               34   5.0005343451710843e+01  5.0007976017914935e+01 -5.2625391799734123e-01 -9.8677998903836539e+01  5.0000000000000007e+01 -1.9735599780767306e+00 -4.3031445049409678e+00  2.3295845268642377e+00
               35   4.9987483482274818e+01  4.9969837988969246e+01 -5.1873658005391321e-01 -9.8606628322011517e+01  5.0000000000000000e+01 -1.9721325664402303e+00 -4.2997473824039210e+00  2.3276148159636900e+00
               36   5.0001187662642891e+01  4.9999520789224889e+01 -5.3305344925749043e-01 -9.8884945169526972e+01  5.0000000000000000e+01 -1.9776989033905394e+00 -4.2996832294026843e+00  2.3219843260121444e+00
               37   4.9996728645970023e+01  4.9980649840040954e+01 -5.4874925863802115e-01 -9.9085777205666034e+01  5.0000000000000007e+01 -1.9817155441133203e+00 -4.3046448663534180e+00  2.3229293222400975e+00
               38   4.9972114622055251e+01  4.9941646087335798e+01 -5.2003119158406641e-01 -9.8106305002082536e+01  4.9999999999999993e+01 -1.9621261000416510e+00 -4.2945608581513106e+00  2.3324347581096605e+00
               39   4.9970077517447670e+01  4.9927005849015316e+01 -4.8912682438156091e-01 -9.7307242569890576e+01  5.0000000000000000e+01 -1.9461448513978115e+00 -4.2983826499856130e+00  2.3522377985878014e+00
               40   4.9984798679077066e+01  4.9964407152996500e+01 -4.8364990011021813e-01 -9.7628783127418956e+01  4.9999999999999993e+01 -1.9525756625483794e+00 -4.2909079773365848e+00  2.3383323147882056e+00
               41   5.0002817671263109e+01  4.9994492967842426e+01 -5.0508991816654092e-01 -9.7500963497122456e+01  5.0000000000000000e+01 -1.9500192699424492e+00 -4.2878538598015012e+00  2.3378345898590527e+00
               42   4.9983261243722666e+01  4.9978116803825117e+01 -4.9634996104922396e-01 -9.8201524175817525e+01  4.9999999999999986e+01 -1.9640304835163511e+00 -4.2890164565715265e+00  2.3249859730551754e+00
               43   4.9989907079051036e+01  4.9965312670885233e+01 -5.1718279786077492e-01 -9.9065492969261641e+01  5.0000000000000000e+01 -1.9813098593852330e+00 -4.2871956514757477e+00  2.3058857920905136e+00
               44   4.9979733625939808e+01  4.9957198905089570e+01 -5.1111308540915890e-01 -9.9770971795969913e+01  5.0000000000000007e+01 -1.9954194359193980e+00 -4.2858514765313318e+00  2.2904320406119343e+00
               45   5.0001137715686482e+01  4.9999105411916105e+01 -5.4990749245363257e-01 -9.8214313065470591e+01  5.0000000000000000e+01 -1.9642862613094119e+00 -4.2673307042056887e+00  2.3030444428962764e+00
               46   4.9968303815968305e+01  4.9939032359966312e+01 -5.0597273389972841e-01 -9.7727974749258323e+01  5.0000000000000000e+01 -1.9545594949851666e+00 -4.2724118330428338e+00  2.3178523380576674e+00
               47   4.9989647849696269e+01  4.9960145165269935e+01 -5.1228695518120737e-01 -9.8064320941732163e+01  5.0000000000000000e+01 -1.9612864188346433e+00 -4.2754579625933893e+00  2.3141715437587456e+00
               48   4.9968121965935524e+01  4.9927904951511465e+01 -4.7888588196985254e-01 -9.8404043573638447e+01  4.9999999999999993e+01 -1.9680808714727693e+00 -4.2691965680761950e+00  2.3011156966034259e+00
               49   5.0007235987444496e+01  4.9985935774255921e+01 -5.3140371824493304e-01 -9.8418368154648476e+01  5.0000000000000007e+01 -1.9683673630929692e+00 -4.2850431330814338e+00  2.3166757699884637e+00
               50   4.9972003652065872e+01  4.9951637622924835e+01 -4.9688435651628687e-01 -9.7833249896830921e+01  4.9999999999999993e+01 -1.9566649979366189e+00 -4.2835571032012876e+00  2.3268921052646694e+00
               51   4.9997581891445328e+01  4.9980594651564161e+01 -5.1205763864560061e-01 -9.7785148149689803e+01  4.9999999999999993e+01 -1.9557029629937965e+00 -4.2881573281289151e+00  2.3324543651351184e+00
               52   4.9992032836582148e+01  4.9982206447638760e+01 -5.1074038277237055e-01 -9.8655261931863677e+01  5.0000000000000000e+01 -1.9731052386372736e+00 -4.2920465284811664e+00  2.3189412898438930e+00
               53   4.9996290299346455e+01  4.9985303789560234e+01 -5.1824853011844296e-01 -9.8341451848206660e+01  5.0000000000000007e+01 -1.9668290369641328e+00 -4.2928210011802808e+00  2.3259919642161475e+00
               54   4.9991606277857208e+01  4.9979729220872684e+01 -5.0951119766629382e-01 -9.8604618796569909e+01  4.9999999999999993e+01 -1.9720923759313986e+00 -4.2951650214573265e+00  2.3230726455259276e+00
               55   4.9997363924445693e+01  4.9988912601911778e+01 -5.2881791547180812e-01 -9.7862401156189819e+01  5.0000000000000007e+01 -1.9572480231237961e+00 -4.2918702034409861e+00  2.3346221803171905e+00
               56   4.9985359001236603e+01  4.9967422992230176e+01 -5.1410716252879973e-01 -9.7157112317674333e+01  5.0000000000000000e+01 -1.9431422463534866e+00 -4.2958252205031702e+00  2.3526829741496829e+00
               57   4.9984607907558321e+01  4.9964583393487715e+01 -5.0282312718489797e-01 -9.7397841165641537e+01  5.0000000000000000e+01 -1.9479568233128308e+00 -4.2958497585998785e+00  2.3478929352870468e+00
               58   4.9992629206006825e+01  4.9978066628968456e+01 -5.0730141241428350e-01 -9.7711132597317643e+01  5.0000000000000007e+01 -1.9542226519463526e+00 -4.2987761778398443e+00  2.3445535258934922e+00
               59   4.9992029831290502e+01  4.9964195642676152e+01 -4.9425369440635458e-01 -9.8192915504318151e+01  5.0000000000000007e+01 -1.9638583100863627e+00 -4.3075882372323004e+00  2.3437299271459380e+00
               60   4.9992138835421315e+01  4.9990209979425288e+01 -5.0508199469782900e-01 -9.8312867660237941e+01  5.0000000000000000e+01 -1.9662573532047589e+00 -4.3086170296972677e+00  2.3423596764925088e+00
               61   4.9990278267536532e+01  4.9981724486280541e+01 -5.0894823248503185e-01 -9.7881327263021262e+01  5.0000000000000007e+01 -1.9576265452604249e+00 -4.3107771590361317e+00  2.3531506137757070e+00
               62   4.9990243742754878e+01  4.9975161919771502e+01 -4.9921792292528344e-01 -9.7410251423934440e+01  5.0000000000000007e+01 -1.9482050284786885e+00 -4.3148717804293808e+00  2.3666667519506923e+00
               63   4.9987261585723928e+01  4.9968155369490439e+01 -4.8100254976103402e-01 -9.7509913754022790e+01  5.0000000000000014e+01 -1.9501982750804552e+00 -4.3145299841071623e+00  2.3643317090267080e+00
               64   4.9995055986695981e+01  4.9992379771553772e+01 -5.0256704558046261e-01 -9.7980891878867240e+01  5.0000000000000000e+01 -1.9596178375773448e+00 -4.3142900253213785e+00  2.3546721877440326e+00
               65   4.9997443095946295e+01  4.9989777531798282e+01 -5.1116393337860633e-01 -9.8291606598442485e+01  4.9999999999999993e+01 -1.9658321319688501e+00 -4.3070873334834676e+00  2.3412552015146182e+00
               66   4.9997759850604943e+01  4.9997938912516048e+01 -5.1665803226846096e-01 -9.8019806819913612e+01  4.9999999999999993e+01 -1.9603961363982727e+00 -4.3088209697398376e+00  2.3484248333415652e+00
               67   4.9976425830404416e+01  4.9943655026557785e+01 -4.9057348763864256e-01 -9.8106318382432960e+01  5.0000000000000000e+01 -1.9621263676486593e+00 -4.3104726203639183e+00  2.3483462527152597e+00
               68   5.0004814827204349e+01  4.9998180623427857e+01 -5.1222429004697123e-01 -9.8213729082116132e+01  4.9999999999999993e+01 -1.9642745816423230e+00 -4.3105461905834508e+00  2.3462716089411275e+00
               69   4.9989958303424011e+01  4.9968661120825622e+01 -5.0270966013334384e-01 -9.7937576991496556e+01  5.0000000000000000e+01 -1.9587515398299311e+00 -4.3088894581555772e+00  2.3501379183256459e+00
               70   4.9984101267435108e+01  4.9977032339146128e+01 -4.9663344905164730e-01 -9.7672220534896041e+01  5.0000000000000014e+01 -1.9534444106979203e+00 -4.3085630676095921e+00  2.3551186569116718e+00
               71   4.9999136913727781e+01  4.9979757776289951e+01 -5.1151310025085672e-01 -9.7717293055771236e+01  5.0000000000000007e+01 -1.9543458611154245e+00 -4.3075945415062060e+00  2.3532486803907822e+00
               72   4.9976509798777855e+01  4.9961477549639952e+01 -4.8509272824975225e-01 -9.7720032227158455e+01  5.0000000000000007e+01 -1.9544006445431688e+00 -4.3124202642236531e+00  2.3580196196804843e+00
               73   4.9995904614672220e+01  4.9986964016060547e+01 -4.9538898545647997e-01 -9.8081181283919406e+01  5.0000000000000007e+01 -1.9616236256783879e+00 -4.3124166328130373e+00  2.3507930071346492e+00
               74   4.9995004594463801e+01  4.9986202947742925e+01 -5.0127652598818484e-01 -9.7945560946365489e+01  5.0000000000000007e+01 -1.9589112189273095e+00 -4.3097052118946797e+00  2.3507939929673700e+00
               75   4.9999786682319076e+01  4.9985804712702134e+01 -5.1837322289352483e-01 -9.7574870049644801e+01  4.9999999999999993e+01 -1.9514974009928965e+00 -4.3029651689007284e+00  2.3514677679078324e+00
               76   4.9983923073214619e+01  4.9965023845088815e+01 -4.9615237804738715e-01 -9.7361123357975373e+01  5.0000000000000000e+01 -1.9472224671595075e+00 -4.3010404720996727e+00  2.3538180049401660e+00
               77   4.9994498414318869e+01  4.9974661746155064e+01 -5.0348812865096337e-01 -9.7165736283683714e+01  5.0000000000000000e+01 -1.9433147256736742e+00 -4.2963248831616800e+00  2.3530101574880051e+00
               78   4.9988085809994963e+01  4.9973803555206160e+01 -5.0637783408896642e-01 -9.7514402899425491e+01  4.9999999999999986e+01 -1.9502880579885105e+00 -4.2926125546538083e+00  2.3423244966652974e+00
               79   4.9982739925495423e+01  4.9962750599162874e+01 -4.8175447926146930e-01 -9.7720084026483789e+01  5.0000000000000007e+01 -1.9544016805296756e+00 -4.2912618300927372e+00  2.3368601495630612e+00
               80   4.9988248469848934e+01  4.9969938714125362e+01 -4.8523378490738950e-01 -9.7121004466526003e+01  5.0000000000000000e+01 -1.9424200893305201e+00 -4.2926199154765401e+00  2.3501998261460195e+00
               81   4.9992494866579399e+01  4.9982341374234259e+01 -4.9246795325644421e-01 -9.7145090659300820e+01  4.9999999999999993e+01 -1.9429018131860167e+00 -4.2907870042755905e+00  2.3478851910895746e+00
               82   4.9988239030583458e+01  4.9973665167484342e+01 -4.8065331791251076e-01 -9.7196091343192379e+01  4.9999999999999986e+01 -1.9439218268638483e+00 -4.2912486729983010e+00  2.3473268461344530e+00
               83   5.0000186239561060e+01  4.9992134792530997e+01 -5.0195659715469543e-01 -9.7382251689598235e+01  4.9999999999999993e+01 -1.9476450337919651e+00 -4.2943460264994853e+00  2.3467009927075200e+00
               84   4.9990239051168032e+01  4.9977284589677396e+01 -4.9645661308595052e-01 -9.7585497284135826e+01  5.0000000000000000e+01 -1.9517099456827165e+00 -4.2877967676409856e+00  2.3360868219582698e+00
               85   4.9995848535428408e+01  4.9964588380678244e+01 -5.0078305049800065e-01 -9.7380193536886409e+01  5.0000000000000007e+01 -1.9476038707377279e+00 -4.2771155196760766e+00  2.3295116489383494e+00
               86   4.9986702731441255e+01  4.9974022996270243e+01 -5.0168644960656172e-01 -9.8196848075077867e+01  5.0000000000000007e+01 -1.9639369615015569e+00 -4.2907184150211979e+00  2.3267814535196409e+00
               87   4.9984222767252234e+01  4.9959539816213436e+01 -4.9820195033393477e-01 -9.8313374599021714e+01  4.9999999999999986e+01 -1.9662674919804350e+00 -4.2869020534508024e+00  2.3206345614703663e+00
               88   4.9994098055455900e+01  4.9972883080733574e+01 -5.0801971461134710e-01 -9.8257486751156804e+01  5.0000000000000000e+01 -1.9651497350231362e+00 -4.2766560115059953e+00  2.3115062764828584e+00
               89   4.9996883745641973e+01  4.9995594527199209e+01 -5.4872013647633611e-01 -9.8400276408222794e+01  5.0000000000000014e+01 -1.9680055281644553e+00 -4.2866253759743200e+00  2.3186198478098654e+00
               90   4.9968526726223466e+01  4.9924541135068274e+01 -5.3294531561396197e-01 -9.9293396395619141e+01  5.0000000000000007e+01 -1.9858679279123825e+00 -4.2972221257974432e+00  2.3113541978850609e+00
               91   4.9966865685666420e+01  4.9921775726189018e+01 -5.2281771243510244e-01 -9.8431980134290569e+01  5.0000000000000000e+01 -1.9686396026858115e+00 -4.2973949000851794e+00  2.3287552973993684e+00
               92   4.9991049763686476e+01  4.9969301921394930e+01 -5.2760205038229213e-01 -9.9315157161961011e+01  4.9999999999999993e+01 -1.9863031432392206e+00 -4.2868946153237619e+00  2.3005914720845406e+00
               93   4.9995661610435128e+01  4.9982891005563637e+01 -5.3872557638441254e-01 -9.8236433541553694e+01  5.0000000000000014e+01 -1.9647286708310732e+00 -4.2874066639986133e+00  2.3226779931675394e+00
               94   4.9968485054427738e+01  4.9929329339332298e+01 -5.0744122696153882e-01 -9.7898525713292358e+01  4.9999999999999993e+01 -1.9579705142658475e+00 -4.2879202763743081e+00  2.3299497621084608e+00
               95   4.9973241782327662e+01  4.9928252003594920e+01 -5.2356694481140953e-01 -9.8164528904650837e+01  5.0000000000000014e+01 -1.9632905780930161e+00 -4.2848685684707846e+00  2.3215779903777682e+00
               96   4.9966557418267392e+01  4.9925274254911010e+01 -5.2331110163251271e-01 -9.7892685710778139e+01  5.0000000000000007e+01 -1.9578537142155625e+00 -4.2837026639028766e+00  2.3258489496873143e+00
               97   4.9978663385925387e+01  4.9959743995982571e+01 -5.3264755554880072e-01 -9.8223092433494884e+01  5.0000000000000000e+01 -1.9644618486698977e+00 -4.2890751943990182e+00  2.3246133457291216e+00
               98   4.9979519760496480e+01  4.9951324297802003e+01 -5.1718749443226852e-01 -9.8368191544067770e+01  5.0000000000000007e+01 -1.9673638308813550e+00 -4.2843339988766544e+00  2.3169701679952985e+00
               99   4.9990630431489897e+01  4.9973673404741739e+01 -5.2346076775927075e-01 -9.9279984252466164e+01  5.0000000000000007e+01 -1.9855996850493229e+00 -4.2906408747159954e+00  2.3050411896666718e+00
              100   4.9988577176621810e+01  4.9976200696237164e+01 -5.3335384348250037e-01 -9.9542925266069375e+01  5.0000000000000007e+01 -1.9908585053213872e+00 -4.2927434355964458e+00  2.3018849302750581e+00
              101   4.9966703003888128e+01  4.9923072901112540e+01 -5.3613278178615509e-01 -9.8307187872387331e+01  4.9999999999999993e+01 -1.9661437574477469e+00 -4.2994461467893634e+00  2.3333023893416165e+00
              102   4.9972056214490117e+01  4.9941140273123054e+01 -5.0892470124825218e-01 -9.8785772687368933e+01  5.0000000000000000e+01 -1.9757154537473787e+00 -4.2997404895729749e+00  2.3240250358255974e+00
              103   4.9991412452059926e+01  4.9975650560489598e+01 -5.1692396830076814e-01 -9.8385448624897819e+01  5.0000000000000000e+01 -1.9677089724979564e+00 -4.3027225556078497e+00  2.3350135831098924e+00
              104   4.9991828165505780e+01  4.9966840083200296e+01 -5.1995868439653981e-01 -9.9080671124464857e+01  5.0000000000000000e+01 -1.9816134224892972e+00 -4.3044715276047585e+00  2.3228581051154604e+00
              105   4.9985563981896064e+01  4.9970799939271387e+01 -5.2223069372913111e-01 -9.8318342103103561e+01  4.9999999999999993e+01 -1.9663668420620717e+00 -4.2951259247588274e+00  2.3287590826967559e+00
              106   4.9986348632618260e+01  4.9960261598987252e+01 -5.1204440660311190e-01 -9.8278478450418845e+01  4.9999999999999993e+01 -1.9655695690083772e+00 -4.3000100577291178e+00  2.3344404887207406e+00
              107   4.9984572734902763e+01  4.9972030861272586e+01 -5.1706669251003523e-01 -9.9683065310505313e+01  5.0000000000000000e+01 -1.9936613062101063e+00 -4.3062573101237342e+00  2.3125960039136273e+00
              108   4.9965583517197039e+01  4.9930187742137058e+01 -5.0942777610982459e-01 -9.8173418976206023e+01  5.0000000000000000e+01 -1.9634683795241206e+00 -4.3008680315861207e+00  2.3373996520620004e+00
              109   4.9994649528429321e+01  4.9972146473168870e+01 -5.1059044683596122e-01 -9.8061805939784776e+01  5.0000000000000000e+01 -1.9612361187956955e+00 -4.3002967156578578e+00  2.3390605968621623e+00
              110   4.9969123815887954e+01  4.9920427108008383e+01 -5.0337233241479740e-01 -9.7614569346473942e+01  5.0000000000000000e+01 -1.9522913869294789e+00 -4.2981580806885571e+00  2.3458666937590786e+00
              111   4.9982185712338044e+01  4.9957991495266370e+01 -4.9533085143523348e-01 -9.8148734174839916e+01  5.0000000000000000e+01 -1.9629746834967983e+00 -4.2988208601165523e+00  2.3358461766197540e+00
              112   4.9977820475347116e+01  4.9943317784583883e+01 -5.1026041507855402e-01 -9.8235177437531121e+01  5.0000000000000000e+01 -1.9647035487506224e+00 -4.3025418743364350e+00  2.3378383255858131e+00
              113   4.9994069623370116e+01  4.9986215979200914e+01 -5.1610232291650937e-01 -9.8522675596185749e+01  5.0000000000000000e+01 -1.9704535119237150e+00 -4.3087375334934528e+00  2.3382840215697374e+00
              114   4.9980783608504936e+01  4.9965814355685168e+01 -5.1702962568128563e-01 -9.8745419242750572e+01  5.0000000000000000e+01 -1.9749083848550115e+00 -4.3007390873820501e+00  2.3258307025270391e+00
              115   4.9992548541661428e+01  4.9977449505787149e+01 -5.3063154024818304e-01 -9.8356607130916316e+01  5.0000000000000000e+01 -1.9671321426183264e+00 -4.2865469135762639e+00  2.3194147709579371e+00
              116   4.9980633142533478e+01  4.9963278196008943e+01 -5.2014107777295215e-01 -9.8409999909089436e+01  5.0000000000000007e+01 -1.9681999981817884e+00 -4.2839306100529777e+00  2.3157306118711882e+00
              117   4.9996183533263888e+01  4.9980507436174669e+01 -5.2925527118375104e-01 -9.8102857836199192e+01  5.0000000000000000e+01 -1.9620571567239840e+00 -4.2912089298672429e+00  2.3291517731432587e+00
              118   4.9978401304330802e+01  4.9956815171233487e+01 -5.1069437645223914e-01 -9.8227200990869079e+01  5.0000000000000000e+01 -1.9645440198173816e+00 -4.2979382002928377e+00  2.3333941804754557e+00
              119   4.9987658891992282e+01  4.9963898978494925e+01 -4.9672646305697737e-01 -9.7645264808616929e+01  4.9999999999999993e+01 -1.9529052961723390e+00 -4.3031003496075959e+00  2.3501950534352560e+00
              120   5.0002596577987262e+01  4.9991692671462722e+01 -5.1430169206336784e-01 -9.8491013343035348e+01  5.0000000000000007e+01 -1.9698202668607068e+00 -4.3125463867285703e+00  2.3427261198678639e+00
              121   4.9990829927392937e+01  4.9981755090958885e+01 -5.1386794345009534e-01 -9.8201382058900563e+01  5.0000000000000000e+01 -1.9640276411780113e+00 -4.3086832462229170e+00  2.3446556050449057e+00
              122   4.9992785766753272e+01  4.9992609932779267e+01 -5.2110044243682418e-01 -9.8729136059089740e+01  5.0000000000000007e+01 -1.9745827211817946e+00 -4.3145278275723618e+00  2.3399451063905667e+00
              123   4.9988572520434985e+01  4.9989363350107126e+01 -5.2450661064096193e-01 -9.8803769466701766e+01  5.0000000000000000e+01 -1.9760753893340353e+00 -4.3190346675902695e+00  2.3429592782562341e+00
              124   4.9990809171341930e+01  4.9961340061082431e+01 -5.2303671588349387e-01 -9.9325638643012638e+01  4.9999999999999993e+01 -1.9865127728602532e+00 -4.3136367201667509e+00  2.3271239473064980e+00
              125   5.0001050684930071e+01  5.0006704741201254e+01 -5.4450269689745712e-01 -9.9122012274196095e+01  5.0000000000000007e+01 -1.9824402454839216e+00 -4.3131620921735756e+00  2.3307218466896549e+00
              126   4.9983986807619949e+01  4.9943623908082316e+01 -5.2120862884113062e-01 -9.9514390124194279e+01  5.0000000000000000e+01 -1.9902878024838857e+00 -4.3134193625160542e+00  2.3231315600321687e+00
              127   4.9997333592086193e+01  4.9975464268354116e+01 -5.3358253270765410e-01 -9.9242007992792423e+01  5.0000000000000007e+01 -1.9848401598558483e+00 -4.3058130823165248e+00  2.3209729224606770e+00
              128   4.9989060146856275e+01  4.9984843467235464e+01 -5.3637226509945468e-01 -9.9186775087158125e+01  5.0000000000000007e+01 -1.9837355017431622e+00 -4.3115028767285803e+00  2.3277673749854180e+00
              129   4.9996936119447518e+01  4.9985781957406708e+01 -5.3995456509877859e-01 -9.8291745837954238e+01  5.0000000000000000e+01 -1.9658349167590847e+00 -4.3092255705070919e+00  2.3433906537480080e+00
              130   4.9982526502889158e+01  4.9952408960049581e+01 -5.2021976122896341e-01 -9.9077202997874949e+01  4.9999999999999993e+01 -1.9815440599574994e+00 -4.3049420482542322e+00  2.3233979882967333e+00
              131   5.0006809758438237e+01  4.9997362304479928e+01 -5.5265806955392904e-01 -1.0045865076591855e+02  5.0000000000000000e+01 -2.0091730153183711e+00 -4.3135146033152907e+00  2.3043415879969191e+00
              132   4.9985998246946117e+01  4.9985196074648023e+01 -5.4224301861778790e-01 -1.0022071379566061e+02  5.0000000000000000e+01 -2.0044142759132124e+00 -4.3053704991397437e+00  2.3009562232265313e+00
              133   4.9989559301429708e+01  4.9973711296906835e+01 -5.4317363007132036e-01 -1.0023125728063302e+02  5.0000000000000007e+01 -2.0046251456126600e+00 -4.2990007421867107e+00  2.2943755965740502e+00
              134   4.9998094977685177e+01  4.9984967087278029e+01 -5.5102406034261253e-01 -1.0020395163444650e+02  5.0000000000000000e+01 -2.0040790326889302e+00 -4.3011587239684914e+00  2.2970796912795608e+00
              135   4.9995241307987911e+01  5.0780670010914072e+01 -5.6041017700842066e-01 -9.9745742917900131e+01  5.0000000000000000e+01 -1.9949148583580028e+00 -4.3050354195662681e+00  2.3101205612082656e+00
              136   4.9979668220222806e+01  4.9944881232635900e+01 -5.3750168637939844e-01 -1.0000628282994226e+02  5.0000000000000007e+01 -2.0001256565988448e+00 -4.2973536741060352e+00  2.2972280175071900e+00
              137   4.9992344019064042e+01  4.9977908944279719e+01 -5.4247806980828228e-01 -9.8858065787858251e+01  5.0000000000000000e+01 -1.9771613157571650e+00 -4.2769787283497527e+00  2.2998174125925877e+00
              138   4.9968893896572965e+01  4.9932546344746640e+01 -5.2139511468824085e-01 -9.9462472902424352e+01  5.0000000000000000e+01 -1.9892494580484872e+00 -4.2849690268165244e+00  2.2957195687680376e+00
              139   4.9998672277505328e+01  4.9997792923239267e+01 -5.5408635335347511e-01 -9.9820916987127461e+01  5.0000000000000000e+01 -1.9964183397425492e+00 -4.2869488230459245e+00  2.2905304833033759e+00
              140   4.9979782575277426e+01  4.9968876541025182e+01 -5.5615842688222406e-01 -9.9196467811723309e+01  5.0000000000000014e+01 -1.9839293562344655e+00 -4.2845304952456313e+00  2.3006011390111669e+00
              141   4.9978512883050144e+01  4.9934636208778201e+01 -5.3477618252051307e-01 -9.9143112356338492e+01  5.0000000000000007e+01 -1.9828622471267696e+00 -4.2838457472404272e+00  2.3009835001136580e+00
              142   4.9984514754640578e+01  4.9959953312387533e+01 -5.4105541461701734e-01 -9.8546335648589150e+01  5.0000000000000000e+01 -1.9709267129717831e+00 -4.2888827924365147e+00  2.3179560794647318e+00
              143   4.9965919677166013e+01  4.9936343103818018e+01 -5.0994060826329446e-01 -9.8458364369784832e+01  5.0000000000000000e+01 -1.9691672873956967e+00 -4.2857436324058744e+00  2.3165763450101782e+00
              144   4.9995865231329702e+01  4.9958660653637182e+01 -5.2790181159599847e-01 -9.8645837617816682e+01  5.0000000000000000e+01 -1.9729167523563336e+00 -4.2799543694031090e+00  2.3070376170467752e+00
              145   4.9977448757910928e+01  4.9943809254476314e+01 -5.2221307570898690e-01 -9.9185738740941886e+01  5.0000000000000007e+01 -1.9837147748188375e+00 -4.2781484201976987e+00  2.2944336453788621e+00
              146   4.9973049846646035e+01  4.9935518016996191e+01 -5.1272558505246246e-01 -9.9614477656361245e+01  4.9999999999999993e+01 -1.9922895531272253e+00 -4.2679675535607355e+00  2.2756780004335107e+00
              147   4.9991055354154341e+01  4.9958826856099613e+01 -5.5178471594087142e-01 -9.9624088063321267e+01  5.0000000000000007e+01 -1.9924817612664250e+00 -4.2818907049100989e+00  2.2894089436436733e+00
              148   4.9971998468392883e+01  4.9928285670759017e+01 -5.1751368764507855e-01 -9.9455951338128315e+01  4.9999999999999986e+01 -1.9891190267625671e+00 -4.2985535235769330e+00  2.3094344968143652e+00
              149   5.0008318612917101e+01  4.9995284129227741e+01 -5.6222343784718110e-01 -9.9826869036027560e+01  5.0000000000000000e+01 -1.9965373807205513e+00 -4.3013282889950606e+00  2.3047909082745095e+00
              150   4.9977309468152910e+01  4.9950231302815602e+01 -5.4787899919805627e-01 -9.9727207380838479e+01  5.0000000000000000e+01 -1.9945441476167696e+00 -4.2985485461078081e+00  2.3040043984910388e+00
              151   4.9992799712290179e+01  4.9981922763697121e+01 -5.6948685569444057e-01 -9.9661424844097070e+01  4.9999999999999993e+01 -1.9932284968819418e+00 -4.3075834997537781e+00  2.3143550028718360e+00
              152   4.9947482607950782e+01  4.9854377559070272e+01 -5.2786337038062436e-01 -9.9624741524570069e+01  5.0000000000000000e+01 -1.9924948304914014e+00 -4.3024240449433320e+00  2.3099292144519303e+00
              153   4.9985621364446679e+01  4.9940183536550421e+01 -5.2396878752926113e-01 -1.0006825875230849e+02  4.9999999999999993e+01 -2.0013651750461703e+00 -4.2978062117136488e+00  2.2964410366674781e+00
              154   4.9968202940719749e+01  4.9922557075190362e+01 -5.1584142471998773e-01 -9.8631135204806412e+01  5.0000000000000000e+01 -1.9726227040961284e+00 -4.3076164638217387e+00  2.3349937597256103e+00
              155   4.9940461044211254e+01  5.0260465721686209e+01 -4.7296476393048570e-01 -9.7015115239019494e+01  4.9999999999999993e+01 -1.9403023047803902e+00 -4.3016527230115198e+00  2.3613504182311300e+00
              156   4.9992002359685003e+01  4.9973024837869310e+01 -4.8254927840363698e-01 -9.7097989924542759e+01  5.0000000000000000e+01 -1.9419597984908552e+00 -4.3053701663711452e+00  2.3634103678802894e+00
              157   4.9983583081837082e+01  4.9976299128208638e+01 -4.8320068658420423e-01 -9.6457489206957348e+01  5.0000000000000000e+01 -1.9291497841391470e+00 -4.2986110608309467e+00  2.3694612766917991e+00
              158   4.9989939238063116e+01  4.9971929554775805e+01 -4.9388399529356503e-01 -9.6842456152264916e+01  5.0000000000000000e+01 -1.9368491230452984e+00 -4.2984826824268190e+00  2.3616335593815201e+00
              159   4.9985657992248193e+01  4.9961459537302282e+01 -4.8859065010811642e-01 -9.6683715990628542e+01  5.0000000000000000e+01 -1.9336743198125710e+00 -4.2981515771234857e+00  2.3644772573109143e+00
              160   4.9977061990720472e+01  4.9941078364257173e+01 -4.6304509702895597e-01 -9.7040225478243812e+01  5.0000000000000000e+01 -1.9408045095648763e+00 -4.2981460686266786e+00  2.3573415590618025e+00
              161   5.0005880456443464e+01  4.9997802282855282e+01 -5.0052217177018787e-01 -9.7610242549271888e+01  5.0000000000000000e+01 -1.9522048509854377e+00 -4.2963658018726845e+00  2.3441609508872463e+00
              162   4.9991837572160264e+01  4.9984678457244136e+01 -5.0442067370347698e-01 -9.8342038922514888e+01  4.9999999999999986e+01 -1.9668407784502986e+00 -4.2945193133820130e+00  2.3276785349317142e+00
              163   4.9990756466431449e+01  4.9993507297924452e+01 -5.2680467476554704e-01 -9.7885226662402573e+01  5.0000000000000000e+01 -1.9577045332480516e+00 -4.2946040692682104e+00  2.3368995360201583e+00
              164   4.9971939305677878e+01  4.9932202411277011e+01 -4.9890270523964059e-01 -9.8207633137056007e+01  5.0000000000000007e+01 -1.9641526627411199e+00 -4.2929975886156972e+00  2.3288449258745767e+00
              165   4.9993499072876183e+01  4.9972653222918701e+01 -5.1680082079763245e-01 -9.8278202026149145e+01  5.0000000000000000e+01 -1.9655640405229831e+00 -4.2790125994219217e+00  2.3134485588989384e+00
              166   4.9985700507590273e+01  4.9967290218829660e+01 -5.1780366543191980e-01 -9.9154495813667666e+01  5.0000000000000000e+01 -1.9830899162733533e+00 -4.2978870522116539e+00  2.3147971359383002e+00
              167   4.9985362902802230e+01  4.9976265686731359e+01 -5.2211382282749297e-01 -9.8705542781011303e+01  4.9999999999999986e+01 -1.9741108556202267e+00 -4.2962120702765425e+00  2.3221012146563154e+00
              168   4.9991447492926731e+01  4.9975630846458735e+01 -5.2645579770482531e-01 -9.9149053674793734e+01  5.0000000000000007e+01 -1.9829810734958744e+00 -4.3050375418504583e+00  2.3220564683545843e+00
              169   4.9991729391802039e+01  4.9968051948664062e+01 -5.2346310241604621e-01 -9.8705917432254537e+01  4.9999999999999993e+01 -1.9741183486450911e+00 -4.3063039571512025e+00  2.3321856085061108e+00
              170   4.9983865463654929e+01  4.9975468964392512e+01 -5.2605487631465808e-01 -9.8352250182386740e+01  5.0000000000000007e+01 -1.9670450036477345e+00 -4.2944813292942943e+00  2.3274363256465609e+00
              171   4.9983644629550106e+01  4.9970599379075693e+01 -5.1970145656761157e-01 -9.7843958839921740e+01  5.0000000000000000e+01 -1.9568791767984348e+00 -4.2878932668972913e+00  2.3310140900988570e+00
              172   4.9993938112767523e+01  4.9970100496399446e+01 -5.2163435658973878e-01 -9.8351626014829932e+01  4.9999999999999993e+01 -1.9670325202965990e+00 -4.2987641524015521e+00  2.3317316321049533e+00
              173   4.9982314335246024e+01  4.9946283545377312e+01 -5.0093430241203696e-01 -9.8889393228364341e+01  4.9999999999999993e+01 -1.9777878645672873e+00 -4.3052131444104047e+00  2.3274252798431179e+00
              174   4.9997328850236819e+01  4.9994234483884533e+01 -5.2643601059252776e-01 -9.9106848384821006e+01  4.9999999999999993e+01 -1.9821369676964204e+00 -4.2993772337594720e+00  2.3172402660630520e+00
              175   4.9991028561311403e+01  4.9986821424137524e+01 -5.3588991756316640e-01 -9.9638015908070344e+01  5.0000000000000014e+01 -1.9927603181614062e+00 -4.3022178595854754e+00  2.3094575414240688e+00
              176   4.9995085467438550e+01  4.9983489105361663e+01 -5.6507096350957575e-01 -9.9424675979726132e+01  5.0000000000000000e+01 -1.9884935195945226e+00 -4.2929972758532564e+00  2.3045037562587334e+00
              177   4.9969227388540389e+01  4.9927372821746225e+01 -5.3784628055284522e-01 -9.9387304955184831e+01  4.9999999999999993e+01 -1.9877460991036970e+00 -4.2949755243245447e+00  2.3072294252208483e+00
              178   4.9984340508897958e+01  4.9964910412695588e+01 -5.4347026529631171e-01 -9.9860794863349710e+01  4.9999999999999993e+01 -1.9972158972669947e+00 -4.3020944616639909e+00  2.3048785643969967e+00
              179   4.9987207440286220e+01  4.9971925569311715e+01 -5.4653301285761269e-01 -9.9242919222823616e+01  4.9999999999999993e+01 -1.9848583844564727e+00 -4.2915543622429793e+00  2.3066959777865059e+00
              180   4.9971380922356694e+01  4.9937127530006045e+01 -5.1601837359946290e-01 -9.8427650723144623e+01  4.9999999999999986e+01 -1.9685530144628931e+00 -4.2934594674995958e+00  2.3249064530367027e+00
              181   4.9996568157503560e+01  4.9982608375952509e+01 -5.3481445917938908e-01 -9.8284881252087743e+01  5.0000000000000000e+01 -1.9656976250417548e+00 -4.3081557363838021e+00  2.3424581113420482e+00
              182   4.9983590194944831e+01  4.9961778578949833e+01 -5.2477872278354676e-01 -9.8668924244007400e+01  4.9999999999999993e+01 -1.9733784848801483e+00 -4.3107527017251615e+00  2.3373742168450131e+00
              183   4.9985616377757090e+01  4.9961852104494511e+01 -5.1606737776052636e-01 -9.8478530685510293e+01  5.0000000000000014e+01 -1.9695706137102051e+00 -4.3075566030498234e+00  2.3379859893396180e+00
              184   4.9987297403409883e+01  4.9972864552514046e+01 -5.0614105080530702e-01 -9.7712752554145879e+01  4.9999999999999993e+01 -1.9542550510829180e+00 -4.3055847671183232e+00  2.3513297160354054e+00
              185   4.9990124414978013e+01  4.9979648414536278e+01 -5.0735001259673040e-01 -9.7861377800331979e+01  4.9999999999999993e+01 -1.9572275560066399e+00 -4.2927647216710607e+00  2.3355371656644213e+00
              186   4.9988360517074817e+01  4.9953638037810926e+01 -4.9980048398645877e-01 -9.7709927236700167e+01  5.0000000000000000e+01 -1.9541985447340033e+00 -4.2945586448350985e+00  2.3403601001010945e+00
              187   4.9997566250728397e+01  4.9995419722518299e+01 -5.0885389213459964e-01 -9.8175661243896570e+01  5.0000000000000000e+01 -1.9635132248779315e+00 -4.2896411867211466e+00  2.3261279618432149e+00
              188   4.9995669293306356e+01  4.9985111459624072e+01 -5.2419265907864543e-01 -9.9056951350628282e+01  4.9999999999999993e+01 -1.9811390270125659e+00 -4.3016754123455776e+00  2.3205363853330119e+00
              189   4.9994374067755487e+01  4.9990854742092722e+01 -5.5055425621329335e-01 -9.9939258634082321e+01  5.0000000000000007e+01 -1.9987851726816461e+00 -4.3212247405416289e+00  2.3224395678599827e+00
              190   4.9982897433986771e+01  4.9981349018941927e+01 -5.6119719392382850e-01 -1.0063201836243756e+02  5.0000000000000000e+01 -2.0126403672487512e+00 -4.3165530878917542e+00  2.3039127206430030e+00
              191   4.9971513575000074e+01  4.9927143156889272e+01 -5.5801923338988690e-01 -1.0125417782637545e+02  5.0000000000000000e+01 -2.0250835565275089e+00 -4.3165926801941907e+00  2.2915091236666818e+00
              192   4.9995054835461353e+01  4.9981126758456995e+01 -5.5720614280626313e-01 -1.0033284370684922e+02  5.0000000000000000e+01 -2.0066568741369846e+00 -4.3122160320893839e+00  2.3055591579523993e+00
              193   4.9999677503527181e+01  4.9968745620393875e+01 -5.9182166588736240e-01 -1.0107031969304971e+02  5.0000000000000000e+01 -2.0214063938609943e+00 -4.3230860979840742e+00  2.3016797041230799e+00
              194   4.9974693410626401e+01  4.9943899534738577e+01 -5.8391263741659216e-01 -1.0029930360394226e+02  5.0000000000000000e+01 -2.0059860720788452e+00 -4.3208879010019396e+00  2.3149018289230936e+00
              195   4.9948987879558061e+01  4.9894962599178626e+01 -5.2283955567132667e-01 -9.9144794806291173e+01  4.9999999999999993e+01 -1.9828958961258238e+00 -4.3142965525806494e+00  2.3314006564548251e+00
              196   5.0001603812471792e+01  4.9972958534712923e+01 -5.4197906773935178e-01 -9.9529330498821523e+01  5.0000000000000000e+01 -1.9905866099764304e+00 -4.3159626348860058e+00  2.3253760249095765e+00
              197   4.9980736450866232e+01  4.9958675917898830e+01 -5.2406991009911674e-01 -9.8814396399293443e+01  5.0000000000000000e+01 -1.9762879279858689e+00 -4.3095706414477135e+00  2.3332827134618448e+00
              198   4.9979637000734833e+01  4.9951165669403395e+01 -5.1037625862021729e-01 -9.9455579507761954e+01  4.9999999999999993e+01 -1.9891115901552394e+00 -4.3057511453062132e+00  2.3166395551509731e+00
              199   4.9999648085833151e+01  4.9985766828906989e+01 -5.4624846731488763e-01 -9.9321520941733553e+01  5.0000000000000000e+01 -1.9864304188346711e+00 -4.3088801037219939e+00  2.3224496848873231e+00
              200   4.9984324412786911e+01  4.9971384257707591e+01 -5.4552924547183368e-01 -9.9175952230694563e+01  5.0000000000000000e+01 -1.9835190446138913e+00 -4.3084490724159243e+00  2.3249300278020337e+00
              201   4.9979690398974974e+01  4.9960480055085483e+01 -5.4174560041217379e-01 -9.8660549994556391e+01  4.9999999999999993e+01 -1.9732109998911282e+00 -4.3123634014386170e+00  2.3391524015474885e+00
              202   4.9961771873233502e+01  4.9919594640951573e+01 -5.1887389817737128e-01 -9.8082486839893136e+01  5.0000000000000000e+01 -1.9616497367978627e+00 -4.3118548125318048e+00  2.3502050757339426e+00
              203   4.9982533888453922e+01  4.9933053996804965e+01 -4.9854845121714214e-01 -9.7836430067210941e+01  5.0000000000000007e+01 -1.9567286013442184e+00 -4.3030548393165278e+00  2.3463262379723098e+00
              204   4.9987861295002553e+01  4.9980405614008532e+01 -5.0504122329807910e-01 -9.7438999180456321e+01  5.0000000000000000e+01 -1.9487799836091264e+00 -4.3024063260427452e+00  2.3536263424336186e+00
              205   4.9986344254521235e+01  4.9961642815936806e+01 -4.9400951608651217e-01 -9.7198185300195931e+01  5.0000000000000007e+01 -1.9439637060039183e+00 -4.2902074065110858e+00  2.3462437005071668e+00
              206   4.9992758242062536e+01  4.9978894445666469e+01 -5.1054378492972063e-01 -9.7134948282428354e+01  4.9999999999999993e+01 -1.9426989656485674e+00 -4.2820456413801535e+00  2.3393466757315857e+00
              207   4.9989699692843359e+01  4.9975734812596627e+01 -5.1761467085963830e-01 -9.7812877025153313e+01  4.9999999999999993e+01 -1.9562575405030667e+00 -4.2919837916748209e+00  2.3357262511717551e+00
              208   4.9978977369326259e+01  4.9951651318607922e+01 -4.8943190686226823e-01 -9.7257203456016711e+01  5.0000000000000007e+01 -1.9451440691203339e+00 -4.2938404656299918e+00  2.3486963965096588e+00
              209   4.9981508378951759e+01  4.9949557203465048e+01 -4.8443426074377305e-01 -9.7812446392256064e+01  5.0000000000000007e+01 -1.9562489278451209e+00 -4.2944736057677844e+00  2.3382246779226641e+00
              210   5.0003967305899018e+01  4.9981588279028109e+01 -5.0646746384790264e-01 -9.8187480409134395e+01  4.9999999999999986e+01 -1.9637496081826886e+00 -4.2928745716334014e+00  2.3291249634507136e+00
              211   4.9984809791623903e+01  4.9979195954540117e+01 -5.0551325034481009e-01 -9.9351219565681703e+01  5.0000000000000000e+01 -1.9870243913136341e+00 -4.3073207325425642e+00  2.3202963412289295e+00
              212   4.9993889488259576e+01  4.9980131469776232e+01 -5.2859465053010990e-01 -1.0020037585551945e+02  5.0000000000000000e+01 -2.0040075171103893e+00 -4.3156186528517217e+00  2.3116111357413334e+00
              213   4.9931343499176741e+01  4.9841885962326415e+01 -5.2457782903211858e-01 -9.8958554336207058e+01  5.0000000000000000e+01 -1.9791710867241412e+00 -4.2953369076339509e+00  2.3161658209098106e+00
              214   4.9988315931550368e+01  4.9965670399218197e+01 -5.2400761139743279e-01 -9.8418805845961515e+01  5.0000000000000007e+01 -1.9683761169192300e+00 -4.2906899383576258e+00  2.3223138214383954e+00
              215   4.9981016623095449e+01  4.9956056260628529e+01 -5.1948217082355985e-01 -9.8029487608593342e+01  5.0000000000000007e+01 -1.9605897521718665e+00 -4.2877220325949228e+00  2.3271322804230565e+00
              216   4.9977740872098074e+01  4.9964667511639085e+01 -5.0645084207157864e-01 -9.7970798153997293e+01  5.0000000000000000e+01 -1.9594159630799459e+00 -4.2930024184584985e+00  2.3335864553785521e+00
              217   4.9984834586229688e+01  4.9961976829751038e+01 -5.1386472169034580e-01 -9.8779541435277721e+01  5.0000000000000000e+01 -1.9755908287055546e+00 -4.2916584452409579e+00  2.3160676165354026e+00
              218   4.9971422210137803e+01  4.9923498774889588e+01 -5.0884208426935296e-01 -9.8248887875118285e+01  5.0000000000000007e+01 -1.9649777575023655e+00 -4.2721196875715730e+00  2.3071419300692071e+00
              219   4.9963061312335981e+01  4.9918077160280383e+01 -4.8197608441018969e-01 -9.6958003345276865e+01  5.0000000000000000e+01 -1.9391600669055373e+00 -4.2744431440846427e+00  2.3352830771791053e+00
              220   4.9990594458630213e+01  4.9958585319001784e+01 -5.0507859626189466e-01 -9.8528364524949524e+01  5.0000000000000000e+01 -1.9705672904989906e+00 -4.2748808905366777e+00  2.3043136000376871e+00
              221   4.9970157437723820e+01  4.9946847675141214e+01 -4.8894755985771721e-01 -9.7639469526611634e+01  5.0000000000000007e+01 -1.9527893905322324e+00 -4.2946620453093489e+00  2.3418726547771165e+00
              222   4.9984626834736083e+01  4.9947037436427102e+01 -4.9180289143539002e-01 -9.8042309360645930e+01  5.0000000000000007e+01 -1.9608461872129184e+00 -4.2999570618422451e+00  2.3391108746293270e+00
              223   4.9984171844780143e+01  4.9968962037672398e+01 -4.9477489045788658e-01 -9.7551559828875426e+01  5.0000000000000000e+01 -1.9510311965775087e+00 -4.3045733846573704e+00  2.3535421880798619e+00
              224   4.9984882822393828e+01  4.9968386676230459e+01 -4.9421238437858178e-01 -9.7049853974432324e+01  5.0000000000000000e+01 -1.9409970794886464e+00 -4.3024358954165320e+00  2.3614388159278854e+00
              225   4.9984147464494512e+01  4.9964171982937614e+01 -4.8709554626553864e-01 -9.6748470199996049e+01  5.0000000000000007e+01 -1.9349694039999208e+00 -4.3053379270001004e+00  2.3703685230001792e+00
              226   4.9994874291980032e+01  4.9982256322748029e+01 -4.9704423884585452e-01 -9.6609571093827057e+01  5.0000000000000000e+01 -1.9321914218765412e+00 -4.3057747573668070e+00  2.3735833354902662e+00
              227   4.9981405742791083e+01  4.9966452395509378e+01 -4.9087938963117261e-01 -9.7255654727713789e+01  5.0000000000000000e+01 -1.9451130945542758e+00 -4.3124328103351539e+00  2.3673197157808792e+00
              228   4.9986337469646109e+01  4.9954275173691748e+01 -4.7858473475960178e-01 -9.7303982381687234e+01  5.0000000000000000e+01 -1.9460796476337447e+00 -4.3081697876227620e+00  2.3620901399890180e+00
              229   4.9981575350665302e+01  4.9969894840880720e+01 -4.7707440460586648e-01 -9.7467882511962472e+01  5.0000000000000007e+01 -1.9493576502392491e+00 -4.3074602823904362e+00  2.3581026321511880e+00
              230   5.0000813270156151e+01  4.9980876456174705e+01 -4.8775085135451213e-01 -9.7583087872134911e+01  5.0000000000000000e+01 -1.9516617574426982e+00 -4.3179643852076710e+00  2.3663026277649726e+00
              231   4.9998620038482635e+01  4.9993891347384498e+01 -5.0924889305363685e-01 -9.7668070271201486e+01  5.0000000000000014e+01 -1.9533614054240291e+00 -4.3133840463012323e+00  2.3600226408772023e+00
              232   4.9978729091693168e+01  4.9960229181136455e+01 -4.9520991086764182e-01 -9.7923227925647538e+01  5.0000000000000007e+01 -1.9584645585129505e+00 -4.3102583290909973e+00  2.3517937705780469e+00
              233   4.9999287392475281e+01  4.9975756786360591e+01 -5.1115394057527141e-01 -9.7944183214107241e+01  5.0000000000000007e+01 -1.9588836642821446e+00 -4.3154385810020655e+00  2.3565549167199209e+00
              234   4.9991731207481543e+01  4.9989705521651757e+01 -5.2097882440656396e-01 -9.8185774900506416e+01  4.9999999999999993e+01 -1.9637154980101288e+00 -4.3061408633027645e+00  2.3424253652926361e+00
              235   4.9975117548304524e+01  4.9938802924652393e+01 -5.0223169710440951e-01 -9.8094023733381391e+01  4.9999999999999986e+01 -1.9618804746676286e+00 -4.3041036141628117e+00  2.3422231394951831e+00
              236   4.9989771328526402e+01  4.9980822745109563e+01 -5.1997470185440020e-01 -9.8688017051795001e+01  5.0000000000000000e+01 -1.9737603410359001e+00 -4.3101638455656284e+00  2.3364035045297280e+00
              237   4.9991512472425669e+01  4.9969680654198882e+01 -5.1599495934721451e-01 -9.8531604106959534e+01  4.9999999999999993e+01 -1.9706320821391912e+00 -4.3150843458787653e+00  2.3444522637395733e+00
              238   4.9993093477293108e+01  4.9981137614625645e+01 -5.3160902606757943e-01 -9.8748338410842337e+01  5.0000000000000000e+01 -1.9749667682168468e+00 -4.3223758760461042e+00  2.3474091078292578e+00
              239   4.9968584861561979e+01  4.9946324543718660e+01 -4.9303550664092921e-01 -9.8134944506560089e+01  5.0000000000000007e+01 -1.9626988901312015e+00 -4.3147159865809677e+00  2.3520170964497664e+00
              240   5.0000429021214103e+01  4.9979910589906211e+01 -5.0851723605997257e-01 -9.8393923277920393e+01  5.0000000000000007e+01 -1.9678784655584076e+00 -4.3142629705280644e+00  2.3463845049696568e+00
              241   5.0001723024586035e+01  4.9998796007490547e+01 -5.2577843324062445e-01 -9.8632713406180443e+01  5.0000000000000000e+01 -1.9726542681236090e+00 -4.3156581561013647e+00  2.3430038879777553e+00
              242   4.9979006601958211e+01  4.9964824260050989e+01 -5.0389080971261258e-01 -9.8591413158447750e+01  4.9999999999999993e+01 -1.9718282631689554e+00 -4.3164599305444868e+00  2.3446316673755323e+00
              243   5.0004657105949867e+01  4.9993979839849153e+01 -5.2406384696901620e-01 -9.9223378715906719e+01  4.9999999999999993e+01 -1.9844675743181348e+00 -4.3176276863863512e+00  2.3331601120682159e+00
              244   4.9993647435054349e+01  4.9986319909242177e+01 -5.2581164842543027e-01 -9.9478658410690130e+01  4.9999999999999993e+01 -1.9895731682138029e+00 -4.3176655834432021e+00  2.3280924152293982e+00
              245   4.9998222392650831e+01  4.9990146975869060e+01 -5.5450719849206587e-01 -9.9638231195367666e+01  5.0000000000000007e+01 -1.9927646239073531e+00 -4.3171535126355698e+00  2.3243888887282176e+00
              246   4.9987253068265204e+01  4.9980952465823037e+01 -5.4076147963057652e-01 -9.9012727093841121e+01  4.9999999999999993e+01 -1.9802545418768227e+00 -4.3194167762074205e+00  2.3391622343305976e+00
              247   4.9981861001736846e+01  4.9940089363806912e+01 -5.1599924774800510e-01 -9.8738917880589284e+01  5.0000000000000000e+01 -1.9747783576117857e+00 -4.3193300029249562e+00  2.3445516453131696e+00
              248   5.0001617959092876e+01  4.9988148980801775e+01 -5.3380700292155236e-01 -9.9003517018639243e+01  5.0000000000000007e+01 -1.9800703403727846e+00 -4.3218604766752362e+00  2.3417901363024516e+00
              249   4.9989194485596002e+01  4.9972867610499037e+01 -5.3862631650778714e-01 -9.9840690628358644e+01  5.0000000000000007e+01 -1.9968138125671726e+00 -4.3273383632098570e+00  2.3305245506426839e+00
              250   4.9989351656892438e+01  4.9986324360736674e+01 -5.4998166680826754e-01 -9.9472667088778863e+01  5.0000000000000000e+01 -1.9894533417755773e+00 -4.3276604493396480e+00  2.3382071075640698e+00
              251   4.9968556850130739e+01  4.9929936240576772e+01 -5.2044490732367432e-01 -9.9200250929610846e+01  5.0000000000000000e+01 -1.9840050185922169e+00 -4.3201584197152165e+00  2.3361534011230001e+00
              252   4.9993435777539624e+01  4.9967749004758353e+01 -5.2562293056000187e-01 -9.8980573199760642e+01  5.0000000000000000e+01 -1.9796114639952129e+00 -4.3151414382956981e+00  2.3355299743004854e+00
              253   4.9984299109984136e+01  4.9967578480092278e+01 -5.1859119499912087e-01 -9.9043838421727017e+01  5.0000000000000000e+01 -1.9808767684345403e+00 -4.3179670514744224e+00  2.3370902830398821e+00
              254   4.9998153543347733e+01  5.0002862814719109e+01 -5.4968990115067473e-01 -9.9490021116329729e+01  5.0000000000000014e+01 -1.9898004223265939e+00 -4.3196589456770669e+00  2.3298585233504729e+00
              255   4.9975383871483544e+01  4.9954776019072796e+01 -5.2148197728223789e-01 -9.8127603050739808e+01  5.0000000000000000e+01 -1.9625520610147962e+00 -4.3226760359712193e+00  2.3601239749564229e+00
              256   4.9993630422490433e+01  4.9970822604083558e+01 -5.2612646628538740e-01 -9.8407686067618755e+01  5.0000000000000000e+01 -1.9681537213523752e+00 -4.3207772135348019e+00  2.3526234921824263e+00
              257   4.9987170776273835e+01  4.9987333018685945e+01 -5.2902523587677242e-01 -9.8594800683708769e+01  4.9999999999999993e+01 -1.9718960136741757e+00 -4.3299840505913956e+00  2.3580880369172204e+00
              258   4.9990048149756561e+01  4.9958613087254037e+01 -5.2193646982494524e-01 -9.8581300719865283e+01  5.0000000000000000e+01 -1.9716260143973057e+00 -4.3266019669568978e+00  2.3549759525595912e+00
              259   4.9985898610652022e+01  4.9960314309750032e+01 -5.1786167244438108e-01 -9.8908332522408983e+01  4.9999999999999993e+01 -1.9781666504481801e+00 -4.3282761786374078e+00  2.3501095281892272e+00
              260   4.9989083268530301e+01  4.9970079806811349e+01 -5.2387362228755463e-01 -9.8584173692595172e+01  5.0000000000000007e+01 -1.9716834738519031e+00 -4.3163935405749676e+00  2.3447100667230645e+00
              261   4.9989396084395594e+01  4.9958240469904489e+01 -5.2032952134153398e-01 -9.9238113564003953e+01  5.0000000000000000e+01 -1.9847622712800792e+00 -4.3058173271364817e+00  2.3210550558564025e+00
              262   4.9973063621671379e+01  4.9982180925717351e+01 -5.6822551998325599e-01 -1.0030550780115880e+02  5.0000000000000000e+01 -2.0061101560231758e+00 -4.3153814768614760e+00  2.3092713208383002e+00
              263   4.9955270415565693e+01  4.9852891773704570e+01 -5.2604875161105358e-01 -9.8281502127706545e+01  5.0000000000000000e+01 -1.9656300425541309e+00 -4.3003524916805276e+00  2.3347224491263967e+00
              264   4.9974282769901663e+01  4.9932847007589338e+01 -5.0290631289611487e-01 -9.7680942375790252e+01  5.0000000000000000e+01 -1.9536188475158052e+00 -4.3081053620247811e+00  2.3544865145089755e+00
              265   4.9990410119378112e+01  4.9954715439078846e+01 -4.9205770356651451e-01 -9.7752443418060707e+01  5.0000000000000000e+01 -1.9550488683612142e+00 -4.3094698512987870e+00  2.3544209829375724e+00
              266   5.0004180270410018e+01  4.9991627158832642e+01 -5.0991866139721143e-01 -9.8166252837609804e+01  5.0000000000000000e+01 -1.9633250567521960e+00 -4.3090212004685906e+00  2.3456961437163937e+00
              267   4.9986503401551808e+01  4.9983922038155178e+01 -5.1535373882846114e-01 -9.7683730200180648e+01  5.0000000000000007e+01 -1.9536746040036126e+00 -4.2979100627164986e+00  2.3442354587128853e+00
              268   4.9983594680538516e+01  4.9966993294249718e+01 -5.0871622982739817e-01 -9.7566183533205731e+01  5.0000000000000007e+01 -1.9513236706641144e+00 -4.3134705713511829e+00  2.3621469006870690e+00
              269   4.9996042872078604e+01  4.9979215417308431e+01 -5.1406691314085440e-01 -9.7468437337395144e+01  5.0000000000000014e+01 -1.9493687467479022e+00 -4.3187388806003337e+00  2.3693701338524309e+00
              270   4.9980245686636003e+01  4.9958828080314198e+01 -5.0414316699424644e-01 -9.8123062952206908e+01  5.0000000000000000e+01 -1.9624612590441382e+00 -4.3231615128000485e+00  2.3607002537559101e+00
              271   5.0001258309731078e+01  5.0002348149610029e+01 -5.1378273580321754e-01 -9.7588835738642587e+01  5.0000000000000000e+01 -1.9517767147728518e+00 -4.3197866351945073e+00  2.3680099204216551e+00
              272   4.9984225502500124e+01  4.9971133708661853e+01 -5.0396129542518542e-01 -9.7969414626832517e+01  5.0000000000000000e+01 -1.9593882925366504e+00 -4.3191935552038991e+00  2.3598052626672485e+00
              273   4.9985907671720632e+01  4.9960887618316747e+01 -4.9129356292858606e-01 -9.7531502734318295e+01  5.0000000000000007e+01 -1.9506300546863655e+00 -4.3185109239336494e+00  2.3678808692472839e+00
              274   4.9988273383077498e+01  4.9964292743580238e+01 -4.8781474693255122e-01 -9.7887236143323904e+01  5.0000000000000000e+01 -1.9577447228664782e+00 -4.3063515358657281e+00  2.3486068129992499e+00
              275   4.9992684374320710e+01  5.0560880721374950e+01 -4.8919705594328738e-01 -9.7913650640685916e+01  5.0000000000000000e+01 -1.9582730128137185e+00 -4.3060446977850253e+00  2.3477716849713071e+00
              276   4.9990679484597017e+01  4.9977838465817058e+01 -4.9370683573316460e-01 -9.7722353704924558e+01  4.9999999999999993e+01 -1.9544470740984916e+00 -4.2944589254099332e+00  2.3400118513114418e+00
              277   4.9964479311207761e+01  4.9915886830789098e+01 -4.8127080830413149e-01 -9.7264664207791625e+01  5.0000000000000000e+01 -1.9452932841558326e+00 -4.2892246275073509e+00  2.3439313433515188e+00
              278   4.9984451866244747e+01  4.9949255497678152e+01 -4.7644628635013081e-01 -9.7058217146484893e+01  4.9999999999999993e+01 -1.9411643429296983e+00 -4.2800363251070666e+00  2.3388719821773685e+00
              279   4.9993806004184563e+01  4.9983245914569387e+01 -4.9476494067124910e-01 -9.7004791546279193e+01  5.0000000000000007e+01 -1.9400958309255836e+00 -4.2680779105759070e+00  2.3279820796503232e+00
              280   4.9987074932087509e+01  4.9962945921913146e+01 -4.8210044146304276e-01 -9.7433932830766508e+01  5.0000000000000000e+01 -1.9486786566153302e+00 -4.2768364997956407e+00  2.3281578431803105e+00
              281   4.9986734469669209e+01  4.9962937803812181e+01 -4.8350587516217519e-01 -9.7446527567656418e+01  5.0000000000000007e+01 -1.9489305513531281e+00 -4.2836685237240344e+00  2.3347379723709061e+00
              282   5.0003822026961437e+01  5.0013081024473202e+01 -5.1040193787288701e-01 -9.8090664799510080e+01  4.9999999999999993e+01 -1.9618132959902019e+00 -4.3057270552000979e+00  2.3439137592098955e+00
              283   4.9976870926250548e+01  4.9944456794285088e+01 -4.7710853178719120e-01 -9.8142617541058655e+01  5.0000000000000000e+01 -1.9628523508211730e+00 -4.3069672577674645e+00  2.3441149069462912e+00
              284   4.9998493790719102e+01  4.9994648796314436e+01 -4.9941059048964714e-01 -9.8713228993572528e+01  5.0000000000000000e+01 -1.9742645798714507e+00 -4.3043606938502741e+00  2.3300961139788230e+00
              285   5.0000889926005840e+01  5.0024934605286120e+01 -5.4173992952908645e-01 -9.8954235201523829e+01  5.0000000000000000e+01 -1.9790847040304766e+00 -4.3108170724225827e+00  2.3317323683921067e+00
              286   4.9983326136640891e+01  4.9960965548554896e+01 -5.2670495933339723e-01 -9.9432137724940418e+01  4.9999999999999993e+01 -1.9886427544988088e+00 -4.3015101266190285e+00  2.3128673721202193e+00
              287   4.9984018757843607e+01  4.9977417858809204e+01 -5.2839107917010708e-01 -9.8957722527938841e+01  5.0000000000000000e+01 -1.9791544505587768e+00 -4.3049284118556423e+00  2.3257739612968660e+00
              288   4.9994361216641522e+01  4.9968842583649916e+01 -5.3432971543542007e-01 -9.8585848167622046e+01  4.9999999999999993e+01 -1.9717169633524414e+00 -4.2979956554659378e+00  2.3262786921134966e+00
              289   4.9985696227246279e+01  4.9979718525604341e+01 -5.2901793684053866e-01 -9.8723953542367369e+01  5.0000000000000007e+01 -1.9744790708473470e+00 -4.3010335565352378e+00  2.3265544856878919e+00
              290   4.9993555678829736e+01  4.9973980809094328e+01 -5.2824423732746995e-01 -9.9416981841253516e+01  5.0000000000000000e+01 -1.9883396368250703e+00 -4.3054572261859070e+00  2.3171175893608358e+00
              291   4.9976251533917370e+01  4.9960595319997395e+01 -5.2228223089929571e-01 -9.8877390173936206e+01  4.9999999999999993e+01 -1.9775478034787246e+00 -4.3037514726304478e+00  2.3262036691517229e+00
              292   5.0005479002316044e+01  5.0001809041269972e+01 -5.6203871053068366e-01 -9.9381998686296427e+01  5.0000000000000000e+01 -1.9876399737259285e+00 -4.3065391136600430e+00  2.3188991399341141e+00
              293   4.9978452575305369e+01  4.9945599069184802e+01 -5.4065628974950808e-01 -9.9686833143663023e+01  5.0000000000000007e+01 -1.9937366628732602e+00 -4.3085418455203905e+00  2.3148051826471301e+00
              294   4.9985072522245467e+01  4.9955745001977022e+01 -5.2761444324571816e-01 -9.8744278767684378e+01  4.9999999999999993e+01 -1.9748855753536880e+00 -4.3117015592503121e+00  2.3368159838966238e+00
              295   4.9985118449000666e+01  4.9962707472774362e+01 -5.2753271429023008e-01 -9.8503936824912913e+01  4.9999999999999986e+01 -1.9700787364982590e+00 -4.3198443219323739e+00  2.3497655854341146e+00
              296   4.9983470121652019e+01  4.9975185364879998e+01 -5.1976985312581525e-01 -9.8972178123691805e+01  5.0000000000000000e+01 -1.9794435624738362e+00 -4.3083790065330811e+00  2.3289354440592449e+00
              297   4.9998134625064459e+01  4.9984910191161163e+01 -5.3281557635996490e-01 -9.8702981961008447e+01  5.0000000000000000e+01 -1.9740596392201690e+00 -4.3047497555136731e+00  2.3306901162935030e+00
              298   4.9983632536079995e+01  4.9962977670710728e+01 -5.1831320247097545e-01 -9.8466127903972463e+01  5.0000000000000000e+01 -1.9693225580794493e+00 -4.3144092386773263e+00  2.3450866805978769e+00
              299   4.9994690530620460e+01  4.9974340043992129e+01 -5.2245209642781454e-01 -9.8238618538962569e+01  4.9999999999999993e+01 -1.9647723707792517e+00 -4.3116632230072316e+00  2.3468908522279803e+00
              300   4.9983510644593125e+01  4.9957965873720269e+01 -5.0993882645026567e-01 -9.7808635283620333e+01  5.0000000000000000e+01 -1.9561727056724068e+00 -4.3034476279351841e+00  2.3472749222627769e+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.)