diff --git a/sociopatterns.ipynb b/sociopatterns.ipynb index 850a88e..01b1148 100644 --- a/sociopatterns.ipynb +++ b/sociopatterns.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "autoscroll": false, "collapsed": false, @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": { "autoscroll": false, "collapsed": false, @@ -45,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -72,7 +72,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -81,7 +81,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -90,7 +90,7 @@ "'IGRAPH UN-- 10972 415912 -- \\n+ attr: id (v), name (v), id (e), time (e)'" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -101,7 +101,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -110,7 +110,7 @@ "76944" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -119,27 +119,6 @@ "len(np.unique(g.es[\"time\"]))" ] }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(12, 11), (10, 9), (0, 2), (3, 4), (5, 8), (6, 7), (1, 2, 8)]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "edges = g.es.select(time_eq=1240916059)\n", - "g.subgraph_edges(edges).maximal_cliques()" - ] - }, { "cell_type": "code", "execution_count": null, @@ -154,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -163,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -175,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -184,7 +163,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -193,526 +172,9 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Process ForkPoolWorker-73:\n", - "Process ForkPoolWorker-89:\n", - "Process ForkPoolWorker-90:\n", - "Process ForkPoolWorker-72:\n", - "Process ForkPoolWorker-78:\n", - "Process ForkPoolWorker-79:\n", - "Process ForkPoolWorker-67:\n", - "Process ForkPoolWorker-76:\n", - "Process ForkPoolWorker-81:\n", - "Process ForkPoolWorker-70:\n", - "Process ForkPoolWorker-95:\n", - "Process ForkPoolWorker-68:\n", - "Process ForkPoolWorker-71:\n", - "Process ForkPoolWorker-94:\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "Process ForkPoolWorker-66:\n", - "Process ForkPoolWorker-91:\n", - "Process ForkPoolWorker-65:\n", - "Process ForkPoolWorker-75:\n", - "Process ForkPoolWorker-74:\n", - "Process ForkPoolWorker-96:\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Process ForkPoolWorker-80:\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Process ForkPoolWorker-92:\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "Traceback (most recent call last):\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3849, in select\n", - " es = es.select(filtered_idxs)\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3753, in select\n", - " es = _igraph.EdgeSeq.select(self, *args)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Process ForkPoolWorker-88:\n", - "KeyboardInterrupt\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "Process ForkPoolWorker-93:\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - "KeyboardInterrupt\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3849, in select\n", - " es = es.select(filtered_idxs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - "Traceback (most recent call last):\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3849, in select\n", - " es = es.select(filtered_idxs)\n" - ] - }, - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mpool\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmultiprocessing\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPool\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprocesses\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmultiprocessing\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcpu_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mcliques\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpool\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclique_subgraph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m/usr/lib/python3.5/multiprocessing/pool.py\u001b[0m in \u001b[0;36mmap\u001b[0;34m(self, func, iterable, chunksize)\u001b[0m\n\u001b[1;32m 258\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ma\u001b[0m \u001b[0mlist\u001b[0m \u001b[0mthat\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mreturned\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 259\u001b[0m '''\n\u001b[0;32m--> 260\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_map_async\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmapstar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 261\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 262\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mstarmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/multiprocessing/pool.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 600\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 601\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 602\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 603\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mready\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 604\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mTimeoutError\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/multiprocessing/pool.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 597\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 598\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 599\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_event\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 600\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 601\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 547\u001b[0m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_flag\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 548\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 549\u001b[0;31m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cond\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 550\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 551\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 291\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# restore state no matter what (e.g., KeyboardInterrupt)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 292\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 293\u001b[0;31m \u001b[0mwaiter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 294\u001b[0m \u001b[0mgotit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 295\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - "Process ForkPoolWorker-77:\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in \n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3753, in select\n", - " es = _igraph.EdgeSeq.select(self, *args)\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3753, in select\n", - " es = _igraph.EdgeSeq.select(self, *args)\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - "Traceback (most recent call last):\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3841, in select\n", - " values = es[attr]\n", - "Process ForkPoolWorker-84:\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "KeyboardInterrupt\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in \n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - "KeyboardInterrupt\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - "Process ForkPoolWorker-69:\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "Process ForkPoolWorker-86:\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "KeyboardInterrupt\n", - "KeyboardInterrupt\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3841, in select\n", - " values = es[attr]\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - "Process ForkPoolWorker-85:\n", - "Process ForkPoolWorker-82:\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - "Process ForkPoolWorker-83:\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - "KeyboardInterrupt\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - "KeyboardInterrupt\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "Process ForkPoolWorker-87:\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "Traceback (most recent call last):\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in \n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 44, in mapstar\n", - " return list(map(*args))\n", - "KeyboardInterrupt\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "KeyboardInterrupt\n", - " File \"\", line 2, in clique_subgraph\n", - " return g.subgraph_edges(g.es.select(time_eq=t)).maximal_cliques()\n", - "KeyboardInterrupt\n", - "KeyboardInterrupt\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3846, in select\n", - " filtered_idxs=[i for i, v in enumerate(values) \\\n", - " File \"/home/lozeve/.local/share/virtualenvs/tda-networks--KypeAmE/lib/python3.5/site-packages/igraph/__init__.py\", line 3847, in \n", - " if func(v, value)]\n", - "KeyboardInterrupt\n" - ] - } - ], + "outputs": [], "source": [ "pool = multiprocessing.Pool(processes=multiprocessing.cpu_count())\n", "cliques = pool.map(clique_subgraph, times)" @@ -720,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -729,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -739,23 +201,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "<3,4,11> 0\n", - "<7,9,10> 0\n", - "<7,8,10> 0\n", - "<5,6,7,8> 0\n", - "<4,8> 0\n", - "<3,5> 0\n", - "<0,1,2> 0\n" - ] - } - ], + "outputs": [], "source": [ "maxfilt = d.Filtration(maxcliques)\n", "for s in maxfilt:\n", @@ -764,7 +212,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -773,70 +221,177 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[False,\n", - " False,\n", - " False,\n", - " True,\n", - " False,\n", - " False,\n", - " True,\n", - " False,\n", - " False,\n", - " False,\n", - " True,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " True,\n", - " False,\n", - " True,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " False,\n", - " False]" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "presences[-1]" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "[np.argwhere(np.array(p)[1:] ^ np.array(p)[:-1]).flatten().tolist() for p in presences]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cut into sliding windows" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "duration = 0.1 * (times.max() - times.min())\n", + "duration * np.arange(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### TODO overlap" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def sliding_windows(g, res=0.1, overlap=0):\n", + " times = np.array(g.es[\"time\"])\n", + " duration = res * (times.max() - times.min())\n", + " windows = []\n", + " for i in range(int(1/res)-1):\n", + " edges = g.es.select(time_gt=times.min() + duration*i, time_lt=times.min() + duration*(i+1))\n", + " windows.append(g.subgraph_edges(edges))\n", + " return windows" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "wins = sliding_windows(g, 0.1)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "[[], [], [], [], [], [], [2, 3, 5, 6, 9, 10, 17, 18, 19, 20]]" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "1241607579.0\n", + "1242302279.0\n", + "1242996839.0\n", + "1243691539.0\n", + "1244386179.0\n", + "1244995999.0\n", + "1245775339.0\n", + "1246468459.0\n", + "1247162039.0\n" + ] } ], "source": [ - "[np.argwhere(np.array(p)[1:] ^ np.array(p)[:-1]).flatten().tolist() for p in presences]" + "for i in wins:\n", + " print(max(i.es[\"time\"]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Zigzag persistence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute the maximal simplicial complex" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def max_simplicial_complex(g):\n", + " return d.Filtration(g.maximal_cliques())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "def presence_times(g):\n", + " max_simplicial_complex = d.Filtration(g.cliques())\n", + " filts = []\n", + " for t in np.sort(np.unique(g.es[\"time\"])):\n", + " edges = g.es.select(time_eq=t)\n", + " cliques = g.subgraph_edges(edges).cliques()\n", + " filts.append(d.Filtration(cliques))\n", + " presences = [[s in filt for filt in filts] for s in max_simplicial_complex]\n", + " presences = [np.argwhere(np.array(p)[1:] ^ np.array(p)[:-1]).flatten().tolist() for p in presences]\n", + " return (max_simplicial_complex, presences)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "(f, t) = presence_times(wins[2])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "zz, dgms, cells = d.zigzag_homology_persistence(f, t)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'd' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFiltration\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSimplex\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'd' is not defined" + ] + } + ], + "source": [ + "for s in d.Filtration([d.Simplex((0,1,2))]):\n", + " print(s)" ] }, {