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.9036540062626459+0j), max|grad| 0.4055778794357425
energy (-1.2562368588436836+0j), max|grad| 0.43313791305139393
.energy (-1.5679374247963844+7.888609052210118e-31j), max|grad| 0.18111782362662004
.energy (-1.6837246665467358+0j), max|grad| 0.17092036783044715
.energy (-1.6110669589234181+0j), max|grad| 0.24059875134725753
energy (-1.7390726256610076-7.888609052210118e-31j), max|grad| 0.18367926366417667
.energy (-1.7998087490345682-1.5777218104420236e-30j), max|grad| 0.1517612491290922
.energy (-1.85760482706117+0j), max|grad| 0.11159886713967626
.energy (-1.8729342965890314+7.888609052210118e-31j), max|grad| 0.1216392843358692
.energy (-1.8833608675750924-3.944304526105059e-31j), max|grad| 0.04744855668934871
.energy (-1.8915925472404727+0j), max|grad| 0.043464113681721546
.energy (-1.896150318701043+0j), max|grad| 0.06268423948369739
.energy (-1.8984417758128584+0j), max|grad| 0.029698836620385877
.energy (-1.8994746204928887+1.5777218104420236e-30j), max|grad| 0.016201854102027454
.energy (-1.899957201496921+0j), max|grad| 0.013304133970140785
.energy (-1.9008511510081867+2.341930812374879e-31j), max|grad| 0.013590539661908211
.energy (-1.9024862069591846-1.9721522630525295e-31j), max|grad| 0.01776285826411418
.energy (-1.9052419928245046+7.888609052210118e-31j), max|grad| 0.03273195822714455
.energy (-1.9077304802944566-1.5777218104420236e-30j), max|grad| 0.06430668054864518
.energy (-1.9109588448091852-1.5777218104420236e-30j), max|grad| 0.0456020728724604
.energy (-1.9167439088358718+1.5777218104420236e-30j), max|grad| 0.030847960479975674
.energy (-1.9245237883922313+9.860761315262648e-32j), max|grad| 0.05417187731080087
.energy (-1.9296292702179798+5.9164567891575885e-31j), max|grad| 0.025592029356486093
.energy (-1.9311761633082778-3.944304526105059e-31j), max|grad| 0.029638055385661645
.energy (-1.933215914812636+3.1554436208840472e-30j), max|grad| 0.01621076088582836
.energy (-1.9334865022840528+0j), max|grad| 0.05061349409744201
energy (-1.9343719716192522+0j), max|grad| 0.01912404951615153
.energy (-1.9355257556500183-1.5777218104420236e-30j), max|grad| 0.015830794257891478
.energy (-1.935838772234188+0j), max|grad| 0.0037725673337152825
.energy (-1.9359314607080256+1.1832913578315177e-30j), max|grad| 0.003200160407726419
.energy (-1.935949268389063+1.5777218104420236e-30j), max|grad| 0.0018919063116268726
.energy (-1.9359611849206226-1.5777218104420236e-30j), max|grad| 0.0015724061558558594
.energy (-1.9359718407742434-1.5777218104420236e-30j), max|grad| 0.002200219431710977
.energy (-1.9359908818544875+0j), max|grad| 0.0027990086027876444
.energy (-1.9360254775825618-3.944304526105059e-31j), max|grad| 0.0034162005029662727
.energy (-1.9360872529493829+7.888609052210118e-31j), max|grad| 0.004092624834665993
.energy (-1.9361891445655823-7.888609052210118e-31j), max|grad| 0.004789327611432818
.energy (-1.9363129739874951+7.888609052210118e-31j), max|grad| 0.006438470215631584
.energy (-1.936409828806081-6.902532920683853e-31j), max|grad| 0.004456081295501152
.energy (-1.9365429132704115+4.930380657631324e-32j), max|grad| 0.0021233065187949984
.energy (-1.9365688598431472+1.5777218104420236e-30j), max|grad| 0.0005844751564333227
.energy (-1.936569194425596+0j), max|grad| 0.0006212049182390798
.energy (-1.9365697065818228-1.9721522630525295e-31j), max|grad| 0.000396322023845012
.energy (-1.9365703915500676-1.5777218104420236e-30j), max|grad| 0.00035847268845497156
.energy (-1.9365715608439755+7.888609052210118e-31j), max|grad| 0.0005875338345701087
.energy (-1.9365736450508706-7.888609052210118e-31j), max|grad| 0.0009275529494447987
.energy (-1.936577364856836+0j), max|grad| 0.001290087498159842
.energy (-1.9365837600802127+1.5777218104420236e-30j), max|grad| 0.0016835767447708205
.energy (-1.9365936870844989+7.888609052210118e-31j), max|grad| 0.002066433013532154
.energy (-1.9366057394306582+3.944304526105059e-31j), max|grad| 0.002171053716593041
.energy (-1.9366157496909846+0j), max|grad| 0.0015707204870063496
.energy (-1.9366194954891824+1.5777218104420236e-30j), max|grad| 0.00036139858612830895
.energy (-1.9366196680654788+1.5777218104420236e-30j), max|grad| 0.00011315080525932123
.energy (-1.9366197270827676-1.5777218104420236e-30j), max|grad| 6.430515389602392e-05
.energy (-1.9366197458722914-3.944304526105059e-31j), max|grad| 7.331252496905818e-05
.energy (-1.9366197673277403+7.888609052210118e-31j), max|grad| 4.9780835403821e-05
.energy (-1.9366197715277558-7.888609052210118e-31j), max|grad| 2.5640979216920167e-05
.energy (-1.9366197732374273+4.733165431326071e-30j), max|grad| 2.658368168230504e-05
.energy (-1.9366197751441474+0j), max|grad| 2.8157268404369024e-05
.energy (-1.9366197785809476+1.5777218104420236e-30j), max|grad| 4.345122893493406e-05
.energy (-1.93661978495203+7.888609052210118e-31j), max|grad| 6.284515144451495e-05
.energy (-1.936619796829076+3.944304526105059e-31j), max|grad| 8.776692882146378e-05
.energy (-1.9366198187972676-3.1554436208840472e-30j), max|grad| 0.00012194120079247437
.energy (-1.9366198585693368-3.1554436208840472e-30j), max|grad| 0.0001701334299161085
.energy (-1.9366199276036058+1.5777218104420236e-30j), max|grad| 0.0002373872242281216
.energy (-1.9366200380462466+0j), max|grad| 0.00032367056761343577
.energy (-1.9366201880972573+0j), max|grad| 0.0003985907193036062
.energy (-1.9366203391133157+0j), max|grad| 0.00038025048350678084
.energy (-1.9366205555842493-3.1554436208840472e-30j), max|grad| 0.00023727562931326692
.energy (-1.93662064426736+3.944304526105059e-31j), max|grad| 6.282714761231305e-05
.energy (-1.9366206498974865-3.944304526105059e-31j), max|grad| 1.2028184630336895e-05
.energy (-1.936620650696911-4.733165431326071e-30j), max|grad| 3.6026151661679147e-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.615e-07 -1.193e-06 ...  1.574e-07 -8.279e-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.779243269890757+0j)
Sector N = 4 : S_z = 0
a'0011'b'0011' (1+0j)
--------------------------------------------------------------------------------
FCI Energy:
-1.9695121652162788
--------------------------------------------------------------------------------
  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.615e-07 -1.193e-06 ...  1.574e-07 -8.279e-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.46387401399583944-1.6169791200448813e-15j)
a'0011'b'0101' (-0.49319604867937417-1.4418533641341602e-15j)
a'0011'b'1010' (0.09453242557421507+2.408351838269207e-16j)
a'0011'b'1100' (0.10050769884960999+3.006492624302304e-16j)
a'0101'b'0011' (0.4932121133952673+1.240300180269105e-15j)
a'0101'b'0101' (0.4638724215893809+9.917773254129042e-16j)
a'0101'b'1010' (-0.10051252390245798-1.836909530733566e-16j)
a'0101'b'1100' (-0.09453345932512375-2.362883109660596e-16j)
a'1010'b'0011' (-0.09453244426471545-3.956524777942727e-16j)
a'1010'b'0101' (-0.10050753163472044-4.301436594064678e-16j)
a'1010'b'1010' (0.040495383211038925+1.1647041837925531e-16j)
a'1010'b'1100' (0.043055478757829016+1.3775127414607236e-16j)
a'1100'b'0011' (0.10051091749766967+4.610840789037729e-16j)
a'1100'b'0101' (0.0945318069870978+4.036484688163533e-16j)
a'1100'b'1010' (-0.04305727968792324-1.1641620827063104e-16j)
a'1100'b'1100' (-0.04049580296637009-1.3711430536973712e-16j)
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.00832942+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.0055334 +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.00482323+0.j  0.        +0.j -0.70709717+0.j]
 [-0.70707664+0.j  0.        +0.j -0.00587992+0.j  0.        +0.j
   0.0058808 +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.9366206506969077
Exact ground state energy: -1.9695121652162788

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.8771197609628356
Ideal trial wavefunction energy: -1.9366206506969077
FCI energy: -1.9695121652162788

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.8771197609628336

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: 24501ff2-ec50-11ef-b8b6-4735a95cd5b3.
# Approximate memory available per node: 117.9093 GB.
# Running on 1 MPI rank.
# Root processor name: kokoro-gcp-ubuntu-prod-2033379579
# Python interpreter: 3.10.16 (main, Dec  4 2024, 08:53:37) [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.15.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.6486304211488687e+01  5.0000000000000000e+01 -1.9297260842297739e+00 -4.3439319178107789e+00  2.4142058335810050e+00
                1   5.0244433021531144e+01  5.0518752257436617e+01 -5.1480637820850661e-01 -9.6652905726715318e+01  4.9999999999999993e+01 -1.9330581145343066e+00 -4.3381857300470426e+00  2.4051276155127361e+00
                2   4.9972807280256106e+01  5.0051684340529746e+01 -4.7661057456165529e-01 -9.7306249370556429e+01  5.0000000000000000e+01 -1.9461249874111286e+00 -4.3279047904644310e+00  2.3817798030533019e+00
                3   5.0011569797916898e+01  5.0004270514043455e+01 -5.1187080315422628e-01 -9.7466683634549312e+01  5.0000000000000007e+01 -1.9493336726909860e+00 -4.3253085724128253e+00  2.3759748997218391e+00
                4   4.9980812287753643e+01  4.9970432248304306e+01 -4.9087031780061963e-01 -9.7093058372178888e+01  4.9999999999999993e+01 -1.9418611674435782e+00 -4.3194201294604841e+00  2.3775589620169058e+00
                5   4.9994801257977485e+01  4.9974671017998880e+01 -4.8858192683037621e-01 -9.7291505142812056e+01  4.9999999999999993e+01 -1.9458301028562415e+00 -4.3163812727238051e+00  2.3705511698675630e+00
                6   4.9997714843681436e+01  4.9982897100679331e+01 -4.9093194610230290e-01 -9.7702570383522300e+01  5.0000000000000000e+01 -1.9540514076704460e+00 -4.3105616139856906e+00  2.3565102063152454e+00
                7   5.0007412003784005e+01  5.0010881902570027e+01 -5.2110272755060705e-01 -9.7920892212579133e+01  5.0000000000000000e+01 -1.9584178442515827e+00 -4.3055738970673403e+00  2.3471560528157580e+00
                8   4.9990340249788787e+01  4.9987359463236125e+01 -5.0874833940731967e-01 -9.7939553411516002e+01  5.0000000000000007e+01 -1.9587910682303198e+00 -4.3113561595155634e+00  2.3525650912852432e+00
                9   4.9989284850478626e+01  4.9981113754918660e+01 -5.0401472905590616e-01 -9.8272343990656182e+01  5.0000000000000000e+01 -1.9654468798131237e+00 -4.3059263760891238e+00  2.3404794962759996e+00
               10   5.0006358178325613e+01  5.0000626303982173e+01 -5.2611796729390081e-01 -9.7631184134596992e+01  5.0000000000000007e+01 -1.9526236826919396e+00 -4.3057905290823317e+00  2.3531668463903919e+00
               11   4.9980080208319905e+01  4.9964096605758314e+01 -5.0367743461129999e-01 -9.8371913091738435e+01  5.0000000000000014e+01 -1.9674382618347681e+00 -4.3085366075498319e+00  2.3410983457150643e+00
               12   4.9999931899736431e+01  4.9993907539921111e+01 -5.1187500571334732e-01 -9.8353383264582064e+01  4.9999999999999993e+01 -1.9670676652916417e+00 -4.3057810859607724e+00  2.3387134206691309e+00
               13   5.0002668689623292e+01  5.0001259638211366e+01 -5.3646223591918407e-01 -9.9431472724407385e+01  5.0000000000000007e+01 -1.9886294544881473e+00 -4.3027794803545261e+00  2.3141500258663790e+00
               14   4.9998826084918576e+01  5.0010955581098187e+01 -5.4435478943421745e-01 -9.9410765714284040e+01  4.9999999999999993e+01 -1.9882153142856811e+00 -4.3028827996241441e+00  2.3146674853384623e+00
               15   4.9982614072712160e+01  4.9952091922242744e+01 -5.2096698062977853e-01 -9.9252527043375579e+01  5.0000000000000007e+01 -1.9850505408675112e+00 -4.2965557939014003e+00  2.3115052530338893e+00
               16   4.9990789919252592e+01  4.9973016057325026e+01 -5.1743883837819094e-01 -9.8058542762004521e+01  4.9999999999999993e+01 -1.9611708552400908e+00 -4.3036254207827396e+00  2.3424545655426487e+00
               17   4.9993406140504192e+01  4.9998093031715761e+01 -5.2068207001072209e-01 -9.7810171641123091e+01  4.9999999999999993e+01 -1.9562034328224622e+00 -4.3021554895597234e+00  2.3459520567372607e+00
               18   4.9975149496412257e+01  4.9950113481249439e+01 -4.9005677110747670e-01 -9.7999026551000071e+01  5.0000000000000000e+01 -1.9599805310200014e+00 -4.3077444548056736e+00  2.3477639237856724e+00
               19   5.0005774984390492e+01  5.0002251193645279e+01 -5.1313804176700895e-01 -9.8568097918989423e+01  5.0000000000000000e+01 -1.9713619583797886e+00 -4.3020695034150904e+00  2.3307075450353016e+00
               20   4.9994172117780231e+01  4.9998603398896165e+01 -5.2135283528873477e-01 -9.9303299398269175e+01  5.0000000000000000e+01 -1.9860659879653835e+00 -4.3025271929278661e+00  2.3164612049624824e+00
               21   4.9995540539900588e+01  4.9983850213668156e+01 -5.2500069320609266e-01 -9.8654834587960195e+01  4.9999999999999986e+01 -1.9730966917592045e+00 -4.2995162044321633e+00  2.3264195126729588e+00
               22   4.9992854443426523e+01  4.9982982269585399e+01 -5.1687921128049441e-01 -9.9144502633874282e+01  4.9999999999999986e+01 -1.9828900526774864e+00 -4.3027621791799229e+00  2.3198721265024353e+00
               23   5.0009319441501511e+01  5.0022835222998069e+01 -5.5309663419454003e-01 -9.9066684339159181e+01  5.0000000000000007e+01 -1.9813336867831832e+00 -4.2974451121122232e+00  2.3161114253290394e+00
               24   4.9980093422969389e+01  4.9961797472414432e+01 -5.2516615738122541e-01 -9.8614704176758536e+01  5.0000000000000000e+01 -1.9722940835351708e+00 -4.2958739873981608e+00  2.3235799038629903e+00
               25   4.9994903683055909e+01  4.9972682025857488e+01 -5.2523844585285329e-01 -9.9081490737931802e+01  5.0000000000000007e+01 -1.9816298147586358e+00 -4.2918535992996505e+00  2.3102237845410145e+00
               26   4.9988338585218919e+01  4.9976526952501828e+01 -5.0861014543042593e-01 -9.8109548255270695e+01  5.0000000000000007e+01 -1.9621909651054137e+00 -4.2918645320355573e+00  2.3296735669301443e+00
               27   4.9990834245715213e+01  4.9968323566239476e+01 -5.0075093856621189e-01 -9.8091356799549047e+01  5.0000000000000007e+01 -1.9618271359909807e+00 -4.3013358349746182e+00  2.3395086989836376e+00
               28   4.9994738338054120e+01  4.9995865029125653e+01 -5.0860209232344544e-01 -9.8277177524773577e+01  4.9999999999999993e+01 -1.9655435504954719e+00 -4.2968221605206880e+00  2.3312786100252159e+00
               29   4.9985949817529118e+01  4.9977845437993196e+01 -5.0164122061738314e-01 -9.7910038983702407e+01  5.0000000000000000e+01 -1.9582007796740482e+00 -4.2968167838148563e+00  2.3386160041408082e+00
               30   4.9992088035229528e+01  4.9974992199507035e+01 -4.9642837810959883e-01 -9.7666891001829867e+01  5.0000000000000000e+01 -1.9533378200365974e+00 -4.2949670440235037e+00  2.3416292239869070e+00
               31   4.9999109147124813e+01  4.9989536954869649e+01 -5.0482516571917013e-01 -9.7815204464413284e+01  4.9999999999999993e+01 -1.9563040892882662e+00 -4.2969376514416675e+00  2.3406335621534011e+00
               32   4.9994153961188260e+01  4.9984604718898581e+01 -5.0661504745061636e-01 -9.7955232981519075e+01  5.0000000000000000e+01 -1.9591046596303816e+00 -4.2997153493492979e+00  2.3406106897189165e+00
               33   4.9991514971757191e+01  4.9984375601409710e+01 -5.0716369047509058e-01 -9.8745105176034826e+01  4.9999999999999993e+01 -1.9749021035206968e+00 -4.3008548732694480e+00  2.3259527697487519e+00
               34   5.0005343451714296e+01  5.0007976017923255e+01 -5.2625391794144383e-01 -9.8677998901312208e+01  5.0000000000000007e+01 -1.9735599780262438e+00 -4.3031445049539929e+00  2.3295845269277495e+00
               35   4.9987483482277540e+01  4.9969837988977936e+01 -5.1873658001150935e-01 -9.8606628319365100e+01  4.9999999999999993e+01 -1.9721325663873024e+00 -4.2997473824171015e+00  2.3276148160297989e+00
               36   5.0001187662637712e+01  4.9999520789206230e+01 -5.3305344920904607e-01 -9.8884945166772482e+01  5.0000000000000007e+01 -1.9776989033354493e+00 -4.2996832294195286e+00  2.3219843260840793e+00
               37   4.9996728645946277e+01  4.9980649839976408e+01 -5.4874925857240786e-01 -9.9085777202352872e+01  5.0000000000000007e+01 -1.9817155440470571e+00 -4.3046448663738959e+00  2.3229293223268384e+00
               38   4.9972114622023319e+01  4.9941646087250547e+01 -5.2003119149503718e-01 -9.8106304997623184e+01  5.0000000000000000e+01 -1.9621260999524637e+00 -4.2945608581543633e+00  2.3324347582018992e+00
               39   4.9970077517419348e+01  4.9927005848964228e+01 -4.8912682424444492e-01 -9.7307242565102698e+01  5.0000000000000007e+01 -1.9461448513020536e+00 -4.2983826500019324e+00  2.3522377986998788e+00
               40   4.9984798679108479e+01  4.9964407153068464e+01 -4.8364990002614527e-01 -9.7628783122446052e+01  5.0000000000000000e+01 -1.9525756624489210e+00 -4.2909079773566390e+00  2.3383323149077175e+00
               41   5.0002817671269241e+01  4.9994492967876425e+01 -5.0508991806093217e-01 -9.7500963492958803e+01  5.0000000000000007e+01 -1.9500192698591758e+00 -4.2878538598001246e+00  2.3378345899409485e+00
               42   4.9983261243728649e+01  4.9978116803823589e+01 -4.9634996089666183e-01 -9.8201524169693300e+01  5.0000000000000000e+01 -1.9640304833938660e+00 -4.2890164565790867e+00  2.3249859731852203e+00
               43   4.9989907079234655e+01  4.9965312671317868e+01 -5.1718279776047849e-01 -9.9065492963159770e+01  5.0000000000000000e+01 -1.9813098592631955e+00 -4.2871956514628327e+00  2.3058857921996374e+00
               44   4.9979733625990598e+01  4.9957198905276421e+01 -5.1111308534469380e-01 -9.9770971794708572e+01  5.0000000000000007e+01 -1.9954194358941710e+00 -4.2858514765436420e+00  2.2904320406494705e+00
               45   5.0001137715694661e+01  4.9999105411951859e+01 -5.4990749244343806e-01 -9.8214313065759782e+01  5.0000000000000014e+01 -1.9642862613151950e+00 -4.2673307041698223e+00  2.3030444428546279e+00
               46   4.9968303815945056e+01  4.9939032359940512e+01 -5.0597273385638297e-01 -9.7727974748325451e+01  5.0000000000000007e+01 -1.9545594949665088e+00 -4.2724118330145053e+00  2.3178523380479974e+00
               47   4.9989647849689561e+01  4.9960145165255717e+01 -5.1228695517853384e-01 -9.8064320942202016e+01  5.0000000000000007e+01 -1.9612864188440400e+00 -4.2754579625824807e+00  2.3141715437384409e+00
               48   4.9968121965909909e+01  4.9927904951468804e+01 -4.7888588195868059e-01 -9.8404043576266105e+01  5.0000000000000000e+01 -1.9680808715253222e+00 -4.2691965680866222e+00  2.3011156965613004e+00
               49   5.0007235987386323e+01  4.9985935774013235e+01 -5.3140371844388923e-01 -9.8418368153502087e+01  5.0000000000000000e+01 -1.9683673630700418e+00 -4.2850431330789682e+00  2.3166757700089269e+00
               50   4.9972003651908338e+01  4.9951637622629342e+01 -4.9688435641040990e-01 -9.7833249893577687e+01  5.0000000000000007e+01 -1.9566649978715533e+00 -4.2835571031838606e+00  2.3268921053123077e+00
               51   4.9997581891458950e+01  4.9980594651541637e+01 -5.1205763859406983e-01 -9.7785148146568446e+01  5.0000000000000000e+01 -1.9557029629313689e+00 -4.2881573280947674e+00  2.3324543651633989e+00
               52   4.9992032836567041e+01  4.9982206447625138e+01 -5.1074038272003275e-01 -9.8655261931102388e+01  5.0000000000000000e+01 -1.9731052386220478e+00 -4.2920465284994638e+00  2.3189412898774155e+00
               53   4.9996290299352715e+01  4.9985303789574836e+01 -5.1824853011534910e-01 -9.8341451848160801e+01  4.9999999999999993e+01 -1.9668290369632164e+00 -4.2928210011798340e+00  2.3259919642166174e+00
               54   4.9991606277841967e+01  4.9979729220857891e+01 -5.0951119765216268e-01 -9.8604618797892144e+01  5.0000000000000014e+01 -1.9720923759578421e+00 -4.2951650214871631e+00  2.3230726455293200e+00
               55   4.9997363924449893e+01  4.9988912601915040e+01 -5.2881791551160562e-01 -9.7862401157971632e+01  5.0000000000000000e+01 -1.9572480231594327e+00 -4.2918702034661571e+00  2.3346221803067246e+00
               56   4.9985359001188719e+01  4.9967422992136548e+01 -5.1410716251327826e-01 -9.7157112318081815e+01  5.0000000000000000e+01 -1.9431422463616363e+00 -4.2958252205453213e+00  2.3526829741836854e+00
               57   4.9984607907566691e+01  4.9964583393484112e+01 -5.0282312721438227e-01 -9.7397841166327211e+01  4.9999999999999993e+01 -1.9479568233265445e+00 -4.2958497586594167e+00  2.3478929353328719e+00
               58   4.9992629205983889e+01  4.9978066628935487e+01 -5.0730141242278537e-01 -9.7711132597477246e+01  5.0000000000000000e+01 -1.9542226519495449e+00 -4.2987761778936209e+00  2.3445535259440766e+00
               59   4.9992029831262791e+01  4.9964195642612601e+01 -4.9425369437091432e-01 -9.8192915502826978e+01  4.9999999999999986e+01 -1.9638583100565403e+00 -4.3075882372768088e+00  2.3437299272202683e+00
               60   4.9992138835409776e+01  4.9990209979405627e+01 -5.0508199466955339e-01 -9.8312867659532870e+01  4.9999999999999993e+01 -1.9662573531906578e+00 -4.3086170297430728e+00  2.3423596765524146e+00
               61   4.9990278267527742e+01  4.9981724486243564e+01 -5.0894823246295517e-01 -9.7881327261555668e+01  5.0000000000000000e+01 -1.9576265452311135e+00 -4.3107771590713728e+00  2.3531506138402598e+00
               62   4.9990243742759240e+01  4.9975161919777882e+01 -4.9921792292167005e-01 -9.7410251424034513e+01  5.0000000000000000e+01 -1.9482050284806902e+00 -4.3148717804806083e+00  2.3666667519999183e+00
               63   4.9987261585729001e+01  4.9968155369514363e+01 -4.8100254978047685e-01 -9.7509913754898122e+01  4.9999999999999986e+01 -1.9501982750979632e+00 -4.3145299841647171e+00  2.3643317090667537e+00
               64   4.9995055986703917e+01  4.9992379771572736e+01 -5.0256704560452503e-01 -9.7980891878746945e+01  5.0000000000000007e+01 -1.9596178375749387e+00 -4.3142900253690257e+00  2.3546721877940864e+00
               65   4.9997443095928148e+01  4.9989777531757120e+01 -5.1116393336829324e-01 -9.8291606597809519e+01  5.0000000000000007e+01 -1.9658321319561900e+00 -4.3070873335425039e+00  2.3412552015863137e+00
               66   4.9997759850601469e+01  4.9997938912507244e+01 -5.1665803226855200e-01 -9.8019806817668055e+01  5.0000000000000000e+01 -1.9603961363533611e+00 -4.3088209697716335e+00  2.3484248334182722e+00
               67   4.9976425830372435e+01  4.9943655026514605e+01 -4.9057348761031710e-01 -9.8106318381151070e+01  4.9999999999999993e+01 -1.9621263676230218e+00 -4.3104726203983388e+00  2.3483462527753165e+00
               68   5.0004814827202544e+01  4.9998180623414804e+01 -5.1222429002901415e-01 -9.8213729079976929e+01  5.0000000000000000e+01 -1.9642745815995386e+00 -4.3105461906206850e+00  2.3462716090211475e+00
               69   4.9989958303432303e+01  4.9968661120834433e+01 -5.0270966010506379e-01 -9.7937576990940798e+01  5.0000000000000000e+01 -1.9587515398188160e+00 -4.3088894582066342e+00  2.3501379183878170e+00
               70   4.9984101267437637e+01  4.9977032339175722e+01 -4.9663344904487972e-01 -9.7672220535982248e+01  5.0000000000000014e+01 -1.9534444107196443e+00 -4.3085630676847257e+00  2.3551186569650815e+00
               71   4.9999136913758740e+01  4.9979757776361758e+01 -5.1151310031560970e-01 -9.7717293057168817e+01  5.0000000000000007e+01 -1.9543458611433759e+00 -4.3075945415828771e+00  2.3532486804395005e+00
               72   4.9976509798755487e+01  4.9961477549611189e+01 -4.8509272827121908e-01 -9.7720032227446424e+01  5.0000000000000000e+01 -1.9544006445489286e+00 -4.3124202642822747e+00  2.3580196197333465e+00
               73   4.9995904614658265e+01  4.9986964016028253e+01 -4.9538898545670995e-01 -9.8081181284150730e+01  4.9999999999999993e+01 -1.9616236256830151e+00 -4.3124166328848093e+00  2.3507930072017942e+00
               74   4.9995004594462266e+01  4.9986202947733645e+01 -5.0127652599855088e-01 -9.7945560945456947e+01  5.0000000000000007e+01 -1.9589112189091387e+00 -4.3097052119600017e+00  2.3507939930508637e+00
               75   4.9999786682311317e+01  4.9985804712706475e+01 -5.1837322288087961e-01 -9.7574870047905463e+01  5.0000000000000000e+01 -1.9514974009581094e+00 -4.3029651689624595e+00  2.3514677680043494e+00
               76   4.9983923073221156e+01  4.9965023845100639e+01 -4.9615237804243345e-01 -9.7361123356454257e+01  4.9999999999999986e+01 -1.9472224671290859e+00 -4.3010404721652256e+00  2.3538180050361390e+00
               77   4.9994498414319544e+01  4.9974661746169318e+01 -5.0348812861835579e-01 -9.7165736281155091e+01  4.9999999999999993e+01 -1.9433147256231023e+00 -4.2963248832161689e+00  2.3530101575930669e+00
               78   4.9988085810003703e+01  4.9973803555192674e+01 -5.0637783404694126e-01 -9.7514402898547985e+01  4.9999999999999993e+01 -1.9502880579709601e+00 -4.2926125547166221e+00  2.3423244967456629e+00
               79   4.9982739925498137e+01  4.9962750599193491e+01 -4.8175447921304110e-01 -9.7720084024148733e+01  5.0000000000000000e+01 -1.9544016804829747e+00 -4.2912618301423411e+00  2.3368601496593668e+00
               80   4.9988248469877135e+01  4.9969938714148839e+01 -4.8523378488240404e-01 -9.7121004464965381e+01  5.0000000000000000e+01 -1.9424200892993078e+00 -4.2926199155375286e+00  2.3501998262382204e+00
               81   4.9992494866569039e+01  4.9982341374242608e+01 -4.9246795321068221e-01 -9.7145090658374301e+01  5.0000000000000014e+01 -1.9429018131674853e+00 -4.2907870043485401e+00  2.3478851911810543e+00
               82   4.9988239030609357e+01  4.9973665167521943e+01 -4.8065331792035221e-01 -9.7196091343458420e+01  4.9999999999999993e+01 -1.9439218268691687e+00 -4.2912486730631656e+00  2.3473268461939965e+00
               83   5.0000186239574560e+01  4.9992134792584302e+01 -5.0195659715682561e-01 -9.7382251689268529e+01  4.9999999999999993e+01 -1.9476450337853710e+00 -4.2943460265696576e+00  2.3467009927842870e+00
               84   4.9990239051185263e+01  4.9977284589704595e+01 -4.9645661311474548e-01 -9.7585497281741596e+01  5.0000000000000007e+01 -1.9517099456348317e+00 -4.2877967676876683e+00  2.3360868220528368e+00
               85   4.9995848535424074e+01  4.9964588380671458e+01 -5.0078305046183080e-01 -9.7380193532608814e+01  5.0000000000000014e+01 -1.9476038706521757e+00 -4.2771155197289090e+00  2.3295116490767338e+00
               86   4.9986702731432352e+01  4.9974022996236258e+01 -5.0168644950416941e-01 -9.8196848067922772e+01  4.9999999999999993e+01 -1.9639369613584559e+00 -4.2907184150434396e+00  2.3267814536849833e+00
               87   4.9984222767269138e+01  4.9959539816216591e+01 -4.9820195022732411e-01 -9.8313374592412757e+01  4.9999999999999993e+01 -1.9662674918482554e+00 -4.2869020534323745e+00  2.3206345615841197e+00
               88   4.9994098055469848e+01  4.9972883080766636e+01 -5.0801971450051475e-01 -9.8257486742923049e+01  4.9999999999999993e+01 -1.9651497348584614e+00 -4.2766560114745920e+00  2.3115062766161318e+00
               89   4.9996883745613097e+01  4.9995594527025759e+01 -5.4872013597786684e-01 -9.8400276403947913e+01  5.0000000000000007e+01 -1.9680055280789579e+00 -4.2866253761623359e+00  2.3186198480833768e+00
               90   4.9968526726643624e+01  4.9924541136227937e+01 -5.3294531517715904e-01 -9.9293396391211772e+01  5.0000000000000014e+01 -1.9858679278242348e+00 -4.2972221257770498e+00  2.3113541979528152e+00
               91   4.9966865686611925e+01  4.9921775729284207e+01 -5.2281771185204584e-01 -9.8431980134365730e+01  5.0000000000000007e+01 -1.9686396026873143e+00 -4.2973948999579088e+00  2.3287552972705945e+00
               92   4.9991049763958699e+01  4.9969301921760056e+01 -5.2760205017909312e-01 -9.9315157155384412e+01  5.0000000000000000e+01 -1.9863031431076883e+00 -4.2868946153647460e+00  2.3005914722570577e+00
               93   4.9995661610510972e+01  4.9982891005876262e+01 -5.3872557622214556e-01 -9.8236433531743941e+01  4.9999999999999993e+01 -1.9647286706348792e+00 -4.2874066639524537e+00  2.3226779933175745e+00
               94   4.9968485054623379e+01  4.9929329339515796e+01 -5.0744122708463268e-01 -9.7898525696985402e+01  5.0000000000000007e+01 -1.9579705139397077e+00 -4.2879202764331543e+00  2.3299497624934471e+00
               95   4.9973241782245999e+01  4.9928252003521550e+01 -5.2356694455787356e-01 -9.8164528890665324e+01  5.0000000000000000e+01 -1.9632905778133065e+00 -4.2848685684539838e+00  2.3215779906406766e+00
               96   4.9966557418229016e+01  4.9925274254502355e+01 -5.2331110076492426e-01 -9.7892685695400985e+01  5.0000000000000000e+01 -1.9578537139080197e+00 -4.2837026640558236e+00  2.3258489501478046e+00
               97   4.9978663386041163e+01  4.9959743996853668e+01 -5.3264755457442881e-01 -9.8223092425093938e+01  5.0000000000000007e+01 -1.9644618485018785e+00 -4.2890751944254344e+00  2.3246133459235563e+00
               98   4.9979519760927282e+01  4.9951324298787121e+01 -5.1718749421558274e-01 -9.8368191539150430e+01  5.0000000000000000e+01 -1.9673638307830086e+00 -4.2843339989434783e+00  2.3169701681604700e+00
               99   4.9990630431548453e+01  4.9973673405107803e+01 -5.2346076761304550e-01 -9.9279984252310626e+01  4.9999999999999993e+01 -1.9855996850462130e+00 -4.2906408747600926e+00  2.3050411897138807e+00
              100   4.9988577176595555e+01  4.9976200696204032e+01 -5.3335384343501258e-01 -9.9542925280574025e+01  5.0000000000000007e+01 -1.9908585056114803e+00 -4.2927434357293768e+00  2.3018849301178959e+00
              101   4.9966703003632894e+01  4.9923072900587457e+01 -5.3613278184151536e-01 -9.8307187879935199e+01  5.0000000000000000e+01 -1.9661437575987040e+00 -4.2994461468775897e+00  2.3333023892788844e+00
              102   4.9972056214502501e+01  4.9941140273227610e+01 -5.0892470146305557e-01 -9.8785772686435678e+01  4.9999999999999993e+01 -1.9757154537287140e+00 -4.2997404896138010e+00  2.3240250358850867e+00
              103   4.9991412451912623e+01  4.9975650560149838e+01 -5.1692396825320597e-01 -9.8385448625830094e+01  5.0000000000000000e+01 -1.9677089725166019e+00 -4.3027225556896695e+00  2.3350135831730676e+00
              104   4.9991828165575619e+01  4.9966840083414930e+01 -5.1995868448623583e-01 -9.9080671140777852e+01  4.9999999999999993e+01 -1.9816134228155575e+00 -4.3044715278343766e+00  2.3228581050188186e+00
              105   4.9985563981991504e+01  4.9970799939299958e+01 -5.2223069415323620e-01 -9.8318342119009031e+01  4.9999999999999993e+01 -1.9663668423801810e+00 -4.2951259250093186e+00  2.3287590826291376e+00
              106   4.9986348632435863e+01  4.9960261598652181e+01 -5.1204440691038122e-01 -9.8278478470775639e+01  5.0000000000000007e+01 -1.9655695694155124e+00 -4.3000100581209049e+00  2.3344404887053924e+00
              107   4.9984572735725237e+01  4.9972030862947697e+01 -5.1706669556793505e-01 -9.9683065304824083e+01  5.0000000000000000e+01 -1.9936613060964816e+00 -4.3062573115376184e+00  2.3125960054411361e+00
              108   4.9965583524455390e+01  4.9930187755332902e+01 -5.0942777929604677e-01 -9.8173418998429327e+01  5.0000000000000000e+01 -1.9634683799685866e+00 -4.3008680325161333e+00  2.3373996525475462e+00
              109   4.9994649526900218e+01  4.9972146469568450e+01 -5.1059044638192297e-01 -9.8061805938206817e+01  5.0000000000000007e+01 -1.9612361187641361e+00 -4.3002967163835351e+00  2.3390605976194001e+00
              110   4.9969123815395243e+01  4.9920427104522517e+01 -5.0337233331613362e-01 -9.7614569350490342e+01  4.9999999999999986e+01 -1.9522913870098075e+00 -4.2981580811883804e+00  2.3458666941785724e+00
              111   4.9982185711463899e+01  4.9957991493873941e+01 -4.9533085145868011e-01 -9.8148734166904561e+01  5.0000000000000000e+01 -1.9629746833380912e+00 -4.2988208602930831e+00  2.3358461769549912e+00
              112   4.9977820474663567e+01  4.9943317782529995e+01 -5.1026041565557978e-01 -9.8235177392792465e+01  5.0000000000000000e+01 -1.9647035478558494e+00 -4.3025418740908323e+00  2.3378383262349827e+00
              113   4.9994069622540280e+01  4.9986215978847383e+01 -5.1610232186609262e-01 -9.8522675575130876e+01  5.0000000000000007e+01 -1.9704535115026172e+00 -4.3087375332546420e+00  2.3382840217520244e+00
              114   4.9980783609773518e+01  4.9965814357947330e+01 -5.1702962576086187e-01 -9.8745419224419692e+01  5.0000000000000000e+01 -1.9749083844883939e+00 -4.3007390872573517e+00  2.3258307027689575e+00
              115   4.9992548541962215e+01  4.9977449506824513e+01 -5.3063154074609065e-01 -9.8356607156018228e+01  5.0000000000000000e+01 -1.9671321431203646e+00 -4.2865469139125016e+00  2.3194147707921378e+00
              116   4.9980633142531161e+01  4.9963278196066497e+01 -5.2014107826531242e-01 -9.8409999921341964e+01  4.9999999999999993e+01 -1.9681999984268397e+00 -4.2839306105976638e+00  2.3157306121708241e+00
              117   4.9996183532890655e+01  4.9980507435569208e+01 -5.2925527100142089e-01 -9.8102857836128464e+01  4.9999999999999993e+01 -1.9620571567225698e+00 -4.2912089303097298e+00  2.3291517735871605e+00
              118   4.9978401304484699e+01  4.9956815171488763e+01 -5.1069437668261153e-01 -9.8227200988514653e+01  5.0000000000000007e+01 -1.9645440197702928e+00 -4.2979382006962448e+00  2.3333941809259522e+00
              119   4.9987658891821958e+01  4.9963898978087059e+01 -4.9672646287103195e-01 -9.7645264799798113e+01  5.0000000000000000e+01 -1.9529052959959623e+00 -4.3031003498717002e+00  2.3501950538757379e+00
              120   5.0002596578085061e+01  4.9991692671518926e+01 -5.1430169211552901e-01 -9.8491013345117423e+01  5.0000000000000000e+01 -1.9698202669023486e+00 -4.3125463870196681e+00  2.3427261201173204e+00
              121   4.9990829927374932e+01  4.9981755091102727e+01 -5.1386794350445253e-01 -9.8201382056024357e+01  5.0000000000000000e+01 -1.9640276411204871e+00 -4.3086832464844074e+00  2.3446556053639203e+00
              122   4.9992785766630618e+01  4.9992609932544433e+01 -5.2110044221664220e-01 -9.8729136048660877e+01  5.0000000000000000e+01 -1.9745827209732176e+00 -4.3145278277661712e+00  2.3399451067929538e+00
              123   4.9988572520476126e+01  4.9989363350065254e+01 -5.2450661044121083e-01 -9.8803769447662773e+01  5.0000000000000007e+01 -1.9760753889532552e+00 -4.3190346676448215e+00  2.3429592786915663e+00
              124   4.9990809171205946e+01  4.9961340060948523e+01 -5.2303671552084174e-01 -9.9325638628457170e+01  5.0000000000000000e+01 -1.9865127725691434e+00 -4.3136367202560146e+00  2.3271239476868710e+00
              125   5.0001050684914730e+01  5.0006704740906578e+01 -5.4450269642948479e-01 -9.9122012269802212e+01  5.0000000000000000e+01 -1.9824402453960444e+00 -4.3131620922889242e+00  2.3307218468928799e+00
              126   4.9983986807702550e+01  4.9943623908317313e+01 -5.2120862868031381e-01 -9.9514390119619677e+01  5.0000000000000007e+01 -1.9902878023923933e+00 -4.3134193625736250e+00  2.3231315601812317e+00
              127   4.9997333591909431e+01  4.9975464268123396e+01 -5.3358253242988174e-01 -9.9242007988077901e+01  5.0000000000000007e+01 -1.9848401597615577e+00 -4.3058130823409746e+00  2.3209729225794167e+00
              128   4.9989060146892115e+01  4.9984843467216244e+01 -5.3637226487335077e-01 -9.9186775077402416e+01  5.0000000000000007e+01 -1.9837355015480480e+00 -4.3115028766161698e+00  2.3277673750681216e+00
              129   4.9996936119457089e+01  4.9985781957203301e+01 -5.3995456495967209e-01 -9.8291745829845894e+01  4.9999999999999993e+01 -1.9658349165969182e+00 -4.3092255703752897e+00  2.3433906537783713e+00
              130   4.9982526502597914e+01  4.9952408959517925e+01 -5.2021976083365840e-01 -9.9077202983019134e+01  5.0000000000000000e+01 -1.9815440596603828e+00 -4.3049420479056506e+00  2.3233979882452682e+00
              131   5.0006809758449592e+01  4.9997362304428087e+01 -5.5265806933866157e-01 -1.0045865075123271e+02  4.9999999999999993e+01 -2.0091730150246545e+00 -4.3135146030620586e+00  2.3043415880374050e+00
              132   4.9985998246949237e+01  4.9985196074603216e+01 -5.4224301845383172e-01 -1.0022071378403932e+02  5.0000000000000000e+01 -2.0044142756807863e+00 -4.3053704989775810e+00  2.3009562232967942e+00
              133   4.9989559301414900e+01  4.9973711296784266e+01 -5.4317362985952145e-01 -1.0023125726431520e+02  4.9999999999999993e+01 -2.0046251452863046e+00 -4.2990007421046794e+00  2.2943755968183743e+00
              134   4.9998094977668487e+01  4.9984967087136830e+01 -5.5102406019486072e-01 -1.0020395162308373e+02  4.9999999999999993e+01 -2.0040790324616751e+00 -4.3011587238945799e+00  2.2970796914329052e+00
              135   4.9995241308128342e+01  5.0780669994320469e+01 -5.6041017719132036e-01 -9.9745742926914687e+01  5.0000000000000007e+01 -1.9949148585382934e+00 -4.3050354197629783e+00  2.3101205612246849e+00
              136   4.9979668220211224e+01  4.9944881232658908e+01 -5.3750168657079200e-01 -1.0000628283655578e+02  5.0000000000000000e+01 -2.0001256567311159e+00 -4.2973536742521414e+00  2.2972280175210251e+00
              137   4.9992344018924854e+01  4.9977908944012555e+01 -5.4247806986449498e-01 -9.8858065791775957e+01  5.0000000000000000e+01 -1.9771613158355192e+00 -4.2769787283339786e+00  2.2998174124984589e+00
              138   4.9968893896500958e+01  4.9932546344547276e+01 -5.2139511485475309e-01 -9.9462472911301077e+01  5.0000000000000000e+01 -1.9892494582260216e+00 -4.2849690268646956e+00  2.2957195686386740e+00
              139   4.9998672277359063e+01  4.9997792922919814e+01 -5.5408635356096692e-01 -9.9820916993219825e+01  5.0000000000000014e+01 -1.9964183398643958e+00 -4.2869488231150177e+00  2.2905304832506213e+00
              140   4.9979782575054067e+01  4.9968876540571976e+01 -5.5615842694077666e-01 -9.9196467806988920e+01  5.0000000000000007e+01 -1.9839293561397782e+00 -4.2845304952282541e+00  2.3006011390884762e+00
              141   4.9978512882832582e+01  4.9934636208196601e+01 -5.3477618232438329e-01 -9.9143112352476692e+01  5.0000000000000000e+01 -1.9828622470495338e+00 -4.2838457472698135e+00  2.3009835002202794e+00
              142   4.9984514754539198e+01  4.9959953311900883e+01 -5.4105541443594496e-01 -9.8546335630322588e+01  4.9999999999999993e+01 -1.9709267126064522e+00 -4.2888827922757562e+00  2.3179560796693037e+00
              143   4.9965919677154226e+01  4.9936343103719423e+01 -5.0994060782755579e-01 -9.8458364355324008e+01  5.0000000000000000e+01 -1.9691672871064803e+00 -4.2857436322552669e+00  2.3165763451487869e+00
              144   4.9995865231394063e+01  4.9958660653662392e+01 -5.2790181130781522e-01 -9.8645837611648602e+01  5.0000000000000007e+01 -1.9729167522329718e+00 -4.2799543692570525e+00  2.3070376170240792e+00
              145   4.9977448757862248e+01  4.9943809254289846e+01 -5.2221307547794593e-01 -9.9185738736103531e+01  5.0000000000000000e+01 -1.9837147747220707e+00 -4.2781484199744755e+00  2.2944336452524050e+00
              146   4.9973049846328948e+01  4.9935518016372811e+01 -5.1272558440436700e-01 -9.9614477656920599e+01  4.9999999999999993e+01 -1.9922895531384124e+00 -4.2679675535075363e+00  2.2756780003691239e+00
              147   4.9991055354523922e+01  4.9958826856908381e+01 -5.5178471616864178e-01 -9.9624088055226679e+01  4.9999999999999993e+01 -1.9924817611045340e+00 -4.2818907051208850e+00  2.2894089440163512e+00
              148   4.9971998468212206e+01  4.9928285670536226e+01 -5.1751368753326366e-01 -9.9455951329786444e+01  5.0000000000000000e+01 -1.9891190265957290e+00 -4.2985535235906802e+00  2.3094344969949514e+00
              149   5.0008318613060126e+01  4.9995284129428349e+01 -5.6222343789570806e-01 -9.9826869033299843e+01  5.0000000000000000e+01 -1.9965373806659970e+00 -4.3013282890226359e+00  2.3047909083566398e+00
              150   4.9977309468112054e+01  4.9950231302732838e+01 -5.4787899910011140e-01 -9.9727207372902257e+01  5.0000000000000007e+01 -1.9945441474580448e+00 -4.2985485461527793e+00  2.3040043986947345e+00
              151   4.9992799712536566e+01  4.9981922764225139e+01 -5.6948685575324887e-01 -9.9661424848335287e+01  5.0000000000000007e+01 -1.9932284969667053e+00 -4.3075834997057560e+00  2.3143550027390507e+00
              152   4.9947482608074068e+01  4.9854377559189771e+01 -5.2786337061069066e-01 -9.9624741528672729e+01  4.9999999999999993e+01 -1.9924948305734549e+00 -4.3024240449830895e+00  2.3099292144096339e+00
              153   4.9985621364476039e+01  4.9940183537047396e+01 -5.2396878766701127e-01 -1.0006825874882837e+02  5.0000000000000000e+01 -2.0013651749765673e+00 -4.2978062118671376e+00  2.2964410368905703e+00
              154   4.9968202941158104e+01  4.9922557076102905e+01 -5.1584142528376209e-01 -9.8631135215809820e+01  5.0000000000000007e+01 -1.9726227043161961e+00 -4.3076164637375776e+00  2.3349937594213817e+00
              155   4.9940461044350613e+01  5.0260465724514098e+01 -4.7296476420260131e-01 -9.7015115260594840e+01  4.9999999999999993e+01 -1.9403023052118971e+00 -4.3016527230959456e+00  2.3613504178840476e+00
              156   4.9992002359879784e+01  4.9973024838319006e+01 -4.8254927911351048e-01 -9.7097989951722610e+01  5.0000000000000000e+01 -1.9419597990344521e+00 -4.3053701664141917e+00  2.3634103673797391e+00
              157   4.9983583081822701e+01  4.9976299128134315e+01 -4.8320068697688368e-01 -9.6457489222281907e+01  4.9999999999999993e+01 -1.9291497844456384e+00 -4.2986110609338368e+00  2.3694612764881988e+00
              158   4.9989939238041892e+01  4.9971929554759207e+01 -4.9388399557770396e-01 -9.6842456164738365e+01  5.0000000000000000e+01 -1.9368491232947673e+00 -4.2984826825425184e+00  2.3616335592477506e+00
              159   4.9985657992281524e+01  4.9961459537338243e+01 -4.8859065042676364e-01 -9.6683716003207394e+01  4.9999999999999986e+01 -1.9336743200641486e+00 -4.2981515772668821e+00  2.3644772572027333e+00
              160   4.9977061990707135e+01  4.9941078364243722e+01 -4.6304509735663946e-01 -9.7040225498817492e+01  5.0000000000000000e+01 -1.9408045099763498e+00 -4.2981460688054494e+00  2.3573415588290998e+00
              161   5.0005880456490189e+01  4.9997802282983415e+01 -5.0052217218896033e-01 -9.7610242566385665e+01  4.9999999999999993e+01 -1.9522048513277137e+00 -4.2963658020096043e+00  2.3441609506818910e+00
              162   4.9991837572114363e+01  4.9984678457114718e+01 -5.0442067399175672e-01 -9.8342038934718246e+01  5.0000000000000000e+01 -1.9668407786943649e+00 -4.2945193134651571e+00  2.3276785347707931e+00
              163   4.9990756466301427e+01  4.9993507297770819e+01 -5.2680467496219441e-01 -9.7885226677002450e+01  5.0000000000000007e+01 -1.9577045335400487e+00 -4.2946040693408865e+00  2.3368995358008373e+00
              164   4.9971939305679591e+01  4.9932202411206191e+01 -4.9890270553845334e-01 -9.8207633150542833e+01  4.9999999999999993e+01 -1.9641526630108570e+00 -4.2929975886827965e+00  2.3288449256719392e+00
              165   4.9993499072724916e+01  4.9972653222556040e+01 -5.1680082087703283e-01 -9.8278202033188151e+01  5.0000000000000000e+01 -1.9655640406637631e+00 -4.2790125994507013e+00  2.3134485587869378e+00
              166   4.9985700507521024e+01  4.9967290218611225e+01 -5.1780366567719238e-01 -9.9154495830396186e+01  5.0000000000000000e+01 -1.9830899166079237e+00 -4.2978870523776838e+00  2.3147971357697603e+00
              167   4.9985362902779670e+01  4.9976265686785823e+01 -5.2211382314280530e-01 -9.8705542790329915e+01  5.0000000000000000e+01 -1.9741108558065983e+00 -4.2962120703974263e+00  2.3221012145908277e+00
              168   4.9991447492840408e+01  4.9975630846185084e+01 -5.2645579790138730e-01 -9.9149053687549753e+01  5.0000000000000000e+01 -1.9829810737509952e+00 -4.3050375420773745e+00  2.3220564683263798e+00
              169   4.9991729391718472e+01  4.9968051948452867e+01 -5.2346310247177885e-01 -9.8705917439319336e+01  5.0000000000000007e+01 -1.9741183487863865e+00 -4.3063039572874260e+00  2.3321856085010397e+00
              170   4.9983865463645060e+01  4.9975468964463055e+01 -5.2605487640659232e-01 -9.8352250186048451e+01  4.9999999999999993e+01 -1.9670450037209695e+00 -4.2944813293960218e+00  2.3274363256750519e+00
              171   4.9983644629425662e+01  4.9970599378780371e+01 -5.1970145648679633e-01 -9.7843958838984491e+01  5.0000000000000000e+01 -1.9568791767796898e+00 -4.2878932668885401e+00  2.3310140901088507e+00
              172   4.9993938112795284e+01  4.9970100496365177e+01 -5.2163435652673684e-01 -9.8351626018197649e+01  4.9999999999999993e+01 -1.9670325203639534e+00 -4.2987641525301692e+00  2.3317316321662163e+00
              173   4.9982314335270530e+01  4.9946283545493543e+01 -5.0093430249256043e-01 -9.8889393234376399e+01  5.0000000000000000e+01 -1.9777878646875280e+00 -4.3052131445556290e+00  2.3274252798681005e+00
              174   4.9997328850244166e+01  4.9994234483878770e+01 -5.2643601067106627e-01 -9.9106848391631559e+01  5.0000000000000000e+01 -1.9821369678326313e+00 -4.2993772338988281e+00  2.3172402660661975e+00
              175   4.9991028561286207e+01  4.9986821423980054e+01 -5.3588991761097449e-01 -9.9638015913933032e+01  5.0000000000000000e+01 -1.9927603182786606e+00 -4.3022178597043146e+00  2.3094575414256537e+00
              176   4.9995085467298843e+01  4.9983489105141906e+01 -5.6507096358413444e-01 -9.9424675980004167e+01  5.0000000000000000e+01 -1.9884935196000835e+00 -4.2929972759058703e+00  2.3045037563057873e+00
              177   4.9969227388359116e+01  4.9927372821256959e+01 -5.3784628042710891e-01 -9.9387304951346763e+01  5.0000000000000000e+01 -1.9877460990269353e+00 -4.2949755243277554e+00  2.3072294253008194e+00
              178   4.9984340508701479e+01  4.9964910412315483e+01 -5.4347026488666839e-01 -9.9860794856556240e+01  5.0000000000000007e+01 -1.9972158971311245e+00 -4.3020944616955354e+00  2.3048785645644112e+00
              179   4.9987207440374888e+01  4.9971925569348372e+01 -5.4653301270189736e-01 -9.9242919219449007e+01  4.9999999999999993e+01 -1.9848583843889804e+00 -4.2915543622785117e+00  2.3066959778895302e+00
              180   4.9971380922334831e+01  4.9937127530033813e+01 -5.1601837351088897e-01 -9.8427650721441850e+01  5.0000000000000007e+01 -1.9685530144288368e+00 -4.2934594674846007e+00  2.3249064530557644e+00
              181   4.9996568157475032e+01  4.9982608375820710e+01 -5.3481445910002312e-01 -9.8284881246605281e+01  5.0000000000000000e+01 -1.9656976249321056e+00 -4.3081557363747836e+00  2.3424581114426775e+00
              182   4.9983590194863041e+01  4.9961778578793130e+01 -5.2477872262991221e-01 -9.8668924234075462e+01  5.0000000000000014e+01 -1.9733784846815086e+00 -4.3107527016732909e+00  2.3373742169917824e+00
              183   4.9985616377704496e+01  4.9961852104365505e+01 -5.1606737753569920e-01 -9.8478530672711472e+01  5.0000000000000000e+01 -1.9695706134542295e+00 -4.3075566029825891e+00  2.3379859895283595e+00
              184   4.9987297403367286e+01  4.9972864552322335e+01 -5.0614105049683134e-01 -9.7712752544218503e+01  5.0000000000000000e+01 -1.9542550508843701e+00 -4.3055847671054295e+00  2.3513297162210587e+00
              185   4.9990124415026941e+01  4.9979648414611084e+01 -5.0735001242207822e-01 -9.7861377790776842e+01  5.0000000000000000e+01 -1.9572275558155370e+00 -4.2927647216603519e+00  2.3355371658448143e+00
              186   4.9988360517096666e+01  4.9953638037905066e+01 -4.9980048389058856e-01 -9.7709927229541933e+01  5.0000000000000000e+01 -1.9541985445908387e+00 -4.2945586448669335e+00  2.3403601002760950e+00
              187   4.9997566250750708e+01  4.9995419722493551e+01 -5.0885389203704445e-01 -9.8175661234179387e+01  4.9999999999999993e+01 -1.9635132246835880e+00 -4.2896411866610178e+00  2.3261279619774293e+00
              188   4.9995669293339752e+01  4.9985111459679409e+01 -5.2419265902496714e-01 -9.9056951343003817e+01  4.9999999999999993e+01 -1.9811390268600768e+00 -4.3016754123290033e+00  2.3205363854689267e+00
              189   4.9994374067654469e+01  4.9990854741889926e+01 -5.5055425614383491e-01 -9.9939258630701389e+01  5.0000000000000007e+01 -1.9987851726140275e+00 -4.3212247405529425e+00  2.3224395679389152e+00
              190   4.9982897433882776e+01  4.9981349018799541e+01 -5.6119719386745959e-01 -1.0063201836322158e+02  5.0000000000000000e+01 -2.0126403672644315e+00 -4.3165530878636780e+00  2.3039127205992473e+00
              191   4.9971513574966103e+01  4.9927143156537042e+01 -5.5801923381178764e-01 -1.0125417782555546e+02  4.9999999999999993e+01 -2.0250835565111096e+00 -4.3165926803538435e+00  2.2915091238427334e+00
              192   4.9995054835242719e+01  4.9981126758319760e+01 -5.5720614278504266e-01 -1.0033284370055155e+02  5.0000000000000000e+01 -2.0066568740110311e+00 -4.3122160321542520e+00  2.3055591581432209e+00
              193   4.9999677503543545e+01  4.9968745620221192e+01 -5.9182166595618635e-01 -1.0107031968688842e+02  5.0000000000000007e+01 -2.0214063937377680e+00 -4.3230860981040644e+00  2.3016797043662973e+00
              194   4.9974693410602107e+01  4.9943899534743537e+01 -5.8391263721592435e-01 -1.0029930360061984e+02  4.9999999999999993e+01 -2.0059860720123970e+00 -4.3208879010311954e+00  2.3149018290187975e+00
              195   4.9948987879679230e+01  4.9894962599529002e+01 -5.2283955573994589e-01 -9.9144794805221082e+01  4.9999999999999993e+01 -1.9828958961044221e+00 -4.3142965526264625e+00  2.3314006565220415e+00
              196   5.0001603812434453e+01  4.9972958534592763e+01 -5.4197906772937854e-01 -9.9529330496956135e+01  5.0000000000000000e+01 -1.9905866099391227e+00 -4.3159626349288587e+00  2.3253760249897351e+00
              197   4.9980736450896245e+01  4.9958675917967895e+01 -5.2406991006698422e-01 -9.8814396398727737e+01  5.0000000000000007e+01 -1.9762879279745544e+00 -4.3095706414935178e+00  2.3332827135189635e+00
              198   4.9979637000734897e+01  4.9951165669402307e+01 -5.1037625861118063e-01 -9.9455579504285311e+01  4.9999999999999993e+01 -1.9891115900857066e+00 -4.3057511453505724e+00  2.3166395552648660e+00
              199   4.9999648085738890e+01  4.9985766828813368e+01 -5.4624846722187581e-01 -9.9321520940153576e+01  4.9999999999999986e+01 -1.9864304188030721e+00 -4.3088801037516493e+00  2.3224496849485767e+00
              200   4.9984324412786364e+01  4.9971384257678878e+01 -5.4552924545243442e-01 -9.9175952231446630e+01  5.0000000000000007e+01 -1.9835190446289324e+00 -4.3084490724896165e+00  2.3249300278606837e+00
              201   4.9979690398986477e+01  4.9960480055108036e+01 -5.4174560038318598e-01 -9.8660549994475659e+01  5.0000000000000007e+01 -1.9732109998895129e+00 -4.3123634015234389e+00  2.3391524016339265e+00
              202   4.9961771873225601e+01  4.9919594641052072e+01 -5.1887389822799534e-01 -9.8082486844807576e+01  5.0000000000000007e+01 -1.9616497368961512e+00 -4.3118548126388090e+00  2.3502050757426587e+00
              203   4.9982533888427909e+01  4.9933053996780174e+01 -4.9854845129936087e-01 -9.7836430067266022e+01  4.9999999999999993e+01 -1.9567286013453209e+00 -4.3030548394136998e+00  2.3463262380683796e+00
              204   4.9987861294970003e+01  4.9980405613862821e+01 -5.0504122336702650e-01 -9.7438999184220819e+01  5.0000000000000007e+01 -1.9487799836844162e+00 -4.3024063261580299e+00  2.3536263424736132e+00
              205   4.9986344254502811e+01  4.9961642815970833e+01 -4.9400951625779804e-01 -9.7198185303196468e+01  4.9999999999999993e+01 -1.9439637060639297e+00 -4.2902074065489968e+00  2.3462437004850663e+00
              206   4.9992758241911986e+01  4.9978894445318005e+01 -5.1054378495542763e-01 -9.7134948292562171e+01  5.0000000000000007e+01 -1.9426989658512432e+00 -4.2820456414395416e+00  2.3393466755882986e+00
              207   4.9989699692834101e+01  4.9975734812420349e+01 -5.1761467112545445e-01 -9.7812877035336896e+01  5.0000000000000007e+01 -1.9562575407067375e+00 -4.2919837918245172e+00  2.3357262511177797e+00
              208   4.9978977369246181e+01  4.9951651318461458e+01 -4.8943190709857703e-01 -9.7257203464941412e+01  5.0000000000000007e+01 -1.9451440692988280e+00 -4.2938404658004989e+00  2.3486963965016718e+00
              209   4.9981508378812308e+01  4.9949557203164581e+01 -4.8443426100778730e-01 -9.7812446404197928e+01  5.0000000000000007e+01 -1.9562489280839583e+00 -4.2944736059568500e+00  2.3382246778728915e+00
              210   5.0003967305587722e+01  4.9981588278186628e+01 -5.0646746400082787e-01 -9.8187480420421508e+01  5.0000000000000000e+01 -1.9637496084084303e+00 -4.2928745717179053e+00  2.3291249633094759e+00
              211   4.9984809791305644e+01  4.9979195954107588e+01 -5.0551325049013507e-01 -9.9351219594285979e+01  5.0000000000000000e+01 -1.9870243918857196e+00 -4.3073207326901324e+00  2.3202963408044126e+00
              212   4.9993889487446076e+01  4.9980131468240081e+01 -5.2859465182877219e-01 -1.0020037584833092e+02  5.0000000000000007e+01 -2.0040075169666181e+00 -4.3156186533086034e+00  2.3116111363419853e+00
              213   4.9931343486669221e+01  4.9841885925061831e+01 -5.2457781906939205e-01 -9.8958554291679491e+01  5.0000000000000007e+01 -1.9791710858335896e+00 -4.2953369076926737e+00  2.3161658218590846e+00
              214   4.9988315936323389e+01  4.9965670407978941e+01 -5.2400761076938629e-01 -9.8418805817109373e+01  5.0000000000000007e+01 -1.9683761163421871e+00 -4.2906899391664304e+00  2.3223138228242437e+00
              215   4.9981016624149063e+01  4.9956056267126137e+01 -5.1948216894066401e-01 -9.8029487487218404e+01  4.9999999999999993e+01 -1.9605897497443685e+00 -4.2877220334788690e+00  2.3271322837345005e+00
              216   4.9977740873600204e+01  4.9964667514118709e+01 -5.0645084182849165e-01 -9.7970798099616275e+01  5.0000000000000000e+01 -1.9594159619923255e+00 -4.2930024187892553e+00  2.3335864567969291e+00
              217   4.9984834586180106e+01  4.9961976829817679e+01 -5.1386472065574351e-01 -9.8779541436358116e+01  5.0000000000000007e+01 -1.9755908287271620e+00 -4.2916584453750986e+00  2.3160676166479361e+00
              218   4.9971422210689269e+01  4.9923498776367076e+01 -5.0884208437647482e-01 -9.8248887875421488e+01  5.0000000000000000e+01 -1.9649777575084297e+00 -4.2721196875029310e+00  2.3071419299945002e+00
              219   4.9963061312418851e+01  4.9918077160467902e+01 -4.8197608427518041e-01 -9.6958003350453239e+01  4.9999999999999993e+01 -1.9391600670090652e+00 -4.2744431441264226e+00  2.3352830771173569e+00
              220   4.9990594458723308e+01  4.9958585319191599e+01 -5.0507859597873617e-01 -9.8528364533860966e+01  4.9999999999999993e+01 -1.9705672906772198e+00 -4.2748808906002482e+00  2.3043135999230286e+00
              221   4.9970157438078516e+01  4.9946847675864667e+01 -4.8894756001727424e-01 -9.7639469541099686e+01  5.0000000000000000e+01 -1.9527893908219938e+00 -4.2946620454700870e+00  2.3418726546480935e+00
              222   4.9984626834875485e+01  4.9947037437006223e+01 -4.9180289195205296e-01 -9.8042309373268708e+01  5.0000000000000000e+01 -1.9608461874653742e+00 -4.2999570618852072e+00  2.3391108744198332e+00
              223   4.9984171844928632e+01  4.9968962038249067e+01 -4.9477489078807402e-01 -9.7551559836172373e+01  5.0000000000000007e+01 -1.9510311967234473e+00 -4.3045733845091814e+00  2.3535421877857345e+00
              224   4.9984882822291240e+01  4.9968386675999852e+01 -4.9421238439462534e-01 -9.7049853980543489e+01  5.0000000000000000e+01 -1.9409970796108698e+00 -4.3024358955112589e+00  2.3614388159003896e+00
              225   4.9984147464708144e+01  4.9964171983302315e+01 -4.8709554669650690e-01 -9.6748470204196323e+01  5.0000000000000007e+01 -1.9349694040839263e+00 -4.3053379272553904e+00  2.3703685231714648e+00
              226   4.9994874291826200e+01  4.9982256323265176e+01 -4.9704423868166303e-01 -9.6609571098672774e+01  5.0000000000000007e+01 -1.9321914219734553e+00 -4.3057747578343006e+00  2.3735833358608454e+00
              227   4.9981405743096232e+01  4.9966452396085501e+01 -4.9087938950302901e-01 -9.7255654731903135e+01  5.0000000000000000e+01 -1.9451130946380628e+00 -4.3124328108759871e+00  2.3673197162379251e+00
              228   4.9986337470395831e+01  4.9954275175430986e+01 -4.7858473571763543e-01 -9.7303982385253292e+01  5.0000000000000000e+01 -1.9460796477050659e+00 -4.3081697884627417e+00  2.3620901407576751e+00
              229   4.9981575350726651e+01  4.9969894841264875e+01 -4.7707440476462226e-01 -9.7467882505396787e+01  5.0000000000000000e+01 -1.9493576501079357e+00 -4.3074602833224267e+00  2.3581026332144903e+00
              230   5.0000813270985255e+01  4.9980876457871453e+01 -4.8775085184459327e-01 -9.7583087879785126e+01  5.0000000000000000e+01 -1.9516617575957025e+00 -4.3179643860008596e+00  2.3663026284051578e+00
              231   4.9998620038597764e+01  4.9993891347454493e+01 -5.0924889272519891e-01 -9.7668070284202173e+01  5.0000000000000007e+01 -1.9533614056840432e+00 -4.3133840472746536e+00  2.3600226415906107e+00
              232   4.9978729093871642e+01  4.9960229185290409e+01 -4.9520990924257718e-01 -9.7923227949331277e+01  5.0000000000000007e+01 -1.9584645589866252e+00 -4.3102583310256080e+00  2.3517937720389832e+00
              233   4.9999287393814178e+01  4.9975756791222430e+01 -5.1115394055645980e-01 -9.7944183220849155e+01  5.0000000000000000e+01 -1.9588836644169831e+00 -4.3154385816268848e+00  2.3565549172099018e+00
              234   4.9991731207678377e+01  4.9989705522608958e+01 -5.2097882431269316e-01 -9.8185774889767373e+01  5.0000000000000000e+01 -1.9637154977953475e+00 -4.3061408638013061e+00  2.3424253660059584e+00
              235   4.9975117549701828e+01  4.9938802925850908e+01 -5.0223169793688471e-01 -9.8094023705255097e+01  5.0000000000000000e+01 -1.9618804741051019e+00 -4.3041036145612859e+00  2.3422231404561837e+00
              236   4.9989771327622961e+01  4.9980822749320552e+01 -5.1997470368097554e-01 -9.8688017028883820e+01  5.0000000000000000e+01 -1.9737603405776765e+00 -4.3101638457624185e+00  2.3364035051847423e+00
              237   4.9991512470907949e+01  4.9969680650564960e+01 -5.1599495839711185e-01 -9.8531604095790343e+01  5.0000000000000007e+01 -1.9706320819158065e+00 -4.3150843460309609e+00  2.3444522641151537e+00
              238   4.9993093478613574e+01  4.9981137616693758e+01 -5.3160902591706527e-01 -9.8748338393299662e+01  5.0000000000000007e+01 -1.9749667678659930e+00 -4.3223758763753883e+00  2.3474091085093947e+00
              239   4.9968584861718995e+01  4.9946324543728259e+01 -4.9303550654010259e-01 -9.8134944486878652e+01  4.9999999999999993e+01 -1.9626988897375734e+00 -4.3147159868064939e+00  2.3520170970689205e+00
              240   5.0000429020997800e+01  4.9979910589643076e+01 -5.0851723548514638e-01 -9.8393923268484059e+01  5.0000000000000000e+01 -1.9678784653696813e+00 -4.3142629706185565e+00  2.3463845052488752e+00
              241   5.0001723024675350e+01  4.9998796007657340e+01 -5.2577843284780446e-01 -9.8632713398814843e+01  5.0000000000000007e+01 -1.9726542679762966e+00 -4.3156581561010912e+00  2.3430038881247950e+00
              242   4.9979006602007416e+01  4.9964824260302933e+01 -5.0389080942060305e-01 -9.8591413150915017e+01  5.0000000000000007e+01 -1.9718282630182999e+00 -4.3164599305773743e+00  2.3446316675590744e+00
              243   5.0004657106027352e+01  4.9993979839918147e+01 -5.2406384686528473e-01 -9.9223378709146616e+01  4.9999999999999993e+01 -1.9844675741829327e+00 -4.3176276864019165e+00  2.3331601122189825e+00
              244   4.9993647434936797e+01  4.9986319909132753e+01 -5.2581164815047254e-01 -9.9478658402923472e+01  5.0000000000000007e+01 -1.9895731680584692e+00 -4.3176655835763089e+00  2.3280924155178395e+00
              245   4.9998222392766415e+01  4.9990146975950609e+01 -5.5450719839375928e-01 -9.9638231191623603e+01  4.9999999999999986e+01 -1.9927646238324728e+00 -4.3171535127418945e+00  2.3243888889094215e+00
              246   4.9987253068173167e+01  4.9980952465680858e+01 -5.4076147948598619e-01 -9.9012727086229390e+01  5.0000000000000000e+01 -1.9802545417245878e+00 -4.3194167762318418e+00  2.3391622345072540e+00
              247   4.9981861001729598e+01  4.9940089363730422e+01 -5.1599924754193827e-01 -9.8738917869174458e+01  4.9999999999999993e+01 -1.9747783573834896e+00 -4.3193300028956934e+00  2.3445516455122042e+00
              248   5.0001617959023044e+01  4.9988148980696373e+01 -5.3380700250088453e-01 -9.9003517001750154e+01  5.0000000000000000e+01 -1.9800703400350030e+00 -4.3218604765925299e+00  2.3417901365575271e+00
              249   4.9989194485660583e+01  4.9972867610558900e+01 -5.3862631625953128e-01 -9.9840690603765225e+01  5.0000000000000000e+01 -1.9968138120753045e+00 -4.3273383630187174e+00  2.3305245509434127e+00
              250   4.9989351656883748e+01  4.9986324360779513e+01 -5.4998166655141234e-01 -9.9472667054517061e+01  5.0000000000000000e+01 -1.9894533410903412e+00 -4.3276604491022805e+00  2.3382071080119395e+00
              251   4.9968556849872833e+01  4.9929936239928310e+01 -5.2044490654020470e-01 -9.9200250898212673e+01  4.9999999999999993e+01 -1.9840050179642539e+00 -4.3201584195207783e+00  2.3361534015565240e+00
              252   4.9993435777522258e+01  4.9967749004661350e+01 -5.2562292990735260e-01 -9.8980573179280199e+01  5.0000000000000000e+01 -1.9796114635856041e+00 -4.3151414382137752e+00  2.3355299746281712e+00
              253   4.9984299110120432e+01  4.9967578480511314e+01 -5.1859119459663294e-01 -9.9043838408583653e+01  5.0000000000000007e+01 -1.9808767681716728e+00 -4.3179670515358461e+00  2.3370902833641733e+00
              254   4.9998153543399489e+01  5.0002862814772683e+01 -5.4968990084983660e-01 -9.9490021108563440e+01  5.0000000000000007e+01 -1.9898004221712684e+00 -4.3196589458914492e+00  2.3298585237201812e+00
              255   4.9975383871588491e+01  4.9954776019392433e+01 -5.2148197733600610e-01 -9.8127603042036611e+01  5.0000000000000007e+01 -1.9625520608407319e+00 -4.3226760360466141e+00  2.3601239752058834e+00
              256   4.9993630422345831e+01  4.9970822603856085e+01 -5.2612646602648239e-01 -9.8407686054056214e+01  5.0000000000000000e+01 -1.9681537210811244e+00 -4.3207772135363127e+00  2.3526234924551885e+00
              257   4.9987170776264229e+01  4.9987333018662504e+01 -5.2902523571216498e-01 -9.8594800668064437e+01  5.0000000000000000e+01 -1.9718960133612888e+00 -4.3299840505989238e+00  2.3580880372376360e+00
              258   4.9990048149929493e+01  4.9958613087560352e+01 -5.2193646966731910e-01 -9.8581300707894457e+01  5.0000000000000007e+01 -1.9716260141578887e+00 -4.3266019669430182e+00  2.3549759527851291e+00
              259   4.9985898610681936e+01  4.9960314309804176e+01 -5.1786167233724867e-01 -9.8908332501254336e+01  4.9999999999999993e+01 -1.9781666500250872e+00 -4.3282761786964477e+00  2.3501095286713602e+00
              260   4.9989083268492415e+01  4.9970079806647810e+01 -5.2387362195701459e-01 -9.8584173675137237e+01  5.0000000000000007e+01 -1.9716834735027444e+00 -4.3163935405893401e+00  2.3447100670865964e+00
              261   4.9989396083982626e+01  4.9958240469204725e+01 -5.2032952066178972e-01 -9.9238113545305993e+01  4.9999999999999993e+01 -1.9847622709061203e+00 -4.3058173269737843e+00  2.3210550560676650e+00
              262   4.9973063618957887e+01  4.9982180916625985e+01 -5.6822552726305142e-01 -1.0030550644836595e+02  5.0000000000000007e+01 -2.0061101289673187e+00 -4.3153814805061383e+00  2.3092713515388184e+00
              263   4.9955270400859327e+01  4.9852891748640339e+01 -5.2604874485831066e-01 -9.8281502036363008e+01  5.0000000000000000e+01 -1.9656300407272602e+00 -4.3003524917481597e+00  2.3347224510208990e+00
              264   4.9974282772403939e+01  4.9932847005994425e+01 -5.0290630821269400e-01 -9.7680942269441417e+01  4.9999999999999986e+01 -1.9536188453888290e+00 -4.3081053631345840e+00  2.3544865177457548e+00
              265   4.9990410121776826e+01  4.9954715445567835e+01 -4.9205770205836191e-01 -9.7752443330994495e+01  4.9999999999999993e+01 -1.9550488666198902e+00 -4.3094698529927120e+00  2.3544209863728218e+00
              266   5.0004180271299894e+01  4.9991627160938208e+01 -5.0991866142168585e-01 -9.8166252786324861e+01  5.0000000000000007e+01 -1.9633250557264970e+00 -4.3090212020519285e+00  2.3456961463254316e+00
              267   4.9986503401530044e+01  4.9983922039176285e+01 -5.1535373894212855e-01 -9.7683730221983495e+01  5.0000000000000007e+01 -1.9536746044396696e+00 -4.2979100632595344e+00  2.3442354588198642e+00
              268   4.9983594680491009e+01  4.9966993294042361e+01 -5.0871623011110789e-01 -9.7566183540163209e+01  5.0000000000000000e+01 -1.9513236708032642e+00 -4.3134705719417195e+00  2.3621469011384555e+00
              269   4.9996042871824756e+01  4.9979215416881374e+01 -5.1406691325199061e-01 -9.7468437348510975e+01  4.9999999999999993e+01 -1.9493687469702199e+00 -4.3187388809973157e+00  2.3693701340270961e+00
              270   4.9980245686676611e+01  4.9958828080331841e+01 -5.0414316725401376e-01 -9.8123062950255388e+01  5.0000000000000007e+01 -1.9624612590051074e+00 -4.3231615133089942e+00  2.3607002543038864e+00
              271   5.0001258309330737e+01  5.0002348148607894e+01 -5.1378273519208650e-01 -9.7588835720982061e+01  4.9999999999999993e+01 -1.9517767144196416e+00 -4.3197866358997574e+00  2.3680099214801160e+00
              272   4.9984225503098244e+01  4.9971133709703381e+01 -5.0396129616965391e-01 -9.7969414657526528e+01  5.0000000000000000e+01 -1.9593882931505306e+00 -4.3191935556935688e+00  2.3598052625430386e+00
              273   4.9985907671418545e+01  4.9960887618570723e+01 -4.9129356331249874e-01 -9.7531502749246883e+01  5.0000000000000007e+01 -1.9506300549849374e+00 -4.3185109241154649e+00  2.3678808691305275e+00
              274   4.9988273382903635e+01  4.9964292743391844e+01 -4.8781474722605678e-01 -9.7887236149703739e+01  5.0000000000000014e+01 -1.9577447229940741e+00 -4.3063515357456250e+00  2.3486068127515507e+00
              275   4.9992684374228666e+01  5.0560880731549716e+01 -4.8919705619414333e-01 -9.7913650650331093e+01  4.9999999999999993e+01 -1.9582730130066222e+00 -4.3060446978215179e+00  2.3477716848148948e+00
              276   4.9990679484283085e+01  4.9977838465176305e+01 -4.9370683567031809e-01 -9.7722353713354664e+01  4.9999999999999986e+01 -1.9544470742670941e+00 -4.2944589256336023e+00  2.3400118513665085e+00
              277   4.9964479310245423e+01  4.9915886827458500e+01 -4.8127080722904830e-01 -9.7264664181160697e+01  5.0000000000000000e+01 -1.9452932836232140e+00 -4.2892246276683101e+00  2.3439313440450955e+00
              278   4.9984451866857924e+01  4.9949255498528913e+01 -4.7644628586355681e-01 -9.7058217148412837e+01  5.0000000000000000e+01 -1.9411643429682568e+00 -4.2800363251567548e+00  2.3388719821884982e+00
              279   4.9993806004479431e+01  4.9983245916087689e+01 -4.9476494139657939e-01 -9.7004791553321894e+01  5.0000000000000000e+01 -1.9400958310664380e+00 -4.2680779105883673e+00  2.3279820795219295e+00
              280   4.9987074932050554e+01  4.9962945921570252e+01 -4.8210044180453648e-01 -9.7433932842135562e+01  4.9999999999999993e+01 -1.9486786568427117e+00 -4.2768364998162980e+00  2.3281578429735852e+00
              281   4.9986734469638968e+01  4.9962937803908389e+01 -4.8350587550818802e-01 -9.7446527581217339e+01  5.0000000000000007e+01 -1.9489305516243465e+00 -4.2836685239455186e+00  2.3347379723211716e+00
              282   5.0003822026686159e+01  5.0013081023905642e+01 -5.1040193778321608e-01 -9.8090664803878894e+01  5.0000000000000007e+01 -1.9618132960775776e+00 -4.3057270552716806e+00  2.3439137591941033e+00
              283   4.9976870926168026e+01  4.9944456793682839e+01 -4.7710853160926869e-01 -9.8142617550613565e+01  5.0000000000000000e+01 -1.9628523510122713e+00 -4.3069672580015279e+00  2.3441149069892551e+00
              284   4.9998493790695925e+01  4.9994648796455905e+01 -4.9941059025808715e-01 -9.8713228991832139e+01  5.0000000000000000e+01 -1.9742645798366427e+00 -4.3043606938453296e+00  2.3300961140086862e+00
              285   5.0000889925923929e+01  5.0024934605297815e+01 -5.4173992939446569e-01 -9.8954235207838181e+01  4.9999999999999993e+01 -1.9790847041567641e+00 -4.3108170723805035e+00  2.3317323682237401e+00
              286   4.9983326136707966e+01  4.9960965548587787e+01 -5.2670495926202143e-01 -9.9432137735469951e+01  5.0000000000000007e+01 -1.9886427547093988e+00 -4.3015101268328637e+00  2.3128673721234647e+00
              287   4.9984018757949478e+01  4.9977417859031888e+01 -5.2839107945982622e-01 -9.8957722550461924e+01  5.0000000000000007e+01 -1.9791544510092383e+00 -4.3049284121128428e+00  2.3257739611036046e+00
              288   4.9994361216594484e+01  4.9968842583468344e+01 -5.3432971568772114e-01 -9.8585848184419291e+01  5.0000000000000000e+01 -1.9717169636883858e+00 -4.2979956555291556e+00  2.3262786918407703e+00
              289   4.9985696227254557e+01  4.9979718525710368e+01 -5.2901793734434954e-01 -9.8723953567463042e+01  5.0000000000000000e+01 -1.9744790713492608e+00 -4.3010335567799522e+00  2.3265544854306914e+00
              290   4.9993555678830191e+01  4.9973980808991293e+01 -5.2824423777251317e-01 -9.9416981873945446e+01  5.0000000000000007e+01 -1.9883396374789086e+00 -4.3054572264261735e+00  2.3171175889472653e+00
              291   4.9976251534004390e+01  4.9960595320242746e+01 -5.2228223158892151e-01 -9.8877390193364249e+01  5.0000000000000000e+01 -1.9775478038672851e+00 -4.3037514726785266e+00  2.3262036688112415e+00
              292   5.0005479002428409e+01  5.0001809041470800e+01 -5.6203871152763163e-01 -9.9381998711001231e+01  4.9999999999999993e+01 -1.9876399742200250e+00 -4.3065391140167222e+00  2.3188991397966978e+00
              293   4.9978452574785877e+01  4.9945599067997449e+01 -5.4065628951499800e-01 -9.9686833151483711e+01  5.0000000000000000e+01 -1.9937366630296742e+00 -4.3085418459733935e+00  2.3148051829437195e+00
              294   4.9985072522410576e+01  4.9955745002184159e+01 -5.2761444335491758e-01 -9.8744278768672217e+01  5.0000000000000000e+01 -1.9748855753734444e+00 -4.3117015596775703e+00  2.3368159843041263e+00
              295   4.9985118449292052e+01  4.9962707473172408e+01 -5.2753271487452602e-01 -9.8503936822698265e+01  5.0000000000000000e+01 -1.9700787364539654e+00 -4.3198443223143368e+00  2.3497655858603719e+00
              296   4.9983470121669988e+01  4.9975185364793873e+01 -5.1976985334242720e-01 -9.8972178119816732e+01  5.0000000000000000e+01 -1.9794435623963347e+00 -4.3083790068361445e+00  2.3289354444398103e+00
              297   4.9998134625101358e+01  4.9984910191131043e+01 -5.3281557660509471e-01 -9.8702981973186624e+01  5.0000000000000007e+01 -1.9740596394637322e+00 -4.3047497560239938e+00  2.3306901165602620e+00
              298   4.9983632536097183e+01  4.9962977670721614e+01 -5.1831320269633119e-01 -9.8466127924089250e+01  5.0000000000000014e+01 -1.9693225584817844e+00 -4.3144092390799909e+00  2.3450866805982065e+00
              299   4.9994690530640646e+01  4.9974340044250212e+01 -5.2245209668610437e-01 -9.8238618555057869e+01  5.0000000000000000e+01 -1.9647723711011573e+00 -4.3116632233296981e+00  2.3468908522285408e+00
              300   4.9983510644580008e+01  4.9957965873627828e+01 -5.0993882668998092e-01 -9.7808635295369371e+01  4.9999999999999993e+01 -1.9561727059073879e+00 -4.3034476284047996e+00  2.3472749224974114e+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.)