{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.3GFaBjxk/b1/symfit_0.5.6-3_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.3GFaBjxk/b2/symfit_0.5.6-3_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n- 1bbe23264d3704c3cd85ed127e2f2ecb 1120876 doc optional python3-symfit-doc_0.5.6-3_all.deb\n+ 3b5a318a9fd038c75369ac0d7f440c1d 1120956 doc optional python3-symfit-doc_0.5.6-3_all.deb\n ddbb7a0032231d55d66e22bc694c0007 44740 python optional python3-symfit_0.5.6-3_all.deb\n"}, {"source1": "python3-symfit-doc_0.5.6-3_all.deb", "source2": "python3-symfit-doc_0.5.6-3_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-06-30 17:53:58.000000 debian-binary\n--rw-r--r-- 0 0 0 3528 2024-06-30 17:53:58.000000 control.tar.xz\n--rw-r--r-- 0 0 0 1117156 2024-06-30 17:53:58.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 3532 2024-06-30 17:53:58.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 1117232 2024-06-30 17:53:58.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -70,44 +70,44 @@\n -rw-r--r-- 0 root (0) root (0) 2871 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/_static/nbsphinx-no-thumbnail.svg\n -rw-r--r-- 0 root (0) root (0) 90 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/_static/plus.png\n -rw-r--r-- 0 root (0) root (0) 4929 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/_static/pygments.css\n -rw-r--r-- 0 root (0) root (0) 16578 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/api_structure.html\n -rw-r--r-- 0 root (0) root (0) 5010 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/dependencies.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/\n -rw-r--r-- 0 root (0) root (0) 14149 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel.html\n--rw-r--r-- 0 root (0) root (0) 14304 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.html\n--rw-r--r-- 0 root (0) root (0) 1483 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.ipynb.gz\n+-rw-r--r-- 0 root (0) root (0) 14305 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.html\n+-rw-r--r-- 0 root (0) root (0) 1491 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.ipynb.gz\n -rw-r--r-- 0 root (0) root (0) 14006 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_ODEModel.html\n--rw-r--r-- 0 root (0) root (0) 17456 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_bivariate_likelihood.html\n--rw-r--r-- 0 root (0) root (0) 24527 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_bivariate_likelihood.ipynb.gz\n+-rw-r--r-- 0 root (0) root (0) 17457 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_bivariate_likelihood.html\n+-rw-r--r-- 0 root (0) root (0) 24530 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_bivariate_likelihood.ipynb.gz\n -rw-r--r-- 0 root (0) root (0) 17290 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_fourier_series.html\n -rw-r--r-- 0 root (0) root (0) 11228 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_interactive_guesses_ODE.html\n -rw-r--r-- 0 root (0) root (0) 13124 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_interactive_guesses_nD.html\n -rw-r--r-- 0 root (0) root (0) 10508 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_interactive_guesses_vector_2D.html\n -rw-r--r-- 0 root (0) root (0) 19954 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_mexican_hat.html\n--rw-r--r-- 0 root (0) root (0) 25007 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_mexican_hat.ipynb.gz\n+-rw-r--r-- 0 root (0) root (0) 24997 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_mexican_hat.ipynb.gz\n -rw-r--r-- 0 root (0) root (0) 10843 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_multidataset_likelihood.html\n--rw-r--r-- 0 root (0) root (0) 24094 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_ode_system.html\n--rw-r--r-- 0 root (0) root (0) 58396 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_ode_system.ipynb.gz\n+-rw-r--r-- 0 root (0) root (0) 24095 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_ode_system.html\n+-rw-r--r-- 0 root (0) root (0) 58404 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_ode_system.ipynb.gz\n -rw-r--r-- 0 root (0) root (0) 16627 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_piecewise.html\n -rw-r--r-- 0 root (0) root (0) 13985 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_poly_surface_fit.html\n--rw-r--r-- 0 root (0) root (0) 31755 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_tikhonov.html\n--rw-r--r-- 0 root (0) root (0) 57966 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_tikhonov.ipynb.gz\n+-rw-r--r-- 0 root (0) root (0) 31756 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_tikhonov.html\n+-rw-r--r-- 0 root (0) root (0) 57978 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/ex_tikhonov.ipynb.gz\n -rw-r--r-- 0 root (0) root (0) 8865 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/examples/index.html\n -rw-r--r-- 0 root (0) root (0) 83854 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/fitting_types.html\n -rw-r--r-- 0 root (0) root (0) 44977 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/genindex.html\n -rw-r--r-- 0 root (0) root (0) 10783 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/index.html\n -rw-r--r-- 0 root (0) root (0) 5628 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/installation.html\n -rw-r--r-- 0 root (0) root (0) 12114 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/intro.html\n -rw-r--r-- 0 root (0) root (0) 7460 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/likelihood.html\n -rw-r--r-- 0 root (0) root (0) 343289 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/module_docs.html\n -rw-r--r-- 0 root (0) root (0) 7335 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/objects.inv\n -rw-r--r-- 0 root (0) root (0) 6352 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/py-modindex.html\n -rw-r--r-- 0 root (0) root (0) 3691 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/search.html\n--rw-r--r-- 0 root (0) root (0) 83144 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 83155 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 15201 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/sigma.html\n -rw-r--r-- 0 root (0) root (0) 8947 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/style_guide.html\n -rw-r--r-- 0 root (0) root (0) 6010 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/technical_notes.html\n -rw-r--r-- 0 root (0) root (0) 30174 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit/html/tutorial.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit-doc/\n -rw-r--r-- 0 root (0) root (0) 620 2024-06-30 17:53:58.000000 ./usr/share/doc/python3-symfit-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 1456 2024-06-29 13:31:00.000000 ./usr/share/doc/python3-symfit-doc/copyright\n"}, {"source1": "./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.html", "source2": "./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.html", "unified_diff": "@@ -75,15 +75,15 @@\n \n \n
\n-Matplotlib created a temporary cache directory at /tmp/matplotlib-hiawv2od because the default path (/nonexistent/first-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n+Matplotlib created a temporary cache directory at /tmp/matplotlib-awrgjzj1 because the default path (/nonexistent/second-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n
[2]:\n
print('a =', fit_result.value(a))\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -33,17 +33,17 @@\n }\n model = CallableNumericalModel(model_dict, connectivity_mapping={z: {y, b}, y:\n {x, a}})\n \n # Apply model\n fit = Fit(model, x=x_data, z=z_data)\n fit_result = fit.execute()\n-Matplotlib created a temporary cache directory at /tmp/matplotlib-hiawv2od\n-because the default path (/nonexistent/first-build/.config/matplotlib) is not a\n-writable directory; it is highly recommended to set the MPLCONFIGDIR\n+Matplotlib created a temporary cache directory at /tmp/matplotlib-awrgjzj1\n+because the default path (/nonexistent/second-build/.config/matplotlib) is not\n+a writable directory; it is highly recommended to set the MPLCONFIGDIR\n environment variable to a writable directory, in particular to speed up the\n import of Matplotlib and to better support multiprocessing.\n [2]:\n print('a =', fit_result.value(a))\n a = 0.5999999737967958\n [3]:\n print('b =', fit_result.value(b))\n"}]}, {"source1": "./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.ipynb.gz", "source2": "./usr/share/doc/python3-symfit/html/examples/ex_CallableNumericalModel_ode.ipynb.gz", "unified_diff": null, "details": [{"source1": "ex_CallableNumericalModel_ode.ipynb", "source2": "ex_CallableNumericalModel_ode.ipynb", "unified_diff": null, "details": [{"source1": "Pretty-printed", "source2": "Pretty-printed", "comments": ["Similarity: 0.9971354166666666%", "Differences: {\"'cells'\": \"{1: {'metadata': {'execution': {'iopub.execute_input': '2024-08-28T13:12:30.630445Z', \"", " \"'iopub.status.busy': '2024-08-28T13:12:30.629914Z', 'iopub.status.idle': \"", " \"'2024-08-28T13:12:32.715244Z', 'shell.execute_reply': \"", " \"'2024-08-28T13:12:32.714317Z'}}, 'outputs': {0: {'text': ['Matplotlib created a \"", " 'temporary cache directory at /tmp/matplotlib-awrgjzj1 because the default path '", " '(/nonexistent/second-build/.config/matplotlib) is no [\u2026]"], "unified_diff": "@@ -16,26 +16,26 @@\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {\n \"execution\": {\n- \"iopub.execute_input\": \"2024-08-28T13:07:46.142753Z\",\n- \"iopub.status.busy\": \"2024-08-28T13:07:46.142230Z\",\n- \"iopub.status.idle\": \"2024-08-28T13:07:48.217753Z\",\n- \"shell.execute_reply\": \"2024-08-28T13:07:48.216807Z\"\n+ \"iopub.execute_input\": \"2024-08-28T13:12:30.630445Z\",\n+ \"iopub.status.busy\": \"2024-08-28T13:12:30.629914Z\",\n+ \"iopub.status.idle\": \"2024-08-28T13:12:32.715244Z\",\n+ \"shell.execute_reply\": \"2024-08-28T13:12:32.714317Z\"\n }\n },\n \"outputs\": [\n {\n \"name\": \"stderr\",\n \"output_type\": \"stream\",\n \"text\": [\n- \"Matplotlib created a temporary cache directory at /tmp/matplotlib-hiawv2od because the default path (/nonexistent/first-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\\n\"\n+ \"Matplotlib created a temporary cache directory at /tmp/matplotlib-awrgjzj1 because the default path (/nonexistent/second-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\\n\"\n ]\n }\n ],\n \"source\": [\n \"from symfit import variables, Parameter, Fit, D, ODEModel, CallableNumericalModel\\n\",\n \"import numpy as np\\n\",\n \"import matplotlib.pyplot as plt\\n\",\n@@ -65,18 +65,18 @@\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 2,\n \"metadata\": {\n \"execution\": {\n- \"iopub.execute_input\": \"2024-08-28T13:07:48.223123Z\",\n- \"iopub.status.busy\": \"2024-08-28T13:07:48.222192Z\",\n- \"iopub.status.idle\": \"2024-08-28T13:07:48.227246Z\",\n- \"shell.execute_reply\": \"2024-08-28T13:07:48.226305Z\"\n+ \"iopub.execute_input\": \"2024-08-28T13:12:32.720160Z\",\n+ \"iopub.status.busy\": \"2024-08-28T13:12:32.719745Z\",\n+ \"iopub.status.idle\": \"2024-08-28T13:12:32.724990Z\",\n+ \"shell.execute_reply\": \"2024-08-28T13:12:32.723991Z\"\n }\n },\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n@@ -89,18 +89,18 @@\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 3,\n \"metadata\": {\n \"execution\": {\n- \"iopub.execute_input\": \"2024-08-28T13:07:48.231683Z\",\n- \"iopub.status.busy\": \"2024-08-28T13:07:48.231389Z\",\n- \"iopub.status.idle\": \"2024-08-28T13:07:48.235902Z\",\n- \"shell.execute_reply\": \"2024-08-28T13:07:48.235041Z\"\n+ \"iopub.execute_input\": \"2024-08-28T13:12:32.729892Z\",\n+ \"iopub.status.busy\": \"2024-08-28T13:12:32.729327Z\",\n+ \"iopub.status.idle\": \"2024-08-28T13:12:32.735548Z\",\n+ \"shell.execute_reply\": \"2024-08-28T13:12:32.734660Z\"\n }\n },\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n"}]}]}, {"source1": "./usr/share/doc/python3-symfit/html/examples/ex_bivariate_likelihood.html", "source2": "./usr/share/doc/python3-symfit/html/examples/ex_bivariate_likelihood.html", "unified_diff": "@@ -53,15 +53,15 @@\n
\n-Matplotlib created a temporary cache directory at /tmp/matplotlib-1elnxowj because the default path (/nonexistent/first-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n+Matplotlib created a temporary cache directory at /tmp/matplotlib-dmuefnu_ because the default path (/nonexistent/second-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n
Build a model corresponding to a bivariate normal distribution.
\n[2]:\n
\n-Matplotlib created a temporary cache directory at /tmp/matplotlib-g4f360wd because the default path (/nonexistent/first-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n+Matplotlib created a temporary cache directory at /tmp/matplotlib-r76hj9d3 because the default path (/nonexistent/second-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n
First we define a model for the skewed mexican hat.
\n[2]:\n
[3]:\n
\n-<matplotlib.legend.Legend at 0xffff75b87170>\n+<matplotlib.legend.Legend at 0xffff806fcfb0>\n
\n exact value -2.35191046133532\n-num value -2.3491487551237533\n+num value -2.350518594704376\n
Using DifferentialEvolution
, we find the correct global minimum. However, it is not exactly the same as the analytical solution. This is because DifferentialEvolution
is expensive to perform, and therefore does not solve to high precision by default. We could demand a higher precission from DifferentialEvolution
, but this isn\u2019t worth the high computational cost. Instead, we will just tell symfit
to perform DifferentialEvolution
, followed by BFGS
.
[7]:\n
\n exact value -2.35191046133532\n-num value -2.351910461335323\n+num value -2.351910461335324\n
We see that now the proper solution has been found to much higher precision.
\n \n \n \n\n-Matplotlib created a temporary cache directory at /tmp/matplotlib-3aquxxfx because the default path (/nonexistent/first-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n+Matplotlib created a temporary cache directory at /tmp/matplotlib-bbsuyljs because the default path (/nonexistent/second-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n
First we build a model representing the system of equations.
\n[2]:\n
\n-Matplotlib created a temporary cache directory at /tmp/matplotlib-7i3pdkcj because the default path (/nonexistent/first-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n+Matplotlib created a temporary cache directory at /tmp/matplotlib-guufbfms because the default path (/nonexistent/second-build/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.\n
Say \\(f(t) = t * exp(- t)\\), and \\(F(s)\\) is the Laplace transform of \\(f(t)\\). Let us first evaluate this transform using sympy
.
[2]:\n
[3]:\n
\n-<matplotlib.legend.Legend at 0xffff547afec0>\n+<matplotlib.legend.Legend at 0xffff861efec0>\n
\n \n Parameter Value Standard Deviation\n a 5.449374e-02 None\n Status message Optimization terminated successfully.\n Number of iterations 14\n-Objective <symfit.core.objectives.LeastSquares object at 0xffff5482d310>\n-Minimizer <symfit.core.minimizers.BFGS object at 0xffff54858200>\n+Objective <symfit.core.objectives.LeastSquares object at 0xffff86018650>\n+Minimizer <symfit.core.minimizers.BFGS object at 0xffff85e9c7d0>\n \n Goodness of fit qualifiers:\n chi_squared 3.2950323615883767e-19\n objective_value 1.6475161807941883e-19\n r_squared -inf\n
[8]:\n
\n-<matplotlib.legend.Legend at 0xffff54467c20>\n+<matplotlib.legend.Legend at 0xffff85e9cc50>\n
[9]:\n
\n-<matplotlib.legend.Legend at 0xffff544b0dd0>\n+<matplotlib.legend.Legend at 0xffff85f2acc0>\n