pytensor 2.26.2__tar.gz → 2.26.3__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.
Files changed (413) hide show
  1. {pytensor-2.26.2/pytensor.egg-info → pytensor-2.26.3}/PKG-INFO +1 -1
  2. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/_version.py +3 -3
  3. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/basic.py +6 -2
  4. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/cmodule.py +8 -0
  5. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/scalar.py +6 -2
  6. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/math.py +32 -0
  7. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/math.py +12 -0
  8. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/math.py +16 -0
  9. {pytensor-2.26.2 → pytensor-2.26.3/pytensor.egg-info}/PKG-INFO +1 -1
  10. {pytensor-2.26.2 → pytensor-2.26.3}/LICENSE.txt +0 -0
  11. {pytensor-2.26.2 → pytensor-2.26.3}/MANIFEST.in +0 -0
  12. {pytensor-2.26.2 → pytensor-2.26.3}/README.rst +0 -0
  13. {pytensor-2.26.2 → pytensor-2.26.3}/doc/.templates/PLACEHOLDER +0 -0
  14. {pytensor-2.26.2 → pytensor-2.26.3}/doc/.templates/layout.html +0 -0
  15. {pytensor-2.26.2 → pytensor-2.26.3}/doc/LICENSE.txt +0 -0
  16. {pytensor-2.26.2 → pytensor-2.26.3}/doc/README.md +0 -0
  17. {pytensor-2.26.2 → pytensor-2.26.3}/doc/acknowledgement.rst +0 -0
  18. {pytensor-2.26.2 → pytensor-2.26.3}/doc/bcast.png +0 -0
  19. {pytensor-2.26.2 → pytensor-2.26.3}/doc/bcast.svg +0 -0
  20. {pytensor-2.26.2 → pytensor-2.26.3}/doc/conf.py +0 -0
  21. {pytensor-2.26.2 → pytensor-2.26.3}/doc/core_development_guide.rst +0 -0
  22. {pytensor-2.26.2 → pytensor-2.26.3}/doc/css.inc +0 -0
  23. {pytensor-2.26.2 → pytensor-2.26.3}/doc/dev_start_guide.rst +0 -0
  24. {pytensor-2.26.2 → pytensor-2.26.3}/doc/environment.yml +0 -0
  25. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/apply.png +0 -0
  26. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/apply.svg +0 -0
  27. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/apply2.svg +0 -0
  28. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/creating_a_c_op.rst +0 -0
  29. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/creating_a_numba_jax_op.rst +0 -0
  30. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/creating_an_op.rst +0 -0
  31. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/ctype.rst +0 -0
  32. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/extending_faq.rst +0 -0
  33. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/extending_pytensor_solution_1.py +0 -0
  34. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/graph_rewriting.rst +0 -0
  35. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/graphstructures.rst +0 -0
  36. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/index.rst +0 -0
  37. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/inplace.rst +0 -0
  38. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/op.rst +0 -0
  39. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/other_ops.rst +0 -0
  40. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/pics/symbolic_graph_opt.png +0 -0
  41. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/pics/symbolic_graph_unopt.png +0 -0
  42. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/pipeline.rst +0 -0
  43. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/scan.rst +0 -0
  44. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/tips.rst +0 -0
  45. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/type.rst +0 -0
  46. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/unittest.rst +0 -0
  47. {pytensor-2.26.2 → pytensor-2.26.3}/doc/extending/using_params.rst +0 -0
  48. {pytensor-2.26.2 → pytensor-2.26.3}/doc/faq.rst +0 -0
  49. {pytensor-2.26.2 → pytensor-2.26.3}/doc/generate_dtype_tensor_table.py +0 -0
  50. {pytensor-2.26.2 → pytensor-2.26.3}/doc/glossary.rst +0 -0
  51. {pytensor-2.26.2 → pytensor-2.26.3}/doc/images/Elman_srnn.png +0 -0
  52. {pytensor-2.26.2 → pytensor-2.26.3}/doc/images/PyTensor_RGB.svg +0 -0
  53. {pytensor-2.26.2 → pytensor-2.26.3}/doc/images/blocksparse.png +0 -0
  54. {pytensor-2.26.2 → pytensor-2.26.3}/doc/images/lstm.png +0 -0
  55. {pytensor-2.26.2 → pytensor-2.26.3}/doc/images/lstm_memorycell.png +0 -0
  56. {pytensor-2.26.2 → pytensor-2.26.3}/doc/images/talk2010.gif +0 -0
  57. {pytensor-2.26.2 → pytensor-2.26.3}/doc/images/talk2010.png +0 -0
  58. {pytensor-2.26.2 → pytensor-2.26.3}/doc/index.rst +0 -0
  59. {pytensor-2.26.2 → pytensor-2.26.3}/doc/install.rst +0 -0
  60. {pytensor-2.26.2 → pytensor-2.26.3}/doc/internal/how_to_release.rst +0 -0
  61. {pytensor-2.26.2 → pytensor-2.26.3}/doc/internal/index.rst +0 -0
  62. {pytensor-2.26.2 → pytensor-2.26.3}/doc/internal/metadocumentation.rst +0 -0
  63. {pytensor-2.26.2 → pytensor-2.26.3}/doc/introduction.rst +0 -0
  64. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/debugmode.rst +0 -0
  65. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/function.rst +0 -0
  66. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/index.rst +0 -0
  67. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/io.rst +0 -0
  68. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/mode.rst +0 -0
  69. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/nanguardmode.rst +0 -0
  70. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/opfromgraph.rst +0 -0
  71. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/ops.rst +0 -0
  72. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/profilemode.rst +0 -0
  73. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/compile/shared.rst +0 -0
  74. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/config.rst +0 -0
  75. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/d3viz/css/d3-context-menu.css +0 -0
  76. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/d3viz/css/d3viz.css +0 -0
  77. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/d3viz/js/d3-context-menu.js +0 -0
  78. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/d3viz/js/d3.v3.min.js +0 -0
  79. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/d3viz/js/d3viz.js +0 -0
  80. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/d3viz/js/dagre-d3.min.js +0 -0
  81. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/d3viz/js/graphlib-dot.min.js +0 -0
  82. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/mlp.html +0 -0
  83. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/mlp.png +0 -0
  84. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/mlp2.html +0 -0
  85. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/mlp2.pdf +0 -0
  86. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/mlp2.png +0 -0
  87. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/ofg.html +0 -0
  88. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/examples/ofg2.html +0 -0
  89. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/index.ipynb +0 -0
  90. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/index.rst +0 -0
  91. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/index_files/index_10_0.png +0 -0
  92. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/index_files/index_11_0.png +0 -0
  93. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/index_files/index_24_0.png +0 -0
  94. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/d3viz/index_files/index_25_0.png +0 -0
  95. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/gradient.rst +0 -0
  96. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/features.rst +0 -0
  97. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/fgraph.rst +0 -0
  98. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/graph.rst +0 -0
  99. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/index.rst +0 -0
  100. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/op.rst +0 -0
  101. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/replace.rst +0 -0
  102. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/type.rst +0 -0
  103. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/graph/utils.rst +0 -0
  104. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/index.rst +0 -0
  105. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/misc/pkl_utils.rst +0 -0
  106. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/printing.rst +0 -0
  107. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/sandbox/index.rst +0 -0
  108. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/sandbox/linalg.rst +0 -0
  109. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/scalar/index.rst +0 -0
  110. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/scan.rst +0 -0
  111. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/sparse/index.rst +0 -0
  112. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/sparse/sandbox.rst +0 -0
  113. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/basic.rst +0 -0
  114. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/basic_opt.rst +0 -0
  115. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/bcast.png +0 -0
  116. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/bcast.svg +0 -0
  117. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/conv.rst +0 -0
  118. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/elemwise.rst +0 -0
  119. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/extra_ops.rst +0 -0
  120. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/fft.rst +0 -0
  121. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/functional.rst +0 -0
  122. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/index.rst +0 -0
  123. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/io.rst +0 -0
  124. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/math_opt.rst +0 -0
  125. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/nlinalg.rst +0 -0
  126. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/plot_fft.png +0 -0
  127. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/random/distributions.rst +0 -0
  128. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/random/index.rst +0 -0
  129. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/slinalg.rst +0 -0
  130. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/tensor/utils.rst +0 -0
  131. {pytensor-2.26.2 → pytensor-2.26.3}/doc/library/typed_list.rst +0 -0
  132. {pytensor-2.26.2 → pytensor-2.26.3}/doc/links.rst +0 -0
  133. {pytensor-2.26.2 → pytensor-2.26.3}/doc/optimizations.rst +0 -0
  134. {pytensor-2.26.2 → pytensor-2.26.3}/doc/pylintrc +0 -0
  135. {pytensor-2.26.2 → pytensor-2.26.3}/doc/troubleshooting.rst +0 -0
  136. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/adding.rst +0 -0
  137. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/adding_solution_1.py +0 -0
  138. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/aliasing.rst +0 -0
  139. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/apply.png +0 -0
  140. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/apply.svg +0 -0
  141. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/bcast.png +0 -0
  142. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/broadcasting.rst +0 -0
  143. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/conditions.rst +0 -0
  144. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/debug_faq.rst +0 -0
  145. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/dlogistic.png +0 -0
  146. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/examples.rst +0 -0
  147. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/faq_tutorial.rst +0 -0
  148. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/gradients.rst +0 -0
  149. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/index.rst +0 -0
  150. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/loading_and_saving.rst +0 -0
  151. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/logistic.gp +0 -0
  152. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/logistic.png +0 -0
  153. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/loop.rst +0 -0
  154. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/loop_solution_1.py +0 -0
  155. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/modes.rst +0 -0
  156. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/modes_solution_1.py +0 -0
  157. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/multi_cores.rst +0 -0
  158. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/nan_tutorial.rst +0 -0
  159. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/pics/d3viz.png +0 -0
  160. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/pics/logreg_pydotprint_predict.png +0 -0
  161. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/pics/logreg_pydotprint_prediction.png +0 -0
  162. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/pics/logreg_pydotprint_train.png +0 -0
  163. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/printing_drawing.rst +0 -0
  164. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/prng.rst +0 -0
  165. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/profiling.rst +0 -0
  166. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/profiling_example.py +0 -0
  167. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/profiling_example_out.prof +0 -0
  168. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/shape_info.rst +0 -0
  169. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/sparse.rst +0 -0
  170. {pytensor-2.26.2 → pytensor-2.26.3}/doc/tutorial/symbolic_graphs.rst +0 -0
  171. {pytensor-2.26.2 → pytensor-2.26.3}/doc/user_guide.rst +0 -0
  172. {pytensor-2.26.2 → pytensor-2.26.3}/pyproject.toml +0 -0
  173. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/__init__.py +0 -0
  174. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/bin/__init__.py +0 -0
  175. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/bin/pytensor_cache.py +0 -0
  176. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/breakpoint.py +0 -0
  177. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/__init__.py +0 -0
  178. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/builders.py +0 -0
  179. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/compiledir.py +0 -0
  180. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/compilelock.py +0 -0
  181. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/debugmode.py +0 -0
  182. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/function/__init__.py +0 -0
  183. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/function/pfunc.py +0 -0
  184. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/function/types.py +0 -0
  185. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/io.py +0 -0
  186. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/mode.py +0 -0
  187. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/monitormode.py +0 -0
  188. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/nanguardmode.py +0 -0
  189. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/ops.py +0 -0
  190. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/profiling.py +0 -0
  191. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/compile/sharedvalue.py +0 -0
  192. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/configdefaults.py +0 -0
  193. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/configparser.py +0 -0
  194. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/__init__.py +0 -0
  195. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/css/d3-context-menu.css +0 -0
  196. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/css/d3viz.css +0 -0
  197. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/d3viz.py +0 -0
  198. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/formatting.py +0 -0
  199. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/js/d3-context-menu.js +0 -0
  200. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/js/d3.v3.min.js +0 -0
  201. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/js/d3viz.js +0 -0
  202. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/js/dagre-d3.min.js +0 -0
  203. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/d3viz/js/graphlib-dot.min.js +0 -0
  204. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/gradient.py +0 -0
  205. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/__init__.py +0 -0
  206. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/destroyhandler.py +0 -0
  207. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/features.py +0 -0
  208. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/fg.py +0 -0
  209. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/null_type.py +0 -0
  210. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/op.py +0 -0
  211. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/replace.py +0 -0
  212. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/rewriting/__init__.py +0 -0
  213. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/rewriting/basic.py +0 -0
  214. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/rewriting/db.py +0 -0
  215. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/rewriting/kanren.py +0 -0
  216. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/rewriting/unify.py +0 -0
  217. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/rewriting/utils.py +0 -0
  218. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/type.py +0 -0
  219. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/graph/utils.py +0 -0
  220. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/ifelse.py +0 -0
  221. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/__init__.py +0 -0
  222. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/basic.py +0 -0
  223. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/__init__.py +0 -0
  224. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/basic.py +0 -0
  225. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/c_code/lazylinker_c.c +0 -0
  226. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/c_code/pytensor_mod_helper.h +0 -0
  227. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/cutils.py +0 -0
  228. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/cvm.py +0 -0
  229. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/exceptions.py +0 -0
  230. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/interface.py +0 -0
  231. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/lazylinker_c.py +0 -0
  232. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/op.py +0 -0
  233. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/params_type.py +0 -0
  234. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/c/type.py +0 -0
  235. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/__init__.py +0 -0
  236. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/__init__.py +0 -0
  237. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/basic.py +0 -0
  238. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/blas.py +0 -0
  239. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/blockwise.py +0 -0
  240. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/einsum.py +0 -0
  241. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/elemwise.py +0 -0
  242. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/extra_ops.py +0 -0
  243. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/math.py +0 -0
  244. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/nlinalg.py +0 -0
  245. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/pad.py +0 -0
  246. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/random.py +0 -0
  247. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/scan.py +0 -0
  248. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/shape.py +0 -0
  249. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/slinalg.py +0 -0
  250. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/sort.py +0 -0
  251. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/sparse.py +0 -0
  252. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/subtensor.py +0 -0
  253. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/dispatch/tensor_basic.py +0 -0
  254. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/jax/linker.py +0 -0
  255. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/__init__.py +0 -0
  256. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/__init__.py +0 -0
  257. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/basic.py +0 -0
  258. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/cython_support.py +0 -0
  259. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/elemwise.py +0 -0
  260. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/extra_ops.py +0 -0
  261. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/nlinalg.py +0 -0
  262. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/random.py +0 -0
  263. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/scalar.py +0 -0
  264. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/scan.py +0 -0
  265. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/slinalg.py +0 -0
  266. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/sparse.py +0 -0
  267. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/subtensor.py +0 -0
  268. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/tensor_basic.py +0 -0
  269. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/dispatch/vectorize_codegen.py +0 -0
  270. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/numba/linker.py +0 -0
  271. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/__init__.py +0 -0
  272. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/basic.py +0 -0
  273. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/blas.py +0 -0
  274. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/blockwise.py +0 -0
  275. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/elemwise.py +0 -0
  276. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/extra_ops.py +0 -0
  277. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/math.py +0 -0
  278. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/nlinalg.py +0 -0
  279. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/scalar.py +0 -0
  280. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/shape.py +0 -0
  281. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/sort.py +0 -0
  282. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/dispatch/subtensor.py +0 -0
  283. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/pytorch/linker.py +0 -0
  284. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/utils.py +0 -0
  285. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/link/vm.py +0 -0
  286. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/__init__.py +0 -0
  287. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/check_blas.py +0 -0
  288. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/check_blas_many.sh +0 -0
  289. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/check_duplicate_key.py +0 -0
  290. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/elemwise_openmp_speedup.py +0 -0
  291. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/elemwise_time_test.py +0 -0
  292. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/frozendict.py +0 -0
  293. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/may_share_memory.py +0 -0
  294. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/ordered_set.py +0 -0
  295. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/misc/pkl_utils.py +0 -0
  296. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/printing.py +0 -0
  297. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/py.typed +0 -0
  298. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/raise_op.py +0 -0
  299. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/__init__.py +0 -0
  300. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/basic.py +0 -0
  301. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/c_code/Faddeeva.cc +0 -0
  302. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/c_code/Faddeeva.hh +0 -0
  303. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/c_code/gamma.c +0 -0
  304. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/c_code/incbet.c +0 -0
  305. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/loop.py +0 -0
  306. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scalar/sharedvar.py +0 -0
  307. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/__init__.py +0 -0
  308. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/basic.py +0 -0
  309. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/checkpoints.py +0 -0
  310. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/op.py +0 -0
  311. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/rewriting.py +0 -0
  312. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/scan_perform.pyx +0 -0
  313. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/scan_perform_ext.py +0 -0
  314. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/utils.py +0 -0
  315. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/scan/views.py +0 -0
  316. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/__init__.py +0 -0
  317. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/basic.py +0 -0
  318. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/rewriting.py +0 -0
  319. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/sandbox/__init__.py +0 -0
  320. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/sandbox/sp.py +0 -0
  321. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/sandbox/sp2.py +0 -0
  322. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/sharedvar.py +0 -0
  323. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/type.py +0 -0
  324. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/sparse/utils.py +0 -0
  325. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/__init__.py +0 -0
  326. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/basic.py +0 -0
  327. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/blas.py +0 -0
  328. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/blas_c.py +0 -0
  329. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/blas_headers.py +0 -0
  330. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/blas_scipy.py +0 -0
  331. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/blockwise.py +0 -0
  332. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/c_code/alt_blas_common.h +0 -0
  333. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/c_code/alt_blas_template.c +0 -0
  334. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/c_code/dimshuffle.c +0 -0
  335. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/conv/__init__.py +0 -0
  336. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/conv/abstract_conv.py +0 -0
  337. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/einsum.py +0 -0
  338. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/elemwise.py +0 -0
  339. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/elemwise_cgen.py +0 -0
  340. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/exceptions.py +0 -0
  341. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/extra_ops.py +0 -0
  342. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/fft.py +0 -0
  343. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/fourier.py +0 -0
  344. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/functional.py +0 -0
  345. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/inplace.py +0 -0
  346. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/io.py +0 -0
  347. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/linalg.py +0 -0
  348. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/nlinalg.py +0 -0
  349. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/pad.py +0 -0
  350. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/__init__.py +0 -0
  351. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/basic.py +0 -0
  352. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/op.py +0 -0
  353. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/rewriting/__init__.py +0 -0
  354. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/rewriting/basic.py +0 -0
  355. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/rewriting/jax.py +0 -0
  356. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/rewriting/numba.py +0 -0
  357. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/type.py +0 -0
  358. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/utils.py +0 -0
  359. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/random/var.py +0 -0
  360. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/__init__.py +0 -0
  361. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/basic.py +0 -0
  362. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/blas.py +0 -0
  363. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/blas_c.py +0 -0
  364. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/blas_scipy.py +0 -0
  365. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/blockwise.py +0 -0
  366. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/einsum.py +0 -0
  367. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/elemwise.py +0 -0
  368. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/extra_ops.py +0 -0
  369. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/jax.py +0 -0
  370. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/linalg.py +0 -0
  371. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/ofg.py +0 -0
  372. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/shape.py +0 -0
  373. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/special.py +0 -0
  374. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/subtensor.py +0 -0
  375. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/rewriting/uncanonicalize.py +0 -0
  376. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/shape.py +0 -0
  377. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/sharedvar.py +0 -0
  378. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/slinalg.py +0 -0
  379. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/sort.py +0 -0
  380. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/special.py +0 -0
  381. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/subtensor.py +0 -0
  382. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/type.py +0 -0
  383. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/type_other.py +0 -0
  384. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/utils.py +0 -0
  385. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/var.py +0 -0
  386. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/variable.py +0 -0
  387. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/tensor/xlogx.py +0 -0
  388. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/typed_list/__init__.py +0 -0
  389. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/typed_list/basic.py +0 -0
  390. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/typed_list/rewriting.py +0 -0
  391. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/typed_list/type.py +0 -0
  392. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/updates.py +0 -0
  393. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor/utils.py +0 -0
  394. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor.egg-info/SOURCES.txt +0 -0
  395. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor.egg-info/dependency_links.txt +0 -0
  396. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor.egg-info/entry_points.txt +0 -0
  397. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor.egg-info/requires.txt +0 -0
  398. {pytensor-2.26.2 → pytensor-2.26.3}/pytensor.egg-info/top_level.txt +0 -0
  399. {pytensor-2.26.2 → pytensor-2.26.3}/scripts/mypy-failing.txt +0 -0
  400. {pytensor-2.26.2 → pytensor-2.26.3}/setup.cfg +0 -0
  401. {pytensor-2.26.2 → pytensor-2.26.3}/setup.py +0 -0
  402. {pytensor-2.26.2 → pytensor-2.26.3}/tests/link/c/c_code/test_cenum.h +0 -0
  403. {pytensor-2.26.2 → pytensor-2.26.3}/tests/link/c/c_code/test_quadratic_function.c +0 -0
  404. {pytensor-2.26.2 → pytensor-2.26.3}/tests/tensor/conv/c_code/corr3d_gemm.c +0 -0
  405. {pytensor-2.26.2 → pytensor-2.26.3}/tests/tensor/conv/c_code/corr_gemm.c +0 -0
  406. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_breakpoint.py +0 -0
  407. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_config.py +0 -0
  408. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_gradient.py +0 -0
  409. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_ifelse.py +0 -0
  410. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_printing.py +0 -0
  411. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_raise_op.py +0 -0
  412. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_rop.py +0 -0
  413. {pytensor-2.26.2 → pytensor-2.26.3}/tests/test_updates.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytensor
3
- Version: 2.26.2
3
+ Version: 2.26.3
4
4
  Summary: Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs.
5
5
  Author-email: pymc-devs <pymc.devs@gmail.com>
6
6
  License: .. _license:
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-11-11T14:51:54+0100",
11
+ "date": "2024-11-13T15:48:28+0100",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "fdbf3aa56a2f2e0e1bb8dc97816c8d0ba34ca5ed",
15
- "version": "2.26.2"
14
+ "full-revisionid": "33a4d4882cc14c1a4a24ec24a5ebb7a1065bcbae",
15
+ "version": "2.26.3"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -616,16 +616,20 @@ class Variable(Node, Generic[_TypeType, OptionalApplyType]):
616
616
  """
617
617
  from pytensor.compile.function import function
618
618
 
619
+ ignore_unused_input = kwargs.get("on_unused_input", None) in ("ignore", "warn")
620
+
619
621
  def convert_string_keys_to_variables(inputs_to_values) -> dict["Variable", Any]:
620
622
  new_input_to_values = {}
621
623
  for key, value in inputs_to_values.items():
622
624
  if isinstance(key, str):
623
625
  matching_vars = get_var_by_name([self], key)
624
626
  if not matching_vars:
625
- raise ValueError(f"{key} not found in graph")
627
+ if not ignore_unused_input:
628
+ raise ValueError(f"{key} not found in graph")
626
629
  elif len(matching_vars) > 1:
627
630
  raise ValueError(f"Found multiple variables with name {key}")
628
- new_input_to_values[matching_vars[0]] = value
631
+ else:
632
+ new_input_to_values[matching_vars[0]] = value
629
633
  else:
630
634
  new_input_to_values[key] = value
631
635
  return new_input_to_values
@@ -2379,6 +2379,14 @@ class GCC_compiler(Compiler):
2379
2379
  if sys.platform == "darwin":
2380
2380
  # Use the already-loaded python symbols.
2381
2381
  cxxflags.extend(["-undefined", "dynamic_lookup"])
2382
+ # XCode15 introduced ld_prime linker. At the time of writing, this linker
2383
+ # leads to multiple issues, so we supply a flag to use the older dynamic
2384
+ # linker: ld64
2385
+ if int(platform.mac_ver()[0].split(".")[0]) >= 15:
2386
+ # This might be incorrect. We know that ld_prime was introduced in
2387
+ # XCode15, but we don't know if the platform version is aligned with
2388
+ # xcode's version.
2389
+ cxxflags.append("-ld64")
2382
2390
 
2383
2391
  if sys.platform == "win32":
2384
2392
  # Workaround for https://github.com/Theano/Theano/issues/4926.
@@ -31,6 +31,7 @@ from pytensor.scalar.math import (
31
31
  GammaIncInv,
32
32
  Iv,
33
33
  Ive,
34
+ Kve,
34
35
  Log1mexp,
35
36
  Psi,
36
37
  TriGamma,
@@ -288,9 +289,12 @@ def jax_funcify_Iv(op, **kwargs):
288
289
 
289
290
  @jax_funcify.register(Ive)
290
291
  def jax_funcify_Ive(op, **kwargs):
291
- ive = try_import_tfp_jax_op(op, jax_op_name="bessel_ive")
292
+ return try_import_tfp_jax_op(op, jax_op_name="bessel_ive")
293
+
292
294
 
293
- return ive
295
+ @jax_funcify.register(Kve)
296
+ def jax_funcify_Kve(op, **kwargs):
297
+ return try_import_tfp_jax_op(op, jax_op_name="bessel_kve")
294
298
 
295
299
 
296
300
  @jax_funcify.register(Log1mexp)
@@ -1281,6 +1281,38 @@ class Ive(BinaryScalarOp):
1281
1281
  ive = Ive(upgrade_to_float, name="ive")
1282
1282
 
1283
1283
 
1284
+ class Kve(BinaryScalarOp):
1285
+ """Exponentially scaled modified Bessel function of the second kind of real order v."""
1286
+
1287
+ nfunc_spec = ("scipy.special.kve", 2, 1)
1288
+
1289
+ @staticmethod
1290
+ def st_impl(v, x):
1291
+ return scipy.special.kve(v, x)
1292
+
1293
+ def impl(self, v, x):
1294
+ return self.st_impl(v, x)
1295
+
1296
+ def L_op(self, inputs, outputs, output_grads):
1297
+ v, x = inputs
1298
+ [kve_vx] = outputs
1299
+ [g_out] = output_grads
1300
+ # (1 -v/x) * kve(v, x) - kve(v - 1, x)
1301
+ kve_vm1x = self(v - 1, x)
1302
+ dx = (1 - v / x) * kve_vx - kve_vm1x
1303
+
1304
+ return [
1305
+ grad_not_implemented(self, 0, v),
1306
+ g_out * dx,
1307
+ ]
1308
+
1309
+ def c_code(self, *args, **kwargs):
1310
+ raise NotImplementedError()
1311
+
1312
+
1313
+ kve = Kve(upgrade_to_float, name="kve")
1314
+
1315
+
1284
1316
  class Sigmoid(UnaryScalarOp):
1285
1317
  """
1286
1318
  Logistic sigmoid function (1 / (1 + exp(-x)), also known as expit or inverse logit
@@ -1229,6 +1229,16 @@ def ive(v, x):
1229
1229
  """Exponentially scaled modified Bessel function of the first kind of order v (real)."""
1230
1230
 
1231
1231
 
1232
+ @scalar_elemwise
1233
+ def kve(v, x):
1234
+ """Exponentially scaled modified Bessel function of the second kind of real order v."""
1235
+
1236
+
1237
+ def kv(v, x):
1238
+ """Modified Bessel function of the second kind of real order v."""
1239
+ return kve(v, x) * exp(-x)
1240
+
1241
+
1232
1242
  @scalar_elemwise
1233
1243
  def sigmoid(x):
1234
1244
  """Logistic sigmoid function (1 / (1 + exp(-x)), also known as expit or inverse logit"""
@@ -3040,6 +3050,8 @@ __all__ = [
3040
3050
  "i1",
3041
3051
  "iv",
3042
3052
  "ive",
3053
+ "kv",
3054
+ "kve",
3043
3055
  "sigmoid",
3044
3056
  "expit",
3045
3057
  "softplus",
@@ -56,6 +56,7 @@ from pytensor.tensor.math import (
56
56
  ge,
57
57
  int_div,
58
58
  isinf,
59
+ kve,
59
60
  le,
60
61
  log,
61
62
  log1mexp,
@@ -3494,3 +3495,18 @@ local_polygamma_to_tri_gamma = PatternNodeRewriter(
3494
3495
  )
3495
3496
 
3496
3497
  register_specialize(local_polygamma_to_tri_gamma)
3498
+
3499
+
3500
+ local_log_kv = PatternNodeRewriter(
3501
+ # Rewrite log(kv(v, x)) = log(kve(v, x) * exp(-x)) -> log(kve(v, x)) - x
3502
+ # During stabilize -x is converted to -1.0 * x
3503
+ (log, (mul, (kve, "v", "x"), (exp, (mul, -1.0, "x")))),
3504
+ (sub, (log, (kve, "v", "x")), "x"),
3505
+ allow_multiple_clients=True,
3506
+ name="local_log_kv",
3507
+ # Start the rewrite from the less likely kve node
3508
+ tracks=[kve],
3509
+ get_nodes=get_clients_at_depth2,
3510
+ )
3511
+
3512
+ register_stabilize(local_log_kv)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytensor
3
- Version: 2.26.2
3
+ Version: 2.26.3
4
4
  Summary: Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs.
5
5
  Author-email: pymc-devs <pymc.devs@gmail.com>
6
6
  License: .. _license:
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