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.903652827394847+0j), max|grad| 0.40557771887525984 energy (-1.25623531551363-1.1832913578315177e-30j), max|grad| 0.43314018619058414 .energy (-1.567936903807344-7.888609052210118e-31j), max|grad| 0.1811199215914549 .energy (-1.683725422853616+2.3665827156630354e-30j), max|grad| 0.1709208280027566 .energy (-1.6110645038831333+0j), max|grad| 0.24060154386385227 energy (-1.7390735056760018-3.944304526105059e-31j), max|grad| 0.1836787725972985 .energy (-1.7998098698805665+1.5777218104420236e-30j), max|grad| 0.1517621297867306 .energy (-1.8576060664931173+2.3665827156630354e-30j), max|grad| 0.1116054061464431 .energy (-1.8729355288887533-3.944304526105059e-31j), max|grad| 0.12164944423089927 .energy (-1.8833625698183099+0j), max|grad| 0.047449077797471616 .energy (-1.8915940301691831+7.888609052210118e-31j), max|grad| 0.04346235062108659 .energy (-1.89615141615504+1.9721522630525295e-31j), max|grad| 0.06268369956245301 .energy (-1.8984427465790885+7.888609052210118e-31j), max|grad| 0.029696283945864523 .energy (-1.899475470004318-5.9164567891575885e-31j), max|grad| 0.01619921742255562 .energy (-1.899958034631851+5.9164567891575885e-31j), max|grad| 0.013303761097714698 .energy (-1.9008519634111725+0j), max|grad| 0.0135929835050542 .energy (-1.9024870162583944+3.1554436208840472e-30j), max|grad| 0.01775889268048482 .energy (-1.9052429723733644-2.3665827156630354e-30j), max|grad| 0.03272564702993422 .energy (-1.9077321407850798-3.1554436208840472e-30j), max|grad| 0.0643016495579613 .energy (-1.9109603426307453+0j), max|grad| 0.04560058002347254 .energy (-1.9167452807872953+7.888609052210118e-31j), max|grad| 0.030853684601650593 .energy (-1.9245241797452328+1.5777218104420236e-30j), max|grad| 0.05418214893674154 .energy (-1.9296302438418271+1.5777218104420236e-30j), max|grad| 0.025556248550368043 .energy (-1.9311755796238153+0j), max|grad| 0.029680462770578522 .energy (-1.933213668471807+5.9164567891575885e-31j), max|grad| 0.016228271124899007 .energy (-1.9335116312448903-1.5777218104420236e-30j), max|grad| 0.050292140969619 energy (-1.9343735803802993+3.944304526105059e-31j), max|grad| 0.019253262232326162 .energy (-1.9355275534586598+9.860761315262648e-32j), max|grad| 0.015709661169140188 .energy (-1.9358395307664313+9.860761315262648e-32j), max|grad| 0.0037360282728332033 .energy (-1.9359312424213755-7.888609052210118e-31j), max|grad| 0.003269289211081309 .energy (-1.9359492614126603+0j), max|grad| 0.0018907067662976547 .energy (-1.9359610213501757-1.5777218104420236e-30j), max|grad| 0.001579947179175471 .energy (-1.9359717876275013-3.1554436208840472e-30j), max|grad| 0.0022128005024732735 .energy (-1.9359909566429963-1.5777218104420236e-30j), max|grad| 0.002802203180878831 .energy (-1.936025703889002-7.888609052210118e-31j), max|grad| 0.003402253089596484 .energy (-1.9360876504114897-7.888609052210118e-31j), max|grad| 0.004052683970750307 .energy (-1.9361896955718905-7.888609052210118e-31j), max|grad| 0.00471272064745405 .energy (-1.9363138835755427+0j), max|grad| 0.006357104513167422 .energy (-1.9364118815808276-7.888609052210118e-31j), max|grad| 0.004492138242091104 .energy (-1.9365451356383812+1.5777218104420236e-30j), max|grad| 0.0020644530081346257 .energy (-1.93656889304087+0j), max|grad| 0.0005885122889337326 .energy (-1.9365692125423388+0j), max|grad| 0.0006219759632545832 .energy (-1.9365697091649299-3.944304526105059e-31j), max|grad| 0.00040155469178045625 .energy (-1.936570418660045+3.1554436208840472e-30j), max|grad| 0.00035899411167726207 .energy (-1.9365716178986805+3.944304526105059e-31j), max|grad| 0.0006040130379324493 .energy (-1.9365737484266257-3.1554436208840472e-30j), max|grad| 0.0009476335425622762 .energy (-1.9365775490910124-1.5777218104420236e-30j), max|grad| 0.0013052068520653104 .energy (-1.9365840884206031+7.888609052210118e-31j), max|grad| 0.0016830171166002938 .energy (-1.9365942505321891+3.1554436208840472e-30j), max|grad| 0.0020358515403292587 .energy (-1.9366065090528757+0j), max|grad| 0.0021229980223719906 .energy (-1.9366161828712762-7.888609052210118e-31j), max|grad| 0.0014795514739680549 .energy (-1.9366195176786887+0j), max|grad| 0.00036100721241010306 .energy (-1.936619668713358-1.5777218104420236e-30j), max|grad| 0.00010695352112714501 .energy (-1.9366197255117825+0j), max|grad| 6.017396685681935e-05 .energy (-1.9366197455836955-3.944304526105059e-31j), max|grad| 7.542043538990937e-05 .energy (-1.9366197660113817-3.1554436208840472e-30j), max|grad| 5.395708885280104e-05 .energy (-1.9366197708425297+0j), max|grad| 2.6323023654066965e-05 .energy (-1.9366197725427687-7.888609052210118e-31j), max|grad| 2.6552561979633794e-05 .energy (-1.9366197744016693-3.944304526105059e-31j), max|grad| 2.873545093328401e-05 .energy (-1.9366197777441938+0j), max|grad| 4.316760447785644e-05 .energy (-1.936619783932338-3.944304526105059e-31j), max|grad| 6.299725478552099e-05 .energy (-1.9366197954609072-7.888609052210118e-31j), max|grad| 8.841656239758825e-05 .energy (-1.9366198167818895+4.733165431326071e-30j), max|grad| 0.00012320642705784734 .energy (-1.9366198554026406-4.733165431326071e-30j), max|grad| 0.0001722485424226545 .energy (-1.9366199225537857+3.1554436208840472e-30j), max|grad| 0.00024080672041316666 .energy (-1.9366200304645398+3.1554436208840472e-30j), max|grad| 0.0003293717278396123 .energy (-1.9366201807414454+0j), max|grad| 0.0004108341292314637 .energy (-1.9366203305196414-9.860761315262648e-32j), max|grad| 0.00039468177681526253 .energy (-1.936620547859511-7.888609052210118e-31j), max|grad| 0.00025268913422493304 .energy (-1.9366206441724527-1.5777218104420236e-30j), max|grad| 6.694762687364503e-05 .energy (-1.9366206499768568+1.5777218104420236e-30j), max|grad| 1.3136044188776464e-05 .energy (-1.9366206507345574+1.5777218104420236e-30j), max|grad| 3.7677124854462367e-06 . message: Optimization terminated successfully. success: True status: 0 fun: -1.9366206507345574 x: [ 1.529e+00 1.601e+00 ... 1.504e+00 4.454e-01] nit: 69 jac: [ 2.352e-07 -1.043e-06 ... -2.237e-07 -2.790e-07] hess_inv: [[ 3.207e-01 -1.380e-02 ... -1.563e-01 3.605e-01] [-1.380e-02 2.110e+00 ... -1.171e+00 2.453e+00] ... [-1.563e-01 -1.171e+00 ... 6.647e+01 -1.013e+02] [ 3.605e-01 2.453e+00 ... -1.013e+02 1.799e+02]] nfev: 72 njev: 72 Hartree-Fock Energy: (-1.7792432699063223+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.9366206507345574 x: [ 1.529e+00 1.601e+00 ... 1.504e+00 4.454e-01] nit: 69 jac: [ 2.352e-07 -1.043e-06 ... -2.237e-07 -2.790e-07] hess_inv: [[ 3.207e-01 -1.380e-02 ... -1.563e-01 3.605e-01] [-1.380e-02 2.110e+00 ... -1.171e+00 2.453e+00] ... [-1.563e-01 -1.171e+00 ... 6.647e+01 -1.013e+02] [ 3.605e-01 2.453e+00 ... -1.013e+02 1.799e+02]] nfev: 72 njev: 72 -------------------------------------------------------------------------------- Ansatz Energy: -1.9366206507345574 Sector N = 4 : S_z = 0 a'0011'b'0011' (-0.4638738001935118+1.4667086989383904e-15j) a'0011'b'0101' (-0.4932028314114847+1.601962919955957e-15j) a'0011'b'1010' (0.09453192552957729-5.161886543203487e-16j) a'0011'b'1100' (0.10050859627684766-5.492635968447346e-16j) a'0101'b'0011' (0.49320561752982756-8.482594509619246e-16j) a'0101'b'0101' (0.46387225918388963-8.866537603950675e-16j) a'0101'b'1010' (-0.10051071544656905+3.05894090439629e-16j) a'0101'b'1100' (-0.09453297043696136+3.698687948798518e-16j) a'1010'b'0011' (-0.09453292807390877+5.782185711136756e-16j) a'1010'b'0101' (-0.10050947334963158+6.328284792890548e-16j) a'1010'b'1010' (0.04049541141022002-2.203302102397886e-16j) a'1010'b'1100' (0.04305612002508943-2.6249551035410768e-16j) a'1100'b'0011' (0.10051015471872997-4.567201651595187e-16j) a'1100'b'0101' (0.09453230001239533-4.1531719469772854e-16j) a'1100'b'1010' (-0.04305676226092277+1.4841033675432047e-16j) a'1100'b'1100' (-0.04049583504172764+1.6270825290397306e-16j) Basis Rotation Matrix: [[-0.00192562+0.j 0. +0.j 0.20844749+0.j 0. +0.j 0.9779961 +0.j 0. +0.j -0.00834023+0.j 0. +0.j] [ 0. +0.j -0.001738 +0.j 0. +0.j -0.20844884+0.j 0. +0.j -0.97801117+0.j 0. +0.j -0.00634065+0.j] [-0.70708586+0.j 0. +0.j -0.00552338+0.j 0. +0.j -0.00624485+0.j 0. +0.j -0.70707856+0.j 0. +0.j] [ 0. +0.j -0.70708868+0.j 0. +0.j 0.00480782+0.j 0. +0.j 0.00481606+0.j 0. +0.j -0.70709214+0.j] [-0.70708177+0.j 0. +0.j -0.00586986+0.j 0. +0.j 0.0058888 +0.j 0. +0.j 0.70708291+0.j 0. +0.j] [ 0. +0.j 0.70708978+0.j 0. +0.j -0.00514903+0.j 0. +0.j 0.00442511+0.j 0. +0.j -0.70709119+0.j] [-0.00782677+0.j 0. +0.j 0.97800035+0.j 0. +0.j -0.20844651+0.j 0. +0.j 0.00202813+0.j 0. +0.j] [ 0. +0.j 0.00682827+0.j 0. +0.j 0.9780079 +0.j 0. +0.j -0.20844991+0.j 0. +0.j -0.00159811+0.j]] Two Body Rotation Parameters: [1.52877836 1.60143683]
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.9366206507345545 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.8771195207621176 Ideal trial wavefunction energy: -1.9366206507345545 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.8771195207622768
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: 877fe5a8-bad2-11ef-ac57-912e2782a400. # Approximate memory available per node: 117.9093 GB. # Running on 1 MPI rank. # Root processor name: kokoro-gcp-ubuntu-prod-151576322 # 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.14.1 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/scipy. # Using h5py v3.12.1 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/h5py. # Package mpi4py not found. # Package cupy not found. # MPI communicator : <class 'ipie.qmc.comm.FakeComm'> # Available memory on the node is 117.909 GB # Setting up estimator object. # Writing estimator data to data/afqmc/estimates.h5 # Finished settting up estimator object. Block Weight WeightFactor HybridEnergy ENumer EDenom ETotal E1Body E2Body 0 5.0000000000000000e+01 5.0000000000000000e+01 0.0000000000000000e+00 -9.6486301095561075e+01 5.0000000000000000e+01 -1.9297260219112216e+00 -4.3439319735311948e+00 2.4142059516199730e+00 1 5.0244433022302893e+01 5.0518752251721935e+01 -5.1480640426500579e-01 -9.6652902918157992e+01 4.9999999999999993e+01 -1.9330580583631602e+00 -4.3381857820135528e+00 2.4051277236503927e+00 2 4.9972807239949248e+01 5.0051684248518320e+01 -4.7661055883528625e-01 -9.7306251241132557e+01 5.0000000000000000e+01 -1.9461250248226512e+00 -4.3279048932131827e+00 2.3817798683905318e+00 3 5.0011569817302565e+01 5.0004270531987771e+01 -5.1187086259319514e-01 -9.7466684487111849e+01 5.0000000000000000e+01 -1.9493336897422371e+00 -4.3253086659308888e+00 2.3759749761886524e+00 4 4.9980812245598003e+01 4.9970432181943281e+01 -4.9087032223214738e-01 -9.7093058214138892e+01 4.9999999999999993e+01 -1.9418611642827783e+00 -4.3194202256044401e+00 2.3775590613216617e+00 5 4.9994801188369884e+01 4.9974670829744355e+01 -4.8858185214353261e-01 -9.7291504277422675e+01 5.0000000000000007e+01 -1.9458300855484532e+00 -4.3163813529967747e+00 2.3705512674483207e+00 6 4.9997714855396410e+01 4.9982897070660322e+01 -4.9093192731407381e-01 -9.7702573295604338e+01 5.0000000000000000e+01 -1.9540514659120869e+00 -4.3105617356927306e+00 2.3565102697806446e+00 7 5.0007412012043950e+01 5.0010881917272386e+01 -5.2110282990674628e-01 -9.7920898278439125e+01 4.9999999999999993e+01 -1.9584179655687828e+00 -4.3055740198207273e+00 2.3471560542519438e+00 8 4.9990340246430343e+01 4.9987359490099827e+01 -5.0874849079625484e-01 -9.7939558892262284e+01 5.0000000000000000e+01 -1.9587911778452458e+00 -4.3113563195211633e+00 2.3525651416759179e+00 9 4.9989284829797874e+01 4.9981113666732455e+01 -5.0401490350472011e-01 -9.8272351832836065e+01 5.0000000000000007e+01 -1.9654470366567209e+00 -4.3059265396851174e+00 2.3404795030283960e+00 10 5.0006358161177502e+01 5.0000626194143706e+01 -5.2611810789149593e-01 -9.7631187790859528e+01 5.0000000000000007e+01 -1.9526237558171902e+00 -4.3057906834582447e+00 2.3531669276410550e+00 11 4.9980080187475039e+01 4.9964096577336278e+01 -5.0367755085065535e-01 -9.8371918653970781e+01 5.0000000000000000e+01 -1.9674383730794156e+00 -4.3085367921276747e+00 2.3410984190482593e+00 12 4.9999931897287098e+01 4.9993907568622156e+01 -5.1187516982784564e-01 -9.8353389356078836e+01 5.0000000000000000e+01 -1.9670677871215767e+00 -4.3057812741096324e+00 2.3387134869880546e+00 13 5.0002668655706771e+01 5.0001259630931735e+01 -5.3646245515659585e-01 -9.9431488715939210e+01 5.0000000000000000e+01 -1.9886297743187842e+00 -4.3027796807150587e+00 2.3141499063962749e+00 14 4.9998825998615231e+01 5.0010955274423203e+01 -5.4435484174853499e-01 -9.9410777862697728e+01 5.0000000000000000e+01 -1.9882155572539546e+00 -4.3028829759407294e+00 2.3146674186867742e+00 15 4.9982614115085433e+01 4.9952092047195208e+01 -5.2096718956456656e-01 -9.9252534166084615e+01 5.0000000000000000e+01 -1.9850506833216923e+00 -4.2965559529208539e+00 2.3115052695991616e+00 16 4.9990789831756103e+01 4.9973015868238654e+01 -5.1743903175026573e-01 -9.8058545991443808e+01 5.0000000000000000e+01 -1.9611709198288763e+00 -4.3036256108081687e+00 2.3424546909792925e+00 17 4.9993406043731049e+01 4.9998092896646817e+01 -5.2068204110769101e-01 -9.7810173149687756e+01 4.9999999999999993e+01 -1.9562034629937555e+00 -4.3021556439942987e+00 2.3459521810005435e+00 18 4.9975149464835454e+01 4.9950113263307578e+01 -4.9005680340113600e-01 -9.7999035169134189e+01 4.9999999999999993e+01 -1.9599807033826842e+00 -4.3077446043480823e+00 2.3477639009653979e+00 19 5.0005774987733801e+01 5.0002251264498902e+01 -5.1313822650668406e-01 -9.8568118347975997e+01 5.0000000000000007e+01 -1.9713623669595197e+00 -4.3020696824558371e+00 2.3307073154963178e+00 20 4.9994172097253895e+01 4.9998603328939225e+01 -5.2135314457178550e-01 -9.9303305350914229e+01 5.0000000000000000e+01 -1.9860661070182846e+00 -4.3025275298590673e+00 2.3164614228407823e+00 21 4.9995540185067121e+01 4.9983849635555110e+01 -5.2500044067350882e-01 -9.8654825633761220e+01 5.0000000000000007e+01 -1.9730965126752240e+00 -4.2995164686214800e+00 2.3264199559462573e+00 22 4.9992854471685973e+01 4.9982981953812853e+01 -5.1687903728037343e-01 -9.9144503999956157e+01 4.9999999999999993e+01 -1.9828900799991236e+00 -4.3027624648044656e+00 2.3198723848053420e+00 23 5.0009319506133586e+01 5.0022835530683309e+01 -5.5309662254248304e-01 -9.9066686546572569e+01 5.0000000000000000e+01 -1.9813337309314514e+00 -4.2974453702898270e+00 2.3161116393583758e+00 24 4.9980093333689254e+01 4.9961797344317745e+01 -5.2516610607921788e-01 -9.8614698700423475e+01 5.0000000000000000e+01 -1.9722939740084695e+00 -4.2958742354398476e+00 2.3235802614313776e+00 25 4.9994903549897558e+01 4.9972681679108938e+01 -5.2523823995591301e-01 -9.9081490656637968e+01 5.0000000000000000e+01 -1.9816298131327594e+00 -4.2918539256650723e+00 2.3102241125323117e+00 26 4.9988338622725514e+01 4.9976527050205412e+01 -5.0861008199220437e-01 -9.8109546432921221e+01 5.0000000000000000e+01 -1.9621909286584245e+00 -4.2918648175844485e+00 2.3296738889260244e+00 27 4.9990834271070867e+01 4.9968323502611973e+01 -5.0075086508172761e-01 -9.8091357349720312e+01 5.0000000000000000e+01 -1.9618271469944062e+00 -4.3013361138900841e+00 2.3395089668956781e+00 28 4.9994738338566634e+01 4.9995865093175894e+01 -5.0860212429296170e-01 -9.8277176843487524e+01 4.9999999999999993e+01 -1.9655435368697509e+00 -4.2968224423319139e+00 2.3312789054621628e+00 29 4.9985949732043252e+01 4.9977845154347641e+01 -5.0164103720337538e-01 -9.7910035938963162e+01 5.0000000000000000e+01 -1.9582007187792634e+00 -4.2968169668825009e+00 2.3386162481032375e+00 30 4.9992088027137683e+01 4.9974992108314154e+01 -4.9642832308278034e-01 -9.7666882103688124e+01 5.0000000000000000e+01 -1.9533376420737625e+00 -4.2949672323368651e+00 2.3416295902631026e+00 31 4.9999109084548920e+01 4.9989536792317907e+01 -5.0482497735178899e-01 -9.7815192408741538e+01 5.0000000000000007e+01 -1.9563038481748305e+00 -4.2969377703236340e+00 2.3406339221488035e+00 32 4.9994153882751711e+01 4.9984604558259129e+01 -5.0661476307656961e-01 -9.7955220857639659e+01 5.0000000000000007e+01 -1.9591044171527929e+00 -4.2997154831763602e+00 2.3406110660235675e+00 33 4.9991514924645529e+01 4.9984375521987985e+01 -5.0716333143011427e-01 -9.8745089804105476e+01 4.9999999999999993e+01 -1.9749017960821098e+00 -4.3008549701937460e+00 2.3259531741116368e+00 34 5.0005343494419421e+01 5.0007976045088640e+01 -5.2625369463961913e-01 -9.8677982477117339e+01 5.0000000000000000e+01 -1.9735596495423469e+00 -4.3031447261153373e+00 2.3295850765729904e+00 35 4.9987483447955341e+01 4.9969838160380881e+01 -5.1873624120901329e-01 -9.8606614154212181e+01 4.9999999999999993e+01 -1.9721322830842440e+00 -4.2997476221725410e+00 2.3276153390882972e+00 36 5.0001187682151844e+01 4.9999520872517515e+01 -5.3305327532847602e-01 -9.8884916152528291e+01 5.0000000000000007e+01 -1.9776983230505656e+00 -4.2996834414917009e+00 2.3219851184411358e+00 37 4.9996728525869798e+01 4.9980649566123560e+01 -5.4874904116810730e-01 -9.9085731108983012e+01 5.0000000000000000e+01 -1.9817146221796602e+00 -4.3046450073841314e+00 2.3229303852044705e+00 38 4.9972114250217466e+01 4.9941645171679667e+01 -5.2003096117146208e-01 -9.8106261162893631e+01 5.0000000000000000e+01 -1.9621252232578728e+00 -4.2945609427004490e+00 2.3324357194425760e+00 39 4.9970077194428256e+01 4.9927005099434794e+01 -4.8912545461626444e-01 -9.7307205447996367e+01 5.0000000000000000e+01 -1.9461441089599274e+00 -4.2983830079962635e+00 2.3522388990363359e+00 40 4.9984799214755412e+01 4.9964408644470339e+01 -4.8364934556067690e-01 -9.7628752947905923e+01 5.0000000000000014e+01 -1.9525750589581179e+00 -4.2909083373009782e+00 2.3383332783428603e+00 41 5.0002817777222255e+01 4.9994493162755028e+01 -5.0508865889936483e-01 -9.7500944576736572e+01 5.0000000000000007e+01 -1.9500188915347312e+00 -4.2878540313867974e+00 2.3378351398520669e+00 42 4.9983261955947114e+01 4.9978117954762951e+01 -4.9634902745645670e-01 -9.8201477247721769e+01 5.0000000000000007e+01 -1.9640295449544352e+00 -4.2890166269950516e+00 2.3249870820406167e+00 43 4.9989910718678132e+01 4.9965321958308017e+01 -5.1718166256260090e-01 -9.9065431244224811e+01 5.0000000000000000e+01 -1.9813086248844962e+00 -4.2871950830117438e+00 2.3058864581272478e+00 44 4.9979734967017478e+01 4.9957203982260438e+01 -5.1111342054483988e-01 -9.9770959617781145e+01 5.0000000000000007e+01 -1.9954191923556226e+00 -4.2858518121616580e+00 2.2904326198060359e+00 45 5.0001138300405792e+01 4.9999107688239000e+01 -5.4990745560942456e-01 -9.8214360735242181e+01 5.0000000000000000e+01 -1.9642872147048436e+00 -4.2673305433530748e+00 2.3030433286482301e+00 46 4.9968304268699896e+01 4.9939033499016098e+01 -5.0597334870247224e-01 -9.7728012745355855e+01 5.0000000000000007e+01 -1.9545602549071168e+00 -4.2724116817263269e+00 2.3178514268192099e+00 47 4.9989648405980091e+01 4.9960146306094231e+01 -5.1228706608369423e-01 -9.8064354846767515e+01 4.9999999999999986e+01 -1.9612870969353511e+00 -4.2754582543863329e+00 2.3141711574509825e+00 48 4.9968122439523540e+01 4.9927906520860823e+01 -4.7888678046777777e-01 -9.8404067695263151e+01 5.0000000000000000e+01 -1.9680813539052631e+00 -4.2691970567465756e+00 2.3011157028413116e+00 49 5.0007237377046458e+01 4.9985940456969651e+01 -5.3140135434411706e-01 -9.8418526496080020e+01 5.0000000000000000e+01 -1.9683705299216003e+00 -4.2850433592464503e+00 2.3166728293248506e+00 50 4.9972005581279049e+01 4.9951641419986466e+01 -4.9688553837058341e-01 -9.7833283358196695e+01 4.9999999999999993e+01 -1.9566656671639342e+00 -4.2835569882719557e+00 2.3268913211080213e+00 51 4.9997581721987217e+01 4.9980595078609241e+01 -5.1205826620295292e-01 -9.7785171937563433e+01 5.0000000000000007e+01 -1.9557034387512684e+00 -4.2881572411699782e+00 2.3324538024187098e+00 52 4.9992032835630070e+01 4.9982206640333004e+01 -5.1074117158663224e-01 -9.8655284937377928e+01 5.0000000000000000e+01 -1.9731056987475586e+00 -4.2920465863125132e+00 2.3189408875649544e+00 53 4.9996290178357121e+01 4.9985303745260254e+01 -5.1824920903643246e-01 -9.8341494539368455e+01 5.0000000000000014e+01 -1.9668298907873685e+00 -4.2928211631909123e+00 2.3259912724035439e+00 54 4.9991606066413759e+01 4.9979728553600360e+01 -5.0951144740051180e-01 -9.8604660333905116e+01 4.9999999999999993e+01 -1.9720932066781027e+00 -4.2951652855179461e+00 2.3230720788398433e+00 55 4.9997363932073867e+01 4.9988912536417885e+01 -5.2881826630827344e-01 -9.7862453712641511e+01 4.9999999999999993e+01 -1.9572490742528306e+00 -4.2918704391181706e+00 2.3346213648653396e+00 56 4.9985359508045796e+01 4.9967423503769879e+01 -5.1410865551960672e-01 -9.7157152635448426e+01 4.9999999999999993e+01 -1.9431430527089688e+00 -4.2958255513278374e+00 2.3526824986188695e+00 57 4.9984607694933331e+01 4.9964582865592440e+01 -5.0282409178290399e-01 -9.7397885991234745e+01 5.0000000000000007e+01 -1.9479577198246947e+00 -4.2958501140916816e+00 2.3478923942669869e+00 58 4.9992629075534737e+01 4.9978066445656445e+01 -5.0730222056843444e-01 -9.7711166898393813e+01 5.0000000000000000e+01 -1.9542233379678764e+00 -4.2987765716680828e+00 2.3445532337002071e+00 59 4.9992029880495565e+01 4.9964195578043110e+01 -4.9425434615901631e-01 -9.8192936932864626e+01 5.0000000000000007e+01 -1.9638587386572923e+00 -4.3075887130624650e+00 2.3437299744051736e+00 60 4.9992138533641331e+01 4.9990209441137154e+01 -5.0508227059459887e-01 -9.8312882371701463e+01 4.9999999999999993e+01 -1.9662576474340296e+00 -4.3086174699268085e+00 2.3423598224927784e+00 61 4.9990278172134751e+01 4.9981724237695808e+01 -5.0894840426626864e-01 -9.7881334694045208e+01 4.9999999999999993e+01 -1.9576266938809046e+00 -4.3107776126374144e+00 2.3531509187565107e+00 62 4.9990243561996813e+01 4.9975161591802141e+01 -4.9921784876133612e-01 -9.7410254818402663e+01 5.0000000000000000e+01 -1.9482050963680533e+00 -4.3148721647304464e+00 2.3666670683623936e+00 63 4.9987261770645745e+01 4.9968155646808313e+01 -4.8100283814469719e-01 -9.7509922071639153e+01 4.9999999999999993e+01 -1.9501984414327835e+00 -4.3145304225195895e+00 2.3643319810868064e+00 64 4.9995055854564612e+01 4.9992379586992222e+01 -5.0256719030546704e-01 -9.7980897886732663e+01 5.0000000000000000e+01 -1.9596179577346533e+00 -4.3142905254883139e+00 2.3546725677536604e+00 65 4.9997442895769147e+01 4.9989777034057241e+01 -5.1116369909195536e-01 -9.8291610008709540e+01 5.0000000000000000e+01 -1.9658322001741908e+00 -4.3070879516190965e+00 2.3412557514449053e+00 66 4.9997759990869916e+01 4.9997939143381267e+01 -5.1665810525713529e-01 -9.8019808079870955e+01 5.0000000000000000e+01 -1.9603961615974193e+00 -4.3088214374407272e+00 2.3484252758433080e+00 67 4.9976425762817442e+01 4.9943655002491937e+01 -4.9057351481285921e-01 -9.8106322410388472e+01 5.0000000000000000e+01 -1.9621264482077694e+00 -4.3104730332236958e+00 2.3483465850159262e+00 68 5.0004814884293182e+01 4.9998180607245494e+01 -5.1222421981957245e-01 -9.8213732666759597e+01 5.0000000000000007e+01 -1.9642746533351916e+00 -4.3105466325473465e+00 2.3462719792121547e+00 69 4.9989958471288496e+01 4.9968661540818800e+01 -5.0270989313069858e-01 -9.7937580749119149e+01 5.0000000000000000e+01 -1.9587516149823829e+00 -4.3088897991127668e+00 2.3501381841303832e+00 70 4.9984101378665876e+01 4.9977032673912454e+01 -4.9663380704424459e-01 -9.7672233454094368e+01 5.0000000000000000e+01 -1.9534446690818874e+00 -4.3085635097651735e+00 2.3551188406832857e+00 71 4.9999136847415052e+01 4.9979757691906819e+01 -5.1151320211898876e-01 -9.7717295994588653e+01 5.0000000000000007e+01 -1.9543459198917728e+00 -4.3075949166335912e+00 2.3532489967418182e+00 72 4.9976509823278903e+01 4.9961477362294694e+01 -4.8509257722957955e-01 -9.7720021823368825e+01 4.9999999999999993e+01 -1.9544004364673768e+00 -4.3124205022272433e+00 2.3580200657598653e+00 73 4.9995904623881735e+01 4.9986963927693381e+01 -4.9538868303370781e-01 -9.8081166256966796e+01 4.9999999999999993e+01 -1.9616233251393362e+00 -4.3124170118855734e+00 2.3507936867462371e+00 74 4.9995004751061046e+01 4.9986203239548139e+01 -5.0127654483244677e-01 -9.7945551293964485e+01 5.0000000000000007e+01 -1.9589110258792894e+00 -4.3097055430415434e+00 2.3507945171622544e+00 75 4.9999786879304111e+01 4.9985805117385979e+01 -5.1837339165115837e-01 -9.7574852615717248e+01 4.9999999999999993e+01 -1.9514970523143453e+00 -4.3029655687625610e+00 2.3514685164482150e+00 76 4.9983922996065814e+01 4.9965023576641180e+01 -4.9615197115893445e-01 -9.7361108047544221e+01 5.0000000000000000e+01 -1.9472221609508844e+00 -4.3010408506883309e+00 2.3538186897374467e+00 77 4.9994498744139911e+01 4.9974662611905636e+01 -5.0348793393932023e-01 -9.7165730752488642e+01 4.9999999999999986e+01 -1.9433146150497735e+00 -4.2963253262354897e+00 2.3530107111857164e+00 78 4.9988086136775735e+01 4.9973804176118705e+01 -5.0637759845458941e-01 -9.7514376578739203e+01 5.0000000000000007e+01 -1.9502875315747839e+00 -4.2926127817385442e+00 2.3423252501637601e+00 79 4.9982740027566898e+01 4.9962750818121030e+01 -4.8175413316737481e-01 -9.7720075226411325e+01 5.0000000000000000e+01 -1.9544015045282266e+00 -4.2912621967317914e+00 2.3368606922035644e+00 80 4.9988248715153262e+01 4.9969939486969274e+01 -4.8523350123299197e-01 -9.7121003654973507e+01 5.0000000000000000e+01 -1.9424200730994701e+00 -4.2926200432010022e+00 2.3501999701015324e+00 81 4.9992494921627049e+01 4.9982341474799036e+01 -4.9246770172518173e-01 -9.7145092053026886e+01 5.0000000000000007e+01 -1.9429018410605374e+00 -4.2907871618565681e+00 2.3478853207960304e+00 82 4.9988239012535459e+01 4.9973665305019750e+01 -4.8065298168993731e-01 -9.7196097535846178e+01 5.0000000000000007e+01 -1.9439219507169232e+00 -4.2912488010602923e+00 2.3473268503433684e+00 83 5.0000186612775799e+01 4.9992135602675553e+01 -5.0195700099633045e-01 -9.7382250106463431e+01 4.9999999999999993e+01 -1.9476450021292691e+00 -4.2943462182114809e+00 2.3467012160822125e+00 84 4.9990238771614422e+01 4.9977283681007130e+01 -4.9645642619019703e-01 -9.7585500204245932e+01 4.9999999999999993e+01 -1.9517100040849191e+00 -4.2877970362933295e+00 2.3360870322084102e+00 85 4.9995849103818884e+01 4.9964589500975400e+01 -5.0078295157381880e-01 -9.7380201349616726e+01 4.9999999999999993e+01 -1.9476040269923349e+00 -4.2771162414860315e+00 2.3295122144936964e+00 86 4.9986703462911883e+01 4.9974024908198516e+01 -5.0168711841846836e-01 -9.8196832807104968e+01 5.0000000000000007e+01 -1.9639366561420990e+00 -4.2907192546219992e+00 2.3267825984798995e+00 87 4.9984223189310391e+01 4.9959540690305076e+01 -4.9820182787151840e-01 -9.8313361015184682e+01 4.9999999999999993e+01 -1.9662672203036939e+00 -4.2869023575592449e+00 2.3206351372555516e+00 88 4.9994098831339493e+01 4.9972883612634689e+01 -5.0801973583898175e-01 -9.8257466352085416e+01 4.9999999999999993e+01 -1.9651493270417086e+00 -4.2766570428263044e+00 2.3115077157845962e+00 89 4.9996888576276049e+01 4.9995603458824490e+01 -5.4872334309885473e-01 -9.8400343651139949e+01 5.0000000000000000e+01 -1.9680068730227991e+00 -4.2866218652081756e+00 2.3186149921853771e+00 90 4.9968532752256117e+01 4.9924563680749799e+01 -5.3295840952382634e-01 -9.9293383408563543e+01 4.9999999999999993e+01 -1.9858676681712712e+00 -4.2972196068837958e+00 2.3113519387125252e+00 91 4.9966837870414018e+01 4.9921749311040799e+01 -5.2280565175838078e-01 -9.8431653795888508e+01 5.0000000000000000e+01 -1.9686330759177701e+00 -4.2973973902145177e+00 2.3287643142967478e+00 92 4.9991052419637789e+01 4.9969277356308140e+01 -5.2759475397133671e-01 -9.9315061759462836e+01 5.0000000000000000e+01 -1.9863012351892568e+00 -4.2868960320630567e+00 2.3005947968738001e+00 93 4.9995664805724459e+01 4.9982900007607881e+01 -5.3872493778926589e-01 -9.8236265853031242e+01 5.0000000000000000e+01 -1.9647253170606249e+00 -4.2874061417083258e+00 2.3226808246477004e+00 94 4.9968481885784875e+01 4.9929330274959582e+01 -5.0744450788754780e-01 -9.7898430471022607e+01 4.9999999999999993e+01 -1.9579686094204525e+00 -4.2879217063415274e+00 2.3299530969210753e+00 95 4.9973239268175831e+01 4.9928247514701695e+01 -5.2356579437089301e-01 -9.8164434156325100e+01 5.0000000000000007e+01 -1.9632886831265017e+00 -4.2848688968385353e+00 2.3215802137120338e+00 96 4.9966553123622397e+01 4.9925270828755451e+01 -5.2332944526909175e-01 -9.7892662798508994e+01 4.9999999999999993e+01 -1.9578532559701802e+00 -4.2837054452212202e+00 2.3258521892510404e+00 97 4.9978656107186929e+01 4.9959730173653611e+01 -5.3264699194845133e-01 -9.8223145264659010e+01 5.0000000000000000e+01 -1.9644629052931804e+00 -4.2890744822364439e+00 2.3246115769432643e+00 98 4.9979518158627364e+01 4.9951317549345944e+01 -5.1718611756939259e-01 -9.8368214761178081e+01 5.0000000000000007e+01 -1.9673642952235613e+00 -4.2843340814772972e+00 2.3169697862537357e+00 99 4.9990629834465160e+01 4.9973672244303934e+01 -5.2346169674894139e-01 -9.9280020496276691e+01 5.0000000000000007e+01 -1.9856004099255335e+00 -4.2906413881242687e+00 2.3050409781987353e+00 100 4.9988575335873001e+01 4.9976197083718873e+01 -5.3335502577060889e-01 -9.9542998544961648e+01 4.9999999999999993e+01 -1.9908599708992334e+00 -4.2927438914688061e+00 2.3018839205695736e+00 101 4.9966701575204851e+01 4.9923068670270233e+01 -5.3613511126318514e-01 -9.8307223233009907e+01 5.0000000000000000e+01 -1.9661444646601982e+00 -4.2994462522296786e+00 2.3333017875694795e+00 102 4.9972054254658190e+01 4.9941136059812777e+01 -5.0892529431901856e-01 -9.8785807604382612e+01 4.9999999999999993e+01 -1.9757161520876527e+00 -4.2997414071624567e+00 2.3240252550748033e+00 103 4.9991412400056745e+01 4.9975650322501167e+01 -5.1692640936378931e-01 -9.8385485937779364e+01 4.9999999999999993e+01 -1.9677097187555876e+00 -4.3027235610230008e+00 2.3350138422674127e+00 104 4.9991826795037241e+01 4.9966835994231900e+01 -5.1996149853604257e-01 -9.9080848985127474e+01 5.0000000000000000e+01 -1.9816169797025496e+00 -4.3044723466344132e+00 2.3228553669318637e+00 105 4.9985560407477251e+01 4.9970790437798044e+01 -5.2223628186784854e-01 -9.8318567702421262e+01 5.0000000000000000e+01 -1.9663713540484253e+00 -4.2951271305277103e+00 2.3287557764792846e+00 106 4.9986341973396392e+01 4.9960240428542839e+01 -5.1204422942968397e-01 -9.8279228373062182e+01 4.9999999999999993e+01 -1.9655845674612440e+00 -4.3000154114382898e+00 2.3344308439770449e+00 107 4.9984559595852900e+01 4.9972003040355396e+01 -5.1707673460298786e-01 -9.9689083017624640e+01 5.0000000000000000e+01 -1.9937816603524929e+00 -4.3063234731832178e+00 2.3125418128307236e+00 108 4.9965890935497100e+01 4.9930739460068892e+01 -5.0954560394202064e-01 -9.8173597783135065e+01 4.9999999999999993e+01 -1.9634719556627016e+00 -4.3008876684593780e+00 2.3374157127966773e+00 109 4.9994588963162506e+01 4.9972015400925528e+01 -5.1058798806731998e-01 -9.8061324329309528e+01 4.9999999999999993e+01 -1.9612264865861910e+00 -4.3003068287053585e+00 2.3390803421191677e+00 110 4.9969099029179681e+01 4.9920332657660900e+01 -5.0335639610381122e-01 -9.7614317992771078e+01 4.9999999999999993e+01 -1.9522863598554219e+00 -4.2981680111617893e+00 2.3458816513063674e+00 111 4.9982185887824230e+01 4.9957983288207565e+01 -4.9531711218748936e-01 -9.8148179193167010e+01 4.9999999999999993e+01 -1.9629635838633406e+00 -4.2988226552368038e+00 2.3358590713734628e+00 112 4.9977814785610917e+01 4.9943311544567727e+01 -5.1024743418619967e-01 -9.8234616775826467e+01 5.0000000000000007e+01 -1.9646923355165291e+00 -4.3025408976684165e+00 2.3378485621518883e+00 113 4.9994064961746588e+01 4.9986210460567015e+01 -5.1608992948013588e-01 -9.8522235231274479e+01 5.0000000000000007e+01 -1.9704447046254894e+00 -4.3087324314399433e+00 2.3382877268144551e+00 114 4.9980791116729016e+01 4.9965829893203662e+01 -5.1702170476656206e-01 -9.8744991108574723e+01 5.0000000000000000e+01 -1.9748998221714944e+00 -4.3007360097699774e+00 2.3258361875984828e+00 115 4.9992556735832416e+01 4.9977468141335976e+01 -5.3063783733334069e-01 -9.8357077760927524e+01 4.9999999999999993e+01 -1.9671415552185509e+00 -4.2865514574072447e+00 2.3194099021886943e+00 116 4.9980635780267228e+01 4.9963290999764126e+01 -5.2015607510234563e-01 -9.8410357013815101e+01 5.0000000000000007e+01 -1.9682071402763017e+00 -4.2839420581605330e+00 2.3157349178842317e+00 117 4.9996174323387805e+01 4.9980493509037473e+01 -5.2925291134996422e-01 -9.8102968942818464e+01 5.0000000000000007e+01 -1.9620593788563689e+00 -4.2912188930127213e+00 2.3291595141563519e+00 118 4.9978405479351295e+01 4.9956824606046638e+01 -5.1070408700910397e-01 -9.8227369033469103e+01 4.9999999999999993e+01 -1.9645473806693825e+00 -4.2979488674462658e+00 2.3334014867768835e+00 119 4.9987653337890670e+01 4.9963887758661883e+01 -4.9672379290530028e-01 -9.7645213993432861e+01 4.9999999999999986e+01 -1.9529042798686580e+00 -4.3031076366984884e+00 2.3502033568298315e+00 120 5.0002599322470154e+01 4.9991694950526110e+01 -5.1430594051610590e-01 -9.8491245739382435e+01 5.0000000000000007e+01 -1.9698249147876483e+00 -4.3125541277420565e+00 2.3427292129544077e+00 121 4.9990830104504013e+01 4.9981759206226783e+01 -5.1387321135409503e-01 -9.8201448632037398e+01 5.0000000000000007e+01 -1.9640289726407476e+00 -4.3086896395890415e+00 2.3446606669482941e+00 122 4.9992782696991043e+01 4.9992604482397532e+01 -5.2109883804799384e-01 -9.8729097430100936e+01 5.0000000000000007e+01 -1.9745819486020184e+00 -4.3145329260024434e+00 2.3399509774004246e+00 123 4.9988573313993548e+01 4.9989361552208315e+01 -5.2450536160009997e-01 -9.8803487200202824e+01 5.0000000000000000e+01 -1.9760697440040564e+00 -4.3190360172868933e+00 2.3429662732828365e+00 124 4.9990805616344751e+01 4.9961335582256247e+01 -5.2303077369709783e-01 -9.9325327233664723e+01 4.9999999999999993e+01 -1.9865065446732948e+00 -4.3136378737600092e+00 2.3271313290867135e+00 125 5.0001049876948549e+01 5.0006697070898269e+01 -5.4449233858991841e-01 -9.9121925101250056e+01 5.0000000000000007e+01 -1.9824385020250008e+00 -4.3131635396417769e+00 2.3307250376167756e+00 126 4.9983988773496144e+01 4.9943630307297319e+01 -5.2120553910201994e-01 -9.9514260566400935e+01 5.0000000000000007e+01 -1.9902852113280185e+00 -4.3134191439214637e+00 2.3231339325934446e+00 127 4.9997328958477567e+01 4.9975458875836296e+01 -5.3357464713301617e-01 -9.9241846436257774e+01 5.0000000000000007e+01 -1.9848369287251553e+00 -4.3058114866345969e+00 2.3209745579094410e+00 128 4.9989061304248835e+01 4.9984843270140175e+01 -5.3636570672531947e-01 -9.9186531295399661e+01 5.0000000000000000e+01 -1.9837306259079932e+00 -4.3114980338766307e+00 2.3277674079686377e+00 129 4.9996938896659714e+01 4.9985782494002031e+01 -5.3995198147606482e-01 -9.8291541144961883e+01 5.0000000000000000e+01 -1.9658308228992376e+00 -4.3092208520806166e+00 2.3433900291813798e+00 130 4.9982519620424590e+01 4.9952397301622327e+01 -5.2021166884078029e-01 -9.9076886235934211e+01 5.0000000000000000e+01 -1.9815377247186843e+00 -4.3049318899519635e+00 2.3233941652332804e+00 131 5.0006810156660151e+01 4.9997362180710056e+01 -5.5265392822986226e-01 -1.0045834515467156e+02 4.9999999999999993e+01 -2.0091669030934316e+00 -4.3135069148482676e+00 2.3043400117548365e+00 132 4.9985998630175885e+01 4.9985195487828058e+01 -5.4224026429526417e-01 -1.0022048655736238e+02 5.0000000000000000e+01 -2.0044097311472475e+00 -4.3053656392765793e+00 2.3009559081293309e+00 133 4.9989560215406463e+01 4.9973711175431937e+01 -5.4317226256878115e-01 -1.0023099087235343e+02 5.0000000000000000e+01 -2.0046198174470686e+00 -4.2989973188146697e+00 2.2943775013676002e+00 134 4.9998093290654289e+01 4.9984961390272986e+01 -5.5102183516755610e-01 -1.0020378584175448e+02 4.9999999999999986e+01 -2.0040757168350902e+00 -4.3011554493060062e+00 2.2970797324709151e+00 135 4.9995245378153335e+01 5.0780283724311339e+01 -5.6041780387786644e-01 -9.9746084474132047e+01 5.0000000000000007e+01 -1.9949216894826407e+00 -4.3050391647090267e+00 2.3101174752263862e+00 136 4.9979666786663145e+01 4.9944878733400039e+01 -5.3750705077910299e-01 -1.0000656489828904e+02 4.9999999999999993e+01 -2.0001312979657810e+00 -4.2973562220678536e+00 2.2972249241020726e+00 137 4.9992341369126393e+01 4.9977903703430876e+01 -5.4248181837620690e-01 -9.8858170946433745e+01 5.0000000000000000e+01 -1.9771634189286749e+00 -4.2769751923160406e+00 2.2998117733873658e+00 138 4.9968891521752838e+01 4.9932540300401882e+01 -5.2139907140160358e-01 -9.9462663656168985e+01 5.0000000000000007e+01 -1.9892532731233794e+00 -4.2849675086346037e+00 2.2957142355112237e+00 139 4.9998669469243360e+01 4.9997786741353032e+01 -5.5409217212438044e-01 -9.9821098381611236e+01 5.0000000000000000e+01 -1.9964219676322248e+00 -4.2869488365243180e+00 2.2905268688920928e+00 140 4.9979779275715380e+01 4.9968870637915892e+01 -5.5616161111007478e-01 -9.9196396118050941e+01 5.0000000000000007e+01 -1.9839279223610184e+00 -4.2845278410659393e+00 2.3005999187049202e+00 141 4.9978507961463585e+01 4.9934623094296498e+01 -5.3477312706335423e-01 -9.9143110396567124e+01 5.0000000000000007e+01 -1.9828622079313423e+00 -4.2838442510873689e+00 2.3009820431560271e+00 142 4.9984512605584335e+01 4.9959948692141261e+01 -5.4105418302572406e-01 -9.8546163151962077e+01 5.0000000000000014e+01 -1.9709232630392408e+00 -4.2888772722335036e+00 2.3179540091942621e+00 143 4.9965915628827865e+01 4.9936335358350320e+01 -5.0993429682977354e-01 -9.8458215978939990e+01 4.9999999999999993e+01 -1.9691643195788002e+00 -4.2857364413853798e+00 2.3165721218065802e+00 144 4.9995863825831982e+01 4.9958655166286043e+01 -5.2790183480388042e-01 -9.8645817481227070e+01 5.0000000000000000e+01 -1.9729163496245414e+00 -4.2799488961230372e+00 2.3070325464984958e+00 145 4.9977445109810446e+01 4.9943798141576821e+01 -5.2221342374297797e-01 -9.9185775320983495e+01 5.0000000000000000e+01 -1.9837155064196699e+00 -4.2781418113995198e+00 2.2944263049798490e+00 146 4.9973038571205414e+01 4.9935492146701129e+01 -5.1271284410665308e-01 -9.9614626812551137e+01 5.0000000000000000e+01 -1.9922925362510229e+00 -4.2679637673953135e+00 2.2756712311442904e+00 147 4.9991057249759017e+01 4.9958824117047406e+01 -5.5178695548872381e-01 -9.9624151161415426e+01 5.0000000000000000e+01 -1.9924830232283086e+00 -4.2818926248347120e+00 2.2894096016064043e+00 148 4.9971994892611704e+01 4.9928279343013031e+01 -5.1751076371920834e-01 -9.9455841710813203e+01 4.9999999999999993e+01 -1.9891168342162644e+00 -4.2985529896310375e+00 2.3094361554147724e+00 149 5.0008320251843564e+01 4.9995287582274827e+01 -5.6222682766970944e-01 -9.9826925150757660e+01 5.0000000000000000e+01 -1.9965385030151532e+00 -4.3013292065933362e+00 2.3047907035781829e+00 150 4.9977308163712117e+01 4.9950226642243614e+01 -5.4788106292730987e-01 -9.9727155046737749e+01 4.9999999999999993e+01 -1.9945431009347554e+00 -4.2985494064453560e+00 2.3040063055106001e+00 151 4.9992799370667306e+01 4.9981921286245459e+01 -5.6949237933696695e-01 -9.9661521700551958e+01 4.9999999999999993e+01 -1.9932304340110396e+00 -4.3075877400168796e+00 2.3143573060058400e+00 152 4.9947471832206219e+01 4.9854342985017247e+01 -5.2786245614125282e-01 -9.9624804834567712e+01 5.0000000000000000e+01 -1.9924960966913543e+00 -4.3024268614683008e+00 2.3099307647769463e+00 153 4.9985619901859629e+01 4.9940182705722108e+01 -5.2397163521467272e-01 -1.0006833850052585e+02 5.0000000000000000e+01 -2.0013667700105171e+00 -4.2978086268908466e+00 2.2964418568803295e+00 154 4.9968199570430606e+01 4.9922553490765075e+01 -5.1583714617482668e-01 -9.8631045639848750e+01 4.9999999999999986e+01 -1.9726209127969758e+00 -4.3076156001466614e+00 2.3349946873496861e+00 155 4.9940463095391451e+01 5.0260427518962089e+01 -4.7296445673491427e-01 -9.7015000117241613e+01 5.0000000000000007e+01 -1.9403000023448320e+00 -4.3016513834821399e+00 2.3613513811373079e+00 156 4.9991999671736593e+01 4.9973020868785390e+01 -4.8254636508406357e-01 -9.7097854677659072e+01 4.9999999999999993e+01 -1.9419570935531818e+00 -4.3053688468621027e+00 2.3634117533089207e+00 157 4.9983584569208510e+01 4.9976300130372813e+01 -4.8319758444777544e-01 -9.6457392686803786e+01 5.0000000000000000e+01 -1.9291478537360758e+00 -4.2986103054093325e+00 2.3694624516732565e+00 158 4.9989940073210740e+01 4.9971931661651219e+01 -4.9388113549071261e-01 -9.6842373278615341e+01 4.9999999999999993e+01 -1.9368474655723071e+00 -4.2984817022706130e+00 2.3616342366983063e+00 159 4.9985658655877614e+01 4.9961459678071321e+01 -4.8858843376534594e-01 -9.6683654969526316e+01 5.0000000000000000e+01 -1.9336730993905265e+00 -4.2981515794242027e+00 2.3644784800336760e+00 160 4.9977061707902976e+01 4.9941081199744659e+01 -4.6304417212442739e-01 -9.7040223910750939e+01 4.9999999999999993e+01 -1.9408044782150191e+00 -4.2981458762809774e+00 2.3573413980659583e+00 161 5.0005881202232075e+01 4.9997802287408959e+01 -5.0052097591412259e-01 -9.7610219024457024e+01 5.0000000000000000e+01 -1.9522043804891405e+00 -4.2963649565569941e+00 2.3441605760678534e+00 162 4.9991839899812156e+01 4.9984681189421266e+01 -5.0442298465550361e-01 -9.8341969613102805e+01 4.9999999999999993e+01 -1.9668393922620564e+00 -4.2945185874388487e+00 2.3276791951767928e+00 163 4.9990753594391606e+01 4.9993504691766731e+01 -5.2680269931150736e-01 -9.7885269257267751e+01 5.0000000000000014e+01 -1.9577053851453543e+00 -4.2946039419578206e+00 2.3368985568124661e+00 164 4.9971940902781590e+01 4.9932204378396982e+01 -4.9890774346093714e-01 -9.8207887923934592e+01 5.0000000000000000e+01 -1.9641577584786918e+00 -4.2929970635111578e+00 2.3288393050324658e+00 165 4.9993496539436741e+01 4.9972650575198841e+01 -5.1680378155436324e-01 -9.8278319800111376e+01 4.9999999999999993e+01 -1.9655663960022278e+00 -4.2790099183120800e+00 2.3134435223098522e+00 166 4.9985699554211877e+01 4.9967285369149998e+01 -5.1780968315137688e-01 -9.9154770338470783e+01 5.0000000000000014e+01 -1.9830954067694151e+00 -4.2978875227188817e+00 2.3147921159494658e+00 167 4.9985362262595338e+01 4.9976264875583730e+01 -5.2211955930595255e-01 -9.8705759127732577e+01 5.0000000000000000e+01 -1.9741151825546517e+00 -4.2962117476892789e+00 2.3220965651346281e+00 168 4.9991446113573723e+01 4.9975626860655758e+01 -5.2646131378149807e-01 -9.9149419522643910e+01 5.0000000000000014e+01 -1.9829883904528776e+00 -4.3050407146481176e+00 2.3220523241952398e+00 169 4.9991726558741796e+01 4.9968044410902010e+01 -5.2346271342130646e-01 -9.8706063763941899e+01 5.0000000000000007e+01 -1.9741212752788377e+00 -4.3063054205458950e+00 2.3321841452670578e+00 170 4.9983866676075195e+01 4.9975472759286198e+01 -5.2605848881345618e-01 -9.8352448958095181e+01 4.9999999999999993e+01 -1.9670489791619039e+00 -4.2944824224198701e+00 2.3274334432579655e+00 171 4.9983643025335070e+01 4.9970595968344526e+01 -5.1970426977276918e-01 -9.7844055432900902e+01 5.0000000000000007e+01 -1.9568811086580178e+00 -4.2878900131714142e+00 2.3310089045133959e+00 172 4.9993937153717518e+01 4.9970097425793547e+01 -5.2163527056749637e-01 -9.8351777015213429e+01 5.0000000000000007e+01 -1.9670355403042683e+00 -4.2987651157943478e+00 2.3317295754900789e+00 173 4.9982315290031451e+01 4.9946285379324046e+01 -5.0093931709069406e-01 -9.8889677870024485e+01 5.0000000000000014e+01 -1.9777935574004890e+00 -4.3052152383268405e+00 2.3274216809263515e+00 174 4.9997329880275728e+01 4.9994237322702574e+01 -5.2644343134743987e-01 -9.9107118413266193e+01 5.0000000000000007e+01 -1.9821423682653236e+00 -4.2993804904374961e+00 2.3172381221721730e+00 175 4.9991027424003853e+01 4.9986816196693333e+01 -5.3589422632510009e-01 -9.9638329076713276e+01 5.0000000000000000e+01 -1.9927665815342657e+00 -4.3022214573210213e+00 2.3094548757867561e+00 176 4.9995083406867096e+01 4.9983485111509417e+01 -5.6507341026144164e-01 -9.9424767437332108e+01 4.9999999999999993e+01 -1.9884953487466426e+00 -4.2929998527208095e+00 2.3045045039741674e+00 177 4.9969224793391362e+01 4.9927364360611321e+01 -5.3784521254421247e-01 -9.9387242306355802e+01 5.0000000000000007e+01 -1.9877448461271157e+00 -4.2949771026891890e+00 2.3072322565620729e+00 178 4.9984338589069921e+01 4.9964903670655019e+01 -5.4346421925264587e-01 -9.9860696734692510e+01 5.0000000000000000e+01 -1.9972139346938502e+00 -4.3020957674067102e+00 2.3048818327128604e+00 179 4.9987209305074558e+01 4.9971926639073608e+01 -5.4653056120661470e-01 -9.9242796400816076e+01 5.0000000000000007e+01 -1.9848559280163212e+00 -4.2915541038832856e+00 2.3066981758669640e+00 180 4.9971380394733288e+01 4.9937126820014804e+01 -5.1601713480293254e-01 -9.8427506934930406e+01 5.0000000000000000e+01 -1.9685501386986082e+00 -4.2934582498537104e+00 2.3249081111551027e+00 181 4.9996566305944008e+01 4.9982604512393280e+01 -5.3481201959212876e-01 -9.8284800861240782e+01 5.0000000000000000e+01 -1.9656960172248157e+00 -4.3081548423613025e+00 2.3424588251364873e+00 182 4.9983590613975601e+01 4.9961779363839661e+01 -5.2477799488665067e-01 -9.8668871689647176e+01 5.0000000000000000e+01 -1.9733774337929435e+00 -4.3107518915510115e+00 2.3373744577580680e+00 183 4.9985615397488900e+01 4.9961850805167131e+01 -5.1606576979960039e-01 -9.8478502746633623e+01 4.9999999999999993e+01 -1.9695700549326729e+00 -4.3075554886953604e+00 2.3379854337626873e+00 184 4.9987297532694832e+01 4.9972862968656003e+01 -5.0613891448633530e-01 -9.7712717390352992e+01 4.9999999999999986e+01 -1.9542543478070606e+00 -4.3055846544587899e+00 2.3513303066517297e+00 185 4.9990125946358440e+01 4.9979651656841042e+01 -5.0735117775216854e-01 -9.7861373535541873e+01 5.0000000000000000e+01 -1.9572274707108375e+00 -4.2927648712210091e+00 2.3355374005101717e+00 186 4.9988360968936561e+01 4.9953639516685747e+01 -4.9980425936885470e-01 -9.7709975859963151e+01 4.9999999999999993e+01 -1.9541995171992634e+00 -4.2945587502081723e+00 2.3403592330089089e+00 187 4.9997567493149958e+01 4.9995420208527804e+01 -5.0885813363565513e-01 -9.8175693915007088e+01 5.0000000000000000e+01 -1.9635138783001418e+00 -4.2896393379856459e+00 2.3261254596855041e+00 188 4.9995668900642642e+01 4.9985109235790461e+01 -5.2419636153680260e-01 -9.9057062065597435e+01 5.0000000000000000e+01 -1.9811412413119487e+00 -4.3016749996430246e+00 2.3205337583310768e+00 189 4.9994371074855920e+01 4.9990850234403943e+01 -5.5055951740151388e-01 -9.9939586929855494e+01 4.9999999999999993e+01 -1.9987917385971103e+00 -4.3212266144557292e+00 2.3224348758586189e+00 190 4.9982893550398551e+01 4.9981343972577065e+01 -5.6120315915534191e-01 -1.0063239511573083e+02 4.9999999999999993e+01 -2.0126479023146171e+00 -4.3165535741395171e+00 2.3039056718249000e+00 191 4.9971510309819294e+01 4.9927132265975608e+01 -5.5802955026140544e-01 -1.0125465784009603e+02 4.9999999999999993e+01 -2.0250931568019208e+00 -4.3165960323347221e+00 2.2915028755328004e+00 192 4.9995053688413435e+01 4.9981126458840443e+01 -5.5721330014166370e-01 -1.0033294091430207e+02 5.0000000000000000e+01 -2.0066588182860414e+00 -4.3122170381148548e+00 2.3055582198288138e+00 193 4.9999675528171714e+01 4.9968735086085161e+01 -5.9182940814268736e-01 -1.0107055206145279e+02 5.0000000000000000e+01 -2.0214110412290558e+00 -4.3230886489842781e+00 2.3016776077552228e+00 194 4.9974693327417427e+01 4.9943900025785204e+01 -5.8392100654670165e-01 -1.0029942617677406e+02 5.0000000000000000e+01 -2.0059885235354811e+00 -4.3208903666941731e+00 2.3149018431586921e+00 195 4.9948980973622469e+01 4.9894952958550924e+01 -5.2283873548321558e-01 -9.9144906203955770e+01 5.0000000000000007e+01 -1.9828981240791150e+00 -4.3142991037324530e+00 2.3314009796533366e+00 196 5.0001606320270170e+01 4.9972960155487115e+01 -5.4198397718203173e-01 -9.9529486375658337e+01 5.0000000000000007e+01 -1.9905897275131665e+00 -4.3159652559933885e+00 2.3253755284802220e+00 197 4.9980736010301335e+01 4.9958676639426777e+01 -5.2407284170520252e-01 -9.8814484971098409e+01 5.0000000000000007e+01 -1.9762896994219679e+00 -4.3095727198793794e+00 2.3332830204574120e+00 198 4.9979637459935070e+01 4.9951165420769179e+01 -5.1037914312115085e-01 -9.9455619451426529e+01 5.0000000000000000e+01 -1.9891123890285307e+00 -4.3057532875693720e+00 2.3166408985408409e+00 199 4.9999646407503541e+01 4.9985763055374981e+01 -5.4624743351466865e-01 -9.9321536430847843e+01 5.0000000000000000e+01 -1.9864307286169569e+00 -4.3088824668455095e+00 2.3224517382285526e+00 200 4.9984324083898692e+01 4.9971382084203618e+01 -5.4552676853288040e-01 -9.9175927183281075e+01 5.0000000000000007e+01 -1.9835185436656213e+00 -4.3084506873356272e+00 2.3249321436700052e+00 201 4.9979691713658177e+01 4.9960483091783615e+01 -5.4174520950759864e-01 -9.8660512902281212e+01 5.0000000000000000e+01 -1.9732102580456243e+00 -4.3123642507938937e+00 2.3391539927482694e+00 202 4.9961771350432954e+01 4.9919595717498510e+01 -5.1887469323080404e-01 -9.8082464739522322e+01 5.0000000000000000e+01 -1.9616492947904465e+00 -4.3118544889698551e+00 2.3502051941794084e+00 203 4.9982532637366496e+01 4.9933051500375143e+01 -4.9854708317172103e-01 -9.7836338618746481e+01 5.0000000000000007e+01 -1.9567267723749293e+00 -4.3030541573161605e+00 2.3463273849412314e+00 204 4.9987861604087279e+01 4.9980404813084078e+01 -5.0504029660853722e-01 -9.7438924702340572e+01 5.0000000000000000e+01 -1.9487784940468116e+00 -4.3024055567241239e+00 2.3536270626773121e+00 205 4.9986343721852471e+01 4.9961644412590232e+01 -4.9400871195920293e-01 -9.7198000355734706e+01 5.0000000000000007e+01 -1.9439600071146939e+00 -4.2902051998522612e+00 2.3462451927375683e+00 206 4.9992757547267310e+01 4.9978891814695181e+01 -5.1054051744057549e-01 -9.7134789839814061e+01 5.0000000000000000e+01 -1.9426957967962812e+00 -4.2820433854356095e+00 2.3393475886393285e+00 207 4.9989700253737247e+01 4.9975736693403135e+01 -5.1761257862653598e-01 -9.7812831295890035e+01 5.0000000000000007e+01 -1.9562566259178005e+00 -4.2919847828790907e+00 2.3357281569612898e+00 208 4.9978977464312905e+01 4.9951649905579877e+01 -4.8942806440082948e-01 -9.7257200633511275e+01 5.0000000000000000e+01 -1.9451440126702255e+00 -4.2938423868346973e+00 2.3486983741644711e+00 209 4.9981510677145195e+01 4.9949563081092712e+01 -4.8443310478477331e-01 -9.7812336910533958e+01 5.0000000000000007e+01 -1.9562467382106790e+00 -4.2944751673628279e+00 2.3382284291521489e+00 210 5.0003965426127422e+01 4.9981586042514209e+01 -5.0646240869428882e-01 -9.8187480193690845e+01 4.9999999999999986e+01 -1.9637496038738176e+00 -4.2928762209203031e+00 2.3291266170464850e+00 211 4.9984813999912006e+01 4.9979204454467066e+01 -5.0551330092558056e-01 -9.9351044732404631e+01 5.0000000000000007e+01 -1.9870208946480923e+00 -4.3073215231213062e+00 2.3203006284732135e+00 212 4.9993899891261762e+01 4.9980139161425896e+01 -5.2861829343475797e-01 -1.0019857417187504e+02 5.0000000000000007e+01 -2.0039714834375006e+00 -4.3156095853679055e+00 2.3116381019304049e+00 213 4.9931382653965812e+01 4.9842071989889000e+01 -5.2462420937414378e-01 -9.8959095717257554e+01 5.0000000000000000e+01 -1.9791819143451512e+00 -4.2953350964878831e+00 2.3161531821427319e+00 214 4.9988297131302026e+01 4.9965637011241583e+01 -5.2402150257625446e-01 -9.8419181891054023e+01 4.9999999999999993e+01 -1.9683836378210808e+00 -4.2906806210568424e+00 2.3222969832357614e+00 215 4.9980993862485519e+01 4.9955959975057176e+01 -5.1947069777070820e-01 -9.8030208887836039e+01 5.0000000000000000e+01 -1.9606041777567209e+00 -4.2877080503142722e+00 2.3271038725575512e+00 216 4.9977742035813712e+01 4.9964674858769420e+01 -5.0645374446315428e-01 -9.7971246877497080e+01 5.0000000000000000e+01 -1.9594249375499417e+00 -4.2929949169116224e+00 2.3335699793616813e+00 217 4.9984835209688647e+01 4.9961981827063795e+01 -5.1387631230192388e-01 -9.8780072059828157e+01 5.0000000000000000e+01 -1.9756014411965632e+00 -4.2916532500420512e+00 2.3160518088454882e+00 218 4.9971413308741880e+01 4.9923478785534599e+01 -5.0884509285202673e-01 -9.8248843848817216e+01 5.0000000000000000e+01 -1.9649768769763443e+00 -4.2721084988448368e+00 2.3071316218684923e+00 219 4.9963056527841708e+01 4.9918070157581568e+01 -4.8197366621715254e-01 -9.6957682463042929e+01 5.0000000000000000e+01 -1.9391536492608585e+00 -4.2744315692447499e+00 2.3352779199838913e+00 220 4.9990591903878411e+01 4.9958577342341968e+01 -5.0507676284050085e-01 -9.8528256370504806e+01 5.0000000000000000e+01 -1.9705651274100962e+00 -4.2748689932323582e+00 2.3043038658222619e+00 221 4.9970153689096243e+01 4.9946839685392227e+01 -4.8894217638553233e-01 -9.7639237905676580e+01 5.0000000000000000e+01 -1.9527847581135316e+00 -4.2946581921527862e+00 2.3418734340392540e+00 222 4.9984629615829164e+01 4.9947040959449971e+01 -4.9179788254720391e-01 -9.8042037785030331e+01 5.0000000000000000e+01 -1.9608407557006067e+00 -4.2999543519049741e+00 2.3391135962043665e+00 223 4.9984173338112498e+01 4.9968962834772242e+01 -4.9477582989052815e-01 -9.7551458013752082e+01 5.0000000000000000e+01 -1.9510291602750416e+00 -4.3045729930970156e+00 2.3535438328219742e+00 224 4.9984881774104352e+01 4.9968390802543254e+01 -4.9421353249211381e-01 -9.7049681226047156e+01 4.9999999999999993e+01 -1.9409936245209436e+00 -4.3024355759644077e+00 2.3614419514434646e+00 225 4.9984143888982956e+01 4.9964164011866131e+01 -4.8708907366034948e-01 -9.6748295687044461e+01 5.0000000000000000e+01 -1.9349659137408892e+00 -4.3053366027346032e+00 2.3703706889937135e+00 226 4.9994875644278373e+01 4.9982255359979121e+01 -4.9704370828723593e-01 -9.6609356773197703e+01 5.0000000000000000e+01 -1.9321871354639542e+00 -4.3057722104064178e+00 2.3735850749424641e+00 227 4.9981401961379788e+01 4.9966446980286264e+01 -4.9087765798824162e-01 -9.7255456558840180e+01 5.0000000000000000e+01 -1.9451091311768036e+00 -4.3124297005136363e+00 2.3673205693368318e+00 228 4.9986331075134949e+01 4.9954261061682537e+01 -4.7857465397475757e-01 -9.7303851049827756e+01 4.9999999999999993e+01 -1.9460770209965554e+00 -4.3081649819988179e+00 2.3620879610022629e+00 229 4.9981574805725806e+01 4.9969892133929278e+01 -4.7707237382130729e-01 -9.7467896442425840e+01 5.0000000000000000e+01 -1.9493579288485168e+00 -4.3074557458152700e+00 2.3580978169667524e+00 230 5.0000808862651191e+01 4.9980866308842153e+01 -4.8774955372081136e-01 -9.7583047099086698e+01 5.0000000000000000e+01 -1.9516609419817341e+00 -4.3179622283264045e+00 2.3663012863446711e+00 231 4.9998617099824521e+01 4.9993890689441344e+01 -5.0925183489512238e-01 -9.7668021005328029e+01 5.0000000000000000e+01 -1.9533604201065606e+00 -4.3133800553762551e+00 2.3600196352696932e+00 232 4.9978708192809698e+01 4.9960182805495386e+01 -4.9521891114866107e-01 -9.7923104212168184e+01 5.0000000000000000e+01 -1.9584620842433638e+00 -4.3102466221662157e+00 2.3517845379228515e+00 233 4.9999275454409535e+01 4.9975727657236774e+01 -5.1115375383622197e-01 -9.7944083020890133e+01 5.0000000000000007e+01 -1.9588816604178023e+00 -4.3154384530889782e+00 2.3565567926711766e+00 234 4.9991730276743056e+01 4.9989700474600312e+01 -5.2097691167583415e-01 -9.8185679172975455e+01 5.0000000000000000e+01 -1.9637135834595092e+00 -4.3061411735751554e+00 2.3424275901156477e+00 235 4.9975120410218750e+01 4.9938811084692716e+01 -5.0223071482273773e-01 -9.8093894338234250e+01 5.0000000000000000e+01 -1.9618778867646851e+00 -4.3041059736861955e+00 2.3422280869215100e+00 236 4.9989857118811670e+01 4.9980917700988833e+01 -5.2007476638096450e-01 -9.8688191346516916e+01 4.9999999999999993e+01 -1.9737638269303388e+00 -4.3101562857877393e+00 2.3363924588574010e+00 237 4.9991471208696375e+01 4.9969655890540338e+01 -5.1600813925178368e-01 -9.8531602528208495e+01 5.0000000000000007e+01 -1.9706320505641697e+00 -4.3150786364961871e+00 2.3444465859320167e+00 238 4.9993070508058985e+01 4.9981061734293988e+01 -5.3158924057009171e-01 -9.8748284855103151e+01 4.9999999999999993e+01 -1.9749656971020635e+00 -4.3223698951989906e+00 2.3474041980969278e+00 239 4.9968588909192299e+01 4.9946335384621705e+01 -4.9302635468427547e-01 -9.8134893424896461e+01 4.9999999999999993e+01 -1.9626978684979297e+00 -4.3147110453139650e+00 2.3520131768160359e+00 240 5.0000434294566659e+01 4.9979919505597174e+01 -5.0851967595888348e-01 -9.8393767903811181e+01 5.0000000000000007e+01 -1.9678753580762234e+00 -4.3142621656187989e+00 2.3463868075425758e+00 241 5.0001723010430879e+01 4.9998795566317156e+01 -5.2578005557818785e-01 -9.8632605493466258e+01 4.9999999999999993e+01 -1.9726521098693255e+00 -4.3156582880728864e+00 2.3430061782035607e+00 242 4.9979006988245985e+01 4.9964824037818424e+01 -5.0389284930632205e-01 -9.8591264084403988e+01 4.9999999999999993e+01 -1.9718252816880801e+00 -4.3164599418070972e+00 2.3446346601190169e+00 243 5.0004655344230258e+01 4.9993975820223199e+01 -5.2406106661030805e-01 -9.9223213599164836e+01 5.0000000000000000e+01 -1.9844642719832968e+00 -4.3176281279577813e+00 2.3331638559744836e+00 244 4.9993646182886444e+01 4.9986314109677330e+01 -5.2580607267878021e-01 -9.9478536258138902e+01 5.0000000000000007e+01 -1.9895707251627777e+00 -4.3176659081916071e+00 2.3280951830288297e+00 245 4.9998223648564746e+01 4.9990150560386020e+01 -5.5450443200046773e-01 -9.9638088180664425e+01 5.0000000000000000e+01 -1.9927617636132886e+00 -4.3171547896016511e+00 2.3243930259883627e+00 246 4.9987253125244088e+01 4.9980953856978687e+01 -5.4075891501341145e-01 -9.9012648673314885e+01 5.0000000000000000e+01 -1.9802529734662977e+00 -4.3194177265805394e+00 2.3391647531142419e+00 247 4.9981862106064618e+01 4.9940091255300914e+01 -5.1599994944927630e-01 -9.8738919946125293e+01 5.0000000000000000e+01 -1.9747783989225058e+00 -4.3193320723317745e+00 2.3445536734092691e+00 248 5.0001616770054781e+01 4.9988147451549338e+01 -5.3380516288295832e-01 -9.9003471972369510e+01 4.9999999999999986e+01 -1.9800694394473910e+00 -4.3218619410053813e+00 2.3417925015579901e+00 249 4.9989194764485099e+01 4.9972867448373691e+01 -5.3862444180224511e-01 -9.9840630241096960e+01 5.0000000000000000e+01 -1.9968126048219392e+00 -4.3273402390790165e+00 2.3305276342570771e+00 250 4.9989350775092817e+01 4.9986321653761188e+01 -5.4997826094804125e-01 -9.9472606580349208e+01 5.0000000000000000e+01 -1.9894521316069842e+00 -4.3276622177602029e+00 2.3382100861532185e+00 251 4.9968558590617484e+01 4.9929941810761655e+01 -5.2044571201423395e-01 -9.9200172158763323e+01 5.0000000000000000e+01 -1.9840034431752664e+00 -4.3201594281786297e+00 2.3361559850033622e+00 252 4.9993435463205124e+01 4.9967747114034921e+01 -5.2562080079039253e-01 -9.8980499325627463e+01 5.0000000000000007e+01 -1.9796099865125489e+00 -4.3151426417116960e+00 2.3355326551991480e+00 253 4.9984299522462315e+01 4.9967576916902608e+01 -5.1858954833995752e-01 -9.9043757957640253e+01 5.0000000000000000e+01 -1.9808751591528051e+00 -4.3179680651023356e+00 2.3370929059495302e+00 254 4.9998153219910662e+01 5.0002864439893784e+01 -5.4968870540660386e-01 -9.9489962889532094e+01 5.0000000000000007e+01 -1.9897992577906416e+00 -4.3196594009484137e+00 2.3298601431577723e+00 255 4.9975383223880698e+01 4.9954773449276608e+01 -5.2147950814544475e-01 -9.8127645729183698e+01 5.0000000000000007e+01 -1.9625529145836738e+00 -4.3226780606338231e+00 2.3601251460501498e+00 256 4.9993631788922187e+01 4.9970825592007216e+01 -5.2612618021253743e-01 -9.8407700702332278e+01 4.9999999999999986e+01 -1.9681540140466462e+00 -4.3207788838663204e+00 2.3526248698196754e+00 257 4.9987172590605724e+01 4.9987335679793141e+01 -5.2902732555193888e-01 -9.8594881942299224e+01 5.0000000000000000e+01 -1.9718976388459846e+00 -4.3299851246295393e+00 2.3580874857835550e+00 258 4.9990044271289008e+01 4.9958608187060456e+01 -5.2193423225862823e-01 -9.8581272418215619e+01 4.9999999999999993e+01 -1.9716254483643127e+00 -4.3266020540835193e+00 2.3549766057192056e+00 259 4.9985898383464871e+01 4.9960312340332770e+01 -5.1785829068748124e-01 -9.8908405652920052e+01 5.0000000000000007e+01 -1.9781681130584008e+00 -4.3282761873076865e+00 2.3501080742492855e+00 260 4.9989084418576269e+01 4.9970082388799959e+01 -5.2387413624650903e-01 -9.8584144929339104e+01 5.0000000000000014e+01 -1.9716828985867814e+00 -4.3163944310466622e+00 2.3447115324598808e+00 261 4.9989395413567500e+01 4.9958240908028621e+01 -5.2032800401572243e-01 -9.9238033948536398e+01 4.9999999999999993e+01 -1.9847606789707284e+00 -4.3058163050584257e+00 2.3210556260876980e+00 262 4.9973069070001920e+01 4.9982175918964572e+01 -5.6822837383552782e-01 -1.0030433749745730e+02 5.0000000000000000e+01 -2.0060867499491462e+00 -4.3153858544521304e+00 2.3092991045029847e+00 263 4.9955264733636668e+01 4.9852895243237690e+01 -5.2604718200843770e-01 -9.8281584145661924e+01 4.9999999999999993e+01 -1.9656316829132388e+00 -4.3003540437528160e+00 2.3347223608395766e+00 264 4.9974281928286999e+01 4.9932839432114619e+01 -5.0290268445426378e-01 -9.7680953717561025e+01 4.9999999999999993e+01 -1.9536190743512210e+00 -4.3081057549454176e+00 2.3544866805941966e+00 265 4.9990410629692690e+01 4.9954719764108816e+01 -4.9205744919633715e-01 -9.7752432845798538e+01 5.0000000000000007e+01 -1.9550486569159704e+00 -4.3094697996023656e+00 2.3544211426863950e+00 266 5.0004179576172668e+01 4.9991627345784636e+01 -5.0991843381206614e-01 -9.8166188287528470e+01 4.9999999999999993e+01 -1.9633237657505698e+00 -4.3090219634895695e+00 2.3456981977389999e+00 267 4.9986502277793242e+01 4.9983919108899194e+01 -5.1535080874932326e-01 -9.7683666172640102e+01 4.9999999999999993e+01 -1.9536733234528023e+00 -4.2979111080399042e+00 2.3442377845871016e+00 268 4.9983596428954471e+01 4.9966996161226270e+01 -5.0871730712031937e-01 -9.7566128684584285e+01 5.0000000000000007e+01 -1.9513225736916855e+00 -4.3134706297739145e+00 2.3621480560822294e+00 269 4.9996041100335127e+01 4.9979212567532841e+01 -5.1406435213590518e-01 -9.7468434541168520e+01 5.0000000000000000e+01 -1.9493686908233705e+00 -4.3187394222883775e+00 2.3693707314650072e+00 270 4.9980245970718080e+01 4.9958827689583345e+01 -5.0414114647741859e-01 -9.8123007870896615e+01 5.0000000000000000e+01 -1.9624601574179323e+00 -4.3231613323561895e+00 2.3607011749382569e+00 271 5.0001258119141774e+01 5.0002348189674017e+01 -5.1378217748102817e-01 -9.7588868991016994e+01 5.0000000000000000e+01 -1.9517773798203399e+00 -4.3197879792888783e+00 2.3680105994685388e+00 272 4.9984225825109547e+01 4.9971134897768508e+01 -5.0396151016103408e-01 -9.7969447801041497e+01 4.9999999999999993e+01 -1.9593889560208304e+00 -4.3191955402257687e+00 2.3598065842049381e+00 273 4.9985907147304388e+01 4.9960887969461012e+01 -4.9129332183094832e-01 -9.7531444090493935e+01 4.9999999999999993e+01 -1.9506288818098791e+00 -4.3185116710422378e+00 2.3678827892323580e+00 274 4.9988273421989064e+01 4.9964290811829898e+01 -4.8781406570631242e-01 -9.7887165424504076e+01 5.0000000000000000e+01 -1.9577433084900815e+00 -4.3063511442973459e+00 2.3486078358072637e+00 275 4.9988605674046475e+01 5.0550712195400237e+01 -4.8043299306388965e-01 -9.7673473880673797e+01 4.9999999999999993e+01 -1.9534694776134762e+00 -4.3056582714616258e+00 2.3521887938481489e+00 276 4.9992643205357133e+01 4.9986252649818248e+01 -4.9529535163678329e-01 -9.7660017454053914e+01 5.0000000000000014e+01 -1.9532003490810776e+00 -4.3116879340409362e+00 2.3584875849598586e+00 277 4.9996393351846230e+01 4.9992942107800076e+01 -5.0106993969058933e-01 -9.7892481901302318e+01 4.9999999999999993e+01 -1.9578496380260468e+00 -4.3143687144904161e+00 2.3565190764643695e+00 278 4.9999177437109402e+01 4.9981679920297054e+01 -5.0966787890132326e-01 -9.7560352773933431e+01 5.0000000000000000e+01 -1.9512070554786687e+00 -4.3095618976633459e+00 2.3583548421846778e+00 279 4.9987119452152214e+01 4.9962667063230775e+01 -5.0000668289461780e-01 -9.7783315890341044e+01 5.0000000000000000e+01 -1.9556663178068210e+00 -4.3129746835561127e+00 2.3573083657492919e+00 280 4.9997715562530615e+01 4.9992318965394411e+01 -5.1275025252392803e-01 -9.7791920542787153e+01 4.9999999999999993e+01 -1.9558384108557434e+00 -4.3108845393266533e+00 2.3550461284709101e+00 281 4.9973773190313736e+01 4.9924359903776732e+01 -5.0556207999236380e-01 -9.7416393120385521e+01 5.0000000000000007e+01 -1.9483278624077101e+00 -4.3065598046017177e+00 2.3582319421940077e+00 282 4.9985902619182255e+01 4.9947094307113986e+01 -5.0377755412594039e-01 -9.7170567845174702e+01 5.0000000000000000e+01 -1.9434113569034941e+00 -4.3056511267566524e+00 2.3622397698531592e+00 283 4.9980936909656542e+01 4.9958451392761127e+01 -4.8083582736332131e-01 -9.7108332890987526e+01 5.0000000000000000e+01 -1.9421666578197505e+00 -4.3004884562937944e+00 2.3583217984740439e+00 284 4.9993636563912958e+01 4.9981234014832637e+01 -4.9231069204278433e-01 -9.7691940775944701e+01 4.9999999999999993e+01 -1.9538388155188944e+00 -4.3121574305306032e+00 2.3583186150117088e+00 285 4.9988733388218414e+01 4.9974470022365715e+01 -5.0196289750141765e-01 -9.7699582520293262e+01 5.0000000000000007e+01 -1.9539916504058650e+00 -4.3166518748076577e+00 2.3626602244017927e+00 286 4.9984401810298579e+01 4.9956200834124921e+01 -4.9475579522170265e-01 -9.7335470802459071e+01 5.0000000000000000e+01 -1.9467094160491814e+00 -4.3117315489630501e+00 2.3650221329138681e+00 287 4.9991724904172308e+01 4.9979373165896760e+01 -4.9583225791704988e-01 -9.7475023639130086e+01 4.9999999999999993e+01 -1.9495004727826022e+00 -4.3057163228142361e+00 2.3562158500316341e+00 288 4.9993044899405199e+01 4.9986278033498166e+01 -4.9745002602861743e-01 -9.7117993555967757e+01 5.0000000000000000e+01 -1.9423598711193553e+00 -4.3078739515639128e+00 2.3655140804445574e+00 289 4.9979226064031558e+01 4.9956996687192742e+01 -4.7733002283776133e-01 -9.7412833445251479e+01 5.0000000000000007e+01 -1.9482566689050294e+00 -4.3086979086044321e+00 2.3604412396994032e+00 290 5.0002168631707363e+01 4.9991424739739614e+01 -5.0324832291908617e-01 -9.7890544936010997e+01 5.0000000000000007e+01 -1.9578108987202196e+00 -4.3042775961764450e+00 2.3464666974562247e+00 291 4.9982544001380951e+01 4.9962948732560747e+01 -4.8738751647314904e-01 -9.7725002222047749e+01 5.0000000000000000e+01 -1.9545000444409550e+00 -4.3078156245032462e+00 2.3533155800622914e+00 292 4.9994143319362465e+01 4.9982703289449553e+01 -4.9932692337336998e-01 -9.7690562102870885e+01 5.0000000000000007e+01 -1.9538112420574174e+00 -4.2988515195144883e+00 2.3450402774570707e+00 293 4.9993091452372475e+01 4.9994913807956166e+01 -5.0999964315946467e-01 -9.7291983181450121e+01 5.0000000000000007e+01 -1.9458396636290021e+00 -4.2989200687754510e+00 2.3530804051464487e+00 294 4.9984268624760816e+01 4.9958835143731292e+01 -4.9762716746118135e-01 -9.7545692859448053e+01 5.0000000000000000e+01 -1.9509138571889610e+00 -4.3112179696391726e+00 2.3603041124502115e+00 295 4.9993727297114660e+01 4.9975379025582278e+01 -5.0178455709338476e-01 -9.7619379661291944e+01 5.0000000000000007e+01 -1.9523875932258385e+00 -4.3135441505159298e+00 2.3611565572900908e+00 296 4.9990310715334715e+01 4.9986453985700791e+01 -5.0031504457960885e-01 -9.7698091839351278e+01 5.0000000000000007e+01 -1.9539618367870253e+00 -4.3168648177893818e+00 2.3629029810023563e+00 297 4.9998819265071560e+01 4.9994077559073048e+01 -5.1470493274947815e-01 -9.8399570353777023e+01 4.9999999999999993e+01 -1.9679914070755409e+00 -4.3203117396439055e+00 2.3523203325683646e+00 298 4.9989528605705857e+01 4.9972373463762359e+01 -5.1270965862040585e-01 -9.7960093759353384e+01 4.9999999999999993e+01 -1.9592018751870681e+00 -4.3125578205008832e+00 2.3533559453138158e+00 299 4.9990013650480734e+01 4.9974990945867859e+01 -5.1138115191381028e-01 -9.8229197618038057e+01 4.9999999999999993e+01 -1.9645839523607616e+00 -4.3171238987814053e+00 2.3525399464206433e+00 300 4.9986285297022263e+01 4.9977307172693735e+01 -5.1804741707767366e-01 -9.8741335943545891e+01 4.9999999999999986e+01 -1.9748267188709185e+00 -4.3204688292624791e+00 2.3456421103915601e+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)')
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:
- Carefully converge the trial wavefunction parameters by scanning over multiple random restarts.
- Converge the reconstructed shadow wavefunction with respect to:
n_cliffords
- 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.)