We learned in the high-level notebook how to setup the quantum side of the calculation, which involves specifying a Hamiltonian, defining a trial wavefunction ansatz before performing shadow tomography to extract the AFQMC trial wavefunction. In this example, we will repeat these steps again for the case of H4 which was studied in the paper. Then we will outline how to interface the output of the quantum half of the calculation with ipie to perform AFQMC with the quantum trial wavefunction.
Setup
First install recirq:
try:
import recirq
except ImportError:
%pip install git+https://github.com/quantumlib/ReCirq
Define an SCF Job
We first setup a PyscfHamiltonianParams
object which defines the SCF job we will run using pyscf. Here we are simulation H4 in the (minimal) sto-3g basis.
from recirq.qcqmc.hamiltonian import PyscfHamiltonianParams, HamiltonianData
pyscf_params = PyscfHamiltonianParams(
name="TEST_square_H4",
n_orb=4,
n_elec=4,
geometry=(("H", (0, 0, 0)), ("H", (0, 0, 1.23)), ("H", (1.23, 0, 0)), ("H", (1.23, 0, 1.23))),
basis="sto3g",
multiplicity=1,
charge=0,
save_chkfile=True,
overwrite_chk_file=True,
)
pyscf_hamiltonian = HamiltonianData.build_hamiltonian_from_pyscf(pyscf_params)
chk_path = pyscf_params.base_path.with_suffix(".chk")
Build Perfect Pairing Wavefunction
Next we build a perfect pairing wavefunction based upon our pyscf_params
import numpy as np
from recirq.qcqmc.trial_wf import (
PerfectPairingPlusTrialWavefunctionParams,
TrialWavefunctionData
)
pp_params = PerfectPairingPlusTrialWavefunctionParams(
'pp_plus_test',
hamiltonian_params=pyscf_params,
heuristic_layers=tuple(),
do_pp=True,
restricted=False,
initial_orbital_rotation=None,
initial_two_body_qchem_amplitudes=np.asarray([0.3, 0.4]),
do_optimization=True,
use_fast_gradients=True
)
trial_wf = TrialWavefunctionData.build_pp_plus_trial_from_dependencies(
pp_params, dependencies={pyscf_params: pyscf_hamiltonian}, do_print=True
)
Building Trial Wavefunction Optimization restart 0 energy (-0.9036540062626459+0j), max|grad| 0.4055778794357425 energy (-1.2562368588436836+0j), max|grad| 0.43313791305139393 .energy (-1.5679374247963844+7.888609052210118e-31j), max|grad| 0.18111782362662004 .energy (-1.6837246665467358+0j), max|grad| 0.17092036783044715 .energy (-1.6110669589234181+0j), max|grad| 0.24059875134725753 energy (-1.7390726256610076-7.888609052210118e-31j), max|grad| 0.18367926366417667 .energy (-1.7998087490345682-1.5777218104420236e-30j), max|grad| 0.1517612491290922 .energy (-1.85760482706117+0j), max|grad| 0.11159886713967626 .energy (-1.8729342965890314+7.888609052210118e-31j), max|grad| 0.1216392843358692 .energy (-1.8833608675750924-3.944304526105059e-31j), max|grad| 0.04744855668934871 .energy (-1.8915925472404727+0j), max|grad| 0.043464113681721546 .energy (-1.896150318701043+0j), max|grad| 0.06268423948369739 .energy (-1.8984417758128584+0j), max|grad| 0.029698836620385877 .energy (-1.8994746204928887+1.5777218104420236e-30j), max|grad| 0.016201854102027454 .energy (-1.899957201496921+0j), max|grad| 0.013304133970140785 .energy (-1.9008511510081867+2.341930812374879e-31j), max|grad| 0.013590539661908211 .energy (-1.9024862069591846-1.9721522630525295e-31j), max|grad| 0.01776285826411418 .energy (-1.9052419928245046+7.888609052210118e-31j), max|grad| 0.03273195822714455 .energy (-1.9077304802944566-1.5777218104420236e-30j), max|grad| 0.06430668054864518 .energy (-1.9109588448091852-1.5777218104420236e-30j), max|grad| 0.0456020728724604 .energy (-1.9167439088358718+1.5777218104420236e-30j), max|grad| 0.030847960479975674 .energy (-1.9245237883922313+9.860761315262648e-32j), max|grad| 0.05417187731080087 .energy (-1.9296292702179798+5.9164567891575885e-31j), max|grad| 0.025592029356486093 .energy (-1.9311761633082778-3.944304526105059e-31j), max|grad| 0.029638055385661645 .energy (-1.933215914812636+3.1554436208840472e-30j), max|grad| 0.01621076088582836 .energy (-1.9334865022840528+0j), max|grad| 0.05061349409744201 energy (-1.9343719716192522+0j), max|grad| 0.01912404951615153 .energy (-1.9355257556500183-1.5777218104420236e-30j), max|grad| 0.015830794257891478 .energy (-1.935838772234188+0j), max|grad| 0.0037725673337152825 .energy (-1.9359314607080256+1.1832913578315177e-30j), max|grad| 0.003200160407726419 .energy (-1.935949268389063+1.5777218104420236e-30j), max|grad| 0.0018919063116268726 .energy (-1.9359611849206226-1.5777218104420236e-30j), max|grad| 0.0015724061558558594 .energy (-1.9359718407742434-1.5777218104420236e-30j), max|grad| 0.002200219431710977 .energy (-1.9359908818544875+0j), max|grad| 0.0027990086027876444 .energy (-1.9360254775825618-3.944304526105059e-31j), max|grad| 0.0034162005029662727 .energy (-1.9360872529493829+7.888609052210118e-31j), max|grad| 0.004092624834665993 .energy (-1.9361891445655823-7.888609052210118e-31j), max|grad| 0.004789327611432818 .energy (-1.9363129739874951+7.888609052210118e-31j), max|grad| 0.006438470215631584 .energy (-1.936409828806081-6.902532920683853e-31j), max|grad| 0.004456081295501152 .energy (-1.9365429132704115+4.930380657631324e-32j), max|grad| 0.0021233065187949984 .energy (-1.9365688598431472+1.5777218104420236e-30j), max|grad| 0.0005844751564333227 .energy (-1.936569194425596+0j), max|grad| 0.0006212049182390798 .energy (-1.9365697065818228-1.9721522630525295e-31j), max|grad| 0.000396322023845012 .energy (-1.9365703915500676-1.5777218104420236e-30j), max|grad| 0.00035847268845497156 .energy (-1.9365715608439755+7.888609052210118e-31j), max|grad| 0.0005875338345701087 .energy (-1.9365736450508706-7.888609052210118e-31j), max|grad| 0.0009275529494447987 .energy (-1.936577364856836+0j), max|grad| 0.001290087498159842 .energy (-1.9365837600802127+1.5777218104420236e-30j), max|grad| 0.0016835767447708205 .energy (-1.9365936870844989+7.888609052210118e-31j), max|grad| 0.002066433013532154 .energy (-1.9366057394306582+3.944304526105059e-31j), max|grad| 0.002171053716593041 .energy (-1.9366157496909846+0j), max|grad| 0.0015707204870063496 .energy (-1.9366194954891824+1.5777218104420236e-30j), max|grad| 0.00036139858612830895 .energy (-1.9366196680654788+1.5777218104420236e-30j), max|grad| 0.00011315080525932123 .energy (-1.9366197270827676-1.5777218104420236e-30j), max|grad| 6.430515389602392e-05 .energy (-1.9366197458722914-3.944304526105059e-31j), max|grad| 7.331252496905818e-05 .energy (-1.9366197673277403+7.888609052210118e-31j), max|grad| 4.9780835403821e-05 .energy (-1.9366197715277558-7.888609052210118e-31j), max|grad| 2.5640979216920167e-05 .energy (-1.9366197732374273+4.733165431326071e-30j), max|grad| 2.658368168230504e-05 .energy (-1.9366197751441474+0j), max|grad| 2.8157268404369024e-05 .energy (-1.9366197785809476+1.5777218104420236e-30j), max|grad| 4.345122893493406e-05 .energy (-1.93661978495203+7.888609052210118e-31j), max|grad| 6.284515144451495e-05 .energy (-1.936619796829076+3.944304526105059e-31j), max|grad| 8.776692882146378e-05 .energy (-1.9366198187972676-3.1554436208840472e-30j), max|grad| 0.00012194120079247437 .energy (-1.9366198585693368-3.1554436208840472e-30j), max|grad| 0.0001701334299161085 .energy (-1.9366199276036058+1.5777218104420236e-30j), max|grad| 0.0002373872242281216 .energy (-1.9366200380462466+0j), max|grad| 0.00032367056761343577 .energy (-1.9366201880972573+0j), max|grad| 0.0003985907193036062 .energy (-1.9366203391133157+0j), max|grad| 0.00038025048350678084 .energy (-1.9366205555842493-3.1554436208840472e-30j), max|grad| 0.00023727562931326692 .energy (-1.93662064426736+3.944304526105059e-31j), max|grad| 6.282714761231305e-05 .energy (-1.9366206498974865-3.944304526105059e-31j), max|grad| 1.2028184630336895e-05 .energy (-1.936620650696911-4.733165431326071e-30j), max|grad| 3.6026151661679147e-06 . message: Optimization terminated successfully. success: True status: 0 fun: -1.936620650696911 x: [ 1.529e+00 1.601e+00 ... 1.504e+00 4.454e-01] nit: 69 jac: [ 4.615e-07 -1.193e-06 ... 1.574e-07 -8.279e-08] hess_inv: [[ 3.209e-01 -1.605e-02 ... -1.289e-01 3.218e-01] [-1.605e-02 2.131e+00 ... -1.185e+00 2.527e+00] ... [-1.289e-01 -1.185e+00 ... 6.735e+01 -1.023e+02] [ 3.218e-01 2.527e+00 ... -1.023e+02 1.811e+02]] nfev: 72 njev: 72 Hartree-Fock Energy: (-1.779243269890757+0j) Sector N = 4 : S_z = 0 a'0011'b'0011' (1+0j) -------------------------------------------------------------------------------- FCI Energy: -1.9695121652162788 -------------------------------------------------------------------------------- message: Optimization terminated successfully. success: True status: 0 fun: -1.936620650696911 x: [ 1.529e+00 1.601e+00 ... 1.504e+00 4.454e-01] nit: 69 jac: [ 4.615e-07 -1.193e-06 ... 1.574e-07 -8.279e-08] hess_inv: [[ 3.209e-01 -1.605e-02 ... -1.289e-01 3.218e-01] [-1.605e-02 2.131e+00 ... -1.185e+00 2.527e+00] ... [-1.289e-01 -1.185e+00 ... 6.735e+01 -1.023e+02] [ 3.218e-01 2.527e+00 ... -1.023e+02 1.811e+02]] nfev: 72 njev: 72 -------------------------------------------------------------------------------- Ansatz Energy: -1.936620650696911 Sector N = 4 : S_z = 0 a'0011'b'0011' (-0.46387401399583944-1.6169791200448813e-15j) a'0011'b'0101' (-0.49319604867937417-1.4418533641341602e-15j) a'0011'b'1010' (0.09453242557421507+2.408351838269207e-16j) a'0011'b'1100' (0.10050769884960999+3.006492624302304e-16j) a'0101'b'0011' (0.4932121133952673+1.240300180269105e-15j) a'0101'b'0101' (0.4638724215893809+9.917773254129042e-16j) a'0101'b'1010' (-0.10051252390245798-1.836909530733566e-16j) a'0101'b'1100' (-0.09453345932512375-2.362883109660596e-16j) a'1010'b'0011' (-0.09453244426471545-3.956524777942727e-16j) a'1010'b'0101' (-0.10050753163472044-4.301436594064678e-16j) a'1010'b'1010' (0.040495383211038925+1.1647041837925531e-16j) a'1010'b'1100' (0.043055478757829016+1.3775127414607236e-16j) a'1100'b'0011' (0.10051091749766967+4.610840789037729e-16j) a'1100'b'0101' (0.0945318069870978+4.036484688163533e-16j) a'1100'b'1010' (-0.04305727968792324-1.1641620827063104e-16j) a'1100'b'1100' (-0.04049580296637009-1.3711430536973712e-16j) Basis Rotation Matrix: [[-0.0019289 +0.j 0. +0.j 0.20844642+0.j 0. +0.j 0.97799642+0.j 0. +0.j -0.00832942+0.j 0. +0.j] [ 0. +0.j -0.0017375 +0.j 0. +0.j -0.20844971+0.j 0. +0.j -0.97801093+0.j 0. +0.j -0.00635044+0.j] [-0.70709082+0.j 0. +0.j -0.0055334 +0.j 0. +0.j -0.00623724+0.j 0. +0.j -0.70707358+0.j 0. +0.j] [ 0. +0.j -0.70708361+0.j 0. +0.j 0.00480579+0.j 0. +0.j 0.00482323+0.j 0. +0.j -0.70709717+0.j] [-0.70707664+0.j 0. +0.j -0.00587992+0.j 0. +0.j 0.0058808 +0.j 0. +0.j 0.70708802+0.j 0. +0.j] [ 0. +0.j 0.70709486+0.j 0. +0.j -0.00514814+0.j 0. +0.j 0.00443232+0.j 0. +0.j -0.70708607+0.j] [-0.00784059+0.j 0. +0.j 0.97800046+0.j 0. +0.j -0.20844549+0.j 0. +0.j 0.0020259 +0.j 0. +0.j] [ 0. +0.j 0.00682626+0.j 0. +0.j 0.97800773+0.j 0. +0.j -0.20845076+0.j 0. +0.j -0.00160098+0.j]] Two Body Rotation Parameters: [1.52877842 1.60143649]
We can comare the wavefunction of the optimized ansatz to the exact ground state energy:
print(f"Trial wavefunction energy: {trial_wf.ansatz_energy}")
print(f"Exact ground state energy: {trial_wf.fci_energy}")
Trial wavefunction energy: -1.9366206506969077 Exact ground state energy: -1.9695121652162788
Next, we build an experiment
which will combine the trial wavefunction circuit with that required for shadow tomography. In this case the experiment will be simulated using a statevector simulator.
from recirq.qcqmc.blueprint import BlueprintParamsTrialWf, BlueprintData
from recirq.qcqmc.experiment import SimulatedExperimentParams, ExperimentData
blueprint_params = BlueprintParamsTrialWf(
name="blueprint_test_medium",
trial_wf_params=pp_params,
n_cliffords=100,
qubit_partition=(tuple(qubit for qubit in pp_params.qubits_jordan_wigner_ordered),),
seed=1,
)
blueprint = BlueprintData.build_blueprint_from_dependencies(blueprint_params, dependencies={pp_params: trial_wf})
simulated_experiment_params = SimulatedExperimentParams(
name="test_1",
blueprint_params=blueprint.params,
noise_model_name="None",
noise_model_params=(0,),
n_samples_per_clifford=31,
seed=1,
)
experiment = ExperimentData.build_experiment_from_dependencies(
params=simulated_experiment_params, dependencies={blueprint.params: blueprint}
)
The experimental output is post-processed to extract the reconstructed trial wavefunction:
from typing import Dict
from recirq.qcqmc.data import Params, Data
from recirq.qcqmc.analysis import OverlapAnalysisData, OverlapAnalysisParams
analysis_params = OverlapAnalysisParams(
"TEST_analysis", experiment_params=experiment.params, k_to_calculate=(1,)
)
all_dependencies: Dict[Params, Data] = {
pyscf_params: pyscf_hamiltonian,
pp_params: trial_wf,
blueprint_params: blueprint,
simulated_experiment_params: experiment,
}
analysis = OverlapAnalysisData.build_analysis_from_dependencies(
analysis_params, dependencies=all_dependencies
)
Finally, we save the wavefunction in a format that is acceptable for ipie.
from recirq.qcqmc.convert_to_ipie import save_wavefunction_for_ipie
ipie_data = save_wavefunction_for_ipie(
hamiltonian_data=pyscf_hamiltonian, trial_wf_data=trial_wf, overlap_analysis_data=analysis, do_print=False
)
print(f"Reconstructed shadow wavefunction energy: {ipie_data.variational_energy}")
print(f"Ideal trial wavefunction energy: {trial_wf.ansatz_energy}")
print(f"FCI energy: {trial_wf.fci_energy}")
Reconstructed shadow wavefunction energy: -1.8771197609628356 Ideal trial wavefunction energy: -1.9366206506969077 FCI energy: -1.9695121652162788
Run AFQMC
Now that we have built our quantum wavefunction, we can use it as a trial wavefunction in an AFQMC simulation. First, we need to build a factorized Hamiltonian which is required for AFQMC.
In particular, we require the three-index Cholesky tensor (ham.chol
below) which satisfies
\[ (pq|rs) = \sum_X L_{pq}^X L_{rs}^X. \]
from ipie.systems.generic import Generic
from ipie.utils.from_pyscf import generate_hamiltonian_from_chk
num_elec = (pyscf_params.n_elec // 2,) * 2
system = Generic(num_elec)
chk_path = pyscf_params.base_path.with_suffix(".chk")
ham = generate_hamiltonian_from_chk(str(chk_path))
assert ham.H1.shape == (2, pyscf_params.n_orb, pyscf_params.n_orb)
assert ham.chol.shape[0] == pyscf_params.n_orb * pyscf_params.n_orb
Next, we need to build a trial wavefunction from quantum wavefunction. In practice, the quantum trial is expanded as a linear combination of (orthogonal) Slater Determinants. Within ipie, this style of trial wavefunction is defined as a ParticleHole
trial wavefunction.
import h5py
from ipie.trial_wavefunction.particle_hole import ParticleHole
# Read quantum wavefunction from file.
with h5py.File(ipie_data.path, 'r') as fh5:
coeffs = fh5["coeffs_rotated"][:]
occa = fh5["occa_rotated"][:]
occb = fh5["occb_rotated"][:]
wfn = ParticleHole((coeffs, occa, occb), num_elec, pyscf_params.n_orb)
wfn.half_rotate(ham)
wfn.calculate_energy(system, ham)
print(f"Trial wavefunction variational energy in ipie: {wfn.energy.real}")
assert np.isclose(wfn.energy.real, ipie_data.variational_energy)
Trial wavefunction variational energy in ipie: -1.8771197609628336
Note that the variational energy might differ slightly from the result compute from the previous section. This is because the cholesky factorization uses a threshold of \(1\times10^{-5}\) a stopping criteria for convergence. Reducing the parameter chol_cut
in generate_hamiltonian_from_chk
will yield better agreement.
At this point, we are ready to run AFQMC. We need to build an AFQMC
driver class which takes as input the factorized Hamiltonian and our ParticleHole
trial wavefunction.
from ipie.qmc.afqmc import AFQMC
qmc_driver = AFQMC.build(num_elec, ham, wfn, num_blocks=300, num_walkers=50, seed=7)
# random seed is 7
from recirq.qcqmc.config import OUTDIRS
import pathlib
ipie_path = pathlib.Path(pyscf_hamiltonian.params.path_prefix + OUTDIRS.DEFAULT_QMC_DIRECTORY)
if not ipie_path.is_dir():
ipie_path.mkdir(parents=True)
qmc_driver.run(estimator_filename=f'{ipie_path}/estimates.h5')
# Using pair_branch population control algorithm. # target weight is 50 # total weight is 50 # ipie version: 0.7.1 # Calculation uuid: 24501ff2-ec50-11ef-b8b6-4735a95cd5b3. # Approximate memory available per node: 117.9093 GB. # Running on 1 MPI rank. # Root processor name: kokoro-gcp-ubuntu-prod-2033379579 # Python interpreter: 3.10.16 (main, Dec 4 2024, 08:53:37) [GCC 9.4.0] # Using numpy v1.26.4 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/numpy. # - BLAS lib: openblas64 # - BLAS version: 0.3.23.dev # - BLAS include directory: /usr/local/lib # Using scipy v1.15.1 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/scipy. # Using h5py v3.12.1 from: /tmpfs/src/tf_docs_env/lib/python3.10/site-packages/h5py. # Package mpi4py not found. # Package cupy not found. # MPI communicator : <class 'ipie.qmc.comm.FakeComm'> # Available memory on the node is 117.909 GB # Setting up estimator object. # Writing estimator data to data/afqmc/estimates.h5 # Finished settting up estimator object. Block Weight WeightFactor HybridEnergy ENumer EDenom ETotal E1Body E2Body 0 5.0000000000000000e+01 5.0000000000000000e+01 0.0000000000000000e+00 -9.6486304211488687e+01 5.0000000000000000e+01 -1.9297260842297739e+00 -4.3439319178107789e+00 2.4142058335810050e+00 1 5.0244433021531144e+01 5.0518752257436617e+01 -5.1480637820850661e-01 -9.6652905726715318e+01 4.9999999999999993e+01 -1.9330581145343066e+00 -4.3381857300470426e+00 2.4051276155127361e+00 2 4.9972807280256106e+01 5.0051684340529746e+01 -4.7661057456165529e-01 -9.7306249370556429e+01 5.0000000000000000e+01 -1.9461249874111286e+00 -4.3279047904644310e+00 2.3817798030533019e+00 3 5.0011569797916898e+01 5.0004270514043455e+01 -5.1187080315422628e-01 -9.7466683634549312e+01 5.0000000000000007e+01 -1.9493336726909860e+00 -4.3253085724128253e+00 2.3759748997218391e+00 4 4.9980812287753643e+01 4.9970432248304306e+01 -4.9087031780061963e-01 -9.7093058372178888e+01 4.9999999999999993e+01 -1.9418611674435782e+00 -4.3194201294604841e+00 2.3775589620169058e+00 5 4.9994801257977485e+01 4.9974671017998880e+01 -4.8858192683037621e-01 -9.7291505142812056e+01 4.9999999999999993e+01 -1.9458301028562415e+00 -4.3163812727238051e+00 2.3705511698675630e+00 6 4.9997714843681436e+01 4.9982897100679331e+01 -4.9093194610230290e-01 -9.7702570383522300e+01 5.0000000000000000e+01 -1.9540514076704460e+00 -4.3105616139856906e+00 2.3565102063152454e+00 7 5.0007412003784005e+01 5.0010881902570027e+01 -5.2110272755060705e-01 -9.7920892212579133e+01 5.0000000000000000e+01 -1.9584178442515827e+00 -4.3055738970673403e+00 2.3471560528157580e+00 8 4.9990340249788787e+01 4.9987359463236125e+01 -5.0874833940731967e-01 -9.7939553411516002e+01 5.0000000000000007e+01 -1.9587910682303198e+00 -4.3113561595155634e+00 2.3525650912852432e+00 9 4.9989284850478626e+01 4.9981113754918660e+01 -5.0401472905590616e-01 -9.8272343990656182e+01 5.0000000000000000e+01 -1.9654468798131237e+00 -4.3059263760891238e+00 2.3404794962759996e+00 10 5.0006358178325613e+01 5.0000626303982173e+01 -5.2611796729390081e-01 -9.7631184134596992e+01 5.0000000000000007e+01 -1.9526236826919396e+00 -4.3057905290823317e+00 2.3531668463903919e+00 11 4.9980080208319905e+01 4.9964096605758314e+01 -5.0367743461129999e-01 -9.8371913091738435e+01 5.0000000000000014e+01 -1.9674382618347681e+00 -4.3085366075498319e+00 2.3410983457150643e+00 12 4.9999931899736431e+01 4.9993907539921111e+01 -5.1187500571334732e-01 -9.8353383264582064e+01 4.9999999999999993e+01 -1.9670676652916417e+00 -4.3057810859607724e+00 2.3387134206691309e+00 13 5.0002668689623292e+01 5.0001259638211366e+01 -5.3646223591918407e-01 -9.9431472724407385e+01 5.0000000000000007e+01 -1.9886294544881473e+00 -4.3027794803545261e+00 2.3141500258663790e+00 14 4.9998826084918576e+01 5.0010955581098187e+01 -5.4435478943421745e-01 -9.9410765714284040e+01 4.9999999999999993e+01 -1.9882153142856811e+00 -4.3028827996241441e+00 2.3146674853384623e+00 15 4.9982614072712160e+01 4.9952091922242744e+01 -5.2096698062977853e-01 -9.9252527043375579e+01 5.0000000000000007e+01 -1.9850505408675112e+00 -4.2965557939014003e+00 2.3115052530338893e+00 16 4.9990789919252592e+01 4.9973016057325026e+01 -5.1743883837819094e-01 -9.8058542762004521e+01 4.9999999999999993e+01 -1.9611708552400908e+00 -4.3036254207827396e+00 2.3424545655426487e+00 17 4.9993406140504192e+01 4.9998093031715761e+01 -5.2068207001072209e-01 -9.7810171641123091e+01 4.9999999999999993e+01 -1.9562034328224622e+00 -4.3021554895597234e+00 2.3459520567372607e+00 18 4.9975149496412257e+01 4.9950113481249439e+01 -4.9005677110747670e-01 -9.7999026551000071e+01 5.0000000000000000e+01 -1.9599805310200014e+00 -4.3077444548056736e+00 2.3477639237856724e+00 19 5.0005774984390492e+01 5.0002251193645279e+01 -5.1313804176700895e-01 -9.8568097918989423e+01 5.0000000000000000e+01 -1.9713619583797886e+00 -4.3020695034150904e+00 2.3307075450353016e+00 20 4.9994172117780231e+01 4.9998603398896165e+01 -5.2135283528873477e-01 -9.9303299398269175e+01 5.0000000000000000e+01 -1.9860659879653835e+00 -4.3025271929278661e+00 2.3164612049624824e+00 21 4.9995540539900588e+01 4.9983850213668156e+01 -5.2500069320609266e-01 -9.8654834587960195e+01 4.9999999999999986e+01 -1.9730966917592045e+00 -4.2995162044321633e+00 2.3264195126729588e+00 22 4.9992854443426523e+01 4.9982982269585399e+01 -5.1687921128049441e-01 -9.9144502633874282e+01 4.9999999999999986e+01 -1.9828900526774864e+00 -4.3027621791799229e+00 2.3198721265024353e+00 23 5.0009319441501511e+01 5.0022835222998069e+01 -5.5309663419454003e-01 -9.9066684339159181e+01 5.0000000000000007e+01 -1.9813336867831832e+00 -4.2974451121122232e+00 2.3161114253290394e+00 24 4.9980093422969389e+01 4.9961797472414432e+01 -5.2516615738122541e-01 -9.8614704176758536e+01 5.0000000000000000e+01 -1.9722940835351708e+00 -4.2958739873981608e+00 2.3235799038629903e+00 25 4.9994903683055909e+01 4.9972682025857488e+01 -5.2523844585285329e-01 -9.9081490737931802e+01 5.0000000000000007e+01 -1.9816298147586358e+00 -4.2918535992996505e+00 2.3102237845410145e+00 26 4.9988338585218919e+01 4.9976526952501828e+01 -5.0861014543042593e-01 -9.8109548255270695e+01 5.0000000000000007e+01 -1.9621909651054137e+00 -4.2918645320355573e+00 2.3296735669301443e+00 27 4.9990834245715213e+01 4.9968323566239476e+01 -5.0075093856621189e-01 -9.8091356799549047e+01 5.0000000000000007e+01 -1.9618271359909807e+00 -4.3013358349746182e+00 2.3395086989836376e+00 28 4.9994738338054120e+01 4.9995865029125653e+01 -5.0860209232344544e-01 -9.8277177524773577e+01 4.9999999999999993e+01 -1.9655435504954719e+00 -4.2968221605206880e+00 2.3312786100252159e+00 29 4.9985949817529118e+01 4.9977845437993196e+01 -5.0164122061738314e-01 -9.7910038983702407e+01 5.0000000000000000e+01 -1.9582007796740482e+00 -4.2968167838148563e+00 2.3386160041408082e+00 30 4.9992088035229528e+01 4.9974992199507035e+01 -4.9642837810959883e-01 -9.7666891001829867e+01 5.0000000000000000e+01 -1.9533378200365974e+00 -4.2949670440235037e+00 2.3416292239869070e+00 31 4.9999109147124813e+01 4.9989536954869649e+01 -5.0482516571917013e-01 -9.7815204464413284e+01 4.9999999999999993e+01 -1.9563040892882662e+00 -4.2969376514416675e+00 2.3406335621534011e+00 32 4.9994153961188260e+01 4.9984604718898581e+01 -5.0661504745061636e-01 -9.7955232981519075e+01 5.0000000000000000e+01 -1.9591046596303816e+00 -4.2997153493492979e+00 2.3406106897189165e+00 33 4.9991514971757191e+01 4.9984375601409710e+01 -5.0716369047509058e-01 -9.8745105176034826e+01 4.9999999999999993e+01 -1.9749021035206968e+00 -4.3008548732694480e+00 2.3259527697487519e+00 34 5.0005343451714296e+01 5.0007976017923255e+01 -5.2625391794144383e-01 -9.8677998901312208e+01 5.0000000000000007e+01 -1.9735599780262438e+00 -4.3031445049539929e+00 2.3295845269277495e+00 35 4.9987483482277540e+01 4.9969837988977936e+01 -5.1873658001150935e-01 -9.8606628319365100e+01 4.9999999999999993e+01 -1.9721325663873024e+00 -4.2997473824171015e+00 2.3276148160297989e+00 36 5.0001187662637712e+01 4.9999520789206230e+01 -5.3305344920904607e-01 -9.8884945166772482e+01 5.0000000000000007e+01 -1.9776989033354493e+00 -4.2996832294195286e+00 2.3219843260840793e+00 37 4.9996728645946277e+01 4.9980649839976408e+01 -5.4874925857240786e-01 -9.9085777202352872e+01 5.0000000000000007e+01 -1.9817155440470571e+00 -4.3046448663738959e+00 2.3229293223268384e+00 38 4.9972114622023319e+01 4.9941646087250547e+01 -5.2003119149503718e-01 -9.8106304997623184e+01 5.0000000000000000e+01 -1.9621260999524637e+00 -4.2945608581543633e+00 2.3324347582018992e+00 39 4.9970077517419348e+01 4.9927005848964228e+01 -4.8912682424444492e-01 -9.7307242565102698e+01 5.0000000000000007e+01 -1.9461448513020536e+00 -4.2983826500019324e+00 2.3522377986998788e+00 40 4.9984798679108479e+01 4.9964407153068464e+01 -4.8364990002614527e-01 -9.7628783122446052e+01 5.0000000000000000e+01 -1.9525756624489210e+00 -4.2909079773566390e+00 2.3383323149077175e+00 41 5.0002817671269241e+01 4.9994492967876425e+01 -5.0508991806093217e-01 -9.7500963492958803e+01 5.0000000000000007e+01 -1.9500192698591758e+00 -4.2878538598001246e+00 2.3378345899409485e+00 42 4.9983261243728649e+01 4.9978116803823589e+01 -4.9634996089666183e-01 -9.8201524169693300e+01 5.0000000000000000e+01 -1.9640304833938660e+00 -4.2890164565790867e+00 2.3249859731852203e+00 43 4.9989907079234655e+01 4.9965312671317868e+01 -5.1718279776047849e-01 -9.9065492963159770e+01 5.0000000000000000e+01 -1.9813098592631955e+00 -4.2871956514628327e+00 2.3058857921996374e+00 44 4.9979733625990598e+01 4.9957198905276421e+01 -5.1111308534469380e-01 -9.9770971794708572e+01 5.0000000000000007e+01 -1.9954194358941710e+00 -4.2858514765436420e+00 2.2904320406494705e+00 45 5.0001137715694661e+01 4.9999105411951859e+01 -5.4990749244343806e-01 -9.8214313065759782e+01 5.0000000000000014e+01 -1.9642862613151950e+00 -4.2673307041698223e+00 2.3030444428546279e+00 46 4.9968303815945056e+01 4.9939032359940512e+01 -5.0597273385638297e-01 -9.7727974748325451e+01 5.0000000000000007e+01 -1.9545594949665088e+00 -4.2724118330145053e+00 2.3178523380479974e+00 47 4.9989647849689561e+01 4.9960145165255717e+01 -5.1228695517853384e-01 -9.8064320942202016e+01 5.0000000000000007e+01 -1.9612864188440400e+00 -4.2754579625824807e+00 2.3141715437384409e+00 48 4.9968121965909909e+01 4.9927904951468804e+01 -4.7888588195868059e-01 -9.8404043576266105e+01 5.0000000000000000e+01 -1.9680808715253222e+00 -4.2691965680866222e+00 2.3011156965613004e+00 49 5.0007235987386323e+01 4.9985935774013235e+01 -5.3140371844388923e-01 -9.8418368153502087e+01 5.0000000000000000e+01 -1.9683673630700418e+00 -4.2850431330789682e+00 2.3166757700089269e+00 50 4.9972003651908338e+01 4.9951637622629342e+01 -4.9688435641040990e-01 -9.7833249893577687e+01 5.0000000000000007e+01 -1.9566649978715533e+00 -4.2835571031838606e+00 2.3268921053123077e+00 51 4.9997581891458950e+01 4.9980594651541637e+01 -5.1205763859406983e-01 -9.7785148146568446e+01 5.0000000000000000e+01 -1.9557029629313689e+00 -4.2881573280947674e+00 2.3324543651633989e+00 52 4.9992032836567041e+01 4.9982206447625138e+01 -5.1074038272003275e-01 -9.8655261931102388e+01 5.0000000000000000e+01 -1.9731052386220478e+00 -4.2920465284994638e+00 2.3189412898774155e+00 53 4.9996290299352715e+01 4.9985303789574836e+01 -5.1824853011534910e-01 -9.8341451848160801e+01 4.9999999999999993e+01 -1.9668290369632164e+00 -4.2928210011798340e+00 2.3259919642166174e+00 54 4.9991606277841967e+01 4.9979729220857891e+01 -5.0951119765216268e-01 -9.8604618797892144e+01 5.0000000000000014e+01 -1.9720923759578421e+00 -4.2951650214871631e+00 2.3230726455293200e+00 55 4.9997363924449893e+01 4.9988912601915040e+01 -5.2881791551160562e-01 -9.7862401157971632e+01 5.0000000000000000e+01 -1.9572480231594327e+00 -4.2918702034661571e+00 2.3346221803067246e+00 56 4.9985359001188719e+01 4.9967422992136548e+01 -5.1410716251327826e-01 -9.7157112318081815e+01 5.0000000000000000e+01 -1.9431422463616363e+00 -4.2958252205453213e+00 2.3526829741836854e+00 57 4.9984607907566691e+01 4.9964583393484112e+01 -5.0282312721438227e-01 -9.7397841166327211e+01 4.9999999999999993e+01 -1.9479568233265445e+00 -4.2958497586594167e+00 2.3478929353328719e+00 58 4.9992629205983889e+01 4.9978066628935487e+01 -5.0730141242278537e-01 -9.7711132597477246e+01 5.0000000000000000e+01 -1.9542226519495449e+00 -4.2987761778936209e+00 2.3445535259440766e+00 59 4.9992029831262791e+01 4.9964195642612601e+01 -4.9425369437091432e-01 -9.8192915502826978e+01 4.9999999999999986e+01 -1.9638583100565403e+00 -4.3075882372768088e+00 2.3437299272202683e+00 60 4.9992138835409776e+01 4.9990209979405627e+01 -5.0508199466955339e-01 -9.8312867659532870e+01 4.9999999999999993e+01 -1.9662573531906578e+00 -4.3086170297430728e+00 2.3423596765524146e+00 61 4.9990278267527742e+01 4.9981724486243564e+01 -5.0894823246295517e-01 -9.7881327261555668e+01 5.0000000000000000e+01 -1.9576265452311135e+00 -4.3107771590713728e+00 2.3531506138402598e+00 62 4.9990243742759240e+01 4.9975161919777882e+01 -4.9921792292167005e-01 -9.7410251424034513e+01 5.0000000000000000e+01 -1.9482050284806902e+00 -4.3148717804806083e+00 2.3666667519999183e+00 63 4.9987261585729001e+01 4.9968155369514363e+01 -4.8100254978047685e-01 -9.7509913754898122e+01 4.9999999999999986e+01 -1.9501982750979632e+00 -4.3145299841647171e+00 2.3643317090667537e+00 64 4.9995055986703917e+01 4.9992379771572736e+01 -5.0256704560452503e-01 -9.7980891878746945e+01 5.0000000000000007e+01 -1.9596178375749387e+00 -4.3142900253690257e+00 2.3546721877940864e+00 65 4.9997443095928148e+01 4.9989777531757120e+01 -5.1116393336829324e-01 -9.8291606597809519e+01 5.0000000000000007e+01 -1.9658321319561900e+00 -4.3070873335425039e+00 2.3412552015863137e+00 66 4.9997759850601469e+01 4.9997938912507244e+01 -5.1665803226855200e-01 -9.8019806817668055e+01 5.0000000000000000e+01 -1.9603961363533611e+00 -4.3088209697716335e+00 2.3484248334182722e+00 67 4.9976425830372435e+01 4.9943655026514605e+01 -4.9057348761031710e-01 -9.8106318381151070e+01 4.9999999999999993e+01 -1.9621263676230218e+00 -4.3104726203983388e+00 2.3483462527753165e+00 68 5.0004814827202544e+01 4.9998180623414804e+01 -5.1222429002901415e-01 -9.8213729079976929e+01 5.0000000000000000e+01 -1.9642745815995386e+00 -4.3105461906206850e+00 2.3462716090211475e+00 69 4.9989958303432303e+01 4.9968661120834433e+01 -5.0270966010506379e-01 -9.7937576990940798e+01 5.0000000000000000e+01 -1.9587515398188160e+00 -4.3088894582066342e+00 2.3501379183878170e+00 70 4.9984101267437637e+01 4.9977032339175722e+01 -4.9663344904487972e-01 -9.7672220535982248e+01 5.0000000000000014e+01 -1.9534444107196443e+00 -4.3085630676847257e+00 2.3551186569650815e+00 71 4.9999136913758740e+01 4.9979757776361758e+01 -5.1151310031560970e-01 -9.7717293057168817e+01 5.0000000000000007e+01 -1.9543458611433759e+00 -4.3075945415828771e+00 2.3532486804395005e+00 72 4.9976509798755487e+01 4.9961477549611189e+01 -4.8509272827121908e-01 -9.7720032227446424e+01 5.0000000000000000e+01 -1.9544006445489286e+00 -4.3124202642822747e+00 2.3580196197333465e+00 73 4.9995904614658265e+01 4.9986964016028253e+01 -4.9538898545670995e-01 -9.8081181284150730e+01 4.9999999999999993e+01 -1.9616236256830151e+00 -4.3124166328848093e+00 2.3507930072017942e+00 74 4.9995004594462266e+01 4.9986202947733645e+01 -5.0127652599855088e-01 -9.7945560945456947e+01 5.0000000000000007e+01 -1.9589112189091387e+00 -4.3097052119600017e+00 2.3507939930508637e+00 75 4.9999786682311317e+01 4.9985804712706475e+01 -5.1837322288087961e-01 -9.7574870047905463e+01 5.0000000000000000e+01 -1.9514974009581094e+00 -4.3029651689624595e+00 2.3514677680043494e+00 76 4.9983923073221156e+01 4.9965023845100639e+01 -4.9615237804243345e-01 -9.7361123356454257e+01 4.9999999999999986e+01 -1.9472224671290859e+00 -4.3010404721652256e+00 2.3538180050361390e+00 77 4.9994498414319544e+01 4.9974661746169318e+01 -5.0348812861835579e-01 -9.7165736281155091e+01 4.9999999999999993e+01 -1.9433147256231023e+00 -4.2963248832161689e+00 2.3530101575930669e+00 78 4.9988085810003703e+01 4.9973803555192674e+01 -5.0637783404694126e-01 -9.7514402898547985e+01 4.9999999999999993e+01 -1.9502880579709601e+00 -4.2926125547166221e+00 2.3423244967456629e+00 79 4.9982739925498137e+01 4.9962750599193491e+01 -4.8175447921304110e-01 -9.7720084024148733e+01 5.0000000000000000e+01 -1.9544016804829747e+00 -4.2912618301423411e+00 2.3368601496593668e+00 80 4.9988248469877135e+01 4.9969938714148839e+01 -4.8523378488240404e-01 -9.7121004464965381e+01 5.0000000000000000e+01 -1.9424200892993078e+00 -4.2926199155375286e+00 2.3501998262382204e+00 81 4.9992494866569039e+01 4.9982341374242608e+01 -4.9246795321068221e-01 -9.7145090658374301e+01 5.0000000000000014e+01 -1.9429018131674853e+00 -4.2907870043485401e+00 2.3478851911810543e+00 82 4.9988239030609357e+01 4.9973665167521943e+01 -4.8065331792035221e-01 -9.7196091343458420e+01 4.9999999999999993e+01 -1.9439218268691687e+00 -4.2912486730631656e+00 2.3473268461939965e+00 83 5.0000186239574560e+01 4.9992134792584302e+01 -5.0195659715682561e-01 -9.7382251689268529e+01 4.9999999999999993e+01 -1.9476450337853710e+00 -4.2943460265696576e+00 2.3467009927842870e+00 84 4.9990239051185263e+01 4.9977284589704595e+01 -4.9645661311474548e-01 -9.7585497281741596e+01 5.0000000000000007e+01 -1.9517099456348317e+00 -4.2877967676876683e+00 2.3360868220528368e+00 85 4.9995848535424074e+01 4.9964588380671458e+01 -5.0078305046183080e-01 -9.7380193532608814e+01 5.0000000000000014e+01 -1.9476038706521757e+00 -4.2771155197289090e+00 2.3295116490767338e+00 86 4.9986702731432352e+01 4.9974022996236258e+01 -5.0168644950416941e-01 -9.8196848067922772e+01 4.9999999999999993e+01 -1.9639369613584559e+00 -4.2907184150434396e+00 2.3267814536849833e+00 87 4.9984222767269138e+01 4.9959539816216591e+01 -4.9820195022732411e-01 -9.8313374592412757e+01 4.9999999999999993e+01 -1.9662674918482554e+00 -4.2869020534323745e+00 2.3206345615841197e+00 88 4.9994098055469848e+01 4.9972883080766636e+01 -5.0801971450051475e-01 -9.8257486742923049e+01 4.9999999999999993e+01 -1.9651497348584614e+00 -4.2766560114745920e+00 2.3115062766161318e+00 89 4.9996883745613097e+01 4.9995594527025759e+01 -5.4872013597786684e-01 -9.8400276403947913e+01 5.0000000000000007e+01 -1.9680055280789579e+00 -4.2866253761623359e+00 2.3186198480833768e+00 90 4.9968526726643624e+01 4.9924541136227937e+01 -5.3294531517715904e-01 -9.9293396391211772e+01 5.0000000000000014e+01 -1.9858679278242348e+00 -4.2972221257770498e+00 2.3113541979528152e+00 91 4.9966865686611925e+01 4.9921775729284207e+01 -5.2281771185204584e-01 -9.8431980134365730e+01 5.0000000000000007e+01 -1.9686396026873143e+00 -4.2973948999579088e+00 2.3287552972705945e+00 92 4.9991049763958699e+01 4.9969301921760056e+01 -5.2760205017909312e-01 -9.9315157155384412e+01 5.0000000000000000e+01 -1.9863031431076883e+00 -4.2868946153647460e+00 2.3005914722570577e+00 93 4.9995661610510972e+01 4.9982891005876262e+01 -5.3872557622214556e-01 -9.8236433531743941e+01 4.9999999999999993e+01 -1.9647286706348792e+00 -4.2874066639524537e+00 2.3226779933175745e+00 94 4.9968485054623379e+01 4.9929329339515796e+01 -5.0744122708463268e-01 -9.7898525696985402e+01 5.0000000000000007e+01 -1.9579705139397077e+00 -4.2879202764331543e+00 2.3299497624934471e+00 95 4.9973241782245999e+01 4.9928252003521550e+01 -5.2356694455787356e-01 -9.8164528890665324e+01 5.0000000000000000e+01 -1.9632905778133065e+00 -4.2848685684539838e+00 2.3215779906406766e+00 96 4.9966557418229016e+01 4.9925274254502355e+01 -5.2331110076492426e-01 -9.7892685695400985e+01 5.0000000000000000e+01 -1.9578537139080197e+00 -4.2837026640558236e+00 2.3258489501478046e+00 97 4.9978663386041163e+01 4.9959743996853668e+01 -5.3264755457442881e-01 -9.8223092425093938e+01 5.0000000000000007e+01 -1.9644618485018785e+00 -4.2890751944254344e+00 2.3246133459235563e+00 98 4.9979519760927282e+01 4.9951324298787121e+01 -5.1718749421558274e-01 -9.8368191539150430e+01 5.0000000000000000e+01 -1.9673638307830086e+00 -4.2843339989434783e+00 2.3169701681604700e+00 99 4.9990630431548453e+01 4.9973673405107803e+01 -5.2346076761304550e-01 -9.9279984252310626e+01 4.9999999999999993e+01 -1.9855996850462130e+00 -4.2906408747600926e+00 2.3050411897138807e+00 100 4.9988577176595555e+01 4.9976200696204032e+01 -5.3335384343501258e-01 -9.9542925280574025e+01 5.0000000000000007e+01 -1.9908585056114803e+00 -4.2927434357293768e+00 2.3018849301178959e+00 101 4.9966703003632894e+01 4.9923072900587457e+01 -5.3613278184151536e-01 -9.8307187879935199e+01 5.0000000000000000e+01 -1.9661437575987040e+00 -4.2994461468775897e+00 2.3333023892788844e+00 102 4.9972056214502501e+01 4.9941140273227610e+01 -5.0892470146305557e-01 -9.8785772686435678e+01 4.9999999999999993e+01 -1.9757154537287140e+00 -4.2997404896138010e+00 2.3240250358850867e+00 103 4.9991412451912623e+01 4.9975650560149838e+01 -5.1692396825320597e-01 -9.8385448625830094e+01 5.0000000000000000e+01 -1.9677089725166019e+00 -4.3027225556896695e+00 2.3350135831730676e+00 104 4.9991828165575619e+01 4.9966840083414930e+01 -5.1995868448623583e-01 -9.9080671140777852e+01 4.9999999999999993e+01 -1.9816134228155575e+00 -4.3044715278343766e+00 2.3228581050188186e+00 105 4.9985563981991504e+01 4.9970799939299958e+01 -5.2223069415323620e-01 -9.8318342119009031e+01 4.9999999999999993e+01 -1.9663668423801810e+00 -4.2951259250093186e+00 2.3287590826291376e+00 106 4.9986348632435863e+01 4.9960261598652181e+01 -5.1204440691038122e-01 -9.8278478470775639e+01 5.0000000000000007e+01 -1.9655695694155124e+00 -4.3000100581209049e+00 2.3344404887053924e+00 107 4.9984572735725237e+01 4.9972030862947697e+01 -5.1706669556793505e-01 -9.9683065304824083e+01 5.0000000000000000e+01 -1.9936613060964816e+00 -4.3062573115376184e+00 2.3125960054411361e+00 108 4.9965583524455390e+01 4.9930187755332902e+01 -5.0942777929604677e-01 -9.8173418998429327e+01 5.0000000000000000e+01 -1.9634683799685866e+00 -4.3008680325161333e+00 2.3373996525475462e+00 109 4.9994649526900218e+01 4.9972146469568450e+01 -5.1059044638192297e-01 -9.8061805938206817e+01 5.0000000000000007e+01 -1.9612361187641361e+00 -4.3002967163835351e+00 2.3390605976194001e+00 110 4.9969123815395243e+01 4.9920427104522517e+01 -5.0337233331613362e-01 -9.7614569350490342e+01 4.9999999999999986e+01 -1.9522913870098075e+00 -4.2981580811883804e+00 2.3458666941785724e+00 111 4.9982185711463899e+01 4.9957991493873941e+01 -4.9533085145868011e-01 -9.8148734166904561e+01 5.0000000000000000e+01 -1.9629746833380912e+00 -4.2988208602930831e+00 2.3358461769549912e+00 112 4.9977820474663567e+01 4.9943317782529995e+01 -5.1026041565557978e-01 -9.8235177392792465e+01 5.0000000000000000e+01 -1.9647035478558494e+00 -4.3025418740908323e+00 2.3378383262349827e+00 113 4.9994069622540280e+01 4.9986215978847383e+01 -5.1610232186609262e-01 -9.8522675575130876e+01 5.0000000000000007e+01 -1.9704535115026172e+00 -4.3087375332546420e+00 2.3382840217520244e+00 114 4.9980783609773518e+01 4.9965814357947330e+01 -5.1702962576086187e-01 -9.8745419224419692e+01 5.0000000000000000e+01 -1.9749083844883939e+00 -4.3007390872573517e+00 2.3258307027689575e+00 115 4.9992548541962215e+01 4.9977449506824513e+01 -5.3063154074609065e-01 -9.8356607156018228e+01 5.0000000000000000e+01 -1.9671321431203646e+00 -4.2865469139125016e+00 2.3194147707921378e+00 116 4.9980633142531161e+01 4.9963278196066497e+01 -5.2014107826531242e-01 -9.8409999921341964e+01 4.9999999999999993e+01 -1.9681999984268397e+00 -4.2839306105976638e+00 2.3157306121708241e+00 117 4.9996183532890655e+01 4.9980507435569208e+01 -5.2925527100142089e-01 -9.8102857836128464e+01 4.9999999999999993e+01 -1.9620571567225698e+00 -4.2912089303097298e+00 2.3291517735871605e+00 118 4.9978401304484699e+01 4.9956815171488763e+01 -5.1069437668261153e-01 -9.8227200988514653e+01 5.0000000000000007e+01 -1.9645440197702928e+00 -4.2979382006962448e+00 2.3333941809259522e+00 119 4.9987658891821958e+01 4.9963898978087059e+01 -4.9672646287103195e-01 -9.7645264799798113e+01 5.0000000000000000e+01 -1.9529052959959623e+00 -4.3031003498717002e+00 2.3501950538757379e+00 120 5.0002596578085061e+01 4.9991692671518926e+01 -5.1430169211552901e-01 -9.8491013345117423e+01 5.0000000000000000e+01 -1.9698202669023486e+00 -4.3125463870196681e+00 2.3427261201173204e+00 121 4.9990829927374932e+01 4.9981755091102727e+01 -5.1386794350445253e-01 -9.8201382056024357e+01 5.0000000000000000e+01 -1.9640276411204871e+00 -4.3086832464844074e+00 2.3446556053639203e+00 122 4.9992785766630618e+01 4.9992609932544433e+01 -5.2110044221664220e-01 -9.8729136048660877e+01 5.0000000000000000e+01 -1.9745827209732176e+00 -4.3145278277661712e+00 2.3399451067929538e+00 123 4.9988572520476126e+01 4.9989363350065254e+01 -5.2450661044121083e-01 -9.8803769447662773e+01 5.0000000000000007e+01 -1.9760753889532552e+00 -4.3190346676448215e+00 2.3429592786915663e+00 124 4.9990809171205946e+01 4.9961340060948523e+01 -5.2303671552084174e-01 -9.9325638628457170e+01 5.0000000000000000e+01 -1.9865127725691434e+00 -4.3136367202560146e+00 2.3271239476868710e+00 125 5.0001050684914730e+01 5.0006704740906578e+01 -5.4450269642948479e-01 -9.9122012269802212e+01 5.0000000000000000e+01 -1.9824402453960444e+00 -4.3131620922889242e+00 2.3307218468928799e+00 126 4.9983986807702550e+01 4.9943623908317313e+01 -5.2120862868031381e-01 -9.9514390119619677e+01 5.0000000000000007e+01 -1.9902878023923933e+00 -4.3134193625736250e+00 2.3231315601812317e+00 127 4.9997333591909431e+01 4.9975464268123396e+01 -5.3358253242988174e-01 -9.9242007988077901e+01 5.0000000000000007e+01 -1.9848401597615577e+00 -4.3058130823409746e+00 2.3209729225794167e+00 128 4.9989060146892115e+01 4.9984843467216244e+01 -5.3637226487335077e-01 -9.9186775077402416e+01 5.0000000000000007e+01 -1.9837355015480480e+00 -4.3115028766161698e+00 2.3277673750681216e+00 129 4.9996936119457089e+01 4.9985781957203301e+01 -5.3995456495967209e-01 -9.8291745829845894e+01 4.9999999999999993e+01 -1.9658349165969182e+00 -4.3092255703752897e+00 2.3433906537783713e+00 130 4.9982526502597914e+01 4.9952408959517925e+01 -5.2021976083365840e-01 -9.9077202983019134e+01 5.0000000000000000e+01 -1.9815440596603828e+00 -4.3049420479056506e+00 2.3233979882452682e+00 131 5.0006809758449592e+01 4.9997362304428087e+01 -5.5265806933866157e-01 -1.0045865075123271e+02 4.9999999999999993e+01 -2.0091730150246545e+00 -4.3135146030620586e+00 2.3043415880374050e+00 132 4.9985998246949237e+01 4.9985196074603216e+01 -5.4224301845383172e-01 -1.0022071378403932e+02 5.0000000000000000e+01 -2.0044142756807863e+00 -4.3053704989775810e+00 2.3009562232967942e+00 133 4.9989559301414900e+01 4.9973711296784266e+01 -5.4317362985952145e-01 -1.0023125726431520e+02 4.9999999999999993e+01 -2.0046251452863046e+00 -4.2990007421046794e+00 2.2943755968183743e+00 134 4.9998094977668487e+01 4.9984967087136830e+01 -5.5102406019486072e-01 -1.0020395162308373e+02 4.9999999999999993e+01 -2.0040790324616751e+00 -4.3011587238945799e+00 2.2970796914329052e+00 135 4.9995241308128342e+01 5.0780669994320469e+01 -5.6041017719132036e-01 -9.9745742926914687e+01 5.0000000000000007e+01 -1.9949148585382934e+00 -4.3050354197629783e+00 2.3101205612246849e+00 136 4.9979668220211224e+01 4.9944881232658908e+01 -5.3750168657079200e-01 -1.0000628283655578e+02 5.0000000000000000e+01 -2.0001256567311159e+00 -4.2973536742521414e+00 2.2972280175210251e+00 137 4.9992344018924854e+01 4.9977908944012555e+01 -5.4247806986449498e-01 -9.8858065791775957e+01 5.0000000000000000e+01 -1.9771613158355192e+00 -4.2769787283339786e+00 2.2998174124984589e+00 138 4.9968893896500958e+01 4.9932546344547276e+01 -5.2139511485475309e-01 -9.9462472911301077e+01 5.0000000000000000e+01 -1.9892494582260216e+00 -4.2849690268646956e+00 2.2957195686386740e+00 139 4.9998672277359063e+01 4.9997792922919814e+01 -5.5408635356096692e-01 -9.9820916993219825e+01 5.0000000000000014e+01 -1.9964183398643958e+00 -4.2869488231150177e+00 2.2905304832506213e+00 140 4.9979782575054067e+01 4.9968876540571976e+01 -5.5615842694077666e-01 -9.9196467806988920e+01 5.0000000000000007e+01 -1.9839293561397782e+00 -4.2845304952282541e+00 2.3006011390884762e+00 141 4.9978512882832582e+01 4.9934636208196601e+01 -5.3477618232438329e-01 -9.9143112352476692e+01 5.0000000000000000e+01 -1.9828622470495338e+00 -4.2838457472698135e+00 2.3009835002202794e+00 142 4.9984514754539198e+01 4.9959953311900883e+01 -5.4105541443594496e-01 -9.8546335630322588e+01 4.9999999999999993e+01 -1.9709267126064522e+00 -4.2888827922757562e+00 2.3179560796693037e+00 143 4.9965919677154226e+01 4.9936343103719423e+01 -5.0994060782755579e-01 -9.8458364355324008e+01 5.0000000000000000e+01 -1.9691672871064803e+00 -4.2857436322552669e+00 2.3165763451487869e+00 144 4.9995865231394063e+01 4.9958660653662392e+01 -5.2790181130781522e-01 -9.8645837611648602e+01 5.0000000000000007e+01 -1.9729167522329718e+00 -4.2799543692570525e+00 2.3070376170240792e+00 145 4.9977448757862248e+01 4.9943809254289846e+01 -5.2221307547794593e-01 -9.9185738736103531e+01 5.0000000000000000e+01 -1.9837147747220707e+00 -4.2781484199744755e+00 2.2944336452524050e+00 146 4.9973049846328948e+01 4.9935518016372811e+01 -5.1272558440436700e-01 -9.9614477656920599e+01 4.9999999999999993e+01 -1.9922895531384124e+00 -4.2679675535075363e+00 2.2756780003691239e+00 147 4.9991055354523922e+01 4.9958826856908381e+01 -5.5178471616864178e-01 -9.9624088055226679e+01 4.9999999999999993e+01 -1.9924817611045340e+00 -4.2818907051208850e+00 2.2894089440163512e+00 148 4.9971998468212206e+01 4.9928285670536226e+01 -5.1751368753326366e-01 -9.9455951329786444e+01 5.0000000000000000e+01 -1.9891190265957290e+00 -4.2985535235906802e+00 2.3094344969949514e+00 149 5.0008318613060126e+01 4.9995284129428349e+01 -5.6222343789570806e-01 -9.9826869033299843e+01 5.0000000000000000e+01 -1.9965373806659970e+00 -4.3013282890226359e+00 2.3047909083566398e+00 150 4.9977309468112054e+01 4.9950231302732838e+01 -5.4787899910011140e-01 -9.9727207372902257e+01 5.0000000000000007e+01 -1.9945441474580448e+00 -4.2985485461527793e+00 2.3040043986947345e+00 151 4.9992799712536566e+01 4.9981922764225139e+01 -5.6948685575324887e-01 -9.9661424848335287e+01 5.0000000000000007e+01 -1.9932284969667053e+00 -4.3075834997057560e+00 2.3143550027390507e+00 152 4.9947482608074068e+01 4.9854377559189771e+01 -5.2786337061069066e-01 -9.9624741528672729e+01 4.9999999999999993e+01 -1.9924948305734549e+00 -4.3024240449830895e+00 2.3099292144096339e+00 153 4.9985621364476039e+01 4.9940183537047396e+01 -5.2396878766701127e-01 -1.0006825874882837e+02 5.0000000000000000e+01 -2.0013651749765673e+00 -4.2978062118671376e+00 2.2964410368905703e+00 154 4.9968202941158104e+01 4.9922557076102905e+01 -5.1584142528376209e-01 -9.8631135215809820e+01 5.0000000000000007e+01 -1.9726227043161961e+00 -4.3076164637375776e+00 2.3349937594213817e+00 155 4.9940461044350613e+01 5.0260465724514098e+01 -4.7296476420260131e-01 -9.7015115260594840e+01 4.9999999999999993e+01 -1.9403023052118971e+00 -4.3016527230959456e+00 2.3613504178840476e+00 156 4.9992002359879784e+01 4.9973024838319006e+01 -4.8254927911351048e-01 -9.7097989951722610e+01 5.0000000000000000e+01 -1.9419597990344521e+00 -4.3053701664141917e+00 2.3634103673797391e+00 157 4.9983583081822701e+01 4.9976299128134315e+01 -4.8320068697688368e-01 -9.6457489222281907e+01 4.9999999999999993e+01 -1.9291497844456384e+00 -4.2986110609338368e+00 2.3694612764881988e+00 158 4.9989939238041892e+01 4.9971929554759207e+01 -4.9388399557770396e-01 -9.6842456164738365e+01 5.0000000000000000e+01 -1.9368491232947673e+00 -4.2984826825425184e+00 2.3616335592477506e+00 159 4.9985657992281524e+01 4.9961459537338243e+01 -4.8859065042676364e-01 -9.6683716003207394e+01 4.9999999999999986e+01 -1.9336743200641486e+00 -4.2981515772668821e+00 2.3644772572027333e+00 160 4.9977061990707135e+01 4.9941078364243722e+01 -4.6304509735663946e-01 -9.7040225498817492e+01 5.0000000000000000e+01 -1.9408045099763498e+00 -4.2981460688054494e+00 2.3573415588290998e+00 161 5.0005880456490189e+01 4.9997802282983415e+01 -5.0052217218896033e-01 -9.7610242566385665e+01 4.9999999999999993e+01 -1.9522048513277137e+00 -4.2963658020096043e+00 2.3441609506818910e+00 162 4.9991837572114363e+01 4.9984678457114718e+01 -5.0442067399175672e-01 -9.8342038934718246e+01 5.0000000000000000e+01 -1.9668407786943649e+00 -4.2945193134651571e+00 2.3276785347707931e+00 163 4.9990756466301427e+01 4.9993507297770819e+01 -5.2680467496219441e-01 -9.7885226677002450e+01 5.0000000000000007e+01 -1.9577045335400487e+00 -4.2946040693408865e+00 2.3368995358008373e+00 164 4.9971939305679591e+01 4.9932202411206191e+01 -4.9890270553845334e-01 -9.8207633150542833e+01 4.9999999999999993e+01 -1.9641526630108570e+00 -4.2929975886827965e+00 2.3288449256719392e+00 165 4.9993499072724916e+01 4.9972653222556040e+01 -5.1680082087703283e-01 -9.8278202033188151e+01 5.0000000000000000e+01 -1.9655640406637631e+00 -4.2790125994507013e+00 2.3134485587869378e+00 166 4.9985700507521024e+01 4.9967290218611225e+01 -5.1780366567719238e-01 -9.9154495830396186e+01 5.0000000000000000e+01 -1.9830899166079237e+00 -4.2978870523776838e+00 2.3147971357697603e+00 167 4.9985362902779670e+01 4.9976265686785823e+01 -5.2211382314280530e-01 -9.8705542790329915e+01 5.0000000000000000e+01 -1.9741108558065983e+00 -4.2962120703974263e+00 2.3221012145908277e+00 168 4.9991447492840408e+01 4.9975630846185084e+01 -5.2645579790138730e-01 -9.9149053687549753e+01 5.0000000000000000e+01 -1.9829810737509952e+00 -4.3050375420773745e+00 2.3220564683263798e+00 169 4.9991729391718472e+01 4.9968051948452867e+01 -5.2346310247177885e-01 -9.8705917439319336e+01 5.0000000000000007e+01 -1.9741183487863865e+00 -4.3063039572874260e+00 2.3321856085010397e+00 170 4.9983865463645060e+01 4.9975468964463055e+01 -5.2605487640659232e-01 -9.8352250186048451e+01 4.9999999999999993e+01 -1.9670450037209695e+00 -4.2944813293960218e+00 2.3274363256750519e+00 171 4.9983644629425662e+01 4.9970599378780371e+01 -5.1970145648679633e-01 -9.7843958838984491e+01 5.0000000000000000e+01 -1.9568791767796898e+00 -4.2878932668885401e+00 2.3310140901088507e+00 172 4.9993938112795284e+01 4.9970100496365177e+01 -5.2163435652673684e-01 -9.8351626018197649e+01 4.9999999999999993e+01 -1.9670325203639534e+00 -4.2987641525301692e+00 2.3317316321662163e+00 173 4.9982314335270530e+01 4.9946283545493543e+01 -5.0093430249256043e-01 -9.8889393234376399e+01 5.0000000000000000e+01 -1.9777878646875280e+00 -4.3052131445556290e+00 2.3274252798681005e+00 174 4.9997328850244166e+01 4.9994234483878770e+01 -5.2643601067106627e-01 -9.9106848391631559e+01 5.0000000000000000e+01 -1.9821369678326313e+00 -4.2993772338988281e+00 2.3172402660661975e+00 175 4.9991028561286207e+01 4.9986821423980054e+01 -5.3588991761097449e-01 -9.9638015913933032e+01 5.0000000000000000e+01 -1.9927603182786606e+00 -4.3022178597043146e+00 2.3094575414256537e+00 176 4.9995085467298843e+01 4.9983489105141906e+01 -5.6507096358413444e-01 -9.9424675980004167e+01 5.0000000000000000e+01 -1.9884935196000835e+00 -4.2929972759058703e+00 2.3045037563057873e+00 177 4.9969227388359116e+01 4.9927372821256959e+01 -5.3784628042710891e-01 -9.9387304951346763e+01 5.0000000000000000e+01 -1.9877460990269353e+00 -4.2949755243277554e+00 2.3072294253008194e+00 178 4.9984340508701479e+01 4.9964910412315483e+01 -5.4347026488666839e-01 -9.9860794856556240e+01 5.0000000000000007e+01 -1.9972158971311245e+00 -4.3020944616955354e+00 2.3048785645644112e+00 179 4.9987207440374888e+01 4.9971925569348372e+01 -5.4653301270189736e-01 -9.9242919219449007e+01 4.9999999999999993e+01 -1.9848583843889804e+00 -4.2915543622785117e+00 2.3066959778895302e+00 180 4.9971380922334831e+01 4.9937127530033813e+01 -5.1601837351088897e-01 -9.8427650721441850e+01 5.0000000000000007e+01 -1.9685530144288368e+00 -4.2934594674846007e+00 2.3249064530557644e+00 181 4.9996568157475032e+01 4.9982608375820710e+01 -5.3481445910002312e-01 -9.8284881246605281e+01 5.0000000000000000e+01 -1.9656976249321056e+00 -4.3081557363747836e+00 2.3424581114426775e+00 182 4.9983590194863041e+01 4.9961778578793130e+01 -5.2477872262991221e-01 -9.8668924234075462e+01 5.0000000000000014e+01 -1.9733784846815086e+00 -4.3107527016732909e+00 2.3373742169917824e+00 183 4.9985616377704496e+01 4.9961852104365505e+01 -5.1606737753569920e-01 -9.8478530672711472e+01 5.0000000000000000e+01 -1.9695706134542295e+00 -4.3075566029825891e+00 2.3379859895283595e+00 184 4.9987297403367286e+01 4.9972864552322335e+01 -5.0614105049683134e-01 -9.7712752544218503e+01 5.0000000000000000e+01 -1.9542550508843701e+00 -4.3055847671054295e+00 2.3513297162210587e+00 185 4.9990124415026941e+01 4.9979648414611084e+01 -5.0735001242207822e-01 -9.7861377790776842e+01 5.0000000000000000e+01 -1.9572275558155370e+00 -4.2927647216603519e+00 2.3355371658448143e+00 186 4.9988360517096666e+01 4.9953638037905066e+01 -4.9980048389058856e-01 -9.7709927229541933e+01 5.0000000000000000e+01 -1.9541985445908387e+00 -4.2945586448669335e+00 2.3403601002760950e+00 187 4.9997566250750708e+01 4.9995419722493551e+01 -5.0885389203704445e-01 -9.8175661234179387e+01 4.9999999999999993e+01 -1.9635132246835880e+00 -4.2896411866610178e+00 2.3261279619774293e+00 188 4.9995669293339752e+01 4.9985111459679409e+01 -5.2419265902496714e-01 -9.9056951343003817e+01 4.9999999999999993e+01 -1.9811390268600768e+00 -4.3016754123290033e+00 2.3205363854689267e+00 189 4.9994374067654469e+01 4.9990854741889926e+01 -5.5055425614383491e-01 -9.9939258630701389e+01 5.0000000000000007e+01 -1.9987851726140275e+00 -4.3212247405529425e+00 2.3224395679389152e+00 190 4.9982897433882776e+01 4.9981349018799541e+01 -5.6119719386745959e-01 -1.0063201836322158e+02 5.0000000000000000e+01 -2.0126403672644315e+00 -4.3165530878636780e+00 2.3039127205992473e+00 191 4.9971513574966103e+01 4.9927143156537042e+01 -5.5801923381178764e-01 -1.0125417782555546e+02 4.9999999999999993e+01 -2.0250835565111096e+00 -4.3165926803538435e+00 2.2915091238427334e+00 192 4.9995054835242719e+01 4.9981126758319760e+01 -5.5720614278504266e-01 -1.0033284370055155e+02 5.0000000000000000e+01 -2.0066568740110311e+00 -4.3122160321542520e+00 2.3055591581432209e+00 193 4.9999677503543545e+01 4.9968745620221192e+01 -5.9182166595618635e-01 -1.0107031968688842e+02 5.0000000000000007e+01 -2.0214063937377680e+00 -4.3230860981040644e+00 2.3016797043662973e+00 194 4.9974693410602107e+01 4.9943899534743537e+01 -5.8391263721592435e-01 -1.0029930360061984e+02 4.9999999999999993e+01 -2.0059860720123970e+00 -4.3208879010311954e+00 2.3149018290187975e+00 195 4.9948987879679230e+01 4.9894962599529002e+01 -5.2283955573994589e-01 -9.9144794805221082e+01 4.9999999999999993e+01 -1.9828958961044221e+00 -4.3142965526264625e+00 2.3314006565220415e+00 196 5.0001603812434453e+01 4.9972958534592763e+01 -5.4197906772937854e-01 -9.9529330496956135e+01 5.0000000000000000e+01 -1.9905866099391227e+00 -4.3159626349288587e+00 2.3253760249897351e+00 197 4.9980736450896245e+01 4.9958675917967895e+01 -5.2406991006698422e-01 -9.8814396398727737e+01 5.0000000000000007e+01 -1.9762879279745544e+00 -4.3095706414935178e+00 2.3332827135189635e+00 198 4.9979637000734897e+01 4.9951165669402307e+01 -5.1037625861118063e-01 -9.9455579504285311e+01 4.9999999999999993e+01 -1.9891115900857066e+00 -4.3057511453505724e+00 2.3166395552648660e+00 199 4.9999648085738890e+01 4.9985766828813368e+01 -5.4624846722187581e-01 -9.9321520940153576e+01 4.9999999999999986e+01 -1.9864304188030721e+00 -4.3088801037516493e+00 2.3224496849485767e+00 200 4.9984324412786364e+01 4.9971384257678878e+01 -5.4552924545243442e-01 -9.9175952231446630e+01 5.0000000000000007e+01 -1.9835190446289324e+00 -4.3084490724896165e+00 2.3249300278606837e+00 201 4.9979690398986477e+01 4.9960480055108036e+01 -5.4174560038318598e-01 -9.8660549994475659e+01 5.0000000000000007e+01 -1.9732109998895129e+00 -4.3123634015234389e+00 2.3391524016339265e+00 202 4.9961771873225601e+01 4.9919594641052072e+01 -5.1887389822799534e-01 -9.8082486844807576e+01 5.0000000000000007e+01 -1.9616497368961512e+00 -4.3118548126388090e+00 2.3502050757426587e+00 203 4.9982533888427909e+01 4.9933053996780174e+01 -4.9854845129936087e-01 -9.7836430067266022e+01 4.9999999999999993e+01 -1.9567286013453209e+00 -4.3030548394136998e+00 2.3463262380683796e+00 204 4.9987861294970003e+01 4.9980405613862821e+01 -5.0504122336702650e-01 -9.7438999184220819e+01 5.0000000000000007e+01 -1.9487799836844162e+00 -4.3024063261580299e+00 2.3536263424736132e+00 205 4.9986344254502811e+01 4.9961642815970833e+01 -4.9400951625779804e-01 -9.7198185303196468e+01 4.9999999999999993e+01 -1.9439637060639297e+00 -4.2902074065489968e+00 2.3462437004850663e+00 206 4.9992758241911986e+01 4.9978894445318005e+01 -5.1054378495542763e-01 -9.7134948292562171e+01 5.0000000000000007e+01 -1.9426989658512432e+00 -4.2820456414395416e+00 2.3393466755882986e+00 207 4.9989699692834101e+01 4.9975734812420349e+01 -5.1761467112545445e-01 -9.7812877035336896e+01 5.0000000000000007e+01 -1.9562575407067375e+00 -4.2919837918245172e+00 2.3357262511177797e+00 208 4.9978977369246181e+01 4.9951651318461458e+01 -4.8943190709857703e-01 -9.7257203464941412e+01 5.0000000000000007e+01 -1.9451440692988280e+00 -4.2938404658004989e+00 2.3486963965016718e+00 209 4.9981508378812308e+01 4.9949557203164581e+01 -4.8443426100778730e-01 -9.7812446404197928e+01 5.0000000000000007e+01 -1.9562489280839583e+00 -4.2944736059568500e+00 2.3382246778728915e+00 210 5.0003967305587722e+01 4.9981588278186628e+01 -5.0646746400082787e-01 -9.8187480420421508e+01 5.0000000000000000e+01 -1.9637496084084303e+00 -4.2928745717179053e+00 2.3291249633094759e+00 211 4.9984809791305644e+01 4.9979195954107588e+01 -5.0551325049013507e-01 -9.9351219594285979e+01 5.0000000000000000e+01 -1.9870243918857196e+00 -4.3073207326901324e+00 2.3202963408044126e+00 212 4.9993889487446076e+01 4.9980131468240081e+01 -5.2859465182877219e-01 -1.0020037584833092e+02 5.0000000000000007e+01 -2.0040075169666181e+00 -4.3156186533086034e+00 2.3116111363419853e+00 213 4.9931343486669221e+01 4.9841885925061831e+01 -5.2457781906939205e-01 -9.8958554291679491e+01 5.0000000000000007e+01 -1.9791710858335896e+00 -4.2953369076926737e+00 2.3161658218590846e+00 214 4.9988315936323389e+01 4.9965670407978941e+01 -5.2400761076938629e-01 -9.8418805817109373e+01 5.0000000000000007e+01 -1.9683761163421871e+00 -4.2906899391664304e+00 2.3223138228242437e+00 215 4.9981016624149063e+01 4.9956056267126137e+01 -5.1948216894066401e-01 -9.8029487487218404e+01 4.9999999999999993e+01 -1.9605897497443685e+00 -4.2877220334788690e+00 2.3271322837345005e+00 216 4.9977740873600204e+01 4.9964667514118709e+01 -5.0645084182849165e-01 -9.7970798099616275e+01 5.0000000000000000e+01 -1.9594159619923255e+00 -4.2930024187892553e+00 2.3335864567969291e+00 217 4.9984834586180106e+01 4.9961976829817679e+01 -5.1386472065574351e-01 -9.8779541436358116e+01 5.0000000000000007e+01 -1.9755908287271620e+00 -4.2916584453750986e+00 2.3160676166479361e+00 218 4.9971422210689269e+01 4.9923498776367076e+01 -5.0884208437647482e-01 -9.8248887875421488e+01 5.0000000000000000e+01 -1.9649777575084297e+00 -4.2721196875029310e+00 2.3071419299945002e+00 219 4.9963061312418851e+01 4.9918077160467902e+01 -4.8197608427518041e-01 -9.6958003350453239e+01 4.9999999999999993e+01 -1.9391600670090652e+00 -4.2744431441264226e+00 2.3352830771173569e+00 220 4.9990594458723308e+01 4.9958585319191599e+01 -5.0507859597873617e-01 -9.8528364533860966e+01 4.9999999999999993e+01 -1.9705672906772198e+00 -4.2748808906002482e+00 2.3043135999230286e+00 221 4.9970157438078516e+01 4.9946847675864667e+01 -4.8894756001727424e-01 -9.7639469541099686e+01 5.0000000000000000e+01 -1.9527893908219938e+00 -4.2946620454700870e+00 2.3418726546480935e+00 222 4.9984626834875485e+01 4.9947037437006223e+01 -4.9180289195205296e-01 -9.8042309373268708e+01 5.0000000000000000e+01 -1.9608461874653742e+00 -4.2999570618852072e+00 2.3391108744198332e+00 223 4.9984171844928632e+01 4.9968962038249067e+01 -4.9477489078807402e-01 -9.7551559836172373e+01 5.0000000000000007e+01 -1.9510311967234473e+00 -4.3045733845091814e+00 2.3535421877857345e+00 224 4.9984882822291240e+01 4.9968386675999852e+01 -4.9421238439462534e-01 -9.7049853980543489e+01 5.0000000000000000e+01 -1.9409970796108698e+00 -4.3024358955112589e+00 2.3614388159003896e+00 225 4.9984147464708144e+01 4.9964171983302315e+01 -4.8709554669650690e-01 -9.6748470204196323e+01 5.0000000000000007e+01 -1.9349694040839263e+00 -4.3053379272553904e+00 2.3703685231714648e+00 226 4.9994874291826200e+01 4.9982256323265176e+01 -4.9704423868166303e-01 -9.6609571098672774e+01 5.0000000000000007e+01 -1.9321914219734553e+00 -4.3057747578343006e+00 2.3735833358608454e+00 227 4.9981405743096232e+01 4.9966452396085501e+01 -4.9087938950302901e-01 -9.7255654731903135e+01 5.0000000000000000e+01 -1.9451130946380628e+00 -4.3124328108759871e+00 2.3673197162379251e+00 228 4.9986337470395831e+01 4.9954275175430986e+01 -4.7858473571763543e-01 -9.7303982385253292e+01 5.0000000000000000e+01 -1.9460796477050659e+00 -4.3081697884627417e+00 2.3620901407576751e+00 229 4.9981575350726651e+01 4.9969894841264875e+01 -4.7707440476462226e-01 -9.7467882505396787e+01 5.0000000000000000e+01 -1.9493576501079357e+00 -4.3074602833224267e+00 2.3581026332144903e+00 230 5.0000813270985255e+01 4.9980876457871453e+01 -4.8775085184459327e-01 -9.7583087879785126e+01 5.0000000000000000e+01 -1.9516617575957025e+00 -4.3179643860008596e+00 2.3663026284051578e+00 231 4.9998620038597764e+01 4.9993891347454493e+01 -5.0924889272519891e-01 -9.7668070284202173e+01 5.0000000000000007e+01 -1.9533614056840432e+00 -4.3133840472746536e+00 2.3600226415906107e+00 232 4.9978729093871642e+01 4.9960229185290409e+01 -4.9520990924257718e-01 -9.7923227949331277e+01 5.0000000000000007e+01 -1.9584645589866252e+00 -4.3102583310256080e+00 2.3517937720389832e+00 233 4.9999287393814178e+01 4.9975756791222430e+01 -5.1115394055645980e-01 -9.7944183220849155e+01 5.0000000000000000e+01 -1.9588836644169831e+00 -4.3154385816268848e+00 2.3565549172099018e+00 234 4.9991731207678377e+01 4.9989705522608958e+01 -5.2097882431269316e-01 -9.8185774889767373e+01 5.0000000000000000e+01 -1.9637154977953475e+00 -4.3061408638013061e+00 2.3424253660059584e+00 235 4.9975117549701828e+01 4.9938802925850908e+01 -5.0223169793688471e-01 -9.8094023705255097e+01 5.0000000000000000e+01 -1.9618804741051019e+00 -4.3041036145612859e+00 2.3422231404561837e+00 236 4.9989771327622961e+01 4.9980822749320552e+01 -5.1997470368097554e-01 -9.8688017028883820e+01 5.0000000000000000e+01 -1.9737603405776765e+00 -4.3101638457624185e+00 2.3364035051847423e+00 237 4.9991512470907949e+01 4.9969680650564960e+01 -5.1599495839711185e-01 -9.8531604095790343e+01 5.0000000000000007e+01 -1.9706320819158065e+00 -4.3150843460309609e+00 2.3444522641151537e+00 238 4.9993093478613574e+01 4.9981137616693758e+01 -5.3160902591706527e-01 -9.8748338393299662e+01 5.0000000000000007e+01 -1.9749667678659930e+00 -4.3223758763753883e+00 2.3474091085093947e+00 239 4.9968584861718995e+01 4.9946324543728259e+01 -4.9303550654010259e-01 -9.8134944486878652e+01 4.9999999999999993e+01 -1.9626988897375734e+00 -4.3147159868064939e+00 2.3520170970689205e+00 240 5.0000429020997800e+01 4.9979910589643076e+01 -5.0851723548514638e-01 -9.8393923268484059e+01 5.0000000000000000e+01 -1.9678784653696813e+00 -4.3142629706185565e+00 2.3463845052488752e+00 241 5.0001723024675350e+01 4.9998796007657340e+01 -5.2577843284780446e-01 -9.8632713398814843e+01 5.0000000000000007e+01 -1.9726542679762966e+00 -4.3156581561010912e+00 2.3430038881247950e+00 242 4.9979006602007416e+01 4.9964824260302933e+01 -5.0389080942060305e-01 -9.8591413150915017e+01 5.0000000000000007e+01 -1.9718282630182999e+00 -4.3164599305773743e+00 2.3446316675590744e+00 243 5.0004657106027352e+01 4.9993979839918147e+01 -5.2406384686528473e-01 -9.9223378709146616e+01 4.9999999999999993e+01 -1.9844675741829327e+00 -4.3176276864019165e+00 2.3331601122189825e+00 244 4.9993647434936797e+01 4.9986319909132753e+01 -5.2581164815047254e-01 -9.9478658402923472e+01 5.0000000000000007e+01 -1.9895731680584692e+00 -4.3176655835763089e+00 2.3280924155178395e+00 245 4.9998222392766415e+01 4.9990146975950609e+01 -5.5450719839375928e-01 -9.9638231191623603e+01 4.9999999999999986e+01 -1.9927646238324728e+00 -4.3171535127418945e+00 2.3243888889094215e+00 246 4.9987253068173167e+01 4.9980952465680858e+01 -5.4076147948598619e-01 -9.9012727086229390e+01 5.0000000000000000e+01 -1.9802545417245878e+00 -4.3194167762318418e+00 2.3391622345072540e+00 247 4.9981861001729598e+01 4.9940089363730422e+01 -5.1599924754193827e-01 -9.8738917869174458e+01 4.9999999999999993e+01 -1.9747783573834896e+00 -4.3193300028956934e+00 2.3445516455122042e+00 248 5.0001617959023044e+01 4.9988148980696373e+01 -5.3380700250088453e-01 -9.9003517001750154e+01 5.0000000000000000e+01 -1.9800703400350030e+00 -4.3218604765925299e+00 2.3417901365575271e+00 249 4.9989194485660583e+01 4.9972867610558900e+01 -5.3862631625953128e-01 -9.9840690603765225e+01 5.0000000000000000e+01 -1.9968138120753045e+00 -4.3273383630187174e+00 2.3305245509434127e+00 250 4.9989351656883748e+01 4.9986324360779513e+01 -5.4998166655141234e-01 -9.9472667054517061e+01 5.0000000000000000e+01 -1.9894533410903412e+00 -4.3276604491022805e+00 2.3382071080119395e+00 251 4.9968556849872833e+01 4.9929936239928310e+01 -5.2044490654020470e-01 -9.9200250898212673e+01 4.9999999999999993e+01 -1.9840050179642539e+00 -4.3201584195207783e+00 2.3361534015565240e+00 252 4.9993435777522258e+01 4.9967749004661350e+01 -5.2562292990735260e-01 -9.8980573179280199e+01 5.0000000000000000e+01 -1.9796114635856041e+00 -4.3151414382137752e+00 2.3355299746281712e+00 253 4.9984299110120432e+01 4.9967578480511314e+01 -5.1859119459663294e-01 -9.9043838408583653e+01 5.0000000000000007e+01 -1.9808767681716728e+00 -4.3179670515358461e+00 2.3370902833641733e+00 254 4.9998153543399489e+01 5.0002862814772683e+01 -5.4968990084983660e-01 -9.9490021108563440e+01 5.0000000000000007e+01 -1.9898004221712684e+00 -4.3196589458914492e+00 2.3298585237201812e+00 255 4.9975383871588491e+01 4.9954776019392433e+01 -5.2148197733600610e-01 -9.8127603042036611e+01 5.0000000000000007e+01 -1.9625520608407319e+00 -4.3226760360466141e+00 2.3601239752058834e+00 256 4.9993630422345831e+01 4.9970822603856085e+01 -5.2612646602648239e-01 -9.8407686054056214e+01 5.0000000000000000e+01 -1.9681537210811244e+00 -4.3207772135363127e+00 2.3526234924551885e+00 257 4.9987170776264229e+01 4.9987333018662504e+01 -5.2902523571216498e-01 -9.8594800668064437e+01 5.0000000000000000e+01 -1.9718960133612888e+00 -4.3299840505989238e+00 2.3580880372376360e+00 258 4.9990048149929493e+01 4.9958613087560352e+01 -5.2193646966731910e-01 -9.8581300707894457e+01 5.0000000000000007e+01 -1.9716260141578887e+00 -4.3266019669430182e+00 2.3549759527851291e+00 259 4.9985898610681936e+01 4.9960314309804176e+01 -5.1786167233724867e-01 -9.8908332501254336e+01 4.9999999999999993e+01 -1.9781666500250872e+00 -4.3282761786964477e+00 2.3501095286713602e+00 260 4.9989083268492415e+01 4.9970079806647810e+01 -5.2387362195701459e-01 -9.8584173675137237e+01 5.0000000000000007e+01 -1.9716834735027444e+00 -4.3163935405893401e+00 2.3447100670865964e+00 261 4.9989396083982626e+01 4.9958240469204725e+01 -5.2032952066178972e-01 -9.9238113545305993e+01 4.9999999999999993e+01 -1.9847622709061203e+00 -4.3058173269737843e+00 2.3210550560676650e+00 262 4.9973063618957887e+01 4.9982180916625985e+01 -5.6822552726305142e-01 -1.0030550644836595e+02 5.0000000000000007e+01 -2.0061101289673187e+00 -4.3153814805061383e+00 2.3092713515388184e+00 263 4.9955270400859327e+01 4.9852891748640339e+01 -5.2604874485831066e-01 -9.8281502036363008e+01 5.0000000000000000e+01 -1.9656300407272602e+00 -4.3003524917481597e+00 2.3347224510208990e+00 264 4.9974282772403939e+01 4.9932847005994425e+01 -5.0290630821269400e-01 -9.7680942269441417e+01 4.9999999999999986e+01 -1.9536188453888290e+00 -4.3081053631345840e+00 2.3544865177457548e+00 265 4.9990410121776826e+01 4.9954715445567835e+01 -4.9205770205836191e-01 -9.7752443330994495e+01 4.9999999999999993e+01 -1.9550488666198902e+00 -4.3094698529927120e+00 2.3544209863728218e+00 266 5.0004180271299894e+01 4.9991627160938208e+01 -5.0991866142168585e-01 -9.8166252786324861e+01 5.0000000000000007e+01 -1.9633250557264970e+00 -4.3090212020519285e+00 2.3456961463254316e+00 267 4.9986503401530044e+01 4.9983922039176285e+01 -5.1535373894212855e-01 -9.7683730221983495e+01 5.0000000000000007e+01 -1.9536746044396696e+00 -4.2979100632595344e+00 2.3442354588198642e+00 268 4.9983594680491009e+01 4.9966993294042361e+01 -5.0871623011110789e-01 -9.7566183540163209e+01 5.0000000000000000e+01 -1.9513236708032642e+00 -4.3134705719417195e+00 2.3621469011384555e+00 269 4.9996042871824756e+01 4.9979215416881374e+01 -5.1406691325199061e-01 -9.7468437348510975e+01 4.9999999999999993e+01 -1.9493687469702199e+00 -4.3187388809973157e+00 2.3693701340270961e+00 270 4.9980245686676611e+01 4.9958828080331841e+01 -5.0414316725401376e-01 -9.8123062950255388e+01 5.0000000000000007e+01 -1.9624612590051074e+00 -4.3231615133089942e+00 2.3607002543038864e+00 271 5.0001258309330737e+01 5.0002348148607894e+01 -5.1378273519208650e-01 -9.7588835720982061e+01 4.9999999999999993e+01 -1.9517767144196416e+00 -4.3197866358997574e+00 2.3680099214801160e+00 272 4.9984225503098244e+01 4.9971133709703381e+01 -5.0396129616965391e-01 -9.7969414657526528e+01 5.0000000000000000e+01 -1.9593882931505306e+00 -4.3191935556935688e+00 2.3598052625430386e+00 273 4.9985907671418545e+01 4.9960887618570723e+01 -4.9129356331249874e-01 -9.7531502749246883e+01 5.0000000000000007e+01 -1.9506300549849374e+00 -4.3185109241154649e+00 2.3678808691305275e+00 274 4.9988273382903635e+01 4.9964292743391844e+01 -4.8781474722605678e-01 -9.7887236149703739e+01 5.0000000000000014e+01 -1.9577447229940741e+00 -4.3063515357456250e+00 2.3486068127515507e+00 275 4.9992684374228666e+01 5.0560880731549716e+01 -4.8919705619414333e-01 -9.7913650650331093e+01 4.9999999999999993e+01 -1.9582730130066222e+00 -4.3060446978215179e+00 2.3477716848148948e+00 276 4.9990679484283085e+01 4.9977838465176305e+01 -4.9370683567031809e-01 -9.7722353713354664e+01 4.9999999999999986e+01 -1.9544470742670941e+00 -4.2944589256336023e+00 2.3400118513665085e+00 277 4.9964479310245423e+01 4.9915886827458500e+01 -4.8127080722904830e-01 -9.7264664181160697e+01 5.0000000000000000e+01 -1.9452932836232140e+00 -4.2892246276683101e+00 2.3439313440450955e+00 278 4.9984451866857924e+01 4.9949255498528913e+01 -4.7644628586355681e-01 -9.7058217148412837e+01 5.0000000000000000e+01 -1.9411643429682568e+00 -4.2800363251567548e+00 2.3388719821884982e+00 279 4.9993806004479431e+01 4.9983245916087689e+01 -4.9476494139657939e-01 -9.7004791553321894e+01 5.0000000000000000e+01 -1.9400958310664380e+00 -4.2680779105883673e+00 2.3279820795219295e+00 280 4.9987074932050554e+01 4.9962945921570252e+01 -4.8210044180453648e-01 -9.7433932842135562e+01 4.9999999999999993e+01 -1.9486786568427117e+00 -4.2768364998162980e+00 2.3281578429735852e+00 281 4.9986734469638968e+01 4.9962937803908389e+01 -4.8350587550818802e-01 -9.7446527581217339e+01 5.0000000000000007e+01 -1.9489305516243465e+00 -4.2836685239455186e+00 2.3347379723211716e+00 282 5.0003822026686159e+01 5.0013081023905642e+01 -5.1040193778321608e-01 -9.8090664803878894e+01 5.0000000000000007e+01 -1.9618132960775776e+00 -4.3057270552716806e+00 2.3439137591941033e+00 283 4.9976870926168026e+01 4.9944456793682839e+01 -4.7710853160926869e-01 -9.8142617550613565e+01 5.0000000000000000e+01 -1.9628523510122713e+00 -4.3069672580015279e+00 2.3441149069892551e+00 284 4.9998493790695925e+01 4.9994648796455905e+01 -4.9941059025808715e-01 -9.8713228991832139e+01 5.0000000000000000e+01 -1.9742645798366427e+00 -4.3043606938453296e+00 2.3300961140086862e+00 285 5.0000889925923929e+01 5.0024934605297815e+01 -5.4173992939446569e-01 -9.8954235207838181e+01 4.9999999999999993e+01 -1.9790847041567641e+00 -4.3108170723805035e+00 2.3317323682237401e+00 286 4.9983326136707966e+01 4.9960965548587787e+01 -5.2670495926202143e-01 -9.9432137735469951e+01 5.0000000000000007e+01 -1.9886427547093988e+00 -4.3015101268328637e+00 2.3128673721234647e+00 287 4.9984018757949478e+01 4.9977417859031888e+01 -5.2839107945982622e-01 -9.8957722550461924e+01 5.0000000000000007e+01 -1.9791544510092383e+00 -4.3049284121128428e+00 2.3257739611036046e+00 288 4.9994361216594484e+01 4.9968842583468344e+01 -5.3432971568772114e-01 -9.8585848184419291e+01 5.0000000000000000e+01 -1.9717169636883858e+00 -4.2979956555291556e+00 2.3262786918407703e+00 289 4.9985696227254557e+01 4.9979718525710368e+01 -5.2901793734434954e-01 -9.8723953567463042e+01 5.0000000000000000e+01 -1.9744790713492608e+00 -4.3010335567799522e+00 2.3265544854306914e+00 290 4.9993555678830191e+01 4.9973980808991293e+01 -5.2824423777251317e-01 -9.9416981873945446e+01 5.0000000000000007e+01 -1.9883396374789086e+00 -4.3054572264261735e+00 2.3171175889472653e+00 291 4.9976251534004390e+01 4.9960595320242746e+01 -5.2228223158892151e-01 -9.8877390193364249e+01 5.0000000000000000e+01 -1.9775478038672851e+00 -4.3037514726785266e+00 2.3262036688112415e+00 292 5.0005479002428409e+01 5.0001809041470800e+01 -5.6203871152763163e-01 -9.9381998711001231e+01 4.9999999999999993e+01 -1.9876399742200250e+00 -4.3065391140167222e+00 2.3188991397966978e+00 293 4.9978452574785877e+01 4.9945599067997449e+01 -5.4065628951499800e-01 -9.9686833151483711e+01 5.0000000000000000e+01 -1.9937366630296742e+00 -4.3085418459733935e+00 2.3148051829437195e+00 294 4.9985072522410576e+01 4.9955745002184159e+01 -5.2761444335491758e-01 -9.8744278768672217e+01 5.0000000000000000e+01 -1.9748855753734444e+00 -4.3117015596775703e+00 2.3368159843041263e+00 295 4.9985118449292052e+01 4.9962707473172408e+01 -5.2753271487452602e-01 -9.8503936822698265e+01 5.0000000000000000e+01 -1.9700787364539654e+00 -4.3198443223143368e+00 2.3497655858603719e+00 296 4.9983470121669988e+01 4.9975185364793873e+01 -5.1976985334242720e-01 -9.8972178119816732e+01 5.0000000000000000e+01 -1.9794435623963347e+00 -4.3083790068361445e+00 2.3289354444398103e+00 297 4.9998134625101358e+01 4.9984910191131043e+01 -5.3281557660509471e-01 -9.8702981973186624e+01 5.0000000000000007e+01 -1.9740596394637322e+00 -4.3047497560239938e+00 2.3306901165602620e+00 298 4.9983632536097183e+01 4.9962977670721614e+01 -5.1831320269633119e-01 -9.8466127924089250e+01 5.0000000000000014e+01 -1.9693225584817844e+00 -4.3144092390799909e+00 2.3450866805982065e+00 299 4.9994690530640646e+01 4.9974340044250212e+01 -5.2245209668610437e-01 -9.8238618555057869e+01 5.0000000000000000e+01 -1.9647723711011573e+00 -4.3116632233296981e+00 2.3468908522285408e+00 300 4.9983510644580008e+01 4.9957965873627828e+01 -5.0993882668998092e-01 -9.7808635295369371e+01 4.9999999999999993e+01 -1.9561727059073879e+00 -4.3034476284047996e+00 2.3472749224974114e+00
Next, we can visualize the data which is by default saved to estimates.0.h5
.
from ipie.analysis.extraction import extract_observable
import matplotlib.pyplot as plt
data = extract_observable(qmc_driver.estimators.filename)
plt.plot(data.ETotal, marker='o', label="AFQMC", color="C0")
plt.axhline(-1.969512, label="Exact Result", color="C1")
plt.legend()
plt.xlabel("Block number")
plt.ylabel("Total Energy (Ha)")
Text(0, 0.5, 'Total Energy (Ha)')
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.)