pytensor 2.17.0__tar.gz → 2.17.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytensor-2.17.0 → pytensor-2.17.1}/PKG-INFO +1 -1
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/_version.py +3 -3
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/nlinalg.py +4 -4
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/math.py +58 -56
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/variable.py +1 -1
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor.egg-info/PKG-INFO +1 -1
- {pytensor-2.17.0 → pytensor-2.17.1}/LICENSE.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/MANIFEST.in +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/README.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/bin/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/bin/pytensor-cache +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/bin/pytensor_cache.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/.templates/PLACEHOLDER +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/.templates/layout.html +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/LICENSE.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/README.md +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/acknowledgement.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/bcast.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/bcast.svg +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/conf.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/core_development_guide.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/css.inc +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/dev_start_guide.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/environment.yml +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/apply.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/apply.svg +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/apply2.svg +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/creating_a_c_op.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/creating_a_numba_jax_op.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/creating_an_op.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/ctype.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/extending_faq.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/extending_pytensor_solution_1.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/graph_rewriting.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/graphstructures.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/inplace.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/op.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/other_ops.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/pics/symbolic_graph_opt.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/pics/symbolic_graph_unopt.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/pipeline.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/scan.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/tips.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/type.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/unittest.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/extending/using_params.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/faq.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/generate_dtype_tensor_table.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/glossary.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/images/Elman_srnn.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/images/PyTensor_RGB.svg +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/images/blocksparse.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/images/lstm.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/images/lstm_memorycell.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/images/talk2010.gif +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/images/talk2010.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/install.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/internal/how_to_release.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/internal/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/internal/metadocumentation.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/introduction.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/debugmode.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/function.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/io.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/mode.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/nanguardmode.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/opfromgraph.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/ops.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/profilemode.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/compile/shared.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/config.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/css/d3-context-menu.css +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/css/d3viz.css +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/js/d3-context-menu.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/js/d3.v3.min.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/js/d3viz.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/js/dagre-d3.min.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/js/graphlib-dot.min.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/mlp.html +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/mlp.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/mlp2.html +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/mlp2.pdf +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/mlp2.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/ofg.html +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/ofg2.html +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/index.ipynb +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/index_files/index_10_0.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/index_files/index_11_0.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/index_files/index_24_0.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/index_files/index_25_0.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/gradient.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/graph/features.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/graph/fgraph.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/graph/graph.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/graph/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/graph/op.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/graph/type.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/graph/utils.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/misc/pkl_utils.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/printing.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/sandbox/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/sandbox/linalg.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/scalar/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/scan.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/sparse/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/sparse/sandbox.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/basic.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/basic_opt.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/bcast.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/bcast.svg +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/conv.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/elemwise.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/extra_ops.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/fft.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/io.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/math_opt.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/nlinalg.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/plot_fft.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/random/basic.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/random/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/random/utils.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/slinalg.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/tensor/utils.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/library/typed_list.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/links.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/optimizations.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/pylintrc +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/ccodegen.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/compilation.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/debugging_with_stepmode.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/elemwise_compiler.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/function.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/functional.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/how_to_make_ops.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/index2.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/interactive_debugger.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/logistic_regression_example.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/performance.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/randomnumbers.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/rethinkccodegen.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/sandbox.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/software.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/sparse.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/sandbox/tensoroptools.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/scripts/docgen.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/troubleshooting.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/adding.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/adding_solution_1.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/aliasing.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/apply.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/apply.svg +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/bcast.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/broadcasting.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/conditions.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/debug_faq.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/dlogistic.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/examples.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/faq_tutorial.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/gradients.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/index.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/loading_and_saving.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/logistic.gp +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/logistic.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/loop.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/loop_solution_1.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/modes.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/modes_solution_1.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/multi_cores.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/nan_tutorial.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/pics/d3viz.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/pics/logreg_pydotprint_predict.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/pics/logreg_pydotprint_prediction.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/pics/logreg_pydotprint_train.png +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/printing_drawing.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/profiling.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/profiling_example.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/profiling_example_out.prof +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/shape_info.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/sparse.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/tutorial/symbolic_graphs.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/doc/user_guide.rst +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pyproject.toml +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/bin/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/bin/pytensor_cache.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/breakpoint.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/builders.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/compiledir.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/compilelock.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/debugmode.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/function/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/function/pfunc.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/function/types.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/io.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/mode.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/monitormode.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/nanguardmode.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/ops.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/profiling.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/compile/sharedvalue.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/configdefaults.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/configparser.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/css/d3-context-menu.css +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/css/d3viz.css +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/d3viz.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/formatting.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/js/d3-context-menu.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/js/d3.v3.min.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/js/d3viz.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/js/dagre-d3.min.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/d3viz/js/graphlib-dot.min.js +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/gradient.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/destroyhandler.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/features.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/fg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/null_type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/op.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/replace.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/rewriting/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/rewriting/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/rewriting/db.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/rewriting/kanren.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/rewriting/unify.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/rewriting/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/graph/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/ifelse.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/c_code/lazylinker_c.c +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/c_code/pytensor_mod_helper.h +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/cmodule.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/cutils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/cvm.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/exceptions.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/interface.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/lazylinker_c.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/op.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/params_type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/c/type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/elemwise.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/extra_ops.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/nlinalg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/random.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/scalar.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/scan.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/shape.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/slinalg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/sparse.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/subtensor.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/dispatch/tensor_basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/jax/linker.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/cython_support.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/elemwise.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/elemwise_codegen.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/extra_ops.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/nlinalg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/random.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/scalar.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/scan.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/slinalg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/sparse.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/dispatch/tensor_basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/numba/linker.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/link/vm.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/check_blas.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/check_blas_many.sh +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/check_duplicate_key.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/elemwise_openmp_speedup.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/elemwise_time_test.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/frozendict.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/may_share_memory.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/ordered_set.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/pkl_utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/misc/safe_asarray.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/printing.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/py.typed +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/raise_op.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/c_code/Faddeeva.cc +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/c_code/Faddeeva.hh +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/c_code/gamma.c +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/loop.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/math.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scalar/sharedvar.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/checkpoints.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/op.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/rewriting.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/scan_perform.pyx +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/scan_perform_ext.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/scan/views.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/rewriting.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/sandbox/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/sandbox/sp.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/sandbox/sp2.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/sharedvar.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/sparse/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/blas.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/blas_c.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/blas_headers.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/blas_scipy.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/blockwise.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/c_code/alt_blas_common.h +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/c_code/alt_blas_template.c +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/c_code/dimshuffle.c +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/conv/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/conv/abstract_conv.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/elemwise.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/elemwise_cgen.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/exceptions.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/extra_ops.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/fft.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/fourier.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/inplace.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/io.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/linalg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/math.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/op.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/rewriting/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/rewriting/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/rewriting/jax.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/random/var.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/blas.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/blas_c.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/blas_scipy.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/blockwise.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/elemwise.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/extra_ops.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/jax.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/linalg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/shape.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/special.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/subtensor.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/rewriting/uncanonicalize.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/shape.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/sharedvar.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/slinalg.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/sort.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/special.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/subtensor.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/type_other.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/var.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/tensor/xlogx.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/typed_list/__init__.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/typed_list/basic.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/typed_list/rewriting.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/typed_list/type.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/updates.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/utils.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor/version.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor.egg-info/SOURCES.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor.egg-info/dependency_links.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor.egg-info/entry_points.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor.egg-info/requires.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/pytensor.egg-info/top_level.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/scripts/downstream_pr.sh +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/scripts/mypy-failing.txt +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/scripts/upstream_pr.sh +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/setup.cfg +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/setup.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/link/c/c_code/test_cenum.h +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/link/c/c_code/test_quadratic_function.c +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/tensor/conv/c_code/corr3d_gemm.c +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/tensor/conv/c_code/corr_gemm.c +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_breakpoint.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_config.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_gradient.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_ifelse.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_printing.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_raise_op.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_rop.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/tests/test_updates.py +0 -0
- {pytensor-2.17.0 → pytensor-2.17.1}/versioneer.py +0 -0
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2023-
|
|
11
|
+
"date": "2023-10-04T13:04:02+0100",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "2.17.
|
|
14
|
+
"full-revisionid": "849c3b86553afd56081b0a2bd80701ea286acf02",
|
|
15
|
+
"version": "2.17.1"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -541,9 +541,9 @@ class SVD(Op):
|
|
|
541
541
|
# See doc in the docstring of the function just after this class.
|
|
542
542
|
__props__ = ("full_matrices", "compute_uv")
|
|
543
543
|
|
|
544
|
-
def __init__(self, full_matrices=True, compute_uv=True):
|
|
545
|
-
self.full_matrices = full_matrices
|
|
546
|
-
self.compute_uv = compute_uv
|
|
544
|
+
def __init__(self, full_matrices: bool = True, compute_uv: bool = True):
|
|
545
|
+
self.full_matrices = bool(full_matrices)
|
|
546
|
+
self.compute_uv = bool(compute_uv)
|
|
547
547
|
|
|
548
548
|
def make_node(self, x):
|
|
549
549
|
x = as_tensor_variable(x)
|
|
@@ -584,7 +584,7 @@ class SVD(Op):
|
|
|
584
584
|
return [s_shape]
|
|
585
585
|
|
|
586
586
|
|
|
587
|
-
def svd(a, full_matrices=
|
|
587
|
+
def svd(a, full_matrices: bool = True, compute_uv: bool = True):
|
|
588
588
|
"""
|
|
589
589
|
This function performs the SVD on CPU.
|
|
590
590
|
|
|
@@ -2081,63 +2081,65 @@ def local_pow_to_nested_squaring(fgraph, node):
|
|
|
2081
2081
|
Note: This sounds like the kind of thing any half-decent compiler can do by itself?
|
|
2082
2082
|
"""
|
|
2083
2083
|
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
rval1_scal *= pow2_scal[log_to_do]
|
|
2122
|
-
else:
|
|
2123
|
-
rval1 = pow2[log_to_do]
|
|
2124
|
-
rval1_scal = pow2_scal[log_to_do]
|
|
2125
|
-
y_to_do -= 2**log_to_do
|
|
2126
|
-
|
|
2127
|
-
if abs(y) > 2:
|
|
2128
|
-
# We fuse all the pow together here to make
|
|
2129
|
-
# compilation faster
|
|
2130
|
-
rval1 = Elemwise(
|
|
2131
|
-
aes.Composite([pow2_scal[0]], [rval1_scal])
|
|
2132
|
-
).make_node(xsym)
|
|
2133
|
-
if y < 0:
|
|
2134
|
-
rval = [reciprocal(rval1)]
|
|
2084
|
+
# the idea here is that we have pow(x, y)
|
|
2085
|
+
odtype = node.outputs[0].dtype
|
|
2086
|
+
xsym = node.inputs[0]
|
|
2087
|
+
ysym = node.inputs[1]
|
|
2088
|
+
y = get_constant(ysym)
|
|
2089
|
+
|
|
2090
|
+
# the next line is needed to fix a strange case that I don't
|
|
2091
|
+
# know how to make a separate test.
|
|
2092
|
+
# That happen in the `test_log_erfc` test.
|
|
2093
|
+
# y is a ndarray with dtype int8 and value 2,4 or 6. This make
|
|
2094
|
+
# the abs(y) <= 512 fail!
|
|
2095
|
+
# taking the value outside ndarray solve the problem.
|
|
2096
|
+
# it could be that in that case, numpy make the comparison
|
|
2097
|
+
# into the wrong type(do in int8 that overflow.)
|
|
2098
|
+
if isinstance(y, np.ndarray):
|
|
2099
|
+
assert y.size == 1
|
|
2100
|
+
try:
|
|
2101
|
+
y = y[0]
|
|
2102
|
+
except IndexError:
|
|
2103
|
+
pass
|
|
2104
|
+
if (y is not None) and not broadcasted_by(xsym, ysym):
|
|
2105
|
+
rval = None
|
|
2106
|
+
# 512 is too small for the cpu and too big for some gpu!
|
|
2107
|
+
if abs(y) == int(abs(y)) and abs(y) <= 512:
|
|
2108
|
+
pow2 = [xsym]
|
|
2109
|
+
pow2_scal = [aes.get_scalar_type(xsym.dtype)()]
|
|
2110
|
+
y_to_do = abs(y)
|
|
2111
|
+
for i in range(int(np.log2(y_to_do))):
|
|
2112
|
+
pow2.append(sqr(pow2[i]))
|
|
2113
|
+
pow2_scal.append(aes.sqr(pow2_scal[i]))
|
|
2114
|
+
rval1 = None
|
|
2115
|
+
rval1_scal = None
|
|
2116
|
+
while y_to_do > 0:
|
|
2117
|
+
log_to_do = int(np.log2(y_to_do))
|
|
2118
|
+
if rval1:
|
|
2119
|
+
rval1 *= pow2[log_to_do]
|
|
2120
|
+
rval1_scal *= pow2_scal[log_to_do]
|
|
2135
2121
|
else:
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2122
|
+
rval1 = pow2[log_to_do]
|
|
2123
|
+
rval1_scal = pow2_scal[log_to_do]
|
|
2124
|
+
y_to_do -= 2**log_to_do
|
|
2125
|
+
|
|
2126
|
+
if abs(y) > 2:
|
|
2127
|
+
# We fuse all the pow together here to make
|
|
2128
|
+
# compilation faster
|
|
2129
|
+
rval1 = Elemwise(aes.Composite([pow2_scal[0]], [rval1_scal])).make_node(
|
|
2130
|
+
xsym
|
|
2131
|
+
)
|
|
2132
|
+
if y < 0:
|
|
2133
|
+
rval = [reciprocal(rval1)]
|
|
2134
|
+
else:
|
|
2135
|
+
rval = [rval1]
|
|
2136
|
+
if rval:
|
|
2137
|
+
rval[0] = cast(rval[0], odtype)
|
|
2138
|
+
# TODO: We can add a specify_broadcastable and/or unbroadcast to make the
|
|
2139
|
+
# output types compatible. Or work on #408 and let TensorType.filter_variable do it.
|
|
2140
|
+
if rval[0].type.broadcastable != node.outputs[0].type.broadcastable:
|
|
2141
|
+
return None
|
|
2142
|
+
return rval
|
|
2141
2143
|
|
|
2142
2144
|
|
|
2143
2145
|
@register_specialize
|
|
@@ -652,7 +652,7 @@ class _tensor_py_operators:
|
|
|
652
652
|
return at.math.matmul(left, right)
|
|
653
653
|
|
|
654
654
|
def __rmatmul__(right, left):
|
|
655
|
-
return at.math.matmul(
|
|
655
|
+
return at.math.matmul(left, right)
|
|
656
656
|
|
|
657
657
|
def sum(self, axis=None, dtype=None, keepdims=False, acc_dtype=None):
|
|
658
658
|
"""See :func:`pytensor.tensor.math.sum`."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytensor-2.17.0 → pytensor-2.17.1}/doc/library/d3viz/examples/d3viz/css/d3-context-menu.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|