cadCAD/simulations/example_run.ipynb

1901 lines
68 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"from tabulate import tabulate\n",
"\n",
"# The following imports NEED to be in the exact order\n",
"from SimCAD.engine import ExecutionMode, ExecutionContext, Executor\n",
"from validation import config1, config2\n",
"from SimCAD import configs\n",
"\n",
"exec_mode = ExecutionMode()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Simulation Execution 1\n",
"\n",
"single_proc: [<SimCAD.configuration.Configuration object at 0x10a305278>]\n"
]
}
],
"source": [
"print(\"Simulation Execution 1\")\n",
"print()\n",
"first_config = [configs[0]] # from config1\n",
"single_proc_ctx = ExecutionContext(context=exec_mode.single_proc)\n",
"run1 = Executor(exec_context=single_proc_ctx, configs=first_config)\n",
"run1_raw_result, raw_tensor_field = run1.main()\n",
"result = pd.DataFrame(run1_raw_result)\n",
"tensor_field = pd.DataFrame(raw_tensor_field)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor Field:\n"
]
},
{
"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>b1</th>\n",
" <th>b2</th>\n",
" <th>s1</th>\n",
" <th>s2</th>\n",
" <th>es1</th>\n",
" <th>es2</th>\n",
" <th>es3</th>\n",
" <th>m</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>&lt;function b1m1 at 0x109f25d90&gt;</td>\n",
" <td>&lt;function b2m1 at 0x10a2fda60&gt;</td>\n",
" <td>&lt;function s1m1 at 0x10a2fdd08&gt;</td>\n",
" <td>&lt;function s2m1 at 0x10a2fdd90&gt;</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>&lt;function b1m2 at 0x10a2fdae8&gt;</td>\n",
" <td>&lt;function b2m2 at 0x10a2fdb70&gt;</td>\n",
" <td>&lt;function s1m2 at 0x10a2fde18&gt;</td>\n",
" <td>&lt;function s2m2 at 0x10a2fdea0&gt;</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>&lt;function b1m3 at 0x10a2fdbf8&gt;</td>\n",
" <td>&lt;function b2m3 at 0x10a2fdc80&gt;</td>\n",
" <td>&lt;function s1m3 at 0x10a2fdf28&gt;</td>\n",
" <td>&lt;function s2m3 at 0x10a308048&gt;</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" b1 b2 \\\n",
"0 <function b1m1 at 0x109f25d90> <function b2m1 at 0x10a2fda60> \n",
"1 <function b1m2 at 0x10a2fdae8> <function b2m2 at 0x10a2fdb70> \n",
"2 <function b1m3 at 0x10a2fdbf8> <function b2m3 at 0x10a2fdc80> \n",
"\n",
" s1 s2 \\\n",
"0 <function s1m1 at 0x10a2fdd08> <function s2m1 at 0x10a2fdd90> \n",
"1 <function s1m2 at 0x10a2fde18> <function s2m2 at 0x10a2fdea0> \n",
"2 <function s1m3 at 0x10a2fdf28> <function s2m3 at 0x10a308048> \n",
"\n",
" es1 \\\n",
"0 <function curried.<locals>._curried at 0x10a30... \n",
"1 <function curried.<locals>._curried at 0x10a30... \n",
"2 <function curried.<locals>._curried at 0x10a30... \n",
"\n",
" es2 \\\n",
"0 <function curried.<locals>._curried at 0x10a30... \n",
"1 <function curried.<locals>._curried at 0x10a30... \n",
"2 <function curried.<locals>._curried at 0x10a30... \n",
"\n",
" es3 m \n",
"0 <function curried.<locals>._curried at 0x10a30... 1 \n",
"1 <function curried.<locals>._curried at 0x10a30... 2 \n",
"2 <function curried.<locals>._curried at 0x10a30... 3 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(\"Tensor Field:\")\n",
"tensor_field"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Output:\n"
]
},
{
"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>mech_step</th>\n",
" <th>run</th>\n",
" <th>s1</th>\n",
" <th>s2</th>\n",
" <th>s3</th>\n",
" <th>s4</th>\n",
" <th>time_step</th>\n",
" <th>timestamp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2018-10-01 15:16:24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10.43650985051199020503531756</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>10.43650985051199020503531756</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>10.43650985051199020503531756</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10.53721952812028761860248013</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>10.53721952812028761860248013</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>10.53721952812028761860248013</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>8.573616357680089499783223212</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>8.573616357680089499783223212</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>8.573616357680089499783223212</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>8.335794354629596453007093216</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>8.335794354629596453007093216</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>8.335794354629596453007093216</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2018-10-01 15:16:24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>9.917258518517539922498826854</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>9.917258518517539922498826854</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>9.917258518517539922498826854</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>9.295445738182783098967212172</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>9.295445738182783098967212172</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>9.295445738182783098967212172</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>9.254714796976556134819588883</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>9.254714796976556134819588883</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>9.254714796976556134819588883</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>8.813063120281346104256259818</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>8.813063120281346104256259818</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>8.813063120281346104256259818</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mech_step run s1 s2 s3 s4 \\\n",
"0 0 1 0 0 1 1 \n",
"1 1 1 1 4 5 10 \n",
"2 2 1 ab 6 5 10 \n",
"3 3 1 [c, d] [30, 300] 5 10 \n",
"4 1 1 1 4 5 10.43650985051199020503531756 \n",
"5 2 1 ab 6 5 10.43650985051199020503531756 \n",
"6 3 1 [c, d] [30, 300] 5 10.43650985051199020503531756 \n",
"7 1 1 1 4 5 10.53721952812028761860248013 \n",
"8 2 1 ab 6 5 10.53721952812028761860248013 \n",
"9 3 1 [c, d] [30, 300] 5 10.53721952812028761860248013 \n",
"10 1 1 1 4 5 8.573616357680089499783223212 \n",
"11 2 1 ab 6 5 8.573616357680089499783223212 \n",
"12 3 1 [c, d] [30, 300] 5 8.573616357680089499783223212 \n",
"13 1 1 1 4 5 8.335794354629596453007093216 \n",
"14 2 1 ab 6 5 8.335794354629596453007093216 \n",
"15 3 1 [c, d] [30, 300] 5 8.335794354629596453007093216 \n",
"16 0 2 0 0 1 1 \n",
"17 1 2 1 4 5 10 \n",
"18 2 2 ab 6 5 10 \n",
"19 3 2 [c, d] [30, 300] 5 10 \n",
"20 1 2 1 4 5 9.917258518517539922498826854 \n",
"21 2 2 ab 6 5 9.917258518517539922498826854 \n",
"22 3 2 [c, d] [30, 300] 5 9.917258518517539922498826854 \n",
"23 1 2 1 4 5 9.295445738182783098967212172 \n",
"24 2 2 ab 6 5 9.295445738182783098967212172 \n",
"25 3 2 [c, d] [30, 300] 5 9.295445738182783098967212172 \n",
"26 1 2 1 4 5 9.254714796976556134819588883 \n",
"27 2 2 ab 6 5 9.254714796976556134819588883 \n",
"28 3 2 [c, d] [30, 300] 5 9.254714796976556134819588883 \n",
"29 1 2 1 4 5 8.813063120281346104256259818 \n",
"30 2 2 ab 6 5 8.813063120281346104256259818 \n",
"31 3 2 [c, d] [30, 300] 5 8.813063120281346104256259818 \n",
"\n",
" time_step timestamp \n",
"0 0 2018-10-01 15:16:24 \n",
"1 1 2018-10-01 15:16:25 \n",
"2 1 2018-10-01 15:16:25 \n",
"3 1 2018-10-01 15:16:25 \n",
"4 2 2018-10-01 15:16:26 \n",
"5 2 2018-10-01 15:16:26 \n",
"6 2 2018-10-01 15:16:26 \n",
"7 3 2018-10-01 15:16:27 \n",
"8 3 2018-10-01 15:16:27 \n",
"9 3 2018-10-01 15:16:27 \n",
"10 4 2018-10-01 15:16:28 \n",
"11 4 2018-10-01 15:16:28 \n",
"12 4 2018-10-01 15:16:28 \n",
"13 5 2018-10-01 15:16:29 \n",
"14 5 2018-10-01 15:16:29 \n",
"15 5 2018-10-01 15:16:29 \n",
"16 0 2018-10-01 15:16:24 \n",
"17 1 2018-10-01 15:16:25 \n",
"18 1 2018-10-01 15:16:25 \n",
"19 1 2018-10-01 15:16:25 \n",
"20 2 2018-10-01 15:16:26 \n",
"21 2 2018-10-01 15:16:26 \n",
"22 2 2018-10-01 15:16:26 \n",
"23 3 2018-10-01 15:16:27 \n",
"24 3 2018-10-01 15:16:27 \n",
"25 3 2018-10-01 15:16:27 \n",
"26 4 2018-10-01 15:16:28 \n",
"27 4 2018-10-01 15:16:28 \n",
"28 4 2018-10-01 15:16:28 \n",
"29 5 2018-10-01 15:16:29 \n",
"30 5 2018-10-01 15:16:29 \n",
"31 5 2018-10-01 15:16:29 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(\"Output:\")\n",
"result"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Simulation Execution 2: Pairwise Execution\n",
"\n",
"multi_proc: [<SimCAD.configuration.Configuration object at 0x10a305278>, <SimCAD.configuration.Configuration object at 0x10a305630>]\n"
]
}
],
"source": [
"print(\"Simulation Execution 2: Pairwise Execution\")\n",
"print()\n",
"multi_proc_ctx = ExecutionContext(context=exec_mode.multi_proc)\n",
"run2 = Executor(exec_context=multi_proc_ctx, configs=configs)\n",
"results = []\n",
"tensor_fields = []\n",
"for raw_result, raw_tensor_field in run2.main():\n",
" results.append(pd.DataFrame(raw_result))\n",
" tensor_fields.append(pd.DataFrame(raw_tensor_field))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor Field A:\n"
]
},
{
"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>b1</th>\n",
" <th>b2</th>\n",
" <th>s1</th>\n",
" <th>s2</th>\n",
" <th>es1</th>\n",
" <th>es2</th>\n",
" <th>es3</th>\n",
" <th>m</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>&lt;function b1m1 at 0x109f25d90&gt;</td>\n",
" <td>&lt;function b2m1 at 0x10a2fda60&gt;</td>\n",
" <td>&lt;function s1m1 at 0x10a2fdd08&gt;</td>\n",
" <td>&lt;function s2m1 at 0x10a2fdd90&gt;</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>&lt;function b1m2 at 0x10a2fdae8&gt;</td>\n",
" <td>&lt;function b2m2 at 0x10a2fdb70&gt;</td>\n",
" <td>&lt;function s1m2 at 0x10a2fde18&gt;</td>\n",
" <td>&lt;function s2m2 at 0x10a2fdea0&gt;</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>&lt;function b1m3 at 0x10a2fdbf8&gt;</td>\n",
" <td>&lt;function b2m3 at 0x10a2fdc80&gt;</td>\n",
" <td>&lt;function s1m3 at 0x10a2fdf28&gt;</td>\n",
" <td>&lt;function s2m3 at 0x10a308048&gt;</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" b1 b2 \\\n",
"0 <function b1m1 at 0x109f25d90> <function b2m1 at 0x10a2fda60> \n",
"1 <function b1m2 at 0x10a2fdae8> <function b2m2 at 0x10a2fdb70> \n",
"2 <function b1m3 at 0x10a2fdbf8> <function b2m3 at 0x10a2fdc80> \n",
"\n",
" s1 s2 \\\n",
"0 <function s1m1 at 0x10a2fdd08> <function s2m1 at 0x10a2fdd90> \n",
"1 <function s1m2 at 0x10a2fde18> <function s2m2 at 0x10a2fdea0> \n",
"2 <function s1m3 at 0x10a2fdf28> <function s2m3 at 0x10a308048> \n",
"\n",
" es1 \\\n",
"0 <function curried.<locals>._curried at 0x10a30... \n",
"1 <function curried.<locals>._curried at 0x10a30... \n",
"2 <function curried.<locals>._curried at 0x10a30... \n",
"\n",
" es2 \\\n",
"0 <function curried.<locals>._curried at 0x10a30... \n",
"1 <function curried.<locals>._curried at 0x10a30... \n",
"2 <function curried.<locals>._curried at 0x10a30... \n",
"\n",
" es3 m \n",
"0 <function curried.<locals>._curried at 0x10a30... 1 \n",
"1 <function curried.<locals>._curried at 0x10a30... 2 \n",
"2 <function curried.<locals>._curried at 0x10a30... 3 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"print(\"Tensor Field A:\")\n",
"tensor_fields[0]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Output A:\n"
]
},
{
"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>mech_step</th>\n",
" <th>run</th>\n",
" <th>s1</th>\n",
" <th>s2</th>\n",
" <th>s3</th>\n",
" <th>s4</th>\n",
" <th>time_step</th>\n",
" <th>timestamp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2018-10-01 15:16:24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10.88462238049958452634768946</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>10.88462238049958452634768946</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>10.88462238049958452634768946</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>11.84390378915460105928594240</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>11.84390378915460105928594240</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>11.84390378915460105928594240</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>13.86870567779818175660086782</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>13.86870567779818175660086782</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>13.86870567779818175660086782</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>13.93809586353209725047922068</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>13.93809586353209725047922068</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>13.93809586353209725047922068</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2018-10-01 15:16:24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>9.454640052380469672499430089</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>9.454640052380469672499430089</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>9.454640052380469672499430089</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7.992501415579613525253197635</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>7.992501415579613525253197635</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>7.992501415579613525253197635</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>8.777658726472379268470333983</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>8.777658726472379268470333983</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>8.777658726472379268470333983</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7.811179137283953044810612028</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ab</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" <td>7.811179137283953044810612028</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>5</td>\n",
" <td>7.811179137283953044810612028</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mech_step run s1 s2 s3 s4 \\\n",
"0 0 1 0 0 1 1 \n",
"1 1 1 1 4 5 10 \n",
"2 2 1 ab 6 5 10 \n",
"3 3 1 [c, d] [30, 300] 5 10 \n",
"4 1 1 1 4 5 10.88462238049958452634768946 \n",
"5 2 1 ab 6 5 10.88462238049958452634768946 \n",
"6 3 1 [c, d] [30, 300] 5 10.88462238049958452634768946 \n",
"7 1 1 1 4 5 11.84390378915460105928594240 \n",
"8 2 1 ab 6 5 11.84390378915460105928594240 \n",
"9 3 1 [c, d] [30, 300] 5 11.84390378915460105928594240 \n",
"10 1 1 1 4 5 13.86870567779818175660086782 \n",
"11 2 1 ab 6 5 13.86870567779818175660086782 \n",
"12 3 1 [c, d] [30, 300] 5 13.86870567779818175660086782 \n",
"13 1 1 1 4 5 13.93809586353209725047922068 \n",
"14 2 1 ab 6 5 13.93809586353209725047922068 \n",
"15 3 1 [c, d] [30, 300] 5 13.93809586353209725047922068 \n",
"16 0 2 0 0 1 1 \n",
"17 1 2 1 4 5 10 \n",
"18 2 2 ab 6 5 10 \n",
"19 3 2 [c, d] [30, 300] 5 10 \n",
"20 1 2 1 4 5 9.454640052380469672499430089 \n",
"21 2 2 ab 6 5 9.454640052380469672499430089 \n",
"22 3 2 [c, d] [30, 300] 5 9.454640052380469672499430089 \n",
"23 1 2 1 4 5 7.992501415579613525253197635 \n",
"24 2 2 ab 6 5 7.992501415579613525253197635 \n",
"25 3 2 [c, d] [30, 300] 5 7.992501415579613525253197635 \n",
"26 1 2 1 4 5 8.777658726472379268470333983 \n",
"27 2 2 ab 6 5 8.777658726472379268470333983 \n",
"28 3 2 [c, d] [30, 300] 5 8.777658726472379268470333983 \n",
"29 1 2 1 4 5 7.811179137283953044810612028 \n",
"30 2 2 ab 6 5 7.811179137283953044810612028 \n",
"31 3 2 [c, d] [30, 300] 5 7.811179137283953044810612028 \n",
"\n",
" time_step timestamp \n",
"0 0 2018-10-01 15:16:24 \n",
"1 1 2018-10-01 15:16:25 \n",
"2 1 2018-10-01 15:16:25 \n",
"3 1 2018-10-01 15:16:25 \n",
"4 2 2018-10-01 15:16:26 \n",
"5 2 2018-10-01 15:16:26 \n",
"6 2 2018-10-01 15:16:26 \n",
"7 3 2018-10-01 15:16:27 \n",
"8 3 2018-10-01 15:16:27 \n",
"9 3 2018-10-01 15:16:27 \n",
"10 4 2018-10-01 15:16:28 \n",
"11 4 2018-10-01 15:16:28 \n",
"12 4 2018-10-01 15:16:28 \n",
"13 5 2018-10-01 15:16:29 \n",
"14 5 2018-10-01 15:16:29 \n",
"15 5 2018-10-01 15:16:29 \n",
"16 0 2018-10-01 15:16:24 \n",
"17 1 2018-10-01 15:16:25 \n",
"18 1 2018-10-01 15:16:25 \n",
"19 1 2018-10-01 15:16:25 \n",
"20 2 2018-10-01 15:16:26 \n",
"21 2 2018-10-01 15:16:26 \n",
"22 2 2018-10-01 15:16:26 \n",
"23 3 2018-10-01 15:16:27 \n",
"24 3 2018-10-01 15:16:27 \n",
"25 3 2018-10-01 15:16:27 \n",
"26 4 2018-10-01 15:16:28 \n",
"27 4 2018-10-01 15:16:28 \n",
"28 4 2018-10-01 15:16:28 \n",
"29 5 2018-10-01 15:16:29 \n",
"30 5 2018-10-01 15:16:29 \n",
"31 5 2018-10-01 15:16:29 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(\"Output A:\")\n",
"results[0]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tensor Field B:\n"
]
},
{
"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>b1</th>\n",
" <th>b2</th>\n",
" <th>s1</th>\n",
" <th>s2</th>\n",
" <th>es1</th>\n",
" <th>es2</th>\n",
" <th>es3</th>\n",
" <th>m</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>&lt;function b1m1 at 0x10a308488&gt;</td>\n",
" <td>&lt;bound method Identity.b_identity of &lt;SimCAD.c...</td>\n",
" <td>&lt;function s1m1 at 0x10a308950&gt;</td>\n",
" <td>&lt;function Identity.state_identity.&lt;locals&gt;.&lt;la...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>&lt;function b1m2 at 0x10a308730&gt;</td>\n",
" <td>&lt;bound method Identity.b_identity of &lt;SimCAD.c...</td>\n",
" <td>&lt;function s1m2 at 0x10a308a60&gt;</td>\n",
" <td>&lt;function Identity.state_identity.&lt;locals&gt;.&lt;la...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>&lt;function b1m3 at 0x10a308840&gt;</td>\n",
" <td>&lt;function b2m3 at 0x10a3088c8&gt;</td>\n",
" <td>&lt;function s1m3 at 0x10a308b70&gt;</td>\n",
" <td>&lt;function s2m3 at 0x10a308bf8&gt;</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>&lt;function curried.&lt;locals&gt;._curried at 0x10a30...</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" b1 \\\n",
"0 <function b1m1 at 0x10a308488> \n",
"1 <function b1m2 at 0x10a308730> \n",
"2 <function b1m3 at 0x10a308840> \n",
"\n",
" b2 \\\n",
"0 <bound method Identity.b_identity of <SimCAD.c... \n",
"1 <bound method Identity.b_identity of <SimCAD.c... \n",
"2 <function b2m3 at 0x10a3088c8> \n",
"\n",
" s1 \\\n",
"0 <function s1m1 at 0x10a308950> \n",
"1 <function s1m2 at 0x10a308a60> \n",
"2 <function s1m3 at 0x10a308b70> \n",
"\n",
" s2 \\\n",
"0 <function Identity.state_identity.<locals>.<la... \n",
"1 <function Identity.state_identity.<locals>.<la... \n",
"2 <function s2m3 at 0x10a308bf8> \n",
"\n",
" es1 \\\n",
"0 <function curried.<locals>._curried at 0x10a30... \n",
"1 <function curried.<locals>._curried at 0x10a30... \n",
"2 <function curried.<locals>._curried at 0x10a30... \n",
"\n",
" es2 \\\n",
"0 <function curried.<locals>._curried at 0x10a30... \n",
"1 <function curried.<locals>._curried at 0x10a30... \n",
"2 <function curried.<locals>._curried at 0x10a30... \n",
"\n",
" es3 m \n",
"0 <function curried.<locals>._curried at 0x10a30... 1 \n",
"1 <function curried.<locals>._curried at 0x10a30... 2 \n",
"2 <function curried.<locals>._curried at 0x10a30... 3 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(\"Tensor Field B:\")\n",
"tensor_fields[1]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Output B:\n"
]
},
{
"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>mech_step</th>\n",
" <th>run</th>\n",
" <th>s1</th>\n",
" <th>s2</th>\n",
" <th>s3</th>\n",
" <th>s4</th>\n",
" <th>time_step</th>\n",
" <th>timestamp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2018-10-01 15:16:24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>a</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.943733172773669970467835810</td>\n",
" <td>10.43650985051199020503531756</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.943733172773669970467835810</td>\n",
" <td>10.43650985051199020503531756</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.943733172773669970467835810</td>\n",
" <td>10.43650985051199020503531756</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.819556774768869265284526371</td>\n",
" <td>10.53721952812028761860248013</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.819556774768869265284526371</td>\n",
" <td>10.53721952812028761860248013</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.819556774768869265284526371</td>\n",
" <td>10.53721952812028761860248013</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.102175846000753312124925331</td>\n",
" <td>8.573616357680089499783223212</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.102175846000753312124925331</td>\n",
" <td>8.573616357680089499783223212</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.102175846000753312124925331</td>\n",
" <td>8.573616357680089499783223212</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.469759239508861972798095765</td>\n",
" <td>8.335794354629596453007093216</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.469759239508861972798095765</td>\n",
" <td>8.335794354629596453007093216</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.469759239508861972798095765</td>\n",
" <td>8.335794354629596453007093216</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2018-10-01 15:16:24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>a</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2018-10-01 15:16:25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>10.50288141715804313136573001</td>\n",
" <td>9.917258518517539922498826854</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>10.50288141715804313136573001</td>\n",
" <td>9.917258518517539922498826854</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>10.50288141715804313136573001</td>\n",
" <td>9.917258518517539922498826854</td>\n",
" <td>2</td>\n",
" <td>2018-10-01 15:16:26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.194970106774504549722066426</td>\n",
" <td>9.295445738182783098967212172</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.194970106774504549722066426</td>\n",
" <td>9.295445738182783098967212172</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>9.194970106774504549722066426</td>\n",
" <td>9.295445738182783098967212172</td>\n",
" <td>3</td>\n",
" <td>2018-10-01 15:16:27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>8.222186204091007892903999658</td>\n",
" <td>9.254714796976556134819588883</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>8.222186204091007892903999658</td>\n",
" <td>9.254714796976556134819588883</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>8.222186204091007892903999658</td>\n",
" <td>9.254714796976556134819588883</td>\n",
" <td>4</td>\n",
" <td>2018-10-01 15:16:28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.474783217004487060973175797</td>\n",
" <td>8.813063120281346104256259818</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>a</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.474783217004487060973175797</td>\n",
" <td>8.813063120281346104256259818</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[c, d]</td>\n",
" <td>[30, 300]</td>\n",
" <td>7.474783217004487060973175797</td>\n",
" <td>8.813063120281346104256259818</td>\n",
" <td>5</td>\n",
" <td>2018-10-01 15:16:29</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mech_step run s1 s2 s3 \\\n",
"0 0 1 0 0 1 \n",
"1 1 1 1 0 10 \n",
"2 2 1 a 0 10 \n",
"3 3 1 [c, d] [30, 300] 10 \n",
"4 1 1 1 [30, 300] 9.943733172773669970467835810 \n",
"5 2 1 a [30, 300] 9.943733172773669970467835810 \n",
"6 3 1 [c, d] [30, 300] 9.943733172773669970467835810 \n",
"7 1 1 1 [30, 300] 7.819556774768869265284526371 \n",
"8 2 1 a [30, 300] 7.819556774768869265284526371 \n",
"9 3 1 [c, d] [30, 300] 7.819556774768869265284526371 \n",
"10 1 1 1 [30, 300] 9.102175846000753312124925331 \n",
"11 2 1 a [30, 300] 9.102175846000753312124925331 \n",
"12 3 1 [c, d] [30, 300] 9.102175846000753312124925331 \n",
"13 1 1 1 [30, 300] 7.469759239508861972798095765 \n",
"14 2 1 a [30, 300] 7.469759239508861972798095765 \n",
"15 3 1 [c, d] [30, 300] 7.469759239508861972798095765 \n",
"16 0 2 0 0 1 \n",
"17 1 2 1 0 10 \n",
"18 2 2 a 0 10 \n",
"19 3 2 [c, d] [30, 300] 10 \n",
"20 1 2 1 [30, 300] 10.50288141715804313136573001 \n",
"21 2 2 a [30, 300] 10.50288141715804313136573001 \n",
"22 3 2 [c, d] [30, 300] 10.50288141715804313136573001 \n",
"23 1 2 1 [30, 300] 9.194970106774504549722066426 \n",
"24 2 2 a [30, 300] 9.194970106774504549722066426 \n",
"25 3 2 [c, d] [30, 300] 9.194970106774504549722066426 \n",
"26 1 2 1 [30, 300] 8.222186204091007892903999658 \n",
"27 2 2 a [30, 300] 8.222186204091007892903999658 \n",
"28 3 2 [c, d] [30, 300] 8.222186204091007892903999658 \n",
"29 1 2 1 [30, 300] 7.474783217004487060973175797 \n",
"30 2 2 a [30, 300] 7.474783217004487060973175797 \n",
"31 3 2 [c, d] [30, 300] 7.474783217004487060973175797 \n",
"\n",
" s4 time_step timestamp \n",
"0 1 0 2018-10-01 15:16:24 \n",
"1 10 1 2018-10-01 15:16:25 \n",
"2 10 1 2018-10-01 15:16:25 \n",
"3 10 1 2018-10-01 15:16:25 \n",
"4 10.43650985051199020503531756 2 2018-10-01 15:16:26 \n",
"5 10.43650985051199020503531756 2 2018-10-01 15:16:26 \n",
"6 10.43650985051199020503531756 2 2018-10-01 15:16:26 \n",
"7 10.53721952812028761860248013 3 2018-10-01 15:16:27 \n",
"8 10.53721952812028761860248013 3 2018-10-01 15:16:27 \n",
"9 10.53721952812028761860248013 3 2018-10-01 15:16:27 \n",
"10 8.573616357680089499783223212 4 2018-10-01 15:16:28 \n",
"11 8.573616357680089499783223212 4 2018-10-01 15:16:28 \n",
"12 8.573616357680089499783223212 4 2018-10-01 15:16:28 \n",
"13 8.335794354629596453007093216 5 2018-10-01 15:16:29 \n",
"14 8.335794354629596453007093216 5 2018-10-01 15:16:29 \n",
"15 8.335794354629596453007093216 5 2018-10-01 15:16:29 \n",
"16 1 0 2018-10-01 15:16:24 \n",
"17 10 1 2018-10-01 15:16:25 \n",
"18 10 1 2018-10-01 15:16:25 \n",
"19 10 1 2018-10-01 15:16:25 \n",
"20 9.917258518517539922498826854 2 2018-10-01 15:16:26 \n",
"21 9.917258518517539922498826854 2 2018-10-01 15:16:26 \n",
"22 9.917258518517539922498826854 2 2018-10-01 15:16:26 \n",
"23 9.295445738182783098967212172 3 2018-10-01 15:16:27 \n",
"24 9.295445738182783098967212172 3 2018-10-01 15:16:27 \n",
"25 9.295445738182783098967212172 3 2018-10-01 15:16:27 \n",
"26 9.254714796976556134819588883 4 2018-10-01 15:16:28 \n",
"27 9.254714796976556134819588883 4 2018-10-01 15:16:28 \n",
"28 9.254714796976556134819588883 4 2018-10-01 15:16:28 \n",
"29 8.813063120281346104256259818 5 2018-10-01 15:16:29 \n",
"30 8.813063120281346104256259818 5 2018-10-01 15:16:29 \n",
"31 8.813063120281346104256259818 5 2018-10-01 15:16:29 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(\"Output B:\")\n",
"results[1]"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 1
}