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 000000000..ab1f96ac0 Binary files /dev/null and b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.pdf differ 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 000000000..ee846519a Binary files /dev/null and b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.png differ 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 000000000..d4253976e Binary files /dev/null and b/lectures/_static/lecture_specific/opt_transport/optimal_transport_splitting_experiment.synctex.gz differ 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() + +``` + + +