{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Grand canonical ensemble transition-matrix Monte Carlo\n",
    "\n",
    "In this example, [FlatHistogram](../../flat_histogram/doc/FlatHistogram_arguments.rst) methods are employed for a small [Macrostate](../../flat_histogram/doc/Macrostate_arguments.rst) range from 0 to 5 particles.\n",
    "To begin, the system is initialized with the minimum number of particles by setting [Metropolis](../../monte_carlo/doc/Metropolis_arguments.rst) acceptance [Criteria](../../monte_carlo/doc/Criteria_arguments.rst) with favorable conditions for adding particles.\n",
    "The [Metropolis](../../monte_carlo/doc/Metropolis_arguments.rst) criteria are then replaced with [FlatHistogram](../../flat_histogram/doc/FlatHistogram_arguments.rst).\n",
    "Typical analysis from the previous tutorials are added, and we add [Checkpoint](../../utils/doc/Checkpoint_arguments.rst) files, [CriteriaUpdater](../../steppers/doc/CriteriaUpdater_arguments.rst), [CriteriaWriter](../../steppers/doc/CriteriaWriter_arguments.rst), and average [Energy](../../steppers/doc/Energy_arguments.rst) of a given [Macrostate](../../flat_histogram/doc/Macrostate_arguments.rst).\n",
    "Finally, the simulation is run until the requested convergence criteria for the [FlatHistogram](../../flat_histogram/doc/FlatHistogram_arguments.rst) algorithm are [complete](../../actions/doc/Run_arguments.rst).\n",
    "\n",
    "A small [Macrostate](../../flat_histogram/doc/Macrostate_arguments.rst) range allows the simulation to run quickly with ample sampling, and thus it is an ideal starting point to test the simulations. To begin, read the previous [NIST SRSW](https://www.nist.gov/programs-projects/nist-standard-reference-simulation-website) values [for LJ](https://mmlapps.nist.gov/srs/LJ_PURE/eostmmc.htm) from file for comparison."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>N</th>\n",
       "      <th>energy</th>\n",
       "      <th>lnPI</th>\n",
       "      <th>energystd</th>\n",
       "      <th>lnPIstd</th>\n",
       "      <th>delta_ln_prob</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>-2.312265e-10</td>\n",
       "      <td>-18.707570</td>\n",
       "      <td>6.689238e-10</td>\n",
       "      <td>0.037092</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>-6.057402e-04</td>\n",
       "      <td>-14.037373</td>\n",
       "      <td>6.709198e-10</td>\n",
       "      <td>0.036838</td>\n",
       "      <td>4.670197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>-3.057422e-02</td>\n",
       "      <td>-10.050312</td>\n",
       "      <td>9.649147e-06</td>\n",
       "      <td>0.036964</td>\n",
       "      <td>3.987061</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>-8.992832e-02</td>\n",
       "      <td>-6.458921</td>\n",
       "      <td>1.387472e-04</td>\n",
       "      <td>0.037746</td>\n",
       "      <td>3.591391</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>-1.784571e-01</td>\n",
       "      <td>-3.145637</td>\n",
       "      <td>3.315245e-05</td>\n",
       "      <td>0.038097</td>\n",
       "      <td>3.313283</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>-2.961920e-01</td>\n",
       "      <td>-0.045677</td>\n",
       "      <td>1.348791e-05</td>\n",
       "      <td>0.038458</td>\n",
       "      <td>3.099960</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   N        energy       lnPI     energystd   lnPIstd  delta_ln_prob\n",
       "0  0 -2.312265e-10 -18.707570  6.689238e-10  0.037092            NaN\n",
       "1  1 -6.057402e-04 -14.037373  6.709198e-10  0.036838       4.670197\n",
       "2  2 -3.057422e-02 -10.050312  9.649147e-06  0.036964       3.987061\n",
       "3  3 -8.992832e-02  -6.458921  1.387472e-04  0.037746       3.591391\n",
       "4  4 -1.784571e-01  -3.145637  3.315245e-05  0.038097       3.313283\n",
       "5  5 -2.961920e-01  -0.045677  1.348791e-05  0.038458       3.099960"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "srsw_file = \"../test/data/stat150.csv\"\n",
    "fh=pd.read_csv(srsw_file)[:6]\n",
    "fh['lnPI'] -= np.log(sum(np.exp(fh['lnPI'])))   # renormalize\n",
    "fh['delta_ln_prob']=fh['lnPI'].diff()\n",
    "fh"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Run a short [FlatHistogram](../../flat_histogram/doc/FlatHistogram_arguments.rst) simulation to compare with these [NIST SRSW](https://mmlapps.nist.gov/srs/LJ_PURE/eostmmc.htm) values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "# Usage: feasst < file.txt\n",
      "# For more information, use the command \"feasst-menu\"\n",
      "# Exit with ctrl-c\n",
      "FEASST version 0.25.19\n",
      "MonteCarlo\n",
      "Configuration cubic_side_length=8 particle_type=lj:/feasst/particle/lj_new.txt\n",
      "Potential Model=LennardJones\n",
      "Potential VisitModel=LongRangeCorrections\n",
      "ThermoParams beta=0.6666666666666666 chemical_potential=-2.352321\n",
      "FlatHistogram Bias=TransitionMatrix Macrostate=MacrostateNumParticles max=5 min=0 min_sweeps=50 width=1\n",
      "TrialTranslate tunable_param=1 weight=0.25\n",
      "TrialTransfer particle_type=lj weight=1\n",
      "Log output_file=lj.txt trials_per_write=1e5\n",
      "Movie output_file=lj.xyz trials_per_write=1e5\n",
      "CheckEnergy decimal_places=6 trials_per_update=1e5\n",
      "Tune\n",
      "CriteriaUpdater trials_per_update=1e5\n",
      "CriteriaWriter output_file=lj_fh.txt trials_per_write=1e5\n",
      "Energy multistate=true output_file=lj_en.txt trials_per_write=1e5\n",
      "Checkpoint checkpoint_file=checkpoint.fst num_hours=0.0001\n",
      "Run until=complete\n",
      "# Initializing random number generator with seed: 1781198285\n",
      " \n",
      " exit: 0\n"
     ]
    }
   ],
   "source": [
    "script=\"\"\"\n",
    "MonteCarlo\n",
    "Configuration cubic_side_length=8 particle_type=lj:/feasst/particle/lj_new.txt\n",
    "Potential Model=LennardJones\n",
    "Potential VisitModel=LongRangeCorrections\n",
    "ThermoParams beta={beta} chemical_potential=-2.352321\n",
    "FlatHistogram Macrostate=MacrostateNumParticles width=1 min=0 max=5 \\\n",
    "              Bias=TransitionMatrix min_sweeps=50\n",
    "TrialTranslate weight=0.25 tunable_param=1\n",
    "TrialTransfer weight=1 particle_type=lj\n",
    "Let [write]=trials_per_write=1e5 output_file=lj\n",
    "Log [write].txt\n",
    "Movie [write].xyz\n",
    "CheckEnergy trials_per_update=1e5 decimal_places=6\n",
    "Tune\n",
    "CriteriaUpdater trials_per_update=1e5\n",
    "CriteriaWriter [write]_fh.txt\n",
    "Energy [write]_en.txt multistate=true\n",
    "Checkpoint checkpoint_file=checkpoint.fst num_hours=0.0001\n",
    "Run until=complete\n",
    "\"\"\".format(beta=1./1.5)\n",
    "\n",
    "def run(script):\n",
    "    with open('script1.txt', 'w') as file: file.write(script)\n",
    "    import subprocess\n",
    "    syscode = subprocess.call(\"feasst < script1.txt > script1.log\", shell=True, executable='/bin/bash')\n",
    "    with open('script1.log', 'r') as file: print(file.read(), '\\n', 'exit:', syscode)\n",
    "run(script)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   delta_ln_prob  delta_ln_prob_stdev\n",
      "0            NaN             0.000000\n",
      "1        4.66719             0.001785\n",
      "2        3.98682             0.002033\n",
      "3        3.59093             0.001868\n",
      "4        3.31297             0.002114\n",
      "5        3.10353             0.002382\n",
      "energy         average   block_stdev\n",
      "0  1.455599e-17  3.578654e-16\n",
      "1 -6.057400e-04  7.702409e-10\n",
      "2 -3.067295e-02  2.366927e-04\n",
      "3 -9.009797e-02  3.669175e-04\n",
      "4 -1.794613e-01  5.969186e-04\n",
      "5 -2.971404e-01  1.503380e-03\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "\"\"\"Compare the free energies and potential energies with the NIST SRSW\n",
    "https://www.nist.gov/programs-projects/nist-standard-reference-simulation-website\n",
    "https://mmlapps.nist.gov/srs/LJ_PURE/eostmmc.htm\n",
    "\"\"\"\n",
    "fh2=pd.read_csv('lj_fh.txt', comment='#')\n",
    "en=pd.read_csv('lj_en.txt')\n",
    "print(fh2[['delta_ln_prob', 'delta_ln_prob_stdev']])\n",
    "print('energy', en[['average', 'block_stdev']])\n",
    "for macro in range(1, len(fh2)):\n",
    "    assert np.abs(fh[\"delta_ln_prob\"][macro] - fh2[\"delta_ln_prob\"][macro]) < 4*fh2[\"delta_ln_prob_stdev\"][macro]\n",
    "    assert np.abs(fh['energy'][macro] - en['average'][macro]) < 4*(fh[\"energystd\"][macro]**2 + en['block_stdev'][macro]**2)**(1./2.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A number of files should also have been created.\n",
    "If the [FlatHistogram](../../flat_histogram/doc/FlatHistogram_arguments.rst) method is sampling perfectly, the simulation performs a random walk along the [Macrostate](../../flat_histogram/doc/Macrostate_arguments.rst).\n",
    "For larger ranges of [Macrostates](../../flat_histogram/doc/Macrostate_arguments.rst), or for more difficult sampling cases, monitoring the [Macrostate](../../flat_histogram/doc/Macrostate_arguments.rst) can help you determine what conditions are preventing convergence.\n",
    "For example, the [Macrostate](../../flat_histogram/doc/Macrostate_arguments.rst) as a function of the number of attempts may look like the following:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>volume</th>\n",
       "      <th>num_particles_lj</th>\n",
       "      <th>beta</th>\n",
       "      <th>state</th>\n",
       "      <th>energy</th>\n",
       "      <th>LennardJones</th>\n",
       "      <th>LongRangeCorrections</th>\n",
       "      <th>BondTwoBody</th>\n",
       "      <th>BondThreeBody</th>\n",
       "      <th>BondFourBody</th>\n",
       "      <th>trial</th>\n",
       "      <th>TrialTranslate</th>\n",
       "      <th>tunable</th>\n",
       "      <th>TrialAdd</th>\n",
       "      <th>TrialRemove</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-6.574620e-02</td>\n",
       "      <td>-5.605440e-02</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>100000</td>\n",
       "      <td>0.924354</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.041399</td>\n",
       "      <td>0.040860</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-1.149280e-01</td>\n",
       "      <td>-1.094770e-01</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>200000</td>\n",
       "      <td>0.938366</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.423966</td>\n",
       "      <td>0.454913</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-2.291060e-02</td>\n",
       "      <td>-1.321870e-02</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>300000</td>\n",
       "      <td>0.944099</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.552455</td>\n",
       "      <td>0.615041</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>3.996800e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>400000</td>\n",
       "      <td>0.948031</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.618505</td>\n",
       "      <td>0.699765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-5.909450e-01</td>\n",
       "      <td>-5.812530e-01</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>500000</td>\n",
       "      <td>0.950384</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.657824</td>\n",
       "      <td>0.751987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>4.440890e-16</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>600000</td>\n",
       "      <td>0.951794</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.683809</td>\n",
       "      <td>0.787278</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>9.992010e-16</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>700000</td>\n",
       "      <td>0.952943</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.701278</td>\n",
       "      <td>0.812808</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>6.361230e-15</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>800000</td>\n",
       "      <td>0.953478</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.714862</td>\n",
       "      <td>0.832068</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-1.211070e-01</td>\n",
       "      <td>-1.114150e-01</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>900000</td>\n",
       "      <td>0.954305</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.725634</td>\n",
       "      <td>0.847293</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-6.965650e-02</td>\n",
       "      <td>-5.451300e-02</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1000000</td>\n",
       "      <td>0.954824</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.733594</td>\n",
       "      <td>0.859479</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-6.309660e-02</td>\n",
       "      <td>-5.340470e-02</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1100000</td>\n",
       "      <td>0.955037</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.740955</td>\n",
       "      <td>0.869446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-6.478110e-16</td>\n",
       "      <td>3.747000e-15</td>\n",
       "      <td>-1.626300e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1200000</td>\n",
       "      <td>0.955470</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.746228</td>\n",
       "      <td>0.877741</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>-1.901260e-15</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1300000</td>\n",
       "      <td>0.955691</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.751517</td>\n",
       "      <td>0.884949</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>-1.623700e-15</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1400000</td>\n",
       "      <td>0.955936</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.755277</td>\n",
       "      <td>0.891036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>2.439450e-17</td>\n",
       "      <td>-1.651460e-15</td>\n",
       "      <td>-1.626300e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1500000</td>\n",
       "      <td>0.956335</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.759130</td>\n",
       "      <td>0.896458</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>1.597370e-01</td>\n",
       "      <td>1.748800e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1600000</td>\n",
       "      <td>0.956408</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.762546</td>\n",
       "      <td>0.901215</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-3.710930e-01</td>\n",
       "      <td>-3.614010e-01</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1700000</td>\n",
       "      <td>0.956654</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.765445</td>\n",
       "      <td>0.905320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>2.220450e-16</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1800000</td>\n",
       "      <td>0.956853</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.768070</td>\n",
       "      <td>0.909066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-2.790970e-01</td>\n",
       "      <td>-2.639530e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1900000</td>\n",
       "      <td>0.956900</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.770122</td>\n",
       "      <td>0.912469</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>-1.044300e-14</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2000000</td>\n",
       "      <td>0.956982</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.772176</td>\n",
       "      <td>0.915463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>-4.718450e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2100000</td>\n",
       "      <td>0.956910</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.773766</td>\n",
       "      <td>0.918128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-1.080630e+00</td>\n",
       "      <td>-1.070930e+00</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2200000</td>\n",
       "      <td>0.957016</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.775535</td>\n",
       "      <td>0.920608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>-2.102480e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2300000</td>\n",
       "      <td>0.957172</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.777049</td>\n",
       "      <td>0.922857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>8.257280e-16</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2400000</td>\n",
       "      <td>0.957370</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.778519</td>\n",
       "      <td>0.924987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-2.982750e-15</td>\n",
       "      <td>-1.373900e-15</td>\n",
       "      <td>-2.493660e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2500000</td>\n",
       "      <td>0.957449</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.780096</td>\n",
       "      <td>0.926912</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-1.844300e-01</td>\n",
       "      <td>-1.692870e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2600000</td>\n",
       "      <td>0.957587</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.781245</td>\n",
       "      <td>0.928673</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-1.107340e-01</td>\n",
       "      <td>-1.010420e-01</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2700000</td>\n",
       "      <td>0.957705</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.782642</td>\n",
       "      <td>0.930332</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-1.170030e-01</td>\n",
       "      <td>-1.018600e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2800000</td>\n",
       "      <td>0.957745</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.783507</td>\n",
       "      <td>0.931764</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-7.942230e-02</td>\n",
       "      <td>-6.973040e-02</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2900000</td>\n",
       "      <td>0.957887</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.784274</td>\n",
       "      <td>0.933213</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-2.061260e-01</td>\n",
       "      <td>-1.909830e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3000000</td>\n",
       "      <td>0.957983</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.785203</td>\n",
       "      <td>0.934533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-2.775730e-02</td>\n",
       "      <td>-2.533430e-02</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3100000</td>\n",
       "      <td>0.957955</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.785910</td>\n",
       "      <td>0.935723</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-3.401790e-01</td>\n",
       "      <td>-3.250350e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3200000</td>\n",
       "      <td>0.958009</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.786847</td>\n",
       "      <td>0.936868</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-4.438220e-02</td>\n",
       "      <td>-3.893050e-02</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3300000</td>\n",
       "      <td>0.957973</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.787314</td>\n",
       "      <td>0.937935</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>1.443290e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3400000</td>\n",
       "      <td>0.958029</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.787905</td>\n",
       "      <td>0.938976</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>9.958400e-16</td>\n",
       "      <td>-1.221250e-15</td>\n",
       "      <td>-1.626300e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3500000</td>\n",
       "      <td>0.958059</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.788568</td>\n",
       "      <td>0.939989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-1.961830e-01</td>\n",
       "      <td>-1.907310e-01</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3600000</td>\n",
       "      <td>0.958147</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.789102</td>\n",
       "      <td>0.940884</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-1.011000e-01</td>\n",
       "      <td>-9.564870e-02</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3700000</td>\n",
       "      <td>0.958188</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.789876</td>\n",
       "      <td>0.941777</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>5.606630e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3800000</td>\n",
       "      <td>0.958289</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.790623</td>\n",
       "      <td>0.942630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>512</td>\n",
       "      <td>1</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>1</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>2.949030e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3900000</td>\n",
       "      <td>0.958438</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.791159</td>\n",
       "      <td>0.943417</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>-1.221250e-15</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4000000</td>\n",
       "      <td>0.958509</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.791675</td>\n",
       "      <td>0.944148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>4.135580e-15</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4100000</td>\n",
       "      <td>0.958471</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.792289</td>\n",
       "      <td>0.944843</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.123130e-15</td>\n",
       "      <td>-3.108620e-15</td>\n",
       "      <td>-2.493660e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4200000</td>\n",
       "      <td>0.958443</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.792664</td>\n",
       "      <td>0.945508</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>-4.954370e-15</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4300000</td>\n",
       "      <td>0.958419</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.792928</td>\n",
       "      <td>0.946161</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-3.871480e-02</td>\n",
       "      <td>-2.357130e-02</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4400000</td>\n",
       "      <td>0.958501</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.793267</td>\n",
       "      <td>0.946816</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>1.262880e-15</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4500000</td>\n",
       "      <td>0.958539</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.793738</td>\n",
       "      <td>0.947404</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-2.267950e-02</td>\n",
       "      <td>-1.298760e-02</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4600000</td>\n",
       "      <td>0.958512</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.794078</td>\n",
       "      <td>0.947975</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>5.547750e-15</td>\n",
       "      <td>2.331470e-15</td>\n",
       "      <td>-2.385240e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4700000</td>\n",
       "      <td>0.958516</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.794308</td>\n",
       "      <td>0.948526</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-3.313640e-02</td>\n",
       "      <td>-1.799290e-02</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4800000</td>\n",
       "      <td>0.958538</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.794764</td>\n",
       "      <td>0.949043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>1.276760e-15</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4900000</td>\n",
       "      <td>0.958546</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.795101</td>\n",
       "      <td>0.949521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-3.805840e-02</td>\n",
       "      <td>-2.291490e-02</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5000000</td>\n",
       "      <td>0.958578</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.795487</td>\n",
       "      <td>0.949949</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>-2.831070e-15</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5100000</td>\n",
       "      <td>0.958691</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.795859</td>\n",
       "      <td>0.950385</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5100000</td>\n",
       "      <td>0.958691</td>\n",
       "      <td>2.86267</td>\n",
       "      <td>0.795859</td>\n",
       "      <td>0.950385</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    volume  num_particles_lj      beta  state        energy  LennardJones  \\\n",
       "0      512                 4  0.666667      4 -6.574620e-02 -5.605440e-02   \n",
       "1      512                 3  0.666667      3 -1.149280e-01 -1.094770e-01   \n",
       "2      512                 4  0.666667      4 -2.291060e-02 -1.321870e-02   \n",
       "3      512                 1  0.666667      1 -6.057400e-04  3.996800e-15   \n",
       "4      512                 4  0.666667      4 -5.909450e-01 -5.812530e-01   \n",
       "5      512                 1  0.666667      1 -6.057400e-04  4.440890e-16   \n",
       "6      512                 1  0.666667      1 -6.057400e-04  9.992010e-16   \n",
       "7      512                 3  0.666667      3 -5.451660e-03  6.361230e-15   \n",
       "8      512                 4  0.666667      4 -1.211070e-01 -1.114150e-01   \n",
       "9      512                 5  0.666667      5 -6.965650e-02 -5.451300e-02   \n",
       "10     512                 4  0.666667      4 -6.309660e-02 -5.340470e-02   \n",
       "11     512                 0  0.666667      0 -6.478110e-16  3.747000e-15   \n",
       "12     512                 5  0.666667      5 -1.514350e-02 -1.901260e-15   \n",
       "13     512                 2  0.666667      2 -2.422960e-03 -1.623700e-15   \n",
       "14     512                 0  0.666667      0  2.439450e-17 -1.651460e-15   \n",
       "15     512                 5  0.666667      5  1.597370e-01  1.748800e-01   \n",
       "16     512                 4  0.666667      4 -3.710930e-01 -3.614010e-01   \n",
       "17     512                 3  0.666667      3 -5.451660e-03  2.220450e-16   \n",
       "18     512                 5  0.666667      5 -2.790970e-01 -2.639530e-01   \n",
       "19     512                 4  0.666667      4 -9.691840e-03 -1.044300e-14   \n",
       "20     512                 1  0.666667      1 -6.057400e-04 -4.718450e-15   \n",
       "21     512                 4  0.666667      4 -1.080630e+00 -1.070930e+00   \n",
       "22     512                 1  0.666667      1 -6.057400e-04 -2.102480e-15   \n",
       "23     512                 2  0.666667      2 -2.422960e-03  8.257280e-16   \n",
       "24     512                 0  0.666667      0 -2.982750e-15 -1.373900e-15   \n",
       "25     512                 5  0.666667      5 -1.844300e-01 -1.692870e-01   \n",
       "26     512                 4  0.666667      4 -1.107340e-01 -1.010420e-01   \n",
       "27     512                 5  0.666667      5 -1.170030e-01 -1.018600e-01   \n",
       "28     512                 4  0.666667      4 -7.942230e-02 -6.973040e-02   \n",
       "29     512                 5  0.666667      5 -2.061260e-01 -1.909830e-01   \n",
       "30     512                 2  0.666667      2 -2.775730e-02 -2.533430e-02   \n",
       "31     512                 5  0.666667      5 -3.401790e-01 -3.250350e-01   \n",
       "32     512                 3  0.666667      3 -4.438220e-02 -3.893050e-02   \n",
       "33     512                 1  0.666667      1 -6.057400e-04  1.443290e-15   \n",
       "34     512                 0  0.666667      0  9.958400e-16 -1.221250e-15   \n",
       "35     512                 3  0.666667      3 -1.961830e-01 -1.907310e-01   \n",
       "36     512                 3  0.666667      3 -1.011000e-01 -9.564870e-02   \n",
       "37     512                 1  0.666667      1 -6.057400e-04  5.606630e-15   \n",
       "38     512                 1  0.666667      1 -6.057400e-04  2.949030e-15   \n",
       "39     512                 3  0.666667      3 -5.451660e-03 -1.221250e-15   \n",
       "40     512                 3  0.666667      3 -5.451660e-03  4.135580e-15   \n",
       "41     512                 0  0.666667      0 -1.123130e-15 -3.108620e-15   \n",
       "42     512                 3  0.666667      3 -5.451660e-03 -4.954370e-15   \n",
       "43     512                 5  0.666667      5 -3.871480e-02 -2.357130e-02   \n",
       "44     512                 2  0.666667      2 -2.422960e-03  1.262880e-15   \n",
       "45     512                 4  0.666667      4 -2.267950e-02 -1.298760e-02   \n",
       "46     512                 0  0.666667      0  5.547750e-15  2.331470e-15   \n",
       "47     512                 5  0.666667      5 -3.313640e-02 -1.799290e-02   \n",
       "48     512                 3  0.666667      3 -5.451660e-03  1.276760e-15   \n",
       "49     512                 5  0.666667      5 -3.805840e-02 -2.291490e-02   \n",
       "50     512                 2  0.666667      2 -2.422960e-03 -2.831070e-15   \n",
       "51     512                 2  0.666667      2 -2.422960e-03  0.000000e+00   \n",
       "\n",
       "    LongRangeCorrections  BondTwoBody  BondThreeBody  BondFourBody    trial  \\\n",
       "0          -9.691840e-03            0              0             0   100000   \n",
       "1          -5.451660e-03            0              0             0   200000   \n",
       "2          -9.691840e-03            0              0             0   300000   \n",
       "3          -6.057400e-04            0              0             0   400000   \n",
       "4          -9.691840e-03            0              0             0   500000   \n",
       "5          -6.057400e-04            0              0             0   600000   \n",
       "6          -6.057400e-04            0              0             0   700000   \n",
       "7          -5.451660e-03            0              0             0   800000   \n",
       "8          -9.691840e-03            0              0             0   900000   \n",
       "9          -1.514350e-02            0              0             0  1000000   \n",
       "10         -9.691840e-03            0              0             0  1100000   \n",
       "11         -1.626300e-18            0              0             0  1200000   \n",
       "12         -1.514350e-02            0              0             0  1300000   \n",
       "13         -2.422960e-03            0              0             0  1400000   \n",
       "14         -1.626300e-18            0              0             0  1500000   \n",
       "15         -1.514350e-02            0              0             0  1600000   \n",
       "16         -9.691840e-03            0              0             0  1700000   \n",
       "17         -5.451660e-03            0              0             0  1800000   \n",
       "18         -1.514350e-02            0              0             0  1900000   \n",
       "19         -9.691840e-03            0              0             0  2000000   \n",
       "20         -6.057400e-04            0              0             0  2100000   \n",
       "21         -9.691840e-03            0              0             0  2200000   \n",
       "22         -6.057400e-04            0              0             0  2300000   \n",
       "23         -2.422960e-03            0              0             0  2400000   \n",
       "24         -2.493660e-18            0              0             0  2500000   \n",
       "25         -1.514350e-02            0              0             0  2600000   \n",
       "26         -9.691840e-03            0              0             0  2700000   \n",
       "27         -1.514350e-02            0              0             0  2800000   \n",
       "28         -9.691840e-03            0              0             0  2900000   \n",
       "29         -1.514350e-02            0              0             0  3000000   \n",
       "30         -2.422960e-03            0              0             0  3100000   \n",
       "31         -1.514350e-02            0              0             0  3200000   \n",
       "32         -5.451660e-03            0              0             0  3300000   \n",
       "33         -6.057400e-04            0              0             0  3400000   \n",
       "34         -1.626300e-18            0              0             0  3500000   \n",
       "35         -5.451660e-03            0              0             0  3600000   \n",
       "36         -5.451660e-03            0              0             0  3700000   \n",
       "37         -6.057400e-04            0              0             0  3800000   \n",
       "38         -6.057400e-04            0              0             0  3900000   \n",
       "39         -5.451660e-03            0              0             0  4000000   \n",
       "40         -5.451660e-03            0              0             0  4100000   \n",
       "41         -2.493660e-18            0              0             0  4200000   \n",
       "42         -5.451660e-03            0              0             0  4300000   \n",
       "43         -1.514350e-02            0              0             0  4400000   \n",
       "44         -2.422960e-03            0              0             0  4500000   \n",
       "45         -9.691840e-03            0              0             0  4600000   \n",
       "46         -2.385240e-18            0              0             0  4700000   \n",
       "47         -1.514350e-02            0              0             0  4800000   \n",
       "48         -5.451660e-03            0              0             0  4900000   \n",
       "49         -1.514350e-02            0              0             0  5000000   \n",
       "50         -2.422960e-03            0              0             0  5100000   \n",
       "51         -2.422960e-03            0              0             0  5100000   \n",
       "\n",
       "    TrialTranslate  tunable  TrialAdd  TrialRemove  \n",
       "0         0.924354  2.86267  0.041399     0.040860  \n",
       "1         0.938366  2.86267  0.423966     0.454913  \n",
       "2         0.944099  2.86267  0.552455     0.615041  \n",
       "3         0.948031  2.86267  0.618505     0.699765  \n",
       "4         0.950384  2.86267  0.657824     0.751987  \n",
       "5         0.951794  2.86267  0.683809     0.787278  \n",
       "6         0.952943  2.86267  0.701278     0.812808  \n",
       "7         0.953478  2.86267  0.714862     0.832068  \n",
       "8         0.954305  2.86267  0.725634     0.847293  \n",
       "9         0.954824  2.86267  0.733594     0.859479  \n",
       "10        0.955037  2.86267  0.740955     0.869446  \n",
       "11        0.955470  2.86267  0.746228     0.877741  \n",
       "12        0.955691  2.86267  0.751517     0.884949  \n",
       "13        0.955936  2.86267  0.755277     0.891036  \n",
       "14        0.956335  2.86267  0.759130     0.896458  \n",
       "15        0.956408  2.86267  0.762546     0.901215  \n",
       "16        0.956654  2.86267  0.765445     0.905320  \n",
       "17        0.956853  2.86267  0.768070     0.909066  \n",
       "18        0.956900  2.86267  0.770122     0.912469  \n",
       "19        0.956982  2.86267  0.772176     0.915463  \n",
       "20        0.956910  2.86267  0.773766     0.918128  \n",
       "21        0.957016  2.86267  0.775535     0.920608  \n",
       "22        0.957172  2.86267  0.777049     0.922857  \n",
       "23        0.957370  2.86267  0.778519     0.924987  \n",
       "24        0.957449  2.86267  0.780096     0.926912  \n",
       "25        0.957587  2.86267  0.781245     0.928673  \n",
       "26        0.957705  2.86267  0.782642     0.930332  \n",
       "27        0.957745  2.86267  0.783507     0.931764  \n",
       "28        0.957887  2.86267  0.784274     0.933213  \n",
       "29        0.957983  2.86267  0.785203     0.934533  \n",
       "30        0.957955  2.86267  0.785910     0.935723  \n",
       "31        0.958009  2.86267  0.786847     0.936868  \n",
       "32        0.957973  2.86267  0.787314     0.937935  \n",
       "33        0.958029  2.86267  0.787905     0.938976  \n",
       "34        0.958059  2.86267  0.788568     0.939989  \n",
       "35        0.958147  2.86267  0.789102     0.940884  \n",
       "36        0.958188  2.86267  0.789876     0.941777  \n",
       "37        0.958289  2.86267  0.790623     0.942630  \n",
       "38        0.958438  2.86267  0.791159     0.943417  \n",
       "39        0.958509  2.86267  0.791675     0.944148  \n",
       "40        0.958471  2.86267  0.792289     0.944843  \n",
       "41        0.958443  2.86267  0.792664     0.945508  \n",
       "42        0.958419  2.86267  0.792928     0.946161  \n",
       "43        0.958501  2.86267  0.793267     0.946816  \n",
       "44        0.958539  2.86267  0.793738     0.947404  \n",
       "45        0.958512  2.86267  0.794078     0.947975  \n",
       "46        0.958516  2.86267  0.794308     0.948526  \n",
       "47        0.958538  2.86267  0.794764     0.949043  \n",
       "48        0.958546  2.86267  0.795101     0.949521  \n",
       "49        0.958578  2.86267  0.795487     0.949949  \n",
       "50        0.958691  2.86267  0.795859     0.950385  \n",
       "51        0.958691  2.86267  0.795859     0.950385  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.read_csv(\"lj.txt\", header=0).dropna(axis='columns')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Did this tutorial work as expected? Did you find any inconsistencies or have any comments? Please [contact](../../../CONTACT.rst) us. Any feedback is appreciated!"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
