From fc25dc60d0002c604e5e7a9f6dabde65570993a5 Mon Sep 17 00:00:00 2001 From: John Stachurski Date: Fri, 17 Dec 2021 13:14:15 +1100 Subject: [PATCH] First pass --- ...optimal_transport_splitting_experiment.aux | 2 + ...transport_splitting_experiment.fdb_latexmk | 164 ++++++ ...optimal_transport_splitting_experiment.fls | 504 ++++++++++++++++++ ...optimal_transport_splitting_experiment.log | 426 +++++++++++++++ ...optimal_transport_splitting_experiment.pdf | Bin 0 -> 6001 bytes ...optimal_transport_splitting_experiment.png | Bin 0 -> 20211 bytes ..._transport_splitting_experiment.synctex.gz | Bin 0 -> 3072 bytes ...optimal_transport_splitting_experiment.tex | 51 ++ lectures/opt_transport.md | 433 ++++++++++++--- 9 files changed, 1496 insertions(+), 84 deletions(-) create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.aux create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fdb_latexmk create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fls create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.log create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.pdf create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.png create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.synctex.gz create mode 100644 lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.tex diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.aux b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.aux new file mode 100644 index 000000000..b64012178 --- /dev/null +++ b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.aux @@ -0,0 +1,2 @@ +\relax +\gdef \@abspage@last{1} diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fdb_latexmk b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fdb_latexmk new file mode 100644 index 000000000..f031a4940 --- /dev/null +++ b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fdb_latexmk @@ -0,0 +1,164 @@ +# Fdb version 3 +["pdflatex"] 1639699536 "optimal_transport_splitting_experiment.tex" "optimal_transport_splitting_experiment.pdf" "optimal_transport_splitting_experiment" 1639699537 + "/dev/null" 1638342955 0 d41d8cd98f00b204e9800998ecf8427e "" + "/usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty" 1617738065 492 1994775aa15b0d1289725a0b1bbc2d4c "" + "/usr/share/texmf-dist/tex/generic/iftex/iftex.sty" 1617738065 6501 4011d89d9621e0b0901138815ba5ff29 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex" 1617738065 992 855ff26741653ab54814101ca36e153c "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex" 1617738065 43820 1fef971b75380574ab35a0d37fd92608 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex" 1617738065 19324 f4e4c6403dd0f1605fd20ed22fa79dea "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex" 1617738065 6038 ccb406740cc3f03bbfb58ad504fe8c27 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex" 1617738065 6944 e12f8f7a7364ddf66f93ba30fb3a3742 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex" 1617738065 4883 42daaf41e27c3735286e23e48d2d7af9 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex" 1617738065 2544 8c06d2a7f0f469616ac9e13db6d2f842 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex" 1617738065 44195 5e390c414de027626ca5e2df888fa68d "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex" 1617738065 17311 2ef6b2e29e2fc6a2fc8d6d652176e257 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex" 1617738065 21302 788a79944eb22192a4929e46963a3067 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex" 1617738065 9690 01feb7cde25d4293ef36eef45123eb80 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex" 1617738065 33335 dd1fa4814d4e51f18be97d88bf0da60c "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex" 1617738065 2965 4c2b1f4e0826925746439038172e5d6f "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex" 1617738065 5196 2cc249e0ee7e03da5f5f6589257b1e5b "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex" 1617738065 20726 d4c8db1e2e53b72721d29916314a22ea "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex" 1617738065 35249 abd4adf948f960299a4b3d27c5dddf46 "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex" 1617738065 21989 fdc867d05d228316de137a9fc5ec3bbe "" + "/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex" 1617738065 8893 e851de2175338fdf7c17f3e091d94618 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex" 1617738065 319 225dfe354ba678ff3c194968db39d447 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex" 1617738065 15929 463535aa2c4268fead6674a75c0e8266 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex" 1617738065 5493 23e371e6fe3e7e42533d6d6c15662e0d "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex" 1617738065 321 cdd11262840e01e25374a2d458f15e99 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex" 1617738065 1319 0b2de5126c6cbc295f0eb77f7344b34d "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex" 1617738065 3643 e2a4190a002bc73963fd3145b05b6002 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex" 1617738065 5286 9a47f1a4030b41b12ff25b93bef99d01 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex" 1617738065 4202 b95061a2334c704bfa941fb8d5c0d0a2 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex" 1617738065 325 36322b0789619b270aec5993d5a9ed08 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex" 1617738065 3937 3f208572dd82c71103831da976d74f1a "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex" 1617738065 3931 8b99416ab2e0d0d6af4e0cc444f11055 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex" 1617738065 410 048d1174dabde96757a5387b8f23d968 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex" 1617738065 1201 8bd51e254d3ecf0cd2f21edd9ab6f1bb "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex" 1617738065 494 8de62576191924285b021f4fc4292e16 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex" 1617738065 339 be0fe46d92a80e3385dd6a83511a46f2 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex" 1617738065 329 ba6d5440f8c16779c2384e0614158266 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex" 1617738065 919 938802205ca20d7c36615aabc4d34be2 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex" 1617738065 475 4b4056fe07caa0603fede9a162fe666d "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex" 1617738065 11518 738408f795261b70ce8dd47459171309 "" + "/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex" 1617738065 188275 555994923a0cb0c4aff9710e303272bb "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex" 1617738065 8843 5533436db3e30fbad1e0440db6027dac "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex" 1617738065 7474 f05a7223b140f230922562ac6a9fede5 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex" 1617738065 31874 89148c383c49d4c72114a76fd0062299 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex" 1617738065 58801 1e750fb0692eb99aaac45698bbec96b1 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex" 1617738065 85938 8e4ba97c5906e1c0d158aea81fe29af7 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex" 1617738065 44571 38ac24c171fb8fa1a13adc8ce7eb94c5 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex" 1617738065 32995 ac577023e12c0e4bd8aa420b2e852d1a "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex" 1617738065 14524 e1074042dc8f19d631452e43073ea3ba "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex" 1617738065 91587 e30123381f7b9bcf1341c31c6be18b94 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex" 1617738065 33336 427c354e28a4802ffd781da22ae9f383 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex" 1617738065 160993 6a81d63e475cc43874b46ed32a0a37c8 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex" 1617738065 46241 588910a2f1e0a99f2c3e14490683c20d "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex" 1617738065 62281 aff261ef10ba6cbe8e3c872a38c05a61 "" + "/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex" 1617738065 90515 e30b2c9c93aacc373e47917c0c2a48ed "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex" 1617738065 3063 8c415c68a0f3394e45cfeca0b65f6ee6 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex" 1617738065 521 8e224a7af69b7fee4451d1bf76b46654 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex" 1617738065 13391 84d29568c13bdce4133ab4a214711112 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex" 1617738065 104935 184ed87524e76d4957860df4ce0cd1c3 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex" 1617738065 10165 cec5fa73d49da442e56efc2d605ef154 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex" 1617738065 28178 41c17713108e0795aac6fef3d275fbca "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex" 1617738065 9989 c55967bf45126ff9b061fa2ca0c4694f "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex" 1617738065 3865 ac538ab80c5cf82b345016e474786549 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex" 1617738065 3177 27d85c44fbfe09ff3b2cf2879e3ea434 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex" 1617738065 10925 139ac69ce3e9a1892add56d0b818cf97 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex" 1617738065 7854 4176998eeefd8745ac6d2d4bd9c98451 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex" 1617738065 3379 781797a101f647bab82741a99944a229 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex" 1617738065 92405 f515f31275db273f97b9d8f52e1b0736 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex" 1617738065 37376 11cd75aac3da1c1b152b2848f30adc14 "" + "/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex" 1617738065 8471 c2883569d03f69e8e1cabfef4999cfd7 "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex" 1617738065 71722 aa25655703db0306f6401798e312b7b8 "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex" 1617738065 21201 08d231a2386e2b61d64641c50dc15abd "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex" 1617738065 16121 346f9013d34804439f7436ff6786cef7 "" + "/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex" 1617738065 43260 c5ced91ac9ecf66ab0674d57bda14c1f "" + "/usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex" 1617738065 465 311958b39a263956b78fd69c4bc8a85c "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg" 1617738065 926 2963ea0dcf6cc6c0a770b69ec46a477b "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def" 1617738065 5546 f3f24d7898386cb7daac70bdd2c4d6dc "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def" 1617738065 18491 d0e112cb6dad363566090fd455960cec "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def" 1617738065 13244 6674e4de0678d77c2d7465acc4ea20d7 "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def" 1617738065 2926 cf943e23420d552258ae428601f26fbf "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex" 1617738065 60544 7aef020a49f066dc86a26e7719af2a98 "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex" 1617738065 1896 b8e0ca0ac371d74c0ca05583f6313c91 "" + "/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex" 1617738065 7778 53c8b5623d80238f6a20aa1df1868e63 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex" 1617738065 23997 a4bed72405fa644418bea7eac2887006 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex" 1617738065 36938 2b5b0039ae51cc081ebb25d84b8a3408 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex" 1617738065 37431 9abe862035de1b29c7a677f3205e3d9f "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex" 1617738065 4494 af17fb7efeafe423710479858e42fa7e "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex" 1617738065 7251 fb18c67117e09c64de82267e12cd8aa4 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex" 1617738065 28579 1cdb9cf41947e1e5889d97a41f9bb448 "" + "/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def" 1617738065 6860 2503857fc7e280acd60acdfa6c8c90c4 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex" 1617692427 22701 5fab7b8ebb90b053dc067d1bd37e43c2 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex" 1617692427 3047 aa82404aec57311271f4991c44bd71dc "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex" 1617692427 23537 54be8160344d894595f6d145b1311658 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.code.tex" 1617692427 4288 b8d6247899b21e3bb66bb11b24d30f2c "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex" 1617692427 13828 11d1b09335a4a8baa693dd1e6cac3edf "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex" 1617692427 24373 6544c1554e5da33118301011eb03058d "" + "/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.code.tex" 1617692427 18861 7dc35832c8ccea3aa73cdcd75ec0a60b "" + "/usr/share/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex" 1617692427 83469 f77a7d8a23834d4c2472f8dba8e67bff "" + "/usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex" 1617692427 12347 43d867ea29e34d528123d9ef750aa146 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex" 1617692427 484290 caea27cd6fb92bee42d780744628835e "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex" 1617692427 22428 72578a4c9324bc5dfafe23fe64f64024 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex" 1617692427 12489 859c23df41fb9067128ef5a64b01c0a4 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex" 1617692427 3533 973f376afa5a4526f16b11630b9931b4 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex" 1617692427 516 008784cc48c9187f099ff003cec6516a "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex" 1617692427 123680 d33fda4929d7200c3e6f0ec83c006aef "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex" 1617692427 367035 be5ad6faf030b5e07b899b712359f9d2 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex" 1617692427 19944 7957349fbe31c4e8dea9de4cd41cb086 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex" 1617692427 133871 7247b31742a2240343a6739cb76d6821 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex" 1617692427 24402 288fc3f6c7980728b8a519dfd1737d22 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex" 1617692427 117959 1e3bc7fa9f198fdae686d98f31121098 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex" 1617692427 26190 c428334c805ae1d15110eb8670292947 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex" 1617692427 91244 1a0e9e49b7a2d10d1b1a610306ba4f8c "" + "/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-dvipdfmx.def" 1617692427 6521 203098625b6c860f745a68f8c159d81e "" + "/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-xetex.def" 1617692427 1051 b4ddc890fd57e88e153412409a1e8a1d "" + "/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.tex" 1617692427 3095 c82d281b748902a65be2ccca97360b11 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex" 1617692427 23050 a369aa910ef860a3621fe0459faa335c "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code.tex" 1617692427 26859 7a4ee9d206fb0a0daa0d3108445afb57 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex" 1617692427 23958 1b96260863091af1669c3a38b1c4c9af "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex" 1617692427 88956 018b2512ef27998e97af72e8b1dcdbd5 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex" 1617692427 71110 bbc5bf1ad9c1c1213e14ccb5d14dd931 "" + "/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.tex" 1617692427 3286 c17079ba50483e1ac1721268ea016041 "" + "/usr/share/texmf-dist/tex/generic/tikz-cd/tikzlibrarycd.code.tex" 1617692427 23113 777d022ec96400121479223b4e174a8d "" + "/usr/share/texmf-dist/tex/generic/xkeyval/keyval.tex" 1617738065 2725 9f5d0b27f1f9a620c6ea983d6d41501d "" + "/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1617738065 19231 3cbf682090baecad8e17a66b7a271ed1 "" + "/usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1617738065 7677 cf3e6aa6a8d444f55327f61df80bfa0c "" + "/usr/share/texmf-dist/tex/latex/base/article.cls" 1617738065 20145 aad8c3dd3bc36e260347b84002182bc2 "" + "/usr/share/texmf-dist/tex/latex/base/size10.clo" 1617738065 8449 a72d5d4e612221b46000c3d71724e0ef "" + "/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd" 1617738065 2431 b6cead9f069ed55f4fba0c637aa047b6 "" + "/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1617738065 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" + "/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1617738065 1224 978390e9c2234eab29404bc21b268d1e "" + "/usr/share/texmf-dist/tex/latex/graphics-def/xetex.def" 1617738065 15263 06bfc49e20bdfcb827e011063ecb4ae6 "" + "/usr/share/texmf-dist/tex/latex/graphics/graphics.sty" 1617738065 18272 a8c6a275b34ab6717ceeb8fa04b104e2 "" + "/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty" 1617738065 7919 20fdfdd783821971c55bc8ee918cbe63 "" + "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1617738065 2590 e3b24ff953e5b58d924f163d25380312 "" + "/usr/share/texmf-dist/tex/latex/graphics/trig.sty" 1617738065 3976 d7fa7d81d2870d509d25b17d0245e735 "" + "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def" 1617738065 34666 58d292eee7df5fb43d9818e3e84b305d "" + "/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty" 1617738065 1090 bae35ef70b3168089ef166db3e66f5b2 "" + "/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty" 1617738065 410 615550c46f918fcbee37641b02a862d9 "" + "/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty" 1617738065 21013 f4ff83d25bb56552493b030f27c075ae "" + "/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty" 1617738065 989 c49c8ae06d96f8b15869da7428047b1e "" + "/usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty" 1617738065 339 c2e180022e3afdb99c7d0ea5ce469b7d "" + "/usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty" 1617738065 306 c56a323ca5bf9242f54474ced10fca71 "" + "/usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty" 1617738065 443 8c872229db56122037e86bcda49e14f3 "" + "/usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty" 1617738065 348 ee405e64380c11319f0e249fed57e6c5 "" + "/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty" 1617738065 274 5ae372b7df79135d240456a1c6f2cf9a "" + "/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty" 1617738065 325 f9f16d12354225b7dd52a3321f085955 "" + "/usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty" 1617692427 4904 ee78b44e85d6fccf08cd99370557481e "" + "/usr/share/texmf-dist/tex/latex/preview/preview.sty" 1621766596 13747 d07e78d5ff90f761a87d977262b29342 "" + "/usr/share/texmf-dist/tex/latex/standalone/standalone.cfg" 1621766596 1015 662b4d7ad816b857a598284525f5c75e "" + "/usr/share/texmf-dist/tex/latex/standalone/standalone.cls" 1621766596 28890 df75e6d37f47b7e27bff3f37375336b3 "" + "/usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty" 1617692427 858 fe1b4d077c61915fa7d05919d4f7282f "" + "/usr/share/texmf-dist/tex/latex/tools/shellesc.sty" 1617738065 4120 d1680a5ff60d0aea9c327e07c030f4e9 "" + "/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty" 1617738065 55589 34128738f682d033422ca125f82e5d62 "" + "/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1617738065 4902 efb3d66683a2da2a232f71e3a571a899 "" + "/usr/share/texmf-dist/web2c/texmf.cnf" 1617738065 39911 2da6c67557ec033436fe5418a70a8a61 "" + "/var/lib/texmf/web2c/xetex/xelatex.fmt" 1639352375 5486160 fea91f67f6797c2c08d92048cc1c76e4 "" + "optimal_transport_splitting_experiment.aux" 1639699537 32 3985256e7290058c681f74d7a3565a19 "pdflatex" + "optimal_transport_splitting_experiment.tex" 1639699535 2477 06bdca00ed064ac16b25aa5b5e3b5577 "" + (generated) + "optimal_transport_splitting_experiment.pdf" + "optimal_transport_splitting_experiment.log" + "optimal_transport_splitting_experiment.aux" diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fls b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fls new file mode 100644 index 000000000..598da1c2b --- /dev/null +++ b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.fls @@ -0,0 +1,504 @@ +PWD /home/john/gh_synced/quantecon/lecture-python.myst/lectures/_static/lecture_specific/opt_transport +INPUT /usr/share/texmf-dist/web2c/texmf.cnf +INPUT /var/lib/texmf/web2c/xetex/xelatex.fmt +INPUT optimal_transport_splitting_experiment.tex +OUTPUT optimal_transport_splitting_experiment.log +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cls +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/latex/tools/shellesc.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex +INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex +INPUT /usr/share/texmf-dist/tex/generic/xkeyval/keyval.tex +INPUT /dev/null +INPUT /dev/null +INPUT /dev/null +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cfg +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cfg +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cfg +INPUT /usr/share/texmf-dist/tex/latex/standalone/standalone.cfg +INPUT /usr/share/texmf-dist/tex/latex/preview/preview.sty +INPUT /usr/share/texmf-dist/tex/latex/preview/preview.sty +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/generic/tikz-cd/tikzlibrarycd.code.tex +INPUT /usr/share/texmf-dist/tex/generic/tikz-cd/tikzlibrarycd.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex +INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def +INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def +INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-xetex.def +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-xetex.def +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-dvipdfmx.def +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex +INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT extractbb --version +INPUT ./optimal_transport_splitting_experiment.aux +INPUT optimal_transport_splitting_experiment.aux +INPUT optimal_transport_splitting_experiment.aux +OUTPUT optimal_transport_splitting_experiment.aux +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT optimal_transport_splitting_experiment.aux diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.log b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.log new file mode 100644 index 000000000..2bb0dafe2 --- /dev/null +++ b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.log @@ -0,0 +1,426 @@ +This is XeTeX, Version 3.141592653-2.6-0.999993 (TeX Live 2021/Arch Linux) (preloaded format=xelatex 2021.12.13) 17 DEC 2021 11:05 +entering extended mode + \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**optimal_transport_splitting_experiment.tex +(./optimal_transport_splitting_experiment.tex +LaTeX2e <2020-10-01> patch level 4 +L3 programming layer <2021-02-18> (/usr/share/texmf-dist/tex/latex/standalone/standalone.cls +Document Class: standalone 2018/03/26 v1.3a Class to compile TeX sub-files standalone +(/usr/share/texmf-dist/tex/latex/tools/shellesc.sty +Package: shellesc 2019/11/08 v1.0c unified shell escape interface for LaTeX +Package shellesc Info: Unrestricted shell escape enabled on input line 75. +) (/usr/share/texmf-dist/tex/generic/iftex/ifluatex.sty +Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. + (/usr/share/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2020/03/06 v1.0d TeX engine tests +)) (/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2020/11/20 v2.8 package option processing (HA) + (/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks15 +\XKV@tempa@toks=\toks16 + (/usr/share/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count175 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\sa@internal=\count176 +\c@sapage=\count177 + (/usr/share/texmf-dist/tex/latex/standalone/standalone.cfg +File: standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalone' class +) (/usr/share/texmf-dist/tex/latex/base/article.cls +Document Class: article 2020/04/10 v1.4m Standard LaTeX document class +(/usr/share/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option) +) +\c@part=\count178 +\c@section=\count179 +\c@subsection=\count180 +\c@subsubsection=\count181 +\c@paragraph=\count182 +\c@subparagraph=\count183 +\c@figure=\count184 +\c@table=\count185 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen138 +) (/usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty (/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty (/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks17 +\pgfutil@tempdima=\dimen139 +\pgfutil@tempdimb=\dimen140 + (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex)) (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box47 +) (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex (/usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2020/12/27 v3.1.8b (3.1.8b) +)) +Package: pgf 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2020/09/09 v1.2b Enhanced LaTeX Graphics (DPC,SPQR) + (/usr/share/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2020/08/30 v1.4c Standard LaTeX Graphics (DPC,SPQR) + (/usr/share/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) (/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 105. + (/usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2021/03/18 v5.0k Graphics/color driver for xetex +)) +\Gin@req@height=\dimen141 +\Gin@req@width=\dimen142 +) (/usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks18 +\pgfkeys@temptoks=\toks19 + (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex +\pgfkeys@tmptoks=\toks20 +)) +\pgf@x=\dimen143 +\pgf@y=\dimen144 +\pgf@xa=\dimen145 +\pgf@ya=\dimen146 +\pgf@xb=\dimen147 +\pgf@yb=\dimen148 +\pgf@xc=\dimen149 +\pgf@yc=\dimen150 +\pgf@xd=\dimen151 +\pgf@yd=\dimen152 +\w@pgf@writea=\write3 +\r@pgf@reada=\read2 +\c@pgf@counta=\count186 +\c@pgf@countb=\count187 +\c@pgf@countc=\count188 +\c@pgf@countd=\count189 +\t@pgf@toka=\toks21 +\t@pgf@tokb=\toks22 +\t@pgf@tokc=\toks23 +\pgf@sys@id@count=\count190 + (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2020/12/27 v3.1.8b (3.1.8b) +) +Driver file for pgf: pgfsys-xetex.def + (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2020/12/27 v3.1.8b (3.1.8b) +) +\pgfsys@objnum=\count191 +))) (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfsyssoftpath@smallbuffer@items=\count192 +\pgfsyssoftpath@bigbuffer@items=\count193 +) (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2020/12/27 v3.1.8b (3.1.8b) +)) (/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + (/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen153 +\pgfmath@count=\count194 +\pgfmath@box=\box48 +\pgfmath@toks=\toks24 +\pgfmath@stack@operand=\toks25 +\pgfmath@stack@operation=\toks26 +) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex))) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count195 +)) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgf@picminx=\dimen154 +\pgf@picmaxx=\dimen155 +\pgf@picminy=\dimen156 +\pgf@picmaxy=\dimen157 +\pgf@pathminx=\dimen158 +\pgf@pathmaxx=\dimen159 +\pgf@pathminy=\dimen160 +\pgf@pathmaxy=\dimen161 +\pgf@xx=\dimen162 +\pgf@xy=\dimen163 +\pgf@yx=\dimen164 +\pgf@yy=\dimen165 +\pgf@zx=\dimen166 +\pgf@zy=\dimen167 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex +File: pgfcorepathconstruct.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgf@path@lastx=\dimen168 +\pgf@path@lasty=\dimen169 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex +File: pgfcorepathusage.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgf@shorten@end@additional=\dimen170 +\pgf@shorten@start@additional=\dimen171 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfpic=\box49 +\pgf@hbox=\box50 +\pgf@layerbox@main=\box51 +\pgf@picture@serial@count=\count196 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex +File: pgfcoregraphicstate.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgflinewidth=\dimen172 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex +File: pgfcoretransformations.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgf@pt@x=\dimen173 +\pgf@pt@y=\dimen174 +\pgf@pt@temp=\dimen175 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex +File: pgfcorepathprocessing.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfarrowsep=\dimen176 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgf@max=\dimen177 +\pgf@sys@shading@range@num=\count197 +\pgf@shadingcount=\count198 +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfexternal@startupbox=\box52 +)) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) +(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex +File: pgfcoretransparency.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2020/12/27 v3.1.8b (3.1.8b) +))) (/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfnodeparttextbox=\box53 +) (/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +Package: pgfcomp-version-0-65 2020/12/27 v3.1.8b (3.1.8b) +\pgf@nodesepstart=\dimen178 +\pgf@nodesepend=\dimen179 +) (/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +Package: pgfcomp-version-1-18 2020/12/27 v3.1.8b (3.1.8b) +)) (/usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty (/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) (/usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen180 +\pgffor@skip=\dimen181 +\pgffor@stack=\toks27 +\pgffor@toks=\toks28 +)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +File: pgflibraryplothandlers.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgf@plot@mark@count=\count199 +\pgfplotmarksize=\dimen182 +) +\tikz@lastx=\dimen183 +\tikz@lasty=\dimen184 +\tikz@lastxsaved=\dimen185 +\tikz@lastysaved=\dimen186 +\tikz@lastmovetox=\dimen187 +\tikz@lastmovetoy=\dimen188 +\tikzleveldistance=\dimen189 +\tikzsiblingdistance=\dimen190 +\tikz@figbox=\box54 +\tikz@figbox@bg=\box55 +\tikz@tempbox=\box56 +\tikz@tempbox@bg=\box57 +\tikztreelevel=\count266 +\tikznumberofchildren=\count267 +\tikznumberofcurrentchild=\count268 +\tikz@fig@count=\count269 + (/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfmatrixcurrentrow=\count270 +\pgfmatrixcurrentcolumn=\count271 +\pgf@matrix@numberofcolumns=\count272 +) +\tikz@expandcount=\count273 + (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2020/12/27 v3.1.8b (3.1.8b) +))) +\sa@box=\box58 +) (/usr/share/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty +Package: tikz-cd 2018/11/19 v0.9f Commutative diagrams with TikZ + (/usr/share/texmf-dist/tex/generic/tikz-cd/tikzlibrarycd.code.tex (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex +File: tikzlibrarymatrix.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex +File: tikzlibraryquotes.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex +File: pgflibraryarrows.meta.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfarrowinset=\dimen191 +\pgfarrowlength=\dimen192 +\pgfarrowwidth=\dimen193 +\pgfarrowlinewidth=\dimen194 +))) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex +File: tikzlibrarypositioning.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex +File: tikzlibraryarrows.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex +File: pgflibraryarrows.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\arrowsize=\dimen195 +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex +File: tikzlibrarycalc.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex) +\pgf@intersect@solutions=\count274 +)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex (/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex +\pgfdecoratedcompleteddistance=\dimen196 +\pgfdecoratedremainingdistance=\dimen197 +\pgfdecoratedinputsegmentcompleteddistance=\dimen198 +\pgfdecoratedinputsegmentremainingdistance=\dimen199 +\pgf@decorate@distancetomove=\dimen256 +\pgf@decorate@repeatstate=\count275 +\pgfdecorationsegmentamplitude=\dimen257 +\pgfdecorationsegmentlength=\dimen258 +) +\tikz@lib@dec@box=\box59 +) (/usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex) +Package: pgfplots 2020/02/29 v1.17 Data Visualization (1.17) + (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex +\t@pgfplots@toka=\toks29 +\t@pgfplots@tokb=\toks30 +\t@pgfplots@tokc=\toks31 +\pgfplots@tmpa=\dimen259 +\c@pgfplots@coordindex=\count276 +\c@pgfplots@scanlineindex=\count277 + (/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.tex)) (/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex (/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex +\c@pgfplotsarray@tmp=\count278 +) (/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex +\c@pgfplotstable@counta=\count279 +\t@pgfplotstable@a=\toks32 +) (/usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex (/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code.tex)) (/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex +\c@pgfplotslibrarysurf@no=\count280 + +(/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-xetex.def (/usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-dvipdfmx.def +\c@pgfplotslibrarysurf@streamlen=\count281 +)))) (/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex (/usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex)) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex))) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex) (/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex (/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex (/usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex)) +\pgfplots@numplots=\count282 +\pgfplots@xmin@reg=\dimen260 +\pgfplots@xmax@reg=\dimen261 +\pgfplots@ymin@reg=\dimen262 +\pgfplots@ymax@reg=\dimen263 +\pgfplots@zmin@reg=\dimen264 +\pgfplots@zmax@reg=\dimen265 +) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex +File: tikzlibraryplotmarks.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex +File: pgflibraryplotmarks.code.tex 2020/12/27 v3.1.8b (3.1.8b) +))) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex +File: tikzlibraryshapes.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex +File: tikzlibraryshapes.geometric.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex +File: pgflibraryshapes.geometric.code.tex 2020/12/27 v3.1.8b (3.1.8b) +)) +(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex +File: tikzlibraryshapes.misc.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex +File: pgflibraryshapes.misc.code.tex 2020/12/27 v3.1.8b (3.1.8b) +)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex +File: tikzlibraryshapes.symbols.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex +File: pgflibraryshapes.symbols.code.tex 2020/12/27 v3.1.8b (3.1.8b) +)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex +File: tikzlibraryshapes.arrows.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex +File: pgflibraryshapes.arrows.code.tex 2020/12/27 v3.1.8b (3.1.8b) +)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex +File: tikzlibraryshapes.multipart.code.tex 2020/12/27 v3.1.8b (3.1.8b) + (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex +File: pgflibraryshapes.multipart.code.tex 2020/12/27 v3.1.8b (3.1.8b) +\pgfnodepartlowerbox=\box60 +\pgfnodeparttwobox=\box61 +\pgfnodepartthreebox=\box62 +\pgfnodepartfourbox=\box63 +\pgfnodeparttwentybox=\box64 +\pgfnodepartnineteenbox=\box65 +\pgfnodeparteighteenbox=\box66 +\pgfnodepartseventeenbox=\box67 +\pgfnodepartsixteenbox=\box68 +\pgfnodepartfifteenbox=\box69 +\pgfnodepartfourteenbox=\box70 +\pgfnodepartthirteenbox=\box71 +\pgfnodeparttwelvebox=\box72 +\pgfnodepartelevenbox=\box73 +\pgfnodeparttenbox=\box74 +\pgfnodepartninebox=\box75 +\pgfnodeparteightbox=\box76 +\pgfnodepartsevenbox=\box77 +\pgfnodepartsixbox=\box78 +\pgfnodepartfivebox=\box79 +))) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex +File: tikzlibraryfit.code.tex 2020/12/27 v3.1.8b (3.1.8b) +) (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +File: l3backend-xetex.def 2021-03-18 L3 backend support: XeTeX + (|extractbb --version) +\c__kernel_sys_dvipdfmx_version_int=\count283 +\l__color_backend_stack_int=\count284 +\g__color_backend_stack_int=\count285 +\g__graphics_track_int=\count286 +\l__pdf_internal_box=\box80 +\g__pdf_backend_object_int=\count287 +\g__pdf_backend_annotation_int=\count288 +\g__pdf_backend_link_int=\count289 +) (./optimal_transport_splitting_experiment.aux) +\openout1 = `optimal_transport_splitting_experiment.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 18. +LaTeX Font Info: ... okay on input line 18. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 18. +LaTeX Font Info: ... okay on input line 18. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 18. +LaTeX Font Info: ... okay on input line 18. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 18. +LaTeX Font Info: ... okay on input line 18. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 18. +LaTeX Font Info: Trying to load font information for TS1+cmr on input line 18. + (/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +File: ts1cmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 18. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 18. +LaTeX Font Info: ... okay on input line 18. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 18. +LaTeX Font Info: ... okay on input line 18. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 18. +LaTeX Font Info: ... okay on input line 18. + +Package pgfplots notification 'compat/show suggested version=true': you might benefit from \pgfplotsset{compat=1.17} (current compat level: 1.16). + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 21. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 21. +[1 + +] (./optimal_transport_splitting_experiment.aux) ) +Here is how much of TeX's memory you used: + 25273 strings out of 476919 + 685376 string characters out of 5827673 + 1092834 words of memory out of 5000000 + 44874 multiletter control sequences out of 15000+600000 + 403438 words of font info for 28 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 128i,7n,130p,816b,919s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on optimal_transport_splitting_experiment.pdf (1 page). diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.pdf b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ab1f96ac028c569ff350887550838f5f6e018b7d GIT binary patch literal 6001 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 E1<(mRApigX literal 0 HcmV?d00001 diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.png b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.png new file mode 100644 index 0000000000000000000000000000000000000000..ee846519a720f1a8ad9aed3f283af69a24ed3e59 GIT binary patch literal 20211 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 R4W!sXbTy686)4BY{{xeoJInw8 literal 0 HcmV?d00001 diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.synctex.gz b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.synctex.gz new file mode 100644 index 0000000000000000000000000000000000000000..d4253976eb033766974eb6e48c54cc8bf7d25e0e GIT binary patch literal 3072 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 A2LJ#7 literal 0 HcmV?d00001 diff --git a/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.tex b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.tex new file mode 100644 index 000000000..6414262ab --- /dev/null +++ b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.tex @@ -0,0 +1,51 @@ +\documentclass[tikz, border=1mm]{standalone} +\usepackage{tikz} +\usepackage{tikz-cd} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows} +\usetikzlibrary{calc} +\usetikzlibrary{intersections} +\usetikzlibrary{matrix} +\usetikzlibrary{decorations} +\usepackage{pgf} +\usepackage{pgfplots} +\pgfplotsset{compat=1.16} % Tom %'d out May 8, 2020 because it was causing hickups +\usetikzlibrary{shapes, fit} +\usetikzlibrary{arrows.meta} % from fazeleh +\usetikzlibrary{decorations.pathreplacing} %for brac + + +\begin{document} + +\begin{tikzpicture} + \node[circle, draw, scale=1.3856, red] (1) at (1, 1) {$q_1$}; + \node[circle, draw, scale=1.6, red] (2) at (3, 3) {$q_2$}; + \node[circle, draw, scale=1.3856, red] (3) at (5, 0) {$q_3$}; + \node[circle, draw, scale=1.6, red] (4) at (7, 2) {$q_4$}; + \node[circle, draw, scale=1.1312, blue] (01) at (1.5, 2.5) {${p}_1$}; + \node[circle, draw, scale=0.8, blue] (02) at (0, 0) {${p}_2$}; + \node[circle, draw, scale=1.3856, blue] (03) at (3, 1) {${p}_3$}; + \node[circle, draw, scale=1.1312, blue] (04) at (6.5, 0.5) {${p}_4$}; + \node[circle, draw, scale=0.8, blue] (05) at (8, 3) {${p}_5$}; + \node[circle, draw, scale=1.1312, blue] (06) at (5, 3) {${p}_6$}; + \node[circle, draw, scale=1.3856, blue] (07) at (4.5, 1.5) {${p}_7$}; + + + \draw[->, thick, blue] + (01) edge [bend left=0, left, -{Stealth[scale=1]}, line width=1pt] node {}(1) + (01) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (2) + (02) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (1) + (03) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (1) + (03) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (2) + (03) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (3) + (04) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (3) + (04) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (4) + (05) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (4) + (06) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (2) + (06) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (4) + (07) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (2) + (07) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (3) + (07) edge [bend left=0, below, -{Stealth[scale=1]}, line width=1pt] node {} (4); +\end{tikzpicture} + +\end{document} diff --git a/lectures/opt_transport.md b/lectures/opt_transport.md index 7fe80980a..10ba732f8 100644 --- a/lectures/opt_transport.md +++ b/lectures/opt_transport.md @@ -15,31 +15,56 @@ kernelspec: ## Overview -The **transportation** or **optimal transport** problem is interesting both because of its many applications and its important role in the history of economic theory. +The **transportation** or **optimal transport** problem is interesting both +because of its many applications and because of its important role in the history of +economic theory. -In this lecture, we describe the problem, tell how **linear programming** is a key tool for solving it, -then provide some examples. +In this lecture, we describe the problem, tell how +{doc}`linear programming ` is a +key tool for solving it, and then provide some examples. We will provide other applications in followup lectures. -The optimal transport problem was studied in early work about linear programming, as summarized for example by {cite}`DoSSo`. A modern reference about applications in economics is {cite}`Galichon_2016`. +The optimal transport problem was studied in early work about linear +programming, as summarized for example by {cite}`DoSSo`. A modern reference +about applications in economics is {cite}`Galichon_2016`. + +Below, we show how to solve the optimal transport problem using +several implementations of linear programming, including, in order, + +1. the + [linprog](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.linprog.html) + solver from SciPy, +2. the [linprog_simplex](https://quanteconpy.readthedocs.io/en/latest/optimize/linprog_simplex.html) solver from QuantEcon and +3. the simplex-based solvers included in the [Python Optimal Transport](https://pythonot.github.io/) package. + + -We shall solve our problems first by using the scipy function *linprog* and then the quantecon program *linprog_simplex*. ```{code-cell} ipython3 :tags: [hide-output] !pip install --upgrade quantecon +!pip install --upgrade POT ``` Let's start with some imports. ```{code-cell} ipython3 import numpy as np +import matplotlib.pyplot as plt from scipy.optimize import linprog from quantecon.optimize import linprog_simplex +import ot +from scipy.stats import binom, betabinom +import networkx as nx ``` -## The Linear Programming Problem + + + + + +## The Optimal Transport Problem Suppose that $m$ factories produce goods that must be sent to $n$ locations. @@ -59,14 +84,31 @@ A planner wants to minimize total transportation costs subject to the following * The amount shipped **to** each location must equal the quantity required there. + +The figure below shows one visualization of this idea, when factories and +target locations are distributed in the plane. + +```{figure} /_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.png + +``` + +The size of the vertices in the figure are proportional to + +- capacity, for the factories, and +- demand (amount required) for the target locations. + +The arrows show one possible transport plan, which respects the constraints +stated above. + + The planner's problem can be expressed as the following constrained minimization problem: $$ \begin{aligned} -\min_{x_{ij}} \ & \sum_{i=1}^m \sum_{j=1}^n c_{ij} x_{ij} \\ -\mbox{subject to } \ & \sum_{j=1}^n x_{ij} = p_i, & i = 1, 2, \dots, m \\ -& \sum_{i=1}^m x_{ij} = q_j, & j = 1, 2, \dots, n \\ -& x_{ij} \ge 0 \\ + \min_{x_{ij}} \ & \sum_{i=1}^m \sum_{j=1}^n c_{ij} x_{ij} \\ + \mbox{subject to } \ & \sum_{j=1}^n x_{ij} = p_i, & i = 1, 2, \dots, m \\ + & \sum_{i=1}^m x_{ij} = q_j, & j = 1, 2, \dots, n \\ + & x_{ij} \ge 0 \\ \end{aligned} $$ (plannerproblem) @@ -79,20 +121,34 @@ This is an **optimal transport problem** with Summing the $q_j$'s across all $j$'s and the $p_i$'s across all $i$'s indicates that the total capacity of all the factories equals total requirements at all locations: $$ -\sum_{j=1}^n q_j = \sum_{j=1}^n \sum_{i=1}^m x_{ij} = \sum_{i=1}^m \sum_{j=1}^n x_{ij} = \sum_{i=1}^m p_i + \sum_{j=1}^n q_j + = \sum_{j=1}^n \sum_{i=1}^m x_{ij} + = \sum_{i=1}^m \sum_{j=1}^n x_{ij} + = \sum_{i=1}^m p_i $$ (sumconstraints) -The presence of the restrictions in {eq}`sumconstraints` will be the source of one redundancy in the complete set of restrictions that we describe below. +The presence of the restrictions in {eq}`sumconstraints` will be the source of +one redundancy in the complete set of restrictions that we describe below. More about this later. + + + +## The Linear Programming Approach + +In this section we discuss using using standard linear programming solvers to +tackle the optimal transport problem. + + ### Vectorizing a Matrix of Decision Variables -A **matrix** of decision variables $x_{ij}$ appears in problem {eq}`plannerproblem`. +A *matrix* of decision variables $x_{ij}$ appears in problem {eq}`plannerproblem`. -The Scipy function *linprog* expects to see a **vector** of decision variables. +The SciPy function `linprog` expects to see a *vector* of decision variables. -This situation impels us to want to rewrite our problem in terms of a **vector** of decision variables. +This situation impels us to rewrite our problem in terms of a +*vector* of decision variables. Let @@ -102,14 +158,15 @@ Let * $q$ be $n$-dimensional vector with entries $q_j$. -Where $\mathbf{1}_n$ denotes $n$-dimensional column vector $(1, 1, \dots, 1)'$, our problem can now be expressed compactly as: +With $\mathbf{1}_n$ denoting the $n$-dimensional column vector $(1, 1, \dots, +1)'$, our problem can now be expressed compactly as: $$ \begin{aligned} -\min_{X} \ & \operatorname{tr} (C' X) \\ -\mbox{subject to } \ & X \ \mathbf{1}_n = p \\ -& X' \ \mathbf{1}_m = q \\ -& X \ge 0 \\ + \min_{X} \ & \operatorname{tr} (C' X) \\ + \mbox{subject to } \ & X \ \mathbf{1}_n = p \\ + & X' \ \mathbf{1}_m = q \\ + & X \ge 0 \\ \end{aligned} $$ @@ -122,23 +179,25 @@ Similarly, we convert the matrix $C$ into an $mn$-dimensional vector $\operatorn The objective function can be expressed as the inner product between $\operatorname{vec}(C)$ and $\operatorname{vec}(X)$: $$ -\operatorname{vec}(C)' \cdot \operatorname{vec}(X). + \operatorname{vec}(C)' \cdot \operatorname{vec}(X). $$ -To express the constraints in terms of $\operatorname{vec}(X)$, we use a **Kronecker product** denoted by $\otimes$ and defined as follows. +To express the constraints in terms of $\operatorname{vec}(X)$, we use a +**Kronecker product** denoted by $\otimes$ and defined as follows. -Suppose $A$ is an $m \times s$ matrix with entries $(a_{ij})$ and that $B$ is an $n \times t$ matrix. +Suppose $A$ is an $m \times s$ matrix with entries $(a_{ij})$ and that $B$ is +an $n \times t$ matrix. -A **Kronecker product** of $A$ and $B$ is defined by +The **Kronecker product** of $A$ and $B$ is defined, in block matrix form, by $$ -A \otimes B = -\begin{bmatrix} -a_{11}B & a_{12}B & \dots & a_{1s}B \\ -a_{21}B & a_{22}B & \dots & a_{2s}B \\ - & & \vdots & \\ -a_{m1}B & a_{m2}B & \dots & a_{ms}B \\ -\end{bmatrix}. + A \otimes B = + \begin{pmatrix} + a_{11}B & a_{12}B & \dots & a_{1s}B \\ + a_{21}B & a_{22}B & \dots & a_{2s}B \\ + & & \vdots & \\ + a_{m1}B & a_{m2}B & \dots & a_{ms}B \\ + \end{pmatrix}. $$ $A \otimes B$ is an $mn \times st$ matrix. @@ -146,7 +205,7 @@ $A \otimes B$ is an $mn \times st$ matrix. It has the property that for any $m \times n$ matrix $X$ $$ -\operatorname{vec}(A'XB) = (B' \otimes A') \operatorname{vec}(X). + \operatorname{vec}(A'XB) = (B' \otimes A') \operatorname{vec}(X). $$ (kroneckerprop) We can now express our constraints in terms of $\operatorname{vec}(X)$. @@ -156,7 +215,10 @@ Let $A = \mathbf{I}_m', B = \mathbf{1}_n$. By equation {eq}`kroneckerprop` $$ -X \ \mathbf{1}_n = \operatorname{vec}(X \ \mathbf{1}_n) = \operatorname{vec}(\mathbf{I}_m X \ \mathbf{1}_n) = (\mathbf{1}_n' \otimes \mathbf{I}_m) \operatorname{vec}(X). + X \ \mathbf{1}_n + = \operatorname{vec}(X \ \mathbf{1}_n) + = \operatorname{vec}(\mathbf{I}_m X \ \mathbf{1}_n) + = (\mathbf{1}_n' \otimes \mathbf{I}_m) \operatorname{vec}(X). $$ where $\mathbf{I}_m$ denotes the $m \times m$ identity matrix. @@ -164,41 +226,47 @@ where $\mathbf{I}_m$ denotes the $m \times m$ identity matrix. Constraint $X \ \mathbf{1}_n = p$ can now be written as: $$ -(\mathbf{1}_n' \otimes \mathbf{I}_m) \operatorname{vec}(X) = p. + (\mathbf{1}_n' \otimes \mathbf{I}_m) \operatorname{vec}(X) = p. $$ Similarly, the constraint $X' \ \mathbf{1}_m = q$ can be rewriten as: $$ -(\mathbf{I}_n \otimes \mathbf{1}_m') \operatorname{vec}(X) = q. + (\mathbf{I}_n \otimes \mathbf{1}_m') \operatorname{vec}(X) = q. $$ -Our problem can now be expressed in terms of an $mn$-dimensional vector of decision variables: +With $z := \operatorname{vec}(X)$, our problem can now be expressed +in terms of an $mn$-dimensional vector of decision variables: $$ -\begin{aligned} -\min_{z} \ & \operatorname{vec}(C)' z \\ -\mbox{subject to } \ & A z = b \\ -& z \ge 0 \\ -\end{aligned} + \begin{aligned} + \min_{z} \ & \operatorname{vec}(C)' z \\ + \mbox{subject to } \ & A z = b \\ + & z \ge 0 \\ + \end{aligned} $$ (decisionvars) where $$ -A = -\begin{bmatrix} -\mathbf{1}_n' \otimes \mathbf{I}_m \\ -\mathbf{I}_n \otimes \mathbf{1}_m' \\ -\end{bmatrix}, -b = \begin{bmatrix} p \\ q \\ \end{bmatrix} + A = + \begin{pmatrix} + \mathbf{1}_n' \otimes \mathbf{I}_m \\ + \mathbf{I}_n \otimes \mathbf{1}_m' \\ + \end{pmatrix} + \quad \text{and} \quad + b = \begin{pmatrix} + p \\ + q \\ + \end{pmatrix} $$ -where $z = \operatorname{vec}(X)$. -**Example:** +### An Application + -We now provide an example that takes the form {eq}`decisionvars` that we'll solve by deploying the function *linprog*. +We now provide an example that takes the form {eq}`decisionvars` that we'll +solve by deploying the function `linprog`. The table below provides numbers for the requirements vector $q$, the capacity vector $p$, and entries $c_{ij}$ of the cost-of-shipping matrix $C$. @@ -235,17 +303,31 @@ and entries $c_{ij}$ of the cost-of-shipping matrix $C$. ``` -The numbers in the above table tell us to construct the following objects: +The numbers in the above table tell us to set $m = 3$, $n = 5$, and construct +the following objects: $$ -m = 3, n = 5, \\ -p = (50,100,150)', q = (25,115,60,30,70)', \\ -C = -\begin{bmatrix} -10 &15 &20 &20 &40 \\ -20 &40 &15 &30 &30 \\ -30 &35 &40 &55 &25 \\ -\end{bmatrix}. +p = \begin{pmatrix} + 50 \\ + 100 \\ + 150 + \end{pmatrix}, + \quad + q = + \begin{pmatrix} + 25 \\ + 115 \\ + 60 \\ + 30 \\ + 70 + \end{pmatrix} + \quad \text{and} \quad + C = + \begin{pmatrix} + 10 &15 &20 &20 &40 \\ + 20 &40 &15 &30 &30 \\ + 30 &35 &40 &55 &25 + \end{pmatrix}. $$ Let's write Python code that sets up the problem and solves it. @@ -284,23 +366,12 @@ print("z:", res.x) print("X:", res.x.reshape((m,n), order='F')) ``` -```{code-cell} ipython3 -C.reshape((m*n, 1), order='F') -``` - -```{code-cell} ipython3 -C.reshape((m*n, 1), order='C') -``` - -```{code-cell} ipython3 -C.reshape((m*n, 1), order='A') -``` **Interpreting the warning:** -The above warning message from scipy pointing out that A is not full rank. +The above warning message from SciPy points out that A is not full rank. -This indicates that the problem has been set up to include one or more redundant constraints. +This indicates that the linear program has been set up to include one or more redundant constraints. Here, the source of the redundancy is that the set of restrictions {eq}`sumconstraints`. @@ -327,11 +398,11 @@ linprog(C_vec, A_eq=A[:-1], b_eq=b[:-1], method='Revised simplex') ``` ```{code-cell} ipython3 -%timeit linprog(C_vec, A_eq=A[:-1], b_eq=b[:-1], method='Revised simplex') +%time linprog(C_vec, A_eq=A[:-1], b_eq=b[:-1], method='Revised simplex') ``` ```{code-cell} ipython3 -%timeit linprog(C_vec, A_eq=A, b_eq=b, method='Revised simplex') +%time linprog(C_vec, A_eq=A, b_eq=b, method='Revised simplex') ``` Evidently, it is slightly quicker to work with the system that removed a redundant constraint. @@ -373,7 +444,7 @@ for i in range(len(sol_found)): **Ah hah!** As you can see, putting constraints in different orders in this case uncovers two optimal transportation plans that achieve the same minimized cost. -These are the same two plans computed early. +These are the same two plans computed earlier. Next, we show that leaving out the first constraint "accidentally" leads to the initial plan that we computed. @@ -394,9 +465,15 @@ The vector $z$ evidently equals $\operatorname{vec}(X)$. The minimized cost from the optimal transport plan is given by the $fun$ variable. -We can also solve an optimal transportation problem using a powerful tool from `quantecon`, namely,`quantecon.optimize.linprog_simplex`. -It uses the same simplex algorithm as `scipy.optimize.linprog`, but the program is accelerated by using `numba`. +### Using a Just-in-Time Compiler + +We can also solve optimal transportation problems using a powerful tool from +QuantEcon, namely,`quantecon.optimize.linprog_simplex`. + +While this routine uses the same simplex algorithm as +`scipy.optimize.linprog`, the code is accelerated by using a just-in-time +compiler shipped in the `numba` library. As you will see very soon, by using `scipy.optimize.linprog` the time required to solve an optimal transportation problem can be reduced significantly. @@ -414,7 +491,8 @@ for i in range(m): b_eq = np.hstack([p, q]) ``` -Since `quantecon.optimize.linprog_simplex` does maximization instead of minimization, we need to put a negative sign before vector `c`. +Since `quantecon.optimize.linprog_simplex` does maximization instead of +minimization, we need to put a negative sign before vector `c`. ```{code-cell} ipython3 res_qe = linprog_simplex(-c, A_eq=A_eq, b_eq=b_eq) @@ -434,15 +512,20 @@ Let's do a speed comparison between `scipy.optimize.linprog` and `quantecon.opti ```{code-cell} ipython3 # scipy.optimize.linprog -%timeit res = linprog(C_vec, A_eq=A[:-1, :], b_eq=b[:-1], method='Revised simplex') +%time res = linprog(C_vec, A_eq=A[:-1, :], b_eq=b[:-1], method='Revised simplex') ``` ```{code-cell} ipython3 # quantecon.optimize.linprog_simplex -%timeit out = linprog_simplex(-c, A_eq=A_eq, b_eq=b_eq) +%time out = linprog_simplex(-c, A_eq=A_eq, b_eq=b_eq) ``` -As you can see, the `quantecon.optimize.linprog_simplex` is almost 200 times faster. +As you can see, the `quantecon.optimize.linprog_simplex` is much faster. + +(Note however, that the SciPy version is probably more stable than the +QuantEcon version, having been tested more extensively over a longer period of +time.) + ## The Dual Problem @@ -478,7 +561,7 @@ We can write the dual problem as $$ \begin{aligned} \max_{u_i, v_j} \ & p u + q v \\ -\mbox{subject to } \ & A' \begin{bmatrix} u \\ v \\ \end{bmatrix} = \operatorname{vec}(C) \\ +\mbox{subject to } \ & A' \begin{pmatrix} u \\ v \\ \end{pmatrix} = \operatorname{vec}(C) \\ \end{aligned} $$ (dualproblem2) @@ -516,11 +599,11 @@ res_dual.x We can compare computational times from using our two tools. ```{code-cell} ipython3 -%timeit linprog(-b, A_ub=A.T, b_ub=C_vec, bounds=[(None, None)]*(m+n), method='Revised simplex') +%time linprog(-b, A_ub=A.T, b_ub=C_vec, bounds=[(None, None)]*(m+n), method='Revised simplex') ``` ```{code-cell} ipython3 -%timeit linprog_simplex(b_eq, A_ub=A_eq.T, b_ub=c) +%time linprog_simplex(b_eq, A_ub=A_eq.T, b_ub=c) ``` `quantecon.optimize.linprog_simplex` solves the dual problem 10 times faster. @@ -564,3 +647,185 @@ Strong duality implies that total transprotation costs equals total ship-out It is reasonable that, for one unit of a product, ship-out cost $u_i$ **plus** ship-in cost $v_j$ should equal transportation cost $c_{ij}$. This equality is assured by **complementary slackness** conditions that state that whenever $x_{ij} > 0$, meaning that there are positive shipments from factory $i$ to location $j$, it must be true that $u_i + v_j = c_{ij}$. + + + + +## The Python Optimal Transport Package + +There is an excellent [Python package](https://pythonot.github.io/) for +optimal transport that simplifies some of the steps we took above. + +In particular, the package takes care of the vectorization steps before +passing the data out to a linear programming routine. + +(That said, the discussion provided above on vectorization remains important, +since we want to understand what happens under the hood.) + + +### Replicating Previous Results + +The following line of code solves the example application discussed above +using linear programming. + +```{code-cell} ipython3 +X = ot.emd(p, q, C) +X +``` + +Sure enough, we have the same solution and the same cost + + +```{code-cell} ipython3 +total_cost = np.sum(X * C) +total_cost +``` + +### A Larger Application + +Now let's try using the same package on a slightly larger application. + +The application has the same interpretation as above but we will also give +each node (i.e., vertex) a location in the plane. + +This will allow us to plot the resulting transport plan as edges in a graph. + +The following class defines a node by + +* its location $(x, y) \in \mathbb R^2$, +* its group (factory or location, denoted by `p` or `q`) and +* its mass (e.g., $p_i$ or $q_j$). + +```{code-cell} ipython3 +class Node: + + def __init__(self, x, y, mass, group, name): + + self.x, self.y = x, y + self.mass, self.group = mass, group + self.name = name +``` + +Next we write a function that repeatedly calls the class above to build +instances. + +It allocates to the nodes it creates their location, mass, and group. + +Locations are assigned randomly. + + + +```{code-cell} ipython3 +def build_nodes_of_one_type(group='p', n=100, seed=123): + + nodes = [] + np.random.seed(seed) + + for i in range(n): + + if group == 'p': + m = 1/n + x = np.random.uniform(-2, 2) + y = np.random.uniform(-2, 2) + else: + m = betabinom.pmf(i, n-1, 2, 2) + x = 0.6 * np.random.uniform(-1.5, 1.5) + y = 0.6 * np.random.uniform(-1.5, 1.5) + + name = group + str(i) + nodes.append(Node(x, y, m, group, name)) + + return nodes +``` + +Now we build two lists of nodes, each one containing one type (factories or + locations) + + +```{code-cell} ipython3 +n_p = 32 +n_q = 32 +p_list = build_nodes_of_one_type(group='p', n=n_p) +q_list = build_nodes_of_one_type(group='q', n=n_q) + +p_probs = [p.mass for p in p_list] +q_probs = [q.mass for q in q_list] +``` + +For the cost matrix $C$, we use the Euclidean distance between each factory +and location. + +```{code-cell} ipython3 +c = np.empty((n_p, n_q)) +for i in range(n_p): + for j in range(n_q): + x0, y0 = p_list[i].x, p_list[i].y + x1, y1 = q_list[j].x, q_list[j].y + c[i, j] = np.sqrt((x0-x1)**2 + (y0-y1)**2) +``` + +Now we are ready to apply the solver + +```{code-cell} ipython3 +%time pi = ot.emd(p_probs, q_probs, c) +``` + +Finally, let's plot the results using `networkx`. + +In the plot below, + +* node size is proportional to probability mass +* an edge (arrow) from $i$ to $j$ is drawn when a positive transfer is made +from $i$ to $j$ under the optimal transport plan. + +```{code-cell} ipython3 +g = nx.DiGraph() +g.add_nodes_from([p.name for p in p_list]) +g.add_nodes_from([q.name for q in q_list]) + +for i in range(n_p): + for j in range(n_q): + if pi[i, j] > 0: + g.add_edge(p_list[i].name, q_list[j].name, weight=pi[i, j]) + +node_pos_dict={} +for p in p_list: + node_pos_dict[p.name] = (p.x, p.y) + +for q in q_list: + node_pos_dict[q.name] = (q.x, q.y) + +node_color_list = [] +node_size_list = [] +scale = 8_000 +for p in p_list: + node_color_list.append('blue') + node_size_list.append(p.mass * scale) +for q in q_list: + node_color_list.append('red') + node_size_list.append(q.mass * scale) + + +fig, ax = plt.subplots(figsize=(7, 10)) +plt.axis('off') + +nx.draw_networkx_nodes(g, + node_pos_dict, + node_color=node_color_list, + node_size=node_size_list, + edgecolors='grey', + linewidths=1, + alpha=0.5, + ax=ax) + +nx.draw_networkx_edges(g, + node_pos_dict, + arrows=True, + connectionstyle='arc3,rad=0.1', + alpha=0.6) +plt.show() + +``` + + +