{
 "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: /Users/user/feasst/build/bin/fst < file.txt\n",
      "FEASST version 0.25.13\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: 1749408693\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(\"../../../build/bin/fst < 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.66914             0.001645\n",
      "2        3.98803             0.002257\n",
      "3        3.59332             0.001912\n",
      "4        3.31309             0.001980\n",
      "5        3.10125             0.001972\n",
      "energy         average   block_stdev\n",
      "0  1.317466e-16  1.953789e-16\n",
      "1 -6.057400e-04  7.702399e-10\n",
      "2 -3.047790e-02  2.260309e-04\n",
      "3 -9.005908e-02  4.629765e-04\n",
      "4 -1.788966e-01  7.342915e-04\n",
      "5 -2.965805e-01  1.231712e-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>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-5.615610e-02</td>\n",
       "      <td>-4.101260e-02</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>100000</td>\n",
       "      <td>0.927751</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.047373</td>\n",
       "      <td>0.046741</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-3.669700e-15</td>\n",
       "      <td>-3.330670e-16</td>\n",
       "      <td>-1.517880e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>200000</td>\n",
       "      <td>0.944879</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.256928</td>\n",
       "      <td>0.346506</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</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.682680e-16</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>300000</td>\n",
       "      <td>0.950235</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.441354</td>\n",
       "      <td>0.570366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>1.532020e-01</td>\n",
       "      <td>1.628940e-01</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>400000</td>\n",
       "      <td>0.953083</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.534310</td>\n",
       "      <td>0.676512</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>-9.691840e-03</td>\n",
       "      <td>3.108620e-15</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.954784</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.589223</td>\n",
       "      <td>0.737878</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>-3.747000e-15</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.956285</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.625951</td>\n",
       "      <td>0.778506</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>1.304510e-15</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.957065</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.652960</td>\n",
       "      <td>0.807427</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.987020e-15</td>\n",
       "      <td>-1.935950e-15</td>\n",
       "      <td>-1.517880e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>800000</td>\n",
       "      <td>0.957227</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.672873</td>\n",
       "      <td>0.828548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-3.277240e-01</td>\n",
       "      <td>-3.125800e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>900000</td>\n",
       "      <td>0.957637</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.688387</td>\n",
       "      <td>0.844791</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</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.630910e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1000000</td>\n",
       "      <td>0.957736</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.700375</td>\n",
       "      <td>0.857707</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>-4.035140e-02</td>\n",
       "      <td>-3.065960e-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.957840</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.709995</td>\n",
       "      <td>0.868286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-1.205740e-01</td>\n",
       "      <td>-1.181510e-01</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1200000</td>\n",
       "      <td>0.958064</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.718449</td>\n",
       "      <td>0.877129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-3.439830e-02</td>\n",
       "      <td>-2.894660e-02</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1300000</td>\n",
       "      <td>0.958033</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.725688</td>\n",
       "      <td>0.884632</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-2.340630e-02</td>\n",
       "      <td>-1.371450e-02</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1400000</td>\n",
       "      <td>0.958037</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.731605</td>\n",
       "      <td>0.891108</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>-4.331390e-16</td>\n",
       "      <td>-2.373100e-15</td>\n",
       "      <td>-2.493660e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1500000</td>\n",
       "      <td>0.958290</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.736525</td>\n",
       "      <td>0.896649</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-2.461910e-02</td>\n",
       "      <td>-1.916740e-02</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1600000</td>\n",
       "      <td>0.958445</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.741085</td>\n",
       "      <td>0.901540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-1.807250e-01</td>\n",
       "      <td>-1.655820e-01</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1700000</td>\n",
       "      <td>0.958455</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.745267</td>\n",
       "      <td>0.905789</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</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.070460e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1800000</td>\n",
       "      <td>0.958639</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.748933</td>\n",
       "      <td>0.909629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>1.944730e-15</td>\n",
       "      <td>1.887380e-15</td>\n",
       "      <td>-1.626300e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1900000</td>\n",
       "      <td>0.958730</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.752052</td>\n",
       "      <td>0.912985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</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.413140e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2000000</td>\n",
       "      <td>0.958743</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.755071</td>\n",
       "      <td>0.916069</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>2.248200e-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.958821</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.757694</td>\n",
       "      <td>0.918892</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-1.044350e-01</td>\n",
       "      <td>-8.929170e-02</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2200000</td>\n",
       "      <td>0.958917</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.760386</td>\n",
       "      <td>0.921492</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>512</td>\n",
       "      <td>3</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>3</td>\n",
       "      <td>-3.782400e-02</td>\n",
       "      <td>-3.237240e-02</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2300000</td>\n",
       "      <td>0.959054</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.762617</td>\n",
       "      <td>0.923845</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>512</td>\n",
       "      <td>5</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>5</td>\n",
       "      <td>-1.086300e-01</td>\n",
       "      <td>-9.348650e-02</td>\n",
       "      <td>-1.514350e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2400000</td>\n",
       "      <td>0.958905</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.764488</td>\n",
       "      <td>0.925978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</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.942890e-16</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2500000</td>\n",
       "      <td>0.958914</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.766521</td>\n",
       "      <td>0.927944</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-4.778790e-02</td>\n",
       "      <td>-4.536500e-02</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2600000</td>\n",
       "      <td>0.958939</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.768050</td>\n",
       "      <td>0.929698</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>512</td>\n",
       "      <td>2</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>2</td>\n",
       "      <td>-9.900980e-01</td>\n",
       "      <td>-9.876750e-01</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2700000</td>\n",
       "      <td>0.959031</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.769619</td>\n",
       "      <td>0.931341</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-1.657710e-02</td>\n",
       "      <td>-6.885270e-03</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2800000</td>\n",
       "      <td>0.959084</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.770725</td>\n",
       "      <td>0.932810</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</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>-6.938890e-18</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2900000</td>\n",
       "      <td>0.959179</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.772262</td>\n",
       "      <td>0.934336</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</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>-3.025360e-15</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3000000</td>\n",
       "      <td>0.959204</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.773755</td>\n",
       "      <td>0.935689</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.422960e-03</td>\n",
       "      <td>-5.773160e-15</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.959197</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.774697</td>\n",
       "      <td>0.936865</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</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.400060e-16</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3200000</td>\n",
       "      <td>0.959207</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.775970</td>\n",
       "      <td>0.938091</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>7.018800e-15</td>\n",
       "      <td>3.663740e-15</td>\n",
       "      <td>-2.385240e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3300000</td>\n",
       "      <td>0.959206</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.777194</td>\n",
       "      <td>0.939220</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-8.814790e-01</td>\n",
       "      <td>-8.717870e-01</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3400000</td>\n",
       "      <td>0.959216</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.778111</td>\n",
       "      <td>0.940227</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</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.734720e-18</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3500000</td>\n",
       "      <td>0.959218</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.778960</td>\n",
       "      <td>0.941170</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.876860e-15</td>\n",
       "      <td>3.663740e-15</td>\n",
       "      <td>-1.517880e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3600000</td>\n",
       "      <td>0.959229</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.779697</td>\n",
       "      <td>0.942059</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</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.075530e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3700000</td>\n",
       "      <td>0.959234</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.780548</td>\n",
       "      <td>0.942917</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-9.224960e-02</td>\n",
       "      <td>-8.255780e-02</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3800000</td>\n",
       "      <td>0.959233</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.781348</td>\n",
       "      <td>0.943726</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.333570e-17</td>\n",
       "      <td>-2.550040e-15</td>\n",
       "      <td>-2.493660e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3900000</td>\n",
       "      <td>0.959321</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.782267</td>\n",
       "      <td>0.944475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>4.490010e-15</td>\n",
       "      <td>-2.248200e-15</td>\n",
       "      <td>-1.517880e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4000000</td>\n",
       "      <td>0.959337</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.782988</td>\n",
       "      <td>0.945215</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>512</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>4</td>\n",
       "      <td>-1.042640e+00</td>\n",
       "      <td>-1.032940e+00</td>\n",
       "      <td>-9.691840e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4100000</td>\n",
       "      <td>0.959398</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.783727</td>\n",
       "      <td>0.945905</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>5.485300e-15</td>\n",
       "      <td>3.486790e-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.959446</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.784386</td>\n",
       "      <td>0.946561</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</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.026160e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4300000</td>\n",
       "      <td>0.959459</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.784971</td>\n",
       "      <td>0.947184</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</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>7.261550e-15</td>\n",
       "      <td>-5.451660e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4400000</td>\n",
       "      <td>0.959442</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.785598</td>\n",
       "      <td>0.947789</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>-8.049120e-16</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.959441</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.786153</td>\n",
       "      <td>0.948361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-3.111660e-17</td>\n",
       "      <td>-2.220450e-15</td>\n",
       "      <td>-2.493660e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4600000</td>\n",
       "      <td>0.959466</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.786648</td>\n",
       "      <td>0.948910</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</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.441690e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4700000</td>\n",
       "      <td>0.959506</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.787197</td>\n",
       "      <td>0.949461</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</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.364040e-15</td>\n",
       "      <td>-6.057400e-04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4800000</td>\n",
       "      <td>0.959587</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.787692</td>\n",
       "      <td>0.949976</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</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>-5.273560e-16</td>\n",
       "      <td>-2.422960e-03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4900000</td>\n",
       "      <td>0.959619</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.788031</td>\n",
       "      <td>0.950492</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>512</td>\n",
       "      <td>0</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.609280e-15</td>\n",
       "      <td>4.440890e-16</td>\n",
       "      <td>-1.517880e-18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5000000</td>\n",
       "      <td>0.959615</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.788432</td>\n",
       "      <td>0.950945</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>9.020560e-16</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.959605</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.788997</td>\n",
       "      <td>0.951434</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.959605</td>\n",
       "      <td>2.83079</td>\n",
       "      <td>0.788997</td>\n",
       "      <td>0.951434</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    volume  num_particles_lj      beta  state        energy  LennardJones  \\\n",
       "0      512                 5  0.666667      5 -5.615610e-02 -4.101260e-02   \n",
       "1      512                 0  0.666667      0 -3.669700e-15 -3.330670e-16   \n",
       "2      512                 2  0.666667      2 -2.422960e-03  1.682680e-16   \n",
       "3      512                 4  0.666667      4  1.532020e-01  1.628940e-01   \n",
       "4      512                 4  0.666667      4 -9.691840e-03  3.108620e-15   \n",
       "5      512                 1  0.666667      1 -6.057400e-04 -3.747000e-15   \n",
       "6      512                 1  0.666667      1 -6.057400e-04  1.304510e-15   \n",
       "7      512                 0  0.666667      0 -1.987020e-15 -1.935950e-15   \n",
       "8      512                 5  0.666667      5 -3.277240e-01 -3.125800e-01   \n",
       "9      512                 1  0.666667      1 -6.057400e-04  5.630910e-15   \n",
       "10     512                 4  0.666667      4 -4.035140e-02 -3.065960e-02   \n",
       "11     512                 2  0.666667      2 -1.205740e-01 -1.181510e-01   \n",
       "12     512                 3  0.666667      3 -3.439830e-02 -2.894660e-02   \n",
       "13     512                 4  0.666667      4 -2.340630e-02 -1.371450e-02   \n",
       "14     512                 0  0.666667      0 -4.331390e-16 -2.373100e-15   \n",
       "15     512                 3  0.666667      3 -2.461910e-02 -1.916740e-02   \n",
       "16     512                 5  0.666667      5 -1.807250e-01 -1.655820e-01   \n",
       "17     512                 1  0.666667      1 -6.057400e-04  3.070460e-15   \n",
       "18     512                 0  0.666667      0  1.944730e-15  1.887380e-15   \n",
       "19     512                 1  0.666667      1 -6.057400e-04 -4.413140e-15   \n",
       "20     512                 1  0.666667      1 -6.057400e-04  2.248200e-15   \n",
       "21     512                 5  0.666667      5 -1.044350e-01 -8.929170e-02   \n",
       "22     512                 3  0.666667      3 -3.782400e-02 -3.237240e-02   \n",
       "23     512                 5  0.666667      5 -1.086300e-01 -9.348650e-02   \n",
       "24     512                 1  0.666667      1 -6.057400e-04 -1.942890e-16   \n",
       "25     512                 2  0.666667      2 -4.778790e-02 -4.536500e-02   \n",
       "26     512                 2  0.666667      2 -9.900980e-01 -9.876750e-01   \n",
       "27     512                 4  0.666667      4 -1.657710e-02 -6.885270e-03   \n",
       "28     512                 1  0.666667      1 -6.057400e-04 -6.938890e-18   \n",
       "29     512                 3  0.666667      3 -5.451660e-03 -3.025360e-15   \n",
       "30     512                 2  0.666667      2 -2.422960e-03 -5.773160e-15   \n",
       "31     512                 1  0.666667      1 -6.057400e-04 -3.400060e-16   \n",
       "32     512                 0  0.666667      0  7.018800e-15  3.663740e-15   \n",
       "33     512                 4  0.666667      4 -8.814790e-01 -8.717870e-01   \n",
       "34     512                 2  0.666667      2 -2.422960e-03 -1.734720e-18   \n",
       "35     512                 0  0.666667      0 -1.876860e-15  3.663740e-15   \n",
       "36     512                 1  0.666667      1 -6.057400e-04 -1.075530e-15   \n",
       "37     512                 4  0.666667      4 -9.224960e-02 -8.255780e-02   \n",
       "38     512                 0  0.666667      0 -1.333570e-17 -2.550040e-15   \n",
       "39     512                 0  0.666667      0  4.490010e-15 -2.248200e-15   \n",
       "40     512                 4  0.666667      4 -1.042640e+00 -1.032940e+00   \n",
       "41     512                 0  0.666667      0  5.485300e-15  3.486790e-15   \n",
       "42     512                 1  0.666667      1 -6.057400e-04 -2.026160e-15   \n",
       "43     512                 3  0.666667      3 -5.451660e-03  7.261550e-15   \n",
       "44     512                 2  0.666667      2 -2.422960e-03 -8.049120e-16   \n",
       "45     512                 0  0.666667      0 -3.111660e-17 -2.220450e-15   \n",
       "46     512                 1  0.666667      1 -6.057400e-04 -3.441690e-15   \n",
       "47     512                 1  0.666667      1 -6.057400e-04  9.364040e-15   \n",
       "48     512                 2  0.666667      2 -2.422960e-03 -5.273560e-16   \n",
       "49     512                 0  0.666667      0 -1.609280e-15  4.440890e-16   \n",
       "50     512                 2  0.666667      2 -2.422960e-03  9.020560e-16   \n",
       "51     512                 2  0.666667      2 -2.422960e-03  0.000000e+00   \n",
       "\n",
       "    LongRangeCorrections  BondTwoBody  BondThreeBody  BondFourBody    trial  \\\n",
       "0          -1.514350e-02            0              0             0   100000   \n",
       "1          -1.517880e-18            0              0             0   200000   \n",
       "2          -2.422960e-03            0              0             0   300000   \n",
       "3          -9.691840e-03            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          -1.517880e-18            0              0             0   800000   \n",
       "8          -1.514350e-02            0              0             0   900000   \n",
       "9          -6.057400e-04            0              0             0  1000000   \n",
       "10         -9.691840e-03            0              0             0  1100000   \n",
       "11         -2.422960e-03            0              0             0  1200000   \n",
       "12         -5.451660e-03            0              0             0  1300000   \n",
       "13         -9.691840e-03            0              0             0  1400000   \n",
       "14         -2.493660e-18            0              0             0  1500000   \n",
       "15         -5.451660e-03            0              0             0  1600000   \n",
       "16         -1.514350e-02            0              0             0  1700000   \n",
       "17         -6.057400e-04            0              0             0  1800000   \n",
       "18         -1.626300e-18            0              0             0  1900000   \n",
       "19         -6.057400e-04            0              0             0  2000000   \n",
       "20         -6.057400e-04            0              0             0  2100000   \n",
       "21         -1.514350e-02            0              0             0  2200000   \n",
       "22         -5.451660e-03            0              0             0  2300000   \n",
       "23         -1.514350e-02            0              0             0  2400000   \n",
       "24         -6.057400e-04            0              0             0  2500000   \n",
       "25         -2.422960e-03            0              0             0  2600000   \n",
       "26         -2.422960e-03            0              0             0  2700000   \n",
       "27         -9.691840e-03            0              0             0  2800000   \n",
       "28         -6.057400e-04            0              0             0  2900000   \n",
       "29         -5.451660e-03            0              0             0  3000000   \n",
       "30         -2.422960e-03            0              0             0  3100000   \n",
       "31         -6.057400e-04            0              0             0  3200000   \n",
       "32         -2.385240e-18            0              0             0  3300000   \n",
       "33         -9.691840e-03            0              0             0  3400000   \n",
       "34         -2.422960e-03            0              0             0  3500000   \n",
       "35         -1.517880e-18            0              0             0  3600000   \n",
       "36         -6.057400e-04            0              0             0  3700000   \n",
       "37         -9.691840e-03            0              0             0  3800000   \n",
       "38         -2.493660e-18            0              0             0  3900000   \n",
       "39         -1.517880e-18            0              0             0  4000000   \n",
       "40         -9.691840e-03            0              0             0  4100000   \n",
       "41         -2.493660e-18            0              0             0  4200000   \n",
       "42         -6.057400e-04            0              0             0  4300000   \n",
       "43         -5.451660e-03            0              0             0  4400000   \n",
       "44         -2.422960e-03            0              0             0  4500000   \n",
       "45         -2.493660e-18            0              0             0  4600000   \n",
       "46         -6.057400e-04            0              0             0  4700000   \n",
       "47         -6.057400e-04            0              0             0  4800000   \n",
       "48         -2.422960e-03            0              0             0  4900000   \n",
       "49         -1.517880e-18            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.927751  2.83079  0.047373     0.046741  \n",
       "1         0.944879  2.83079  0.256928     0.346506  \n",
       "2         0.950235  2.83079  0.441354     0.570366  \n",
       "3         0.953083  2.83079  0.534310     0.676512  \n",
       "4         0.954784  2.83079  0.589223     0.737878  \n",
       "5         0.956285  2.83079  0.625951     0.778506  \n",
       "6         0.957065  2.83079  0.652960     0.807427  \n",
       "7         0.957227  2.83079  0.672873     0.828548  \n",
       "8         0.957637  2.83079  0.688387     0.844791  \n",
       "9         0.957736  2.83079  0.700375     0.857707  \n",
       "10        0.957840  2.83079  0.709995     0.868286  \n",
       "11        0.958064  2.83079  0.718449     0.877129  \n",
       "12        0.958033  2.83079  0.725688     0.884632  \n",
       "13        0.958037  2.83079  0.731605     0.891108  \n",
       "14        0.958290  2.83079  0.736525     0.896649  \n",
       "15        0.958445  2.83079  0.741085     0.901540  \n",
       "16        0.958455  2.83079  0.745267     0.905789  \n",
       "17        0.958639  2.83079  0.748933     0.909629  \n",
       "18        0.958730  2.83079  0.752052     0.912985  \n",
       "19        0.958743  2.83079  0.755071     0.916069  \n",
       "20        0.958821  2.83079  0.757694     0.918892  \n",
       "21        0.958917  2.83079  0.760386     0.921492  \n",
       "22        0.959054  2.83079  0.762617     0.923845  \n",
       "23        0.958905  2.83079  0.764488     0.925978  \n",
       "24        0.958914  2.83079  0.766521     0.927944  \n",
       "25        0.958939  2.83079  0.768050     0.929698  \n",
       "26        0.959031  2.83079  0.769619     0.931341  \n",
       "27        0.959084  2.83079  0.770725     0.932810  \n",
       "28        0.959179  2.83079  0.772262     0.934336  \n",
       "29        0.959204  2.83079  0.773755     0.935689  \n",
       "30        0.959197  2.83079  0.774697     0.936865  \n",
       "31        0.959207  2.83079  0.775970     0.938091  \n",
       "32        0.959206  2.83079  0.777194     0.939220  \n",
       "33        0.959216  2.83079  0.778111     0.940227  \n",
       "34        0.959218  2.83079  0.778960     0.941170  \n",
       "35        0.959229  2.83079  0.779697     0.942059  \n",
       "36        0.959234  2.83079  0.780548     0.942917  \n",
       "37        0.959233  2.83079  0.781348     0.943726  \n",
       "38        0.959321  2.83079  0.782267     0.944475  \n",
       "39        0.959337  2.83079  0.782988     0.945215  \n",
       "40        0.959398  2.83079  0.783727     0.945905  \n",
       "41        0.959446  2.83079  0.784386     0.946561  \n",
       "42        0.959459  2.83079  0.784971     0.947184  \n",
       "43        0.959442  2.83079  0.785598     0.947789  \n",
       "44        0.959441  2.83079  0.786153     0.948361  \n",
       "45        0.959466  2.83079  0.786648     0.948910  \n",
       "46        0.959506  2.83079  0.787197     0.949461  \n",
       "47        0.959587  2.83079  0.787692     0.949976  \n",
       "48        0.959619  2.83079  0.788031     0.950492  \n",
       "49        0.959615  2.83079  0.788432     0.950945  \n",
       "50        0.959605  2.83079  0.788997     0.951434  \n",
       "51        0.959605  2.83079  0.788997     0.951434  "
      ]
     },
     "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.13.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
