We learned in the high-level notebook how to setup the quantum side of the calculation, which involves specifying a Hamiltonian, defining a trial wavefunction ansatz before performing shadow tomography to extract the AFQMC trial wavefunction. In this example, we will repeat these steps again for the case of H4 which was studied in the paper. Then we will outline how to interface the output of the quantum half of the calculation with ipie to perform AFQMC with the quantum trial wavefunction.
Setup
First install recirq:
try:
import recirq
except ImportError:
%pip install git+https://github.com/quantumlib/ReCirq
Define an SCF Job
We first setup a PyscfHamiltonianParams
object which defines the SCF job we will run using pyscf. Here we are simulation H4 in the (minimal) sto-3g basis.
from recirq.qcqmc.hamiltonian import PyscfHamiltonianParams, HamiltonianData
pyscf_params = PyscfHamiltonianParams(
name="TEST_square_H4",
n_orb=4,
n_elec=4,
geometry=(("H", (0, 0, 0)), ("H", (0, 0, 1.23)), ("H", (1.23, 0, 0)), ("H", (1.23, 0, 1.23))),
basis="sto3g",
multiplicity=1,
charge=0,
save_chkfile=True,
overwrite_chk_file=True,
)
pyscf_hamiltonian = HamiltonianData.build_hamiltonian_from_pyscf(pyscf_params)
chk_path = pyscf_params.base_path.with_suffix(".chk")
Build Perfect Pairing Wavefunction
Next we build a perfect pairing wavefunction based upon our pyscf_params
import numpy as np
from recirq.qcqmc.trial_wf import (
PerfectPairingPlusTrialWavefunctionParams,
TrialWavefunctionData
)
pp_params = PerfectPairingPlusTrialWavefunctionParams(
'pp_plus_test',
hamiltonian_params=pyscf_params,
heuristic_layers=tuple(),
do_pp=True,
restricted=False,
initial_orbital_rotation=None,
initial_two_body_qchem_amplitudes=np.asarray([0.3, 0.4]),
do_optimization=True,
use_fast_gradients=True
)
trial_wf = TrialWavefunctionData.build_pp_plus_trial_from_dependencies(
pp_params, dependencies={pyscf_params: pyscf_hamiltonian}, do_print=True
)
Building Trial Wavefunction Optimization restart 0 energy (-0.9036540062626464+0j), max|grad| 0.4055778794357425 energy (-1.2562368588437032-7.888609052210118e-31j), max|grad| 0.4331379130513979 .energy (-1.5679374247963946+1.9721522630525295e-31j), max|grad| 0.18111782362663215 .energy (-1.6837246665467411+0j), max|grad| 0.17092036783044146 .energy (-1.6110669589234137-7.888609052210118e-31j), max|grad| 0.2405987513472548 energy (-1.739072625661004-1.5777218104420236e-30j), max|grad| 0.18367926366417006 .energy (-1.7998087490345531+1.5777218104420236e-30j), max|grad| 0.15176124912908212 .energy (-1.857604827061179+1.1832913578315177e-30j), max|grad| 0.11159886713967881 .energy (-1.8729342965890403+3.1554436208840472e-30j), max|grad| 0.12163928433585955 .energy (-1.8833608675751092+3.944304526105059e-31j), max|grad| 0.04744855668935217 .energy (-1.8915925472404478+4.930380657631324e-32j), max|grad| 0.04346411368173819 .energy (-1.8961503187010251+0j), max|grad| 0.06268423948373358 .energy (-1.8984417758128478+3.944304526105059e-30j), max|grad| 0.029698836620397847 .energy (-1.8994746204928887-7.888609052210118e-31j), max|grad| 0.016201854102026323 .energy (-1.8999572014969193-1.9721522630525295e-31j), max|grad| 0.013304133970136005 .energy (-1.900851151008184+1.5777218104420236e-30j), max|grad| 0.013590539661907838 .energy (-1.9024862069591686-1.5777218104420236e-30j), max|grad| 0.017762858264099513 .energy (-1.905241992824486-1.9721522630525295e-31j), max|grad| 0.03273195822698014 .energy (-1.9077304802944584-7.888609052210118e-31j), max|grad| 0.0643066805484103 .energy (-1.9109588448091532-7.888609052210118e-31j), max|grad| 0.04560207287255662 .energy (-1.9167439088358273-1.5777218104420236e-30j), max|grad| 0.03084796048047171 .energy (-1.924523788392177+0j), max|grad| 0.05417187731077 .energy (-1.9296292702179807-3.944304526105059e-31j), max|grad| 0.0255920293559154 .energy (-1.931176163308261+2.465190328815662e-31j), max|grad| 0.029638055386350583 .energy (-1.9332159148125827+3.944304526105059e-31j), max|grad| 0.016210760885936707 .energy (-1.9334865022844676+0j), max|grad| 0.05061349409232197 energy (-1.9343719716192824-3.944304526105059e-31j), max|grad| 0.019124049518395258 .energy (-1.9355257556500236-4.733165431326071e-30j), max|grad| 0.015830794256315017 .energy (-1.9358387722341863-9.466330862652142e-30j), max|grad| 0.003772567333247434 .energy (-1.9359314607080176+1.5777218104420236e-30j), max|grad| 0.003200160408821543 .energy (-1.9359492683890531+1.5777218104420236e-30j), max|grad| 0.0018919063115872103 .energy (-1.9359611849206129+0j), max|grad| 0.0015724061559810314 .energy (-1.9359718407742763-7.888609052210118e-31j), max|grad| 0.0022002194319455533 .energy (-1.9359908818545568+1.9721522630525295e-31j), max|grad| 0.002799008605095335 .energy (-1.9360254775826826+0j), max|grad| 0.003416200505926901 .energy (-1.9360872529496023+0j), max|grad| 0.0040926248374983445 .energy (-1.9361891445659154+1.5777218104420236e-30j), max|grad| 0.004789327613199851 .energy (-1.9363129739878353+3.944304526105059e-31j), max|grad| 0.006438470223450508 .energy (-1.9364098288065534+0j), max|grad| 0.0044560812908210345 .energy (-1.9365429132708298+0j), max|grad| 0.002123306505370015 .energy (-1.9365688598431614+1.5777218104420236e-30j), max|grad| 0.0005844751423737507 .energy (-1.9365691944256387+1.9721522630525295e-31j), max|grad| 0.0006212048944707801 .energy (-1.936569706581885+7.888609052210118e-31j), max|grad| 0.0003963220024852209 .energy (-1.9365703915501182+0j), max|grad| 0.00035847269519194566 .energy (-1.936571560844051+1.5777218104420236e-30j), max|grad| 0.000587533812317631 .energy (-1.936573645050995-7.888609052210118e-31j), max|grad| 0.0009275529160988616 .energy (-1.936577364857035-3.944304526105059e-31j), max|grad| 0.0012900874728914435 .energy (-1.9365837600804685-1.5777218104420236e-30j), max|grad| 0.0016835767482814012 .energy (-1.936593687084617+3.1554436208840472e-30j), max|grad| 0.0020664330644043494 .energy (-1.9366057394300649+3.1554436208840472e-30j), max|grad| 0.0021710537727195334 .energy (-1.936615749691116+0j), max|grad| 0.0015707204946762698 .energy (-1.9366194954892224+3.944304526105059e-31j), max|grad| 0.0003613985660360161 .energy (-1.936619668065493-1.5777218104420236e-30j), max|grad| 0.00011315080863111222 .energy (-1.9366197270827685+3.944304526105059e-31j), max|grad| 6.430514569663956e-05 .energy (-1.936619745872311+0j), max|grad| 7.331250692358791e-05 .energy (-1.9366197673277465+0j), max|grad| 4.9780819985504635e-05 .energy (-1.936619771527746+0j), max|grad| 2.5640978267011897e-05 .energy (-1.9366197732374273+0j), max|grad| 2.6583681585896304e-05 .energy (-1.936619775144175-3.944304526105059e-31j), max|grad| 2.815727023723727e-05 .energy (-1.9366197785810018+2.9582283945787943e-31j), max|grad| 4.3451473699502944e-05 .energy (-1.936619784952108-6.310887241768095e-30j), max|grad| 6.284554458478063e-05 .energy (-1.9366197968292234-7.888609052210118e-31j), max|grad| 8.77673764834801e-05 .energy (-1.9366198187975385+7.888609052210118e-31j), max|grad| 0.00012194173804053167 .energy (-1.936619858569836+3.944304526105059e-31j), max|grad| 0.00017013402094539763 .energy (-1.936619927604493+1.9721522630525295e-31j), max|grad| 0.00023738780296525522 .energy (-1.936620038047785+0j), max|grad| 0.00032367096112046525 .energy (-1.9366201880994902-7.888609052210118e-31j), max|grad| 0.000398590604044678 .energy (-1.9366203391156134+0j), max|grad| 0.0003802496104528039 .energy (-1.9366205555862317-1.9721522630525295e-31j), max|grad| 0.00023727354088700156 .energy (-1.93662064426751+7.888609052210118e-31j), max|grad| 6.282618760031484e-05 .energy (-1.9366206498975007+0j), max|grad| 1.2027961206590844e-05 .energy (-1.936620650696911-1.232595164407831e-31j), max|grad| 3.602538574806661e-06 . message: Optimization terminated successfully. success: True status: 0 fun: -1.936620650696911 x: [ 1.529e+00 1.601e+00 ... 1.504e+00 4.454e-01] nit: 69 jac: [ 4.616e-07 -1.193e-06 ... 1.575e-07 -8.276e-08] hess_inv: [[ 3.209e-01 -1.605e-02 ... -1.289e-01 3.218e-01] [-1.605e-02 2.131e+00 ... -1.185e+00 2.527e+00] ... [-1.289e-01 -1.185e+00 ... 6.735e+01 -1.023e+02] [ 3.218e-01 2.527e+00 ... -1.023e+02 1.811e+02]] nfev: 72 njev: 72 Hartree-Fock Energy: (-1.7792432698907588+0j) Sector N = 4 : S_z = 0 a'0011'b'0011' (1+0j) -------------------------------------------------------------------------------- FCI Energy: -1.9695121652162797 -------------------------------------------------------------------------------- message: Optimization terminated successfully. success: True status: 0 fun: -1.936620650696911 x: [ 1.529e+00 1.601e+00 ... 1.504e+00 4.454e-01] nit: 69 jac: [ 4.616e-07 -1.193e-06 ... 1.575e-07 -8.276e-08] hess_inv: [[ 3.209e-01 -1.605e-02 ... -1.289e-01 3.218e-01] [-1.605e-02 2.131e+00 ... -1.185e+00 2.527e+00] ... [-1.289e-01 -1.185e+00 ... 6.735e+01 -1.023e+02] [ 3.218e-01 2.527e+00 ... -1.023e+02 1.811e+02]] nfev: 72 njev: 72 -------------------------------------------------------------------------------- Ansatz Energy: -1.936620650696911 Sector N = 4 : S_z = 0 a'0011'b'0011' (-0.46387401402672185+1.4273521600771666e-16j) a'0011'b'0101' (-0.49319604870084166-1.9136168344369153e-17j) a'0011'b'1010' (0.09453242557360372+1.7957098481791167e-18j) a'0011'b'1100' (0.10050769884662533+9.219106597915805e-17j) a'0101'b'0011' (0.4932121133812686-8.881648671729692e-17j) a'0101'b'0101' (0.463872421559459+1.486712229020748e-17j) a'0101'b'1010' (-0.10051252389229907+7.528428835196221e-18j) a'0101'b'1100' (-0.09453345931214366-1.056351729179783e-16j) a'1010'b'0011' (-0.09453244426896946-8.661420105443574e-17j) a'1010'b'0101' (-0.10050753163692468-1.2307049910426082e-16j) a'1010'b'1010' (0.04049538320842448+6.36596081838442e-17j) a'1010'b'1100' (0.04305547875406739+5.445405411308446e-17j) a'1100'b'0011' (0.10051091749262266+3.42336835962298e-17j) a'1100'b'0101' (0.09453180697895684+1.1426813271639413e-16j) a'1100'b'1010' (-0.04305727968107058-3.218725199566341e-17j) a'1100'b'1100' (-0.04049580295848443-3.4365820736001473e-17j) Basis Rotation Matrix: [[-0.0019289 +0.j 0. +0.j 0.20844642+0.j 0. +0.j 0.97799642+0.j 0. +0.j -0.00832941+0.j 0. +0.j] [ 0. +0.j -0.0017375 +0.j 0. +0.j -0.20844971+0.j 0. +0.j -0.97801093+0.j 0. +0.j -0.00635044+0.j] [-0.70709082+0.j 0. +0.j -0.00553341+0.j 0. +0.j -0.00623724+0.j 0. +0.j -0.70707358+0.j 0. +0.j] [ 0. +0.j -0.70708361+0.j 0. +0.j 0.00480579+0.j 0. +0.j 0.00482324+0.j 0. +0.j -0.70709717+0.j] [-0.70707664+0.j 0. +0.j -0.00587992+0.j 0. +0.j 0.00588079+0.j 0. +0.j 0.70708802+0.j 0. +0.j] [ 0. +0.j 0.70709486+0.j 0. +0.j -0.00514814+0.j 0. +0.j 0.00443232+0.j 0. +0.j -0.70708607+0.j] [-0.00784059+0.j 0. +0.j 0.97800046+0.j 0. +0.j -0.20844549+0.j 0. +0.j 0.0020259 +0.j 0. +0.j] [ 0. +0.j 0.00682626+0.j 0. +0.j 0.97800773+0.j 0. +0.j -0.20845076+0.j 0. +0.j -0.00160098+0.j]] Two Body Rotation Parameters: [1.52877842 1.60143649]
We can comare the wavefunction of the optimized ansatz to the exact ground state energy:
print(f"Trial wavefunction energy: {trial_wf.ansatz_energy}")
print(f"Exact ground state energy: {trial_wf.fci_energy}")
Trial wavefunction energy: -1.9366206506969101 Exact ground state energy: -1.9695121652162797
Next, we build an experiment
which will combine the trial wavefunction circuit with that required for shadow tomography. In this case the experiment will be simulated using a statevector simulator.
from recirq.qcqmc.blueprint import BlueprintParamsTrialWf, BlueprintData
from recirq.qcqmc.experiment import SimulatedExperimentParams, ExperimentData
blueprint_params = BlueprintParamsTrialWf(
name="blueprint_test_medium",
trial_wf_params=pp_params,
n_cliffords=100,
qubit_partition=(tuple(qubit for qubit in pp_params.qubits_jordan_wigner_ordered),),
seed=1,
)
blueprint = BlueprintData.build_blueprint_from_dependencies(blueprint_params, dependencies={pp_params: trial_wf})
simulated_experiment_params = SimulatedExperimentParams(
name="test_1",
blueprint_params=blueprint.params,
noise_model_name="None",
noise_model_params=(0,),
n_samples_per_clifford=31,
seed=1,
)
experiment = ExperimentData.build_experiment_from_dependencies(
params=simulated_experiment_params, dependencies={blueprint.params: blueprint}
)
The experimental output is post-processed to extract the reconstructed trial wavefunction:
from typing import Dict
from recirq.qcqmc.data import Params, Data
from recirq.qcqmc.analysis import OverlapAnalysisData, OverlapAnalysisParams
analysis_params = OverlapAnalysisParams(
"TEST_analysis", experiment_params=experiment.params, k_to_calculate=(1,)
)
all_dependencies: Dict[Params, Data] = {
pyscf_params: pyscf_hamiltonian,
pp_params: trial_wf,
blueprint_params: blueprint,
simulated_experiment_params: experiment,
}
analysis = OverlapAnalysisData.build_analysis_from_dependencies(
analysis_params, dependencies=all_dependencies
)
Finally, we save the wavefunction in a format that is acceptable for ipie.
from recirq.qcqmc.convert_to_ipie import save_wavefunction_for_ipie
ipie_data = save_wavefunction_for_ipie(
hamiltonian_data=pyscf_hamiltonian, trial_wf_data=trial_wf, overlap_analysis_data=analysis, do_print=False
)
print(f"Reconstructed shadow wavefunction energy: {ipie_data.variational_energy}")
print(f"Ideal trial wavefunction energy: {trial_wf.ansatz_energy}")
print(f"FCI energy: {trial_wf.fci_energy}")
Reconstructed shadow wavefunction energy: -1.8771197610059773 Ideal trial wavefunction energy: -1.9366206506969101 FCI energy: -1.9695121652162797
Run AFQMC
Now that we have built our quantum wavefunction, we can use it as a trial wavefunction in an AFQMC simulation. First, we need to build a factorized Hamiltonian which is required for AFQMC.
In particular, we require the three-index Cholesky tensor (ham.chol
below) which satisfies
\[ (pq|rs) = \sum_X L_{pq}^X L_{rs}^X. \]
from ipie.systems.generic import Generic
from ipie.utils.from_pyscf import generate_hamiltonian_from_chk
num_elec = (pyscf_params.n_elec // 2,) * 2
system = Generic(num_elec)
chk_path = pyscf_params.base_path.with_suffix(".chk")
ham = generate_hamiltonian_from_chk(str(chk_path))
assert ham.H1.shape == (2, pyscf_params.n_orb, pyscf_params.n_orb)
assert ham.chol.shape[0] == pyscf_params.n_orb * pyscf_params.n_orb
Next, we need to build a trial wavefunction from quantum wavefunction. In practice, the quantum trial is expanded as a linear combination of (orthogonal) Slater Determinants. Within ipie, this style of trial wavefunction is defined as a ParticleHole
trial wavefunction.
import h5py
from ipie.trial_wavefunction.particle_hole import ParticleHole
# Read quantum wavefunction from file.
with h5py.File(ipie_data.path, 'r') as fh5:
coeffs = fh5["coeffs_rotated"][:]
occa = fh5["occa_rotated"][:]
occb = fh5["occb_rotated"][:]
wfn = ParticleHole((coeffs, occa, occb), num_elec, pyscf_params.n_orb)
wfn.half_rotate(ham)
wfn.calculate_energy(system, ham)
print(f"Trial wavefunction variational energy in ipie: {wfn.energy.real}")
assert np.isclose(wfn.energy.real, ipie_data.variational_energy)
Trial wavefunction variational energy in ipie: -1.8771197610059789
Note that the variational energy might differ slightly from the result compute from the previous section. This is because the cholesky factorization uses a threshold of \(1\times10^{-5}\) a stopping criteria for convergence. Reducing the parameter chol_cut
in generate_hamiltonian_from_chk
will yield better agreement.
At this point, we are ready to run AFQMC. We need to build an AFQMC
driver class which takes as input the factorized Hamiltonian and our ParticleHole
trial wavefunction.
from ipie.qmc.afqmc import AFQMC
qmc_driver = AFQMC.build(num_elec, ham, wfn, num_blocks=300, num_walkers=50, seed=7)
# random seed is 7
from recirq.qcqmc.config import OUTDIRS
import pathlib
ipie_path = pathlib.Path(pyscf_hamiltonian.params.path_prefix + OUTDIRS.DEFAULT_QMC_DIRECTORY)
if not ipie_path.is_dir():
ipie_path.mkdir(parents=True)
qmc_driver.run(estimator_filename=f'{ipie_path}/estimates.h5')
# Using pair_branch population control algorithm. # target weight is 50 # total weight is 50 # ipie version: 0.7.1 # Calculation uuid: 5ae92cb8-4e56-11ef-982f-d38e1b77be85. # Approximate memory available per node: 117.9093 GB. # Running on 1 MPI rank. # Root processor name: kokoro-gcp-ubuntu-prod-91717751 # Python interpreter: 3.10.14 (main, Apr 6 2024, 18:45:05) [GCC 9.4.0] # Using numpy v1.26.4 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/numpy. # - BLAS lib: openblas64 # - BLAS version: 0.3.23.dev # - BLAS include directory: /usr/local/lib # Using scipy v1.14.0 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/scipy. # Using h5py v3.11.0 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/h5py. # Package mpi4py not found. # Package cupy not found. # MPI communicator : <class 'ipie.qmc.comm.FakeComm'> # Available memory on the node is 117.909 GB # Setting up estimator object. # Writing estimator data to data/afqmc/estimates.h5 # Finished settting up estimator object. Block Weight WeightFactor HybridEnergy ENumer EDenom ETotal E1Body E2Body 0 5.0000000000000000e+01 5.0000000000000000e+01 0.0000000000000000e+00 -9.6486304211856719e+01 5.0000000000000000e+01 -1.9297260842371344e+00 -4.3439319178107807e+00 2.4142058335736465e+00 1 5.0244433021526227e+01 5.0518752257427458e+01 -5.1480637820760167e-01 -9.6652905727056250e+01 5.0000000000000000e+01 -1.9330581145411250e+00 -4.3381857300472140e+00 2.4051276155060894e+00 2 4.9972807280258280e+01 5.0051684340535097e+01 -4.7661057457312117e-01 -9.7306249370838216e+01 5.0000000000000000e+01 -1.9461249874167643e+00 -4.3279047904635419e+00 2.3817798030467778e+00 3 5.0011569797908436e+01 5.0004270514029081e+01 -5.1187080315433597e-01 -9.7466683635212064e+01 5.0000000000000000e+01 -1.9493336727042414e+00 -4.3253085724145119e+00 2.3759748997102701e+00 4 4.9980812287758617e+01 4.9970432248310928e+01 -4.9087031781689922e-01 -9.7093058373000787e+01 5.0000000000000007e+01 -1.9418611674600155e+00 -4.3194201294640546e+00 2.3775589620040387e+00 5 4.9994801257979191e+01 4.9974671018004493e+01 -4.8858192685213120e-01 -9.7291505143860149e+01 4.9999999999999993e+01 -1.9458301028772034e+00 -4.3163812727283775e+00 2.3705511698511734e+00 6 4.9997714843679240e+01 4.9982897100676027e+01 -4.9093194612861435e-01 -9.7702570384311301e+01 5.0000000000000000e+01 -1.9540514076862261e+00 -4.3105616139872316e+00 2.3565102063010057e+00 7 5.0007412003777311e+01 5.0010881902554814e+01 -5.2110272756451770e-01 -9.7920892213265589e+01 5.0000000000000007e+01 -1.9584178442653115e+00 -4.3055738970701460e+00 2.3471560528048343e+00 8 4.9990340249783586e+01 4.9987359463221175e+01 -5.0874833941857611e-01 -9.7939553412594009e+01 4.9999999999999993e+01 -1.9587910682518805e+00 -4.3113561595206917e+00 2.3525650912688119e+00 9 4.9989284850476714e+01 4.9981113754913224e+01 -5.0401472906594535e-01 -9.8272343991398003e+01 5.0000000000000000e+01 -1.9654468798279601e+00 -4.3059263760911684e+00 2.3404794962632081e+00 10 5.0006358178320419e+01 5.0000626303980788e+01 -5.2611796730746940e-01 -9.7631184136296369e+01 5.0000000000000007e+01 -1.9526236827259271e+00 -4.3057905290930769e+00 2.3531668463671491e+00 11 4.9980080208327834e+01 4.9964096605766088e+01 -5.0367743464432591e-01 -9.8371913093312045e+01 5.0000000000000007e+01 -1.9674382618662407e+00 -4.3085366075569178e+00 2.3410983456906775e+00 12 4.9999931899734385e+01 4.9993907539919512e+01 -5.1187500574377109e-01 -9.8353383266319739e+01 5.0000000000000007e+01 -1.9670676653263945e+00 -4.3057810859658598e+00 2.3387134206394653e+00 13 5.0002668689609855e+01 5.0001259638180855e+01 -5.3646223591769371e-01 -9.9431472724052881e+01 5.0000000000000000e+01 -1.9886294544810577e+00 -4.3027794803378452e+00 2.3141500258567884e+00 14 4.9998826084908487e+01 5.0010955581072430e+01 -5.4435478942132276e-01 -9.9410765714446455e+01 4.9999999999999993e+01 -1.9882153142889294e+00 -4.3028827996093391e+00 2.3146674853204088e+00 15 4.9982614072719187e+01 4.9952091922254269e+01 -5.2096698063482472e-01 -9.9252527043186149e+01 5.0000000000000000e+01 -1.9850505408637231e+00 -4.2965557938926713e+00 2.3115052530289479e+00 16 4.9990789919263214e+01 4.9973016057347245e+01 -5.1743883839537974e-01 -9.8058542763298973e+01 5.0000000000000000e+01 -1.9611708552659795e+00 -4.3036254207795146e+00 2.3424545655135360e+00 17 4.9993406140505158e+01 4.9998093031710809e+01 -5.2068207003476119e-01 -9.7810171642141242e+01 5.0000000000000007e+01 -1.9562034328428246e+00 -4.3021554895545639e+00 2.3459520567117398e+00 18 4.9975149496410204e+01 4.9950113481253851e+01 -4.9005677112524687e-01 -9.7999026551365944e+01 5.0000000000000000e+01 -1.9599805310273188e+00 -4.3077444547972137e+00 2.3477639237698940e+00 19 5.0005774984386633e+01 5.0002251193638394e+01 -5.1313804177993727e-01 -9.8568097918857461e+01 4.9999999999999993e+01 -1.9713619583771496e+00 -4.3020695034048249e+00 2.3307075450276749e+00 20 4.9994172117768784e+01 4.9998603398869392e+01 -5.2135283528057330e-01 -9.9303299399394447e+01 4.9999999999999993e+01 -1.9860659879878892e+00 -4.3025271929043232e+00 2.3164612049164326e+00 21 4.9995540539929138e+01 4.9983850213716622e+01 -5.2500069325563015e-01 -9.8654834590312674e+01 4.9999999999999993e+01 -1.9730966918062538e+00 -4.2995162044291737e+00 2.3264195126229197e+00 22 4.9992854443421258e+01 4.9982982269603099e+01 -5.1687921132475090e-01 -9.9144502635122365e+01 5.0000000000000000e+01 -1.9828900527024473e+00 -4.3027621791634942e+00 2.3198721264610462e+00 23 5.0009319441491726e+01 5.0022835222962776e+01 -5.5309663422230870e-01 -9.9066684340612824e+01 5.0000000000000014e+01 -1.9813336868122557e+00 -4.2974451120952653e+00 2.3161114252830095e+00 24 4.9980093422968288e+01 4.9961797472411789e+01 -5.2516615740790895e-01 -9.8614704178847873e+01 4.9999999999999993e+01 -1.9722940835769578e+00 -4.2958739873856251e+00 2.3235799038086671e+00 25 4.9994903683062134e+01 4.9972682025878377e+01 -5.2523844588952129e-01 -9.9081490738718742e+01 5.0000000000000000e+01 -1.9816298147743749e+00 -4.2918535992767186e+00 2.3102237845023432e+00 26 4.9988338585215232e+01 4.9976526952484917e+01 -5.0861014546610850e-01 -9.8109548257274014e+01 4.9999999999999993e+01 -1.9621909651454807e+00 -4.2918645320265316e+00 2.3296735668810511e+00 27 4.9990834245710843e+01 4.9968323566239782e+01 -5.0075093861010833e-01 -9.8091356801530935e+01 5.0000000000000000e+01 -1.9618271360306188e+00 -4.3013358349641511e+00 2.3395086989335319e+00 28 4.9994738338051661e+01 4.9995865029116914e+01 -5.0860209236027565e-01 -9.8277177526186804e+01 5.0000000000000000e+01 -1.9655435505237362e+00 -4.2968221605064940e+00 2.3312786099827574e+00 29 4.9985949817534291e+01 4.9977845438003534e+01 -5.0164122066983896e-01 -9.7910038986669960e+01 4.9999999999999986e+01 -1.9582007797334000e+00 -4.2968167838194979e+00 2.3386160040860982e+00 30 4.9992088035230204e+01 4.9974992199515221e+01 -4.9642837816631497e-01 -9.7666891004924622e+01 4.9999999999999993e+01 -1.9533378200984928e+00 -4.2949670440301464e+00 2.3416292239316534e+00 31 4.9999109147127797e+01 4.9989536954874019e+01 -5.0482516578482017e-01 -9.7815204467118207e+01 5.0000000000000000e+01 -1.9563040893423642e+00 -4.2969376514438471e+00 2.3406335621014827e+00 32 4.9994153961190307e+01 4.9984604718905580e+01 -5.0661504752094422e-01 -9.7955232984238819e+01 5.0000000000000000e+01 -1.9591046596847763e+00 -4.2997153493501514e+00 2.3406106896653749e+00 33 4.9991514971752949e+01 4.9984375601397360e+01 -5.0716369052988741e-01 -9.8745105178634674e+01 5.0000000000000000e+01 -1.9749021035726935e+00 -4.3008548732610317e+00 2.3259527696883384e+00 34 5.0005343451710843e+01 5.0007976017914935e+01 -5.2625391799734123e-01 -9.8677998903836539e+01 5.0000000000000007e+01 -1.9735599780767306e+00 -4.3031445049409678e+00 2.3295845268642377e+00 35 4.9987483482274818e+01 4.9969837988969246e+01 -5.1873658005391321e-01 -9.8606628322011517e+01 5.0000000000000000e+01 -1.9721325664402303e+00 -4.2997473824039210e+00 2.3276148159636900e+00 36 5.0001187662642891e+01 4.9999520789224889e+01 -5.3305344925749043e-01 -9.8884945169526972e+01 5.0000000000000000e+01 -1.9776989033905394e+00 -4.2996832294026843e+00 2.3219843260121444e+00 37 4.9996728645970023e+01 4.9980649840040954e+01 -5.4874925863802115e-01 -9.9085777205666034e+01 5.0000000000000007e+01 -1.9817155441133203e+00 -4.3046448663534180e+00 2.3229293222400975e+00 38 4.9972114622055251e+01 4.9941646087335798e+01 -5.2003119158406641e-01 -9.8106305002082536e+01 4.9999999999999993e+01 -1.9621261000416510e+00 -4.2945608581513106e+00 2.3324347581096605e+00 39 4.9970077517447670e+01 4.9927005849015316e+01 -4.8912682438156091e-01 -9.7307242569890576e+01 5.0000000000000000e+01 -1.9461448513978115e+00 -4.2983826499856130e+00 2.3522377985878014e+00 40 4.9984798679077066e+01 4.9964407152996500e+01 -4.8364990011021813e-01 -9.7628783127418956e+01 4.9999999999999993e+01 -1.9525756625483794e+00 -4.2909079773365848e+00 2.3383323147882056e+00 41 5.0002817671263109e+01 4.9994492967842426e+01 -5.0508991816654092e-01 -9.7500963497122456e+01 5.0000000000000000e+01 -1.9500192699424492e+00 -4.2878538598015012e+00 2.3378345898590527e+00 42 4.9983261243722666e+01 4.9978116803825117e+01 -4.9634996104922396e-01 -9.8201524175817525e+01 4.9999999999999986e+01 -1.9640304835163511e+00 -4.2890164565715265e+00 2.3249859730551754e+00 43 4.9989907079051036e+01 4.9965312670885233e+01 -5.1718279786077492e-01 -9.9065492969261641e+01 5.0000000000000000e+01 -1.9813098593852330e+00 -4.2871956514757477e+00 2.3058857920905136e+00 44 4.9979733625939808e+01 4.9957198905089570e+01 -5.1111308540915890e-01 -9.9770971795969913e+01 5.0000000000000007e+01 -1.9954194359193980e+00 -4.2858514765313318e+00 2.2904320406119343e+00 45 5.0001137715686482e+01 4.9999105411916105e+01 -5.4990749245363257e-01 -9.8214313065470591e+01 5.0000000000000000e+01 -1.9642862613094119e+00 -4.2673307042056887e+00 2.3030444428962764e+00 46 4.9968303815968305e+01 4.9939032359966312e+01 -5.0597273389972841e-01 -9.7727974749258323e+01 5.0000000000000000e+01 -1.9545594949851666e+00 -4.2724118330428338e+00 2.3178523380576674e+00 47 4.9989647849696269e+01 4.9960145165269935e+01 -5.1228695518120737e-01 -9.8064320941732163e+01 5.0000000000000000e+01 -1.9612864188346433e+00 -4.2754579625933893e+00 2.3141715437587456e+00 48 4.9968121965935524e+01 4.9927904951511465e+01 -4.7888588196985254e-01 -9.8404043573638447e+01 4.9999999999999993e+01 -1.9680808714727693e+00 -4.2691965680761950e+00 2.3011156966034259e+00 49 5.0007235987444496e+01 4.9985935774255921e+01 -5.3140371824493304e-01 -9.8418368154648476e+01 5.0000000000000007e+01 -1.9683673630929692e+00 -4.2850431330814338e+00 2.3166757699884637e+00 50 4.9972003652065872e+01 4.9951637622924835e+01 -4.9688435651628687e-01 -9.7833249896830921e+01 4.9999999999999993e+01 -1.9566649979366189e+00 -4.2835571032012876e+00 2.3268921052646694e+00 51 4.9997581891445328e+01 4.9980594651564161e+01 -5.1205763864560061e-01 -9.7785148149689803e+01 4.9999999999999993e+01 -1.9557029629937965e+00 -4.2881573281289151e+00 2.3324543651351184e+00 52 4.9992032836582148e+01 4.9982206447638760e+01 -5.1074038277237055e-01 -9.8655261931863677e+01 5.0000000000000000e+01 -1.9731052386372736e+00 -4.2920465284811664e+00 2.3189412898438930e+00 53 4.9996290299346455e+01 4.9985303789560234e+01 -5.1824853011844296e-01 -9.8341451848206660e+01 5.0000000000000007e+01 -1.9668290369641328e+00 -4.2928210011802808e+00 2.3259919642161475e+00 54 4.9991606277857208e+01 4.9979729220872684e+01 -5.0951119766629382e-01 -9.8604618796569909e+01 4.9999999999999993e+01 -1.9720923759313986e+00 -4.2951650214573265e+00 2.3230726455259276e+00 55 4.9997363924445693e+01 4.9988912601911778e+01 -5.2881791547180812e-01 -9.7862401156189819e+01 5.0000000000000007e+01 -1.9572480231237961e+00 -4.2918702034409861e+00 2.3346221803171905e+00 56 4.9985359001236603e+01 4.9967422992230176e+01 -5.1410716252879973e-01 -9.7157112317674333e+01 5.0000000000000000e+01 -1.9431422463534866e+00 -4.2958252205031702e+00 2.3526829741496829e+00 57 4.9984607907558321e+01 4.9964583393487715e+01 -5.0282312718489797e-01 -9.7397841165641537e+01 5.0000000000000000e+01 -1.9479568233128308e+00 -4.2958497585998785e+00 2.3478929352870468e+00 58 4.9992629206006825e+01 4.9978066628968456e+01 -5.0730141241428350e-01 -9.7711132597317643e+01 5.0000000000000007e+01 -1.9542226519463526e+00 -4.2987761778398443e+00 2.3445535258934922e+00 59 4.9992029831290502e+01 4.9964195642676152e+01 -4.9425369440635458e-01 -9.8192915504318151e+01 5.0000000000000007e+01 -1.9638583100863627e+00 -4.3075882372323004e+00 2.3437299271459380e+00 60 4.9992138835421315e+01 4.9990209979425288e+01 -5.0508199469782900e-01 -9.8312867660237941e+01 5.0000000000000000e+01 -1.9662573532047589e+00 -4.3086170296972677e+00 2.3423596764925088e+00 61 4.9990278267536532e+01 4.9981724486280541e+01 -5.0894823248503185e-01 -9.7881327263021262e+01 5.0000000000000007e+01 -1.9576265452604249e+00 -4.3107771590361317e+00 2.3531506137757070e+00 62 4.9990243742754878e+01 4.9975161919771502e+01 -4.9921792292528344e-01 -9.7410251423934440e+01 5.0000000000000007e+01 -1.9482050284786885e+00 -4.3148717804293808e+00 2.3666667519506923e+00 63 4.9987261585723928e+01 4.9968155369490439e+01 -4.8100254976103402e-01 -9.7509913754022790e+01 5.0000000000000014e+01 -1.9501982750804552e+00 -4.3145299841071623e+00 2.3643317090267080e+00 64 4.9995055986695981e+01 4.9992379771553772e+01 -5.0256704558046261e-01 -9.7980891878867240e+01 5.0000000000000000e+01 -1.9596178375773448e+00 -4.3142900253213785e+00 2.3546721877440326e+00 65 4.9997443095946295e+01 4.9989777531798282e+01 -5.1116393337860633e-01 -9.8291606598442485e+01 4.9999999999999993e+01 -1.9658321319688501e+00 -4.3070873334834676e+00 2.3412552015146182e+00 66 4.9997759850604943e+01 4.9997938912516048e+01 -5.1665803226846096e-01 -9.8019806819913612e+01 4.9999999999999993e+01 -1.9603961363982727e+00 -4.3088209697398376e+00 2.3484248333415652e+00 67 4.9976425830404416e+01 4.9943655026557785e+01 -4.9057348763864256e-01 -9.8106318382432960e+01 5.0000000000000000e+01 -1.9621263676486593e+00 -4.3104726203639183e+00 2.3483462527152597e+00 68 5.0004814827204349e+01 4.9998180623427857e+01 -5.1222429004697123e-01 -9.8213729082116132e+01 4.9999999999999993e+01 -1.9642745816423230e+00 -4.3105461905834508e+00 2.3462716089411275e+00 69 4.9989958303424011e+01 4.9968661120825622e+01 -5.0270966013334384e-01 -9.7937576991496556e+01 5.0000000000000000e+01 -1.9587515398299311e+00 -4.3088894581555772e+00 2.3501379183256459e+00 70 4.9984101267435108e+01 4.9977032339146128e+01 -4.9663344905164730e-01 -9.7672220534896041e+01 5.0000000000000014e+01 -1.9534444106979203e+00 -4.3085630676095921e+00 2.3551186569116718e+00 71 4.9999136913727781e+01 4.9979757776289951e+01 -5.1151310025085672e-01 -9.7717293055771236e+01 5.0000000000000007e+01 -1.9543458611154245e+00 -4.3075945415062060e+00 2.3532486803907822e+00 72 4.9976509798777855e+01 4.9961477549639952e+01 -4.8509272824975225e-01 -9.7720032227158455e+01 5.0000000000000007e+01 -1.9544006445431688e+00 -4.3124202642236531e+00 2.3580196196804843e+00 73 4.9995904614672220e+01 4.9986964016060547e+01 -4.9538898545647997e-01 -9.8081181283919406e+01 5.0000000000000007e+01 -1.9616236256783879e+00 -4.3124166328130373e+00 2.3507930071346492e+00 74 4.9995004594463801e+01 4.9986202947742925e+01 -5.0127652598818484e-01 -9.7945560946365489e+01 5.0000000000000007e+01 -1.9589112189273095e+00 -4.3097052118946797e+00 2.3507939929673700e+00 75 4.9999786682319076e+01 4.9985804712702134e+01 -5.1837322289352483e-01 -9.7574870049644801e+01 4.9999999999999993e+01 -1.9514974009928965e+00 -4.3029651689007284e+00 2.3514677679078324e+00 76 4.9983923073214619e+01 4.9965023845088815e+01 -4.9615237804738715e-01 -9.7361123357975373e+01 5.0000000000000000e+01 -1.9472224671595075e+00 -4.3010404720996727e+00 2.3538180049401660e+00 77 4.9994498414318869e+01 4.9974661746155064e+01 -5.0348812865096337e-01 -9.7165736283683714e+01 5.0000000000000000e+01 -1.9433147256736742e+00 -4.2963248831616800e+00 2.3530101574880051e+00 78 4.9988085809994963e+01 4.9973803555206160e+01 -5.0637783408896642e-01 -9.7514402899425491e+01 4.9999999999999986e+01 -1.9502880579885105e+00 -4.2926125546538083e+00 2.3423244966652974e+00 79 4.9982739925495423e+01 4.9962750599162874e+01 -4.8175447926146930e-01 -9.7720084026483789e+01 5.0000000000000007e+01 -1.9544016805296756e+00 -4.2912618300927372e+00 2.3368601495630612e+00 80 4.9988248469848934e+01 4.9969938714125362e+01 -4.8523378490738950e-01 -9.7121004466526003e+01 5.0000000000000000e+01 -1.9424200893305201e+00 -4.2926199154765401e+00 2.3501998261460195e+00 81 4.9992494866579399e+01 4.9982341374234259e+01 -4.9246795325644421e-01 -9.7145090659300820e+01 4.9999999999999993e+01 -1.9429018131860167e+00 -4.2907870042755905e+00 2.3478851910895746e+00 82 4.9988239030583458e+01 4.9973665167484342e+01 -4.8065331791251076e-01 -9.7196091343192379e+01 4.9999999999999986e+01 -1.9439218268638483e+00 -4.2912486729983010e+00 2.3473268461344530e+00 83 5.0000186239561060e+01 4.9992134792530997e+01 -5.0195659715469543e-01 -9.7382251689598235e+01 4.9999999999999993e+01 -1.9476450337919651e+00 -4.2943460264994853e+00 2.3467009927075200e+00 84 4.9990239051168032e+01 4.9977284589677396e+01 -4.9645661308595052e-01 -9.7585497284135826e+01 5.0000000000000000e+01 -1.9517099456827165e+00 -4.2877967676409856e+00 2.3360868219582698e+00 85 4.9995848535428408e+01 4.9964588380678244e+01 -5.0078305049800065e-01 -9.7380193536886409e+01 5.0000000000000007e+01 -1.9476038707377279e+00 -4.2771155196760766e+00 2.3295116489383494e+00 86 4.9986702731441255e+01 4.9974022996270243e+01 -5.0168644960656172e-01 -9.8196848075077867e+01 5.0000000000000007e+01 -1.9639369615015569e+00 -4.2907184150211979e+00 2.3267814535196409e+00 87 4.9984222767252234e+01 4.9959539816213436e+01 -4.9820195033393477e-01 -9.8313374599021714e+01 4.9999999999999986e+01 -1.9662674919804350e+00 -4.2869020534508024e+00 2.3206345614703663e+00 88 4.9994098055455900e+01 4.9972883080733574e+01 -5.0801971461134710e-01 -9.8257486751156804e+01 5.0000000000000000e+01 -1.9651497350231362e+00 -4.2766560115059953e+00 2.3115062764828584e+00 89 4.9996883745641973e+01 4.9995594527199209e+01 -5.4872013647633611e-01 -9.8400276408222794e+01 5.0000000000000014e+01 -1.9680055281644553e+00 -4.2866253759743200e+00 2.3186198478098654e+00 90 4.9968526726223466e+01 4.9924541135068274e+01 -5.3294531561396197e-01 -9.9293396395619141e+01 5.0000000000000007e+01 -1.9858679279123825e+00 -4.2972221257974432e+00 2.3113541978850609e+00 91 4.9966865685666420e+01 4.9921775726189018e+01 -5.2281771243510244e-01 -9.8431980134290569e+01 5.0000000000000000e+01 -1.9686396026858115e+00 -4.2973949000851794e+00 2.3287552973993684e+00 92 4.9991049763686476e+01 4.9969301921394930e+01 -5.2760205038229213e-01 -9.9315157161961011e+01 4.9999999999999993e+01 -1.9863031432392206e+00 -4.2868946153237619e+00 2.3005914720845406e+00 93 4.9995661610435128e+01 4.9982891005563637e+01 -5.3872557638441254e-01 -9.8236433541553694e+01 5.0000000000000014e+01 -1.9647286708310732e+00 -4.2874066639986133e+00 2.3226779931675394e+00 94 4.9968485054427738e+01 4.9929329339332298e+01 -5.0744122696153882e-01 -9.7898525713292358e+01 4.9999999999999993e+01 -1.9579705142658475e+00 -4.2879202763743081e+00 2.3299497621084608e+00 95 4.9973241782327662e+01 4.9928252003594920e+01 -5.2356694481140953e-01 -9.8164528904650837e+01 5.0000000000000014e+01 -1.9632905780930161e+00 -4.2848685684707846e+00 2.3215779903777682e+00 96 4.9966557418267392e+01 4.9925274254911010e+01 -5.2331110163251271e-01 -9.7892685710778139e+01 5.0000000000000007e+01 -1.9578537142155625e+00 -4.2837026639028766e+00 2.3258489496873143e+00 97 4.9978663385925387e+01 4.9959743995982571e+01 -5.3264755554880072e-01 -9.8223092433494884e+01 5.0000000000000000e+01 -1.9644618486698977e+00 -4.2890751943990182e+00 2.3246133457291216e+00 98 4.9979519760496480e+01 4.9951324297802003e+01 -5.1718749443226852e-01 -9.8368191544067770e+01 5.0000000000000007e+01 -1.9673638308813550e+00 -4.2843339988766544e+00 2.3169701679952985e+00 99 4.9990630431489897e+01 4.9973673404741739e+01 -5.2346076775927075e-01 -9.9279984252466164e+01 5.0000000000000007e+01 -1.9855996850493229e+00 -4.2906408747159954e+00 2.3050411896666718e+00 100 4.9988577176621810e+01 4.9976200696237164e+01 -5.3335384348250037e-01 -9.9542925266069375e+01 5.0000000000000007e+01 -1.9908585053213872e+00 -4.2927434355964458e+00 2.3018849302750581e+00 101 4.9966703003888128e+01 4.9923072901112540e+01 -5.3613278178615509e-01 -9.8307187872387331e+01 4.9999999999999993e+01 -1.9661437574477469e+00 -4.2994461467893634e+00 2.3333023893416165e+00 102 4.9972056214490117e+01 4.9941140273123054e+01 -5.0892470124825218e-01 -9.8785772687368933e+01 5.0000000000000000e+01 -1.9757154537473787e+00 -4.2997404895729749e+00 2.3240250358255974e+00 103 4.9991412452059926e+01 4.9975650560489598e+01 -5.1692396830076814e-01 -9.8385448624897819e+01 5.0000000000000000e+01 -1.9677089724979564e+00 -4.3027225556078497e+00 2.3350135831098924e+00 104 4.9991828165505780e+01 4.9966840083200296e+01 -5.1995868439653981e-01 -9.9080671124464857e+01 5.0000000000000000e+01 -1.9816134224892972e+00 -4.3044715276047585e+00 2.3228581051154604e+00 105 4.9985563981896064e+01 4.9970799939271387e+01 -5.2223069372913111e-01 -9.8318342103103561e+01 4.9999999999999993e+01 -1.9663668420620717e+00 -4.2951259247588274e+00 2.3287590826967559e+00 106 4.9986348632618260e+01 4.9960261598987252e+01 -5.1204440660311190e-01 -9.8278478450418845e+01 4.9999999999999993e+01 -1.9655695690083772e+00 -4.3000100577291178e+00 2.3344404887207406e+00 107 4.9984572734902763e+01 4.9972030861272586e+01 -5.1706669251003523e-01 -9.9683065310505313e+01 5.0000000000000000e+01 -1.9936613062101063e+00 -4.3062573101237342e+00 2.3125960039136273e+00 108 4.9965583517197039e+01 4.9930187742137058e+01 -5.0942777610982459e-01 -9.8173418976206023e+01 5.0000000000000000e+01 -1.9634683795241206e+00 -4.3008680315861207e+00 2.3373996520620004e+00 109 4.9994649528429321e+01 4.9972146473168870e+01 -5.1059044683596122e-01 -9.8061805939784776e+01 5.0000000000000000e+01 -1.9612361187956955e+00 -4.3002967156578578e+00 2.3390605968621623e+00 110 4.9969123815887954e+01 4.9920427108008383e+01 -5.0337233241479740e-01 -9.7614569346473942e+01 5.0000000000000000e+01 -1.9522913869294789e+00 -4.2981580806885571e+00 2.3458666937590786e+00 111 4.9982185712338044e+01 4.9957991495266370e+01 -4.9533085143523348e-01 -9.8148734174839916e+01 5.0000000000000000e+01 -1.9629746834967983e+00 -4.2988208601165523e+00 2.3358461766197540e+00 112 4.9977820475347116e+01 4.9943317784583883e+01 -5.1026041507855402e-01 -9.8235177437531121e+01 5.0000000000000000e+01 -1.9647035487506224e+00 -4.3025418743364350e+00 2.3378383255858131e+00 113 4.9994069623370116e+01 4.9986215979200914e+01 -5.1610232291650937e-01 -9.8522675596185749e+01 5.0000000000000000e+01 -1.9704535119237150e+00 -4.3087375334934528e+00 2.3382840215697374e+00 114 4.9980783608504936e+01 4.9965814355685168e+01 -5.1702962568128563e-01 -9.8745419242750572e+01 5.0000000000000000e+01 -1.9749083848550115e+00 -4.3007390873820501e+00 2.3258307025270391e+00 115 4.9992548541661428e+01 4.9977449505787149e+01 -5.3063154024818304e-01 -9.8356607130916316e+01 5.0000000000000000e+01 -1.9671321426183264e+00 -4.2865469135762639e+00 2.3194147709579371e+00 116 4.9980633142533478e+01 4.9963278196008943e+01 -5.2014107777295215e-01 -9.8409999909089436e+01 5.0000000000000007e+01 -1.9681999981817884e+00 -4.2839306100529777e+00 2.3157306118711882e+00 117 4.9996183533263888e+01 4.9980507436174669e+01 -5.2925527118375104e-01 -9.8102857836199192e+01 5.0000000000000000e+01 -1.9620571567239840e+00 -4.2912089298672429e+00 2.3291517731432587e+00 118 4.9978401304330802e+01 4.9956815171233487e+01 -5.1069437645223914e-01 -9.8227200990869079e+01 5.0000000000000000e+01 -1.9645440198173816e+00 -4.2979382002928377e+00 2.3333941804754557e+00 119 4.9987658891992282e+01 4.9963898978494925e+01 -4.9672646305697737e-01 -9.7645264808616929e+01 4.9999999999999993e+01 -1.9529052961723390e+00 -4.3031003496075959e+00 2.3501950534352560e+00 120 5.0002596577987262e+01 4.9991692671462722e+01 -5.1430169206336784e-01 -9.8491013343035348e+01 5.0000000000000007e+01 -1.9698202668607068e+00 -4.3125463867285703e+00 2.3427261198678639e+00 121 4.9990829927392937e+01 4.9981755090958885e+01 -5.1386794345009534e-01 -9.8201382058900563e+01 5.0000000000000000e+01 -1.9640276411780113e+00 -4.3086832462229170e+00 2.3446556050449057e+00 122 4.9992785766753272e+01 4.9992609932779267e+01 -5.2110044243682418e-01 -9.8729136059089740e+01 5.0000000000000007e+01 -1.9745827211817946e+00 -4.3145278275723618e+00 2.3399451063905667e+00 123 4.9988572520434985e+01 4.9989363350107126e+01 -5.2450661064096193e-01 -9.8803769466701766e+01 5.0000000000000000e+01 -1.9760753893340353e+00 -4.3190346675902695e+00 2.3429592782562341e+00 124 4.9990809171341930e+01 4.9961340061082431e+01 -5.2303671588349387e-01 -9.9325638643012638e+01 4.9999999999999993e+01 -1.9865127728602532e+00 -4.3136367201667509e+00 2.3271239473064980e+00 125 5.0001050684930071e+01 5.0006704741201254e+01 -5.4450269689745712e-01 -9.9122012274196095e+01 5.0000000000000007e+01 -1.9824402454839216e+00 -4.3131620921735756e+00 2.3307218466896549e+00 126 4.9983986807619949e+01 4.9943623908082316e+01 -5.2120862884113062e-01 -9.9514390124194279e+01 5.0000000000000000e+01 -1.9902878024838857e+00 -4.3134193625160542e+00 2.3231315600321687e+00 127 4.9997333592086193e+01 4.9975464268354116e+01 -5.3358253270765410e-01 -9.9242007992792423e+01 5.0000000000000007e+01 -1.9848401598558483e+00 -4.3058130823165248e+00 2.3209729224606770e+00 128 4.9989060146856275e+01 4.9984843467235464e+01 -5.3637226509945468e-01 -9.9186775087158125e+01 5.0000000000000007e+01 -1.9837355017431622e+00 -4.3115028767285803e+00 2.3277673749854180e+00 129 4.9996936119447518e+01 4.9985781957406708e+01 -5.3995456509877859e-01 -9.8291745837954238e+01 5.0000000000000000e+01 -1.9658349167590847e+00 -4.3092255705070919e+00 2.3433906537480080e+00 130 4.9982526502889158e+01 4.9952408960049581e+01 -5.2021976122896341e-01 -9.9077202997874949e+01 4.9999999999999993e+01 -1.9815440599574994e+00 -4.3049420482542322e+00 2.3233979882967333e+00 131 5.0006809758438237e+01 4.9997362304479928e+01 -5.5265806955392904e-01 -1.0045865076591855e+02 5.0000000000000000e+01 -2.0091730153183711e+00 -4.3135146033152907e+00 2.3043415879969191e+00 132 4.9985998246946117e+01 4.9985196074648023e+01 -5.4224301861778790e-01 -1.0022071379566061e+02 5.0000000000000000e+01 -2.0044142759132124e+00 -4.3053704991397437e+00 2.3009562232265313e+00 133 4.9989559301429708e+01 4.9973711296906835e+01 -5.4317363007132036e-01 -1.0023125728063302e+02 5.0000000000000007e+01 -2.0046251456126600e+00 -4.2990007421867107e+00 2.2943755965740502e+00 134 4.9998094977685177e+01 4.9984967087278029e+01 -5.5102406034261253e-01 -1.0020395163444650e+02 5.0000000000000000e+01 -2.0040790326889302e+00 -4.3011587239684914e+00 2.2970796912795608e+00 135 4.9995241307987911e+01 5.0780670010914072e+01 -5.6041017700842066e-01 -9.9745742917900131e+01 5.0000000000000000e+01 -1.9949148583580028e+00 -4.3050354195662681e+00 2.3101205612082656e+00 136 4.9979668220222806e+01 4.9944881232635900e+01 -5.3750168637939844e-01 -1.0000628282994226e+02 5.0000000000000007e+01 -2.0001256565988448e+00 -4.2973536741060352e+00 2.2972280175071900e+00 137 4.9992344019064042e+01 4.9977908944279719e+01 -5.4247806980828228e-01 -9.8858065787858251e+01 5.0000000000000000e+01 -1.9771613157571650e+00 -4.2769787283497527e+00 2.2998174125925877e+00 138 4.9968893896572965e+01 4.9932546344746640e+01 -5.2139511468824085e-01 -9.9462472902424352e+01 5.0000000000000000e+01 -1.9892494580484872e+00 -4.2849690268165244e+00 2.2957195687680376e+00 139 4.9998672277505328e+01 4.9997792923239267e+01 -5.5408635335347511e-01 -9.9820916987127461e+01 5.0000000000000000e+01 -1.9964183397425492e+00 -4.2869488230459245e+00 2.2905304833033759e+00 140 4.9979782575277426e+01 4.9968876541025182e+01 -5.5615842688222406e-01 -9.9196467811723309e+01 5.0000000000000014e+01 -1.9839293562344655e+00 -4.2845304952456313e+00 2.3006011390111669e+00 141 4.9978512883050144e+01 4.9934636208778201e+01 -5.3477618252051307e-01 -9.9143112356338492e+01 5.0000000000000007e+01 -1.9828622471267696e+00 -4.2838457472404272e+00 2.3009835001136580e+00 142 4.9984514754640578e+01 4.9959953312387533e+01 -5.4105541461701734e-01 -9.8546335648589150e+01 5.0000000000000000e+01 -1.9709267129717831e+00 -4.2888827924365147e+00 2.3179560794647318e+00 143 4.9965919677166013e+01 4.9936343103818018e+01 -5.0994060826329446e-01 -9.8458364369784832e+01 5.0000000000000000e+01 -1.9691672873956967e+00 -4.2857436324058744e+00 2.3165763450101782e+00 144 4.9995865231329702e+01 4.9958660653637182e+01 -5.2790181159599847e-01 -9.8645837617816682e+01 5.0000000000000000e+01 -1.9729167523563336e+00 -4.2799543694031090e+00 2.3070376170467752e+00 145 4.9977448757910928e+01 4.9943809254476314e+01 -5.2221307570898690e-01 -9.9185738740941886e+01 5.0000000000000007e+01 -1.9837147748188375e+00 -4.2781484201976987e+00 2.2944336453788621e+00 146 4.9973049846646035e+01 4.9935518016996191e+01 -5.1272558505246246e-01 -9.9614477656361245e+01 4.9999999999999993e+01 -1.9922895531272253e+00 -4.2679675535607355e+00 2.2756780004335107e+00 147 4.9991055354154341e+01 4.9958826856099613e+01 -5.5178471594087142e-01 -9.9624088063321267e+01 5.0000000000000007e+01 -1.9924817612664250e+00 -4.2818907049100989e+00 2.2894089436436733e+00 148 4.9971998468392883e+01 4.9928285670759017e+01 -5.1751368764507855e-01 -9.9455951338128315e+01 4.9999999999999986e+01 -1.9891190267625671e+00 -4.2985535235769330e+00 2.3094344968143652e+00 149 5.0008318612917101e+01 4.9995284129227741e+01 -5.6222343784718110e-01 -9.9826869036027560e+01 5.0000000000000000e+01 -1.9965373807205513e+00 -4.3013282889950606e+00 2.3047909082745095e+00 150 4.9977309468152910e+01 4.9950231302815602e+01 -5.4787899919805627e-01 -9.9727207380838479e+01 5.0000000000000000e+01 -1.9945441476167696e+00 -4.2985485461078081e+00 2.3040043984910388e+00 151 4.9992799712290179e+01 4.9981922763697121e+01 -5.6948685569444057e-01 -9.9661424844097070e+01 4.9999999999999993e+01 -1.9932284968819418e+00 -4.3075834997537781e+00 2.3143550028718360e+00 152 4.9947482607950782e+01 4.9854377559070272e+01 -5.2786337038062436e-01 -9.9624741524570069e+01 5.0000000000000000e+01 -1.9924948304914014e+00 -4.3024240449433320e+00 2.3099292144519303e+00 153 4.9985621364446679e+01 4.9940183536550421e+01 -5.2396878752926113e-01 -1.0006825875230849e+02 4.9999999999999993e+01 -2.0013651750461703e+00 -4.2978062117136488e+00 2.2964410366674781e+00 154 4.9968202940719749e+01 4.9922557075190362e+01 -5.1584142471998773e-01 -9.8631135204806412e+01 5.0000000000000000e+01 -1.9726227040961284e+00 -4.3076164638217387e+00 2.3349937597256103e+00 155 4.9940461044211254e+01 5.0260465721686209e+01 -4.7296476393048570e-01 -9.7015115239019494e+01 4.9999999999999993e+01 -1.9403023047803902e+00 -4.3016527230115198e+00 2.3613504182311300e+00 156 4.9992002359685003e+01 4.9973024837869310e+01 -4.8254927840363698e-01 -9.7097989924542759e+01 5.0000000000000000e+01 -1.9419597984908552e+00 -4.3053701663711452e+00 2.3634103678802894e+00 157 4.9983583081837082e+01 4.9976299128208638e+01 -4.8320068658420423e-01 -9.6457489206957348e+01 5.0000000000000000e+01 -1.9291497841391470e+00 -4.2986110608309467e+00 2.3694612766917991e+00 158 4.9989939238063116e+01 4.9971929554775805e+01 -4.9388399529356503e-01 -9.6842456152264916e+01 5.0000000000000000e+01 -1.9368491230452984e+00 -4.2984826824268190e+00 2.3616335593815201e+00 159 4.9985657992248193e+01 4.9961459537302282e+01 -4.8859065010811642e-01 -9.6683715990628542e+01 5.0000000000000000e+01 -1.9336743198125710e+00 -4.2981515771234857e+00 2.3644772573109143e+00 160 4.9977061990720472e+01 4.9941078364257173e+01 -4.6304509702895597e-01 -9.7040225478243812e+01 5.0000000000000000e+01 -1.9408045095648763e+00 -4.2981460686266786e+00 2.3573415590618025e+00 161 5.0005880456443464e+01 4.9997802282855282e+01 -5.0052217177018787e-01 -9.7610242549271888e+01 5.0000000000000000e+01 -1.9522048509854377e+00 -4.2963658018726845e+00 2.3441609508872463e+00 162 4.9991837572160264e+01 4.9984678457244136e+01 -5.0442067370347698e-01 -9.8342038922514888e+01 4.9999999999999986e+01 -1.9668407784502986e+00 -4.2945193133820130e+00 2.3276785349317142e+00 163 4.9990756466431449e+01 4.9993507297924452e+01 -5.2680467476554704e-01 -9.7885226662402573e+01 5.0000000000000000e+01 -1.9577045332480516e+00 -4.2946040692682104e+00 2.3368995360201583e+00 164 4.9971939305677878e+01 4.9932202411277011e+01 -4.9890270523964059e-01 -9.8207633137056007e+01 5.0000000000000007e+01 -1.9641526627411199e+00 -4.2929975886156972e+00 2.3288449258745767e+00 165 4.9993499072876183e+01 4.9972653222918701e+01 -5.1680082079763245e-01 -9.8278202026149145e+01 5.0000000000000000e+01 -1.9655640405229831e+00 -4.2790125994219217e+00 2.3134485588989384e+00 166 4.9985700507590273e+01 4.9967290218829660e+01 -5.1780366543191980e-01 -9.9154495813667666e+01 5.0000000000000000e+01 -1.9830899162733533e+00 -4.2978870522116539e+00 2.3147971359383002e+00 167 4.9985362902802230e+01 4.9976265686731359e+01 -5.2211382282749297e-01 -9.8705542781011303e+01 4.9999999999999986e+01 -1.9741108556202267e+00 -4.2962120702765425e+00 2.3221012146563154e+00 168 4.9991447492926731e+01 4.9975630846458735e+01 -5.2645579770482531e-01 -9.9149053674793734e+01 5.0000000000000007e+01 -1.9829810734958744e+00 -4.3050375418504583e+00 2.3220564683545843e+00 169 4.9991729391802039e+01 4.9968051948664062e+01 -5.2346310241604621e-01 -9.8705917432254537e+01 4.9999999999999993e+01 -1.9741183486450911e+00 -4.3063039571512025e+00 2.3321856085061108e+00 170 4.9983865463654929e+01 4.9975468964392512e+01 -5.2605487631465808e-01 -9.8352250182386740e+01 5.0000000000000007e+01 -1.9670450036477345e+00 -4.2944813292942943e+00 2.3274363256465609e+00 171 4.9983644629550106e+01 4.9970599379075693e+01 -5.1970145656761157e-01 -9.7843958839921740e+01 5.0000000000000000e+01 -1.9568791767984348e+00 -4.2878932668972913e+00 2.3310140900988570e+00 172 4.9993938112767523e+01 4.9970100496399446e+01 -5.2163435658973878e-01 -9.8351626014829932e+01 4.9999999999999993e+01 -1.9670325202965990e+00 -4.2987641524015521e+00 2.3317316321049533e+00 173 4.9982314335246024e+01 4.9946283545377312e+01 -5.0093430241203696e-01 -9.8889393228364341e+01 4.9999999999999993e+01 -1.9777878645672873e+00 -4.3052131444104047e+00 2.3274252798431179e+00 174 4.9997328850236819e+01 4.9994234483884533e+01 -5.2643601059252776e-01 -9.9106848384821006e+01 4.9999999999999993e+01 -1.9821369676964204e+00 -4.2993772337594720e+00 2.3172402660630520e+00 175 4.9991028561311403e+01 4.9986821424137524e+01 -5.3588991756316640e-01 -9.9638015908070344e+01 5.0000000000000014e+01 -1.9927603181614062e+00 -4.3022178595854754e+00 2.3094575414240688e+00 176 4.9995085467438550e+01 4.9983489105361663e+01 -5.6507096350957575e-01 -9.9424675979726132e+01 5.0000000000000000e+01 -1.9884935195945226e+00 -4.2929972758532564e+00 2.3045037562587334e+00 177 4.9969227388540389e+01 4.9927372821746225e+01 -5.3784628055284522e-01 -9.9387304955184831e+01 4.9999999999999993e+01 -1.9877460991036970e+00 -4.2949755243245447e+00 2.3072294252208483e+00 178 4.9984340508897958e+01 4.9964910412695588e+01 -5.4347026529631171e-01 -9.9860794863349710e+01 4.9999999999999993e+01 -1.9972158972669947e+00 -4.3020944616639909e+00 2.3048785643969967e+00 179 4.9987207440286220e+01 4.9971925569311715e+01 -5.4653301285761269e-01 -9.9242919222823616e+01 4.9999999999999993e+01 -1.9848583844564727e+00 -4.2915543622429793e+00 2.3066959777865059e+00 180 4.9971380922356694e+01 4.9937127530006045e+01 -5.1601837359946290e-01 -9.8427650723144623e+01 4.9999999999999986e+01 -1.9685530144628931e+00 -4.2934594674995958e+00 2.3249064530367027e+00 181 4.9996568157503560e+01 4.9982608375952509e+01 -5.3481445917938908e-01 -9.8284881252087743e+01 5.0000000000000000e+01 -1.9656976250417548e+00 -4.3081557363838021e+00 2.3424581113420482e+00 182 4.9983590194944831e+01 4.9961778578949833e+01 -5.2477872278354676e-01 -9.8668924244007400e+01 4.9999999999999993e+01 -1.9733784848801483e+00 -4.3107527017251615e+00 2.3373742168450131e+00 183 4.9985616377757090e+01 4.9961852104494511e+01 -5.1606737776052636e-01 -9.8478530685510293e+01 5.0000000000000014e+01 -1.9695706137102051e+00 -4.3075566030498234e+00 2.3379859893396180e+00 184 4.9987297403409883e+01 4.9972864552514046e+01 -5.0614105080530702e-01 -9.7712752554145879e+01 4.9999999999999993e+01 -1.9542550510829180e+00 -4.3055847671183232e+00 2.3513297160354054e+00 185 4.9990124414978013e+01 4.9979648414536278e+01 -5.0735001259673040e-01 -9.7861377800331979e+01 4.9999999999999993e+01 -1.9572275560066399e+00 -4.2927647216710607e+00 2.3355371656644213e+00 186 4.9988360517074817e+01 4.9953638037810926e+01 -4.9980048398645877e-01 -9.7709927236700167e+01 5.0000000000000000e+01 -1.9541985447340033e+00 -4.2945586448350985e+00 2.3403601001010945e+00 187 4.9997566250728397e+01 4.9995419722518299e+01 -5.0885389213459964e-01 -9.8175661243896570e+01 5.0000000000000000e+01 -1.9635132248779315e+00 -4.2896411867211466e+00 2.3261279618432149e+00 188 4.9995669293306356e+01 4.9985111459624072e+01 -5.2419265907864543e-01 -9.9056951350628282e+01 4.9999999999999993e+01 -1.9811390270125659e+00 -4.3016754123455776e+00 2.3205363853330119e+00 189 4.9994374067755487e+01 4.9990854742092722e+01 -5.5055425621329335e-01 -9.9939258634082321e+01 5.0000000000000007e+01 -1.9987851726816461e+00 -4.3212247405416289e+00 2.3224395678599827e+00 190 4.9982897433986771e+01 4.9981349018941927e+01 -5.6119719392382850e-01 -1.0063201836243756e+02 5.0000000000000000e+01 -2.0126403672487512e+00 -4.3165530878917542e+00 2.3039127206430030e+00 191 4.9971513575000074e+01 4.9927143156889272e+01 -5.5801923338988690e-01 -1.0125417782637545e+02 5.0000000000000000e+01 -2.0250835565275089e+00 -4.3165926801941907e+00 2.2915091236666818e+00 192 4.9995054835461353e+01 4.9981126758456995e+01 -5.5720614280626313e-01 -1.0033284370684922e+02 5.0000000000000000e+01 -2.0066568741369846e+00 -4.3122160320893839e+00 2.3055591579523993e+00 193 4.9999677503527181e+01 4.9968745620393875e+01 -5.9182166588736240e-01 -1.0107031969304971e+02 5.0000000000000000e+01 -2.0214063938609943e+00 -4.3230860979840742e+00 2.3016797041230799e+00 194 4.9974693410626401e+01 4.9943899534738577e+01 -5.8391263741659216e-01 -1.0029930360394226e+02 5.0000000000000000e+01 -2.0059860720788452e+00 -4.3208879010019396e+00 2.3149018289230936e+00 195 4.9948987879558061e+01 4.9894962599178626e+01 -5.2283955567132667e-01 -9.9144794806291173e+01 4.9999999999999993e+01 -1.9828958961258238e+00 -4.3142965525806494e+00 2.3314006564548251e+00 196 5.0001603812471792e+01 4.9972958534712923e+01 -5.4197906773935178e-01 -9.9529330498821523e+01 5.0000000000000000e+01 -1.9905866099764304e+00 -4.3159626348860058e+00 2.3253760249095765e+00 197 4.9980736450866232e+01 4.9958675917898830e+01 -5.2406991009911674e-01 -9.8814396399293443e+01 5.0000000000000000e+01 -1.9762879279858689e+00 -4.3095706414477135e+00 2.3332827134618448e+00 198 4.9979637000734833e+01 4.9951165669403395e+01 -5.1037625862021729e-01 -9.9455579507761954e+01 4.9999999999999993e+01 -1.9891115901552394e+00 -4.3057511453062132e+00 2.3166395551509731e+00 199 4.9999648085833151e+01 4.9985766828906989e+01 -5.4624846731488763e-01 -9.9321520941733553e+01 5.0000000000000000e+01 -1.9864304188346711e+00 -4.3088801037219939e+00 2.3224496848873231e+00 200 4.9984324412786911e+01 4.9971384257707591e+01 -5.4552924547183368e-01 -9.9175952230694563e+01 5.0000000000000000e+01 -1.9835190446138913e+00 -4.3084490724159243e+00 2.3249300278020337e+00 201 4.9979690398974974e+01 4.9960480055085483e+01 -5.4174560041217379e-01 -9.8660549994556391e+01 4.9999999999999993e+01 -1.9732109998911282e+00 -4.3123634014386170e+00 2.3391524015474885e+00 202 4.9961771873233502e+01 4.9919594640951573e+01 -5.1887389817737128e-01 -9.8082486839893136e+01 5.0000000000000000e+01 -1.9616497367978627e+00 -4.3118548125318048e+00 2.3502050757339426e+00 203 4.9982533888453922e+01 4.9933053996804965e+01 -4.9854845121714214e-01 -9.7836430067210941e+01 5.0000000000000007e+01 -1.9567286013442184e+00 -4.3030548393165278e+00 2.3463262379723098e+00 204 4.9987861295002553e+01 4.9980405614008532e+01 -5.0504122329807910e-01 -9.7438999180456321e+01 5.0000000000000000e+01 -1.9487799836091264e+00 -4.3024063260427452e+00 2.3536263424336186e+00 205 4.9986344254521235e+01 4.9961642815936806e+01 -4.9400951608651217e-01 -9.7198185300195931e+01 5.0000000000000007e+01 -1.9439637060039183e+00 -4.2902074065110858e+00 2.3462437005071668e+00 206 4.9992758242062536e+01 4.9978894445666469e+01 -5.1054378492972063e-01 -9.7134948282428354e+01 4.9999999999999993e+01 -1.9426989656485674e+00 -4.2820456413801535e+00 2.3393466757315857e+00 207 4.9989699692843359e+01 4.9975734812596627e+01 -5.1761467085963830e-01 -9.7812877025153313e+01 4.9999999999999993e+01 -1.9562575405030667e+00 -4.2919837916748209e+00 2.3357262511717551e+00 208 4.9978977369326259e+01 4.9951651318607922e+01 -4.8943190686226823e-01 -9.7257203456016711e+01 5.0000000000000007e+01 -1.9451440691203339e+00 -4.2938404656299918e+00 2.3486963965096588e+00 209 4.9981508378951759e+01 4.9949557203465048e+01 -4.8443426074377305e-01 -9.7812446392256064e+01 5.0000000000000007e+01 -1.9562489278451209e+00 -4.2944736057677844e+00 2.3382246779226641e+00 210 5.0003967305899018e+01 4.9981588279028109e+01 -5.0646746384790264e-01 -9.8187480409134395e+01 4.9999999999999986e+01 -1.9637496081826886e+00 -4.2928745716334014e+00 2.3291249634507136e+00 211 4.9984809791623903e+01 4.9979195954540117e+01 -5.0551325034481009e-01 -9.9351219565681703e+01 5.0000000000000000e+01 -1.9870243913136341e+00 -4.3073207325425642e+00 2.3202963412289295e+00 212 4.9993889488259576e+01 4.9980131469776232e+01 -5.2859465053010990e-01 -1.0020037585551945e+02 5.0000000000000000e+01 -2.0040075171103893e+00 -4.3156186528517217e+00 2.3116111357413334e+00 213 4.9931343499176741e+01 4.9841885962326415e+01 -5.2457782903211858e-01 -9.8958554336207058e+01 5.0000000000000000e+01 -1.9791710867241412e+00 -4.2953369076339509e+00 2.3161658209098106e+00 214 4.9988315931550368e+01 4.9965670399218197e+01 -5.2400761139743279e-01 -9.8418805845961515e+01 5.0000000000000007e+01 -1.9683761169192300e+00 -4.2906899383576258e+00 2.3223138214383954e+00 215 4.9981016623095449e+01 4.9956056260628529e+01 -5.1948217082355985e-01 -9.8029487608593342e+01 5.0000000000000007e+01 -1.9605897521718665e+00 -4.2877220325949228e+00 2.3271322804230565e+00 216 4.9977740872098074e+01 4.9964667511639085e+01 -5.0645084207157864e-01 -9.7970798153997293e+01 5.0000000000000000e+01 -1.9594159630799459e+00 -4.2930024184584985e+00 2.3335864553785521e+00 217 4.9984834586229688e+01 4.9961976829751038e+01 -5.1386472169034580e-01 -9.8779541435277721e+01 5.0000000000000000e+01 -1.9755908287055546e+00 -4.2916584452409579e+00 2.3160676165354026e+00 218 4.9971422210137803e+01 4.9923498774889588e+01 -5.0884208426935296e-01 -9.8248887875118285e+01 5.0000000000000007e+01 -1.9649777575023655e+00 -4.2721196875715730e+00 2.3071419300692071e+00 219 4.9963061312335981e+01 4.9918077160280383e+01 -4.8197608441018969e-01 -9.6958003345276865e+01 5.0000000000000000e+01 -1.9391600669055373e+00 -4.2744431440846427e+00 2.3352830771791053e+00 220 4.9990594458630213e+01 4.9958585319001784e+01 -5.0507859626189466e-01 -9.8528364524949524e+01 5.0000000000000000e+01 -1.9705672904989906e+00 -4.2748808905366777e+00 2.3043136000376871e+00 221 4.9970157437723820e+01 4.9946847675141214e+01 -4.8894755985771721e-01 -9.7639469526611634e+01 5.0000000000000007e+01 -1.9527893905322324e+00 -4.2946620453093489e+00 2.3418726547771165e+00 222 4.9984626834736083e+01 4.9947037436427102e+01 -4.9180289143539002e-01 -9.8042309360645930e+01 5.0000000000000007e+01 -1.9608461872129184e+00 -4.2999570618422451e+00 2.3391108746293270e+00 223 4.9984171844780143e+01 4.9968962037672398e+01 -4.9477489045788658e-01 -9.7551559828875426e+01 5.0000000000000000e+01 -1.9510311965775087e+00 -4.3045733846573704e+00 2.3535421880798619e+00 224 4.9984882822393828e+01 4.9968386676230459e+01 -4.9421238437858178e-01 -9.7049853974432324e+01 5.0000000000000000e+01 -1.9409970794886464e+00 -4.3024358954165320e+00 2.3614388159278854e+00 225 4.9984147464494512e+01 4.9964171982937614e+01 -4.8709554626553864e-01 -9.6748470199996049e+01 5.0000000000000007e+01 -1.9349694039999208e+00 -4.3053379270001004e+00 2.3703685230001792e+00 226 4.9994874291980032e+01 4.9982256322748029e+01 -4.9704423884585452e-01 -9.6609571093827057e+01 5.0000000000000000e+01 -1.9321914218765412e+00 -4.3057747573668070e+00 2.3735833354902662e+00 227 4.9981405742791083e+01 4.9966452395509378e+01 -4.9087938963117261e-01 -9.7255654727713789e+01 5.0000000000000000e+01 -1.9451130945542758e+00 -4.3124328103351539e+00 2.3673197157808792e+00 228 4.9986337469646109e+01 4.9954275173691748e+01 -4.7858473475960178e-01 -9.7303982381687234e+01 5.0000000000000000e+01 -1.9460796476337447e+00 -4.3081697876227620e+00 2.3620901399890180e+00 229 4.9981575350665302e+01 4.9969894840880720e+01 -4.7707440460586648e-01 -9.7467882511962472e+01 5.0000000000000007e+01 -1.9493576502392491e+00 -4.3074602823904362e+00 2.3581026321511880e+00 230 5.0000813270156151e+01 4.9980876456174705e+01 -4.8775085135451213e-01 -9.7583087872134911e+01 5.0000000000000000e+01 -1.9516617574426982e+00 -4.3179643852076710e+00 2.3663026277649726e+00 231 4.9998620038482635e+01 4.9993891347384498e+01 -5.0924889305363685e-01 -9.7668070271201486e+01 5.0000000000000014e+01 -1.9533614054240291e+00 -4.3133840463012323e+00 2.3600226408772023e+00 232 4.9978729091693168e+01 4.9960229181136455e+01 -4.9520991086764182e-01 -9.7923227925647538e+01 5.0000000000000007e+01 -1.9584645585129505e+00 -4.3102583290909973e+00 2.3517937705780469e+00 233 4.9999287392475281e+01 4.9975756786360591e+01 -5.1115394057527141e-01 -9.7944183214107241e+01 5.0000000000000007e+01 -1.9588836642821446e+00 -4.3154385810020655e+00 2.3565549167199209e+00 234 4.9991731207481543e+01 4.9989705521651757e+01 -5.2097882440656396e-01 -9.8185774900506416e+01 4.9999999999999993e+01 -1.9637154980101288e+00 -4.3061408633027645e+00 2.3424253652926361e+00 235 4.9975117548304524e+01 4.9938802924652393e+01 -5.0223169710440951e-01 -9.8094023733381391e+01 4.9999999999999986e+01 -1.9618804746676286e+00 -4.3041036141628117e+00 2.3422231394951831e+00 236 4.9989771328526402e+01 4.9980822745109563e+01 -5.1997470185440020e-01 -9.8688017051795001e+01 5.0000000000000000e+01 -1.9737603410359001e+00 -4.3101638455656284e+00 2.3364035045297280e+00 237 4.9991512472425669e+01 4.9969680654198882e+01 -5.1599495934721451e-01 -9.8531604106959534e+01 4.9999999999999993e+01 -1.9706320821391912e+00 -4.3150843458787653e+00 2.3444522637395733e+00 238 4.9993093477293108e+01 4.9981137614625645e+01 -5.3160902606757943e-01 -9.8748338410842337e+01 5.0000000000000000e+01 -1.9749667682168468e+00 -4.3223758760461042e+00 2.3474091078292578e+00 239 4.9968584861561979e+01 4.9946324543718660e+01 -4.9303550664092921e-01 -9.8134944506560089e+01 5.0000000000000007e+01 -1.9626988901312015e+00 -4.3147159865809677e+00 2.3520170964497664e+00 240 5.0000429021214103e+01 4.9979910589906211e+01 -5.0851723605997257e-01 -9.8393923277920393e+01 5.0000000000000007e+01 -1.9678784655584076e+00 -4.3142629705280644e+00 2.3463845049696568e+00 241 5.0001723024586035e+01 4.9998796007490547e+01 -5.2577843324062445e-01 -9.8632713406180443e+01 5.0000000000000000e+01 -1.9726542681236090e+00 -4.3156581561013647e+00 2.3430038879777553e+00 242 4.9979006601958211e+01 4.9964824260050989e+01 -5.0389080971261258e-01 -9.8591413158447750e+01 4.9999999999999993e+01 -1.9718282631689554e+00 -4.3164599305444868e+00 2.3446316673755323e+00 243 5.0004657105949867e+01 4.9993979839849153e+01 -5.2406384696901620e-01 -9.9223378715906719e+01 4.9999999999999993e+01 -1.9844675743181348e+00 -4.3176276863863512e+00 2.3331601120682159e+00 244 4.9993647435054349e+01 4.9986319909242177e+01 -5.2581164842543027e-01 -9.9478658410690130e+01 4.9999999999999993e+01 -1.9895731682138029e+00 -4.3176655834432021e+00 2.3280924152293982e+00 245 4.9998222392650831e+01 4.9990146975869060e+01 -5.5450719849206587e-01 -9.9638231195367666e+01 5.0000000000000007e+01 -1.9927646239073531e+00 -4.3171535126355698e+00 2.3243888887282176e+00 246 4.9987253068265204e+01 4.9980952465823037e+01 -5.4076147963057652e-01 -9.9012727093841121e+01 4.9999999999999993e+01 -1.9802545418768227e+00 -4.3194167762074205e+00 2.3391622343305976e+00 247 4.9981861001736846e+01 4.9940089363806912e+01 -5.1599924774800510e-01 -9.8738917880589284e+01 5.0000000000000000e+01 -1.9747783576117857e+00 -4.3193300029249562e+00 2.3445516453131696e+00 248 5.0001617959092876e+01 4.9988148980801775e+01 -5.3380700292155236e-01 -9.9003517018639243e+01 5.0000000000000007e+01 -1.9800703403727846e+00 -4.3218604766752362e+00 2.3417901363024516e+00 249 4.9989194485596002e+01 4.9972867610499037e+01 -5.3862631650778714e-01 -9.9840690628358644e+01 5.0000000000000007e+01 -1.9968138125671726e+00 -4.3273383632098570e+00 2.3305245506426839e+00 250 4.9989351656892438e+01 4.9986324360736674e+01 -5.4998166680826754e-01 -9.9472667088778863e+01 5.0000000000000000e+01 -1.9894533417755773e+00 -4.3276604493396480e+00 2.3382071075640698e+00 251 4.9968556850130739e+01 4.9929936240576772e+01 -5.2044490732367432e-01 -9.9200250929610846e+01 5.0000000000000000e+01 -1.9840050185922169e+00 -4.3201584197152165e+00 2.3361534011230001e+00 252 4.9993435777539624e+01 4.9967749004758353e+01 -5.2562293056000187e-01 -9.8980573199760642e+01 5.0000000000000000e+01 -1.9796114639952129e+00 -4.3151414382956981e+00 2.3355299743004854e+00 253 4.9984299109984136e+01 4.9967578480092278e+01 -5.1859119499912087e-01 -9.9043838421727017e+01 5.0000000000000000e+01 -1.9808767684345403e+00 -4.3179670514744224e+00 2.3370902830398821e+00 254 4.9998153543347733e+01 5.0002862814719109e+01 -5.4968990115067473e-01 -9.9490021116329729e+01 5.0000000000000014e+01 -1.9898004223265939e+00 -4.3196589456770669e+00 2.3298585233504729e+00 255 4.9975383871483544e+01 4.9954776019072796e+01 -5.2148197728223789e-01 -9.8127603050739808e+01 5.0000000000000000e+01 -1.9625520610147962e+00 -4.3226760359712193e+00 2.3601239749564229e+00 256 4.9993630422490433e+01 4.9970822604083558e+01 -5.2612646628538740e-01 -9.8407686067618755e+01 5.0000000000000000e+01 -1.9681537213523752e+00 -4.3207772135348019e+00 2.3526234921824263e+00 257 4.9987170776273835e+01 4.9987333018685945e+01 -5.2902523587677242e-01 -9.8594800683708769e+01 4.9999999999999993e+01 -1.9718960136741757e+00 -4.3299840505913956e+00 2.3580880369172204e+00 258 4.9990048149756561e+01 4.9958613087254037e+01 -5.2193646982494524e-01 -9.8581300719865283e+01 5.0000000000000000e+01 -1.9716260143973057e+00 -4.3266019669568978e+00 2.3549759525595912e+00 259 4.9985898610652022e+01 4.9960314309750032e+01 -5.1786167244438108e-01 -9.8908332522408983e+01 4.9999999999999993e+01 -1.9781666504481801e+00 -4.3282761786374078e+00 2.3501095281892272e+00 260 4.9989083268530301e+01 4.9970079806811349e+01 -5.2387362228755463e-01 -9.8584173692595172e+01 5.0000000000000007e+01 -1.9716834738519031e+00 -4.3163935405749676e+00 2.3447100667230645e+00 261 4.9989396084395594e+01 4.9958240469904489e+01 -5.2032952134153398e-01 -9.9238113564003953e+01 5.0000000000000000e+01 -1.9847622712800792e+00 -4.3058173271364817e+00 2.3210550558564025e+00 262 4.9973063621671379e+01 4.9982180925717351e+01 -5.6822551998325599e-01 -1.0030550780115880e+02 5.0000000000000000e+01 -2.0061101560231758e+00 -4.3153814768614760e+00 2.3092713208383002e+00 263 4.9955270415565693e+01 4.9852891773704570e+01 -5.2604875161105358e-01 -9.8281502127706545e+01 5.0000000000000000e+01 -1.9656300425541309e+00 -4.3003524916805276e+00 2.3347224491263967e+00 264 4.9974282769901663e+01 4.9932847007589338e+01 -5.0290631289611487e-01 -9.7680942375790252e+01 5.0000000000000000e+01 -1.9536188475158052e+00 -4.3081053620247811e+00 2.3544865145089755e+00 265 4.9990410119378112e+01 4.9954715439078846e+01 -4.9205770356651451e-01 -9.7752443418060707e+01 5.0000000000000000e+01 -1.9550488683612142e+00 -4.3094698512987870e+00 2.3544209829375724e+00 266 5.0004180270410018e+01 4.9991627158832642e+01 -5.0991866139721143e-01 -9.8166252837609804e+01 5.0000000000000000e+01 -1.9633250567521960e+00 -4.3090212004685906e+00 2.3456961437163937e+00 267 4.9986503401551808e+01 4.9983922038155178e+01 -5.1535373882846114e-01 -9.7683730200180648e+01 5.0000000000000007e+01 -1.9536746040036126e+00 -4.2979100627164986e+00 2.3442354587128853e+00 268 4.9983594680538516e+01 4.9966993294249718e+01 -5.0871622982739817e-01 -9.7566183533205731e+01 5.0000000000000007e+01 -1.9513236706641144e+00 -4.3134705713511829e+00 2.3621469006870690e+00 269 4.9996042872078604e+01 4.9979215417308431e+01 -5.1406691314085440e-01 -9.7468437337395144e+01 5.0000000000000014e+01 -1.9493687467479022e+00 -4.3187388806003337e+00 2.3693701338524309e+00 270 4.9980245686636003e+01 4.9958828080314198e+01 -5.0414316699424644e-01 -9.8123062952206908e+01 5.0000000000000000e+01 -1.9624612590441382e+00 -4.3231615128000485e+00 2.3607002537559101e+00 271 5.0001258309731078e+01 5.0002348149610029e+01 -5.1378273580321754e-01 -9.7588835738642587e+01 5.0000000000000000e+01 -1.9517767147728518e+00 -4.3197866351945073e+00 2.3680099204216551e+00 272 4.9984225502500124e+01 4.9971133708661853e+01 -5.0396129542518542e-01 -9.7969414626832517e+01 5.0000000000000000e+01 -1.9593882925366504e+00 -4.3191935552038991e+00 2.3598052626672485e+00 273 4.9985907671720632e+01 4.9960887618316747e+01 -4.9129356292858606e-01 -9.7531502734318295e+01 5.0000000000000007e+01 -1.9506300546863655e+00 -4.3185109239336494e+00 2.3678808692472839e+00 274 4.9988273383077498e+01 4.9964292743580238e+01 -4.8781474693255122e-01 -9.7887236143323904e+01 5.0000000000000000e+01 -1.9577447228664782e+00 -4.3063515358657281e+00 2.3486068129992499e+00 275 4.9992684374320710e+01 5.0560880721374950e+01 -4.8919705594328738e-01 -9.7913650640685916e+01 5.0000000000000000e+01 -1.9582730128137185e+00 -4.3060446977850253e+00 2.3477716849713071e+00 276 4.9990679484597017e+01 4.9977838465817058e+01 -4.9370683573316460e-01 -9.7722353704924558e+01 4.9999999999999993e+01 -1.9544470740984916e+00 -4.2944589254099332e+00 2.3400118513114418e+00 277 4.9964479311207761e+01 4.9915886830789098e+01 -4.8127080830413149e-01 -9.7264664207791625e+01 5.0000000000000000e+01 -1.9452932841558326e+00 -4.2892246275073509e+00 2.3439313433515188e+00 278 4.9984451866244747e+01 4.9949255497678152e+01 -4.7644628635013081e-01 -9.7058217146484893e+01 4.9999999999999993e+01 -1.9411643429296983e+00 -4.2800363251070666e+00 2.3388719821773685e+00 279 4.9993806004184563e+01 4.9983245914569387e+01 -4.9476494067124910e-01 -9.7004791546279193e+01 5.0000000000000007e+01 -1.9400958309255836e+00 -4.2680779105759070e+00 2.3279820796503232e+00 280 4.9987074932087509e+01 4.9962945921913146e+01 -4.8210044146304276e-01 -9.7433932830766508e+01 5.0000000000000000e+01 -1.9486786566153302e+00 -4.2768364997956407e+00 2.3281578431803105e+00 281 4.9986734469669209e+01 4.9962937803812181e+01 -4.8350587516217519e-01 -9.7446527567656418e+01 5.0000000000000007e+01 -1.9489305513531281e+00 -4.2836685237240344e+00 2.3347379723709061e+00 282 5.0003822026961437e+01 5.0013081024473202e+01 -5.1040193787288701e-01 -9.8090664799510080e+01 4.9999999999999993e+01 -1.9618132959902019e+00 -4.3057270552000979e+00 2.3439137592098955e+00 283 4.9976870926250548e+01 4.9944456794285088e+01 -4.7710853178719120e-01 -9.8142617541058655e+01 5.0000000000000000e+01 -1.9628523508211730e+00 -4.3069672577674645e+00 2.3441149069462912e+00 284 4.9998493790719102e+01 4.9994648796314436e+01 -4.9941059048964714e-01 -9.8713228993572528e+01 5.0000000000000000e+01 -1.9742645798714507e+00 -4.3043606938502741e+00 2.3300961139788230e+00 285 5.0000889926005840e+01 5.0024934605286120e+01 -5.4173992952908645e-01 -9.8954235201523829e+01 5.0000000000000000e+01 -1.9790847040304766e+00 -4.3108170724225827e+00 2.3317323683921067e+00 286 4.9983326136640891e+01 4.9960965548554896e+01 -5.2670495933339723e-01 -9.9432137724940418e+01 4.9999999999999993e+01 -1.9886427544988088e+00 -4.3015101266190285e+00 2.3128673721202193e+00 287 4.9984018757843607e+01 4.9977417858809204e+01 -5.2839107917010708e-01 -9.8957722527938841e+01 5.0000000000000000e+01 -1.9791544505587768e+00 -4.3049284118556423e+00 2.3257739612968660e+00 288 4.9994361216641522e+01 4.9968842583649916e+01 -5.3432971543542007e-01 -9.8585848167622046e+01 4.9999999999999993e+01 -1.9717169633524414e+00 -4.2979956554659378e+00 2.3262786921134966e+00 289 4.9985696227246279e+01 4.9979718525604341e+01 -5.2901793684053866e-01 -9.8723953542367369e+01 5.0000000000000007e+01 -1.9744790708473470e+00 -4.3010335565352378e+00 2.3265544856878919e+00 290 4.9993555678829736e+01 4.9973980809094328e+01 -5.2824423732746995e-01 -9.9416981841253516e+01 5.0000000000000000e+01 -1.9883396368250703e+00 -4.3054572261859070e+00 2.3171175893608358e+00 291 4.9976251533917370e+01 4.9960595319997395e+01 -5.2228223089929571e-01 -9.8877390173936206e+01 4.9999999999999993e+01 -1.9775478034787246e+00 -4.3037514726304478e+00 2.3262036691517229e+00 292 5.0005479002316044e+01 5.0001809041269972e+01 -5.6203871053068366e-01 -9.9381998686296427e+01 5.0000000000000000e+01 -1.9876399737259285e+00 -4.3065391136600430e+00 2.3188991399341141e+00 293 4.9978452575305369e+01 4.9945599069184802e+01 -5.4065628974950808e-01 -9.9686833143663023e+01 5.0000000000000007e+01 -1.9937366628732602e+00 -4.3085418455203905e+00 2.3148051826471301e+00 294 4.9985072522245467e+01 4.9955745001977022e+01 -5.2761444324571816e-01 -9.8744278767684378e+01 4.9999999999999993e+01 -1.9748855753536880e+00 -4.3117015592503121e+00 2.3368159838966238e+00 295 4.9985118449000666e+01 4.9962707472774362e+01 -5.2753271429023008e-01 -9.8503936824912913e+01 4.9999999999999986e+01 -1.9700787364982590e+00 -4.3198443219323739e+00 2.3497655854341146e+00 296 4.9983470121652019e+01 4.9975185364879998e+01 -5.1976985312581525e-01 -9.8972178123691805e+01 5.0000000000000000e+01 -1.9794435624738362e+00 -4.3083790065330811e+00 2.3289354440592449e+00 297 4.9998134625064459e+01 4.9984910191161163e+01 -5.3281557635996490e-01 -9.8702981961008447e+01 5.0000000000000000e+01 -1.9740596392201690e+00 -4.3047497555136731e+00 2.3306901162935030e+00 298 4.9983632536079995e+01 4.9962977670710728e+01 -5.1831320247097545e-01 -9.8466127903972463e+01 5.0000000000000000e+01 -1.9693225580794493e+00 -4.3144092386773263e+00 2.3450866805978769e+00 299 4.9994690530620460e+01 4.9974340043992129e+01 -5.2245209642781454e-01 -9.8238618538962569e+01 4.9999999999999993e+01 -1.9647723707792517e+00 -4.3116632230072316e+00 2.3468908522279803e+00 300 4.9983510644593125e+01 4.9957965873720269e+01 -5.0993882645026567e-01 -9.7808635283620333e+01 5.0000000000000000e+01 -1.9561727056724068e+00 -4.3034476279351841e+00 2.3472749222627769e+00
Next, we can visualize the data which is by default saved to estimates.0.h5
.
from ipie.analysis.extraction import extract_observable
import matplotlib.pyplot as plt
data = extract_observable(qmc_driver.estimators.filename)
plt.plot(data.ETotal, marker='o', label="AFQMC", color="C0")
plt.axhline(-1.969512, label="Exact Result", color="C1")
plt.legend()
plt.xlabel("Block number")
plt.ylabel("Total Energy (Ha)")
Text(0, 0.5, 'Total Energy (Ha)')
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.)