Releases: pymc-devs/pytensor
Releases · pymc-devs/pytensor
rel-2.35.1
What's Changed
Major Changes 🛠
- Handle
axis=Nonesymbolically instead of within CumOp by @Copilot in #1574
New Features 🎉
- Refactor
Expmand add jax dispatch by @jessegrabowski in #1668
Bugfixes 🐛
- Fix C-cache bug related to input order of nominal variables by @ricardoV94 in #1673
- Don't return tuple from
jax.scipy.linalg.qrwhenmode = 'r'by @jessegrabowski in #1682
Maintenance 🔧
- Move shared HStack and VStack methods to Stack superclass by @jessegrabowski in #1662
- Fix MKL BLAS detection with renamed libiomp5md.lib by @maresb in #1667
- Cleanup numba dispatches by @ricardoV94 in #1648
- Use incsubtesor in gradient of repeat by @ricardoV94 in #1621
- Suppress numpy warnings in python implementation of Elemwise by @ricardoV94 in #1681
Full Changelog: rel-2.35.0...rel-2.35.1
rel-2.35.0
What's Changed
Major Changes 🛠
- Drop Python 3.10 and NumPy < 2 by @Armavica in #1253
- Remove
sparse.sandboxby @jessegrabowski in #1664
New Features 🎉
- Add MLX backend by @williambdean in #1365
Bugfixes 🐛
- Fix rewrite weakref leak by @ricardoV94 in #1660
Documentation 📖
Maintenance 🔧
- Use LAPACK functions for
cho_solve,lu_factor,solve_triangularby @Fyrebright in #1605
Full Changelog: rel-2.34.0...rel-2.35.0
rel-2.34.0
What's Changed
Major Changes 🛠
- Implement
wrap_jaxand renameas_optowrap_pyby @aseyboldt in #1614
New Features 🎉
Bugfixes 🐛
- Fix
flipto handle negative axis correctly by @Copilot in #1628 - Fix FusionOptimizer bug by @ricardoV94 in #1630
New Contributors
- @Copilot made their first contribution in #1628
Full Changelog: rel-2.33.0...rel-2.34.0
rel-2.33.0
What's Changed
Major Changes 🛠
- Remove unused graph rewriting functionality by @ricardoV94 in #1595
- Speedup graph traversal functions by @ricardoV94 in #1596
New Features 🎉
- Implement
OpPatternfor more flexibletracksandPatternNodeRewriterby @ricardoV94 in #1594
Bugfixes 🐛
- Fix failure with narrowing of ssize_t to int in macos by @ricardoV94 in #1602
Documentation 📖
- Add gallery notebook on vector jacobian products by @ricardoV94 in #1544
- Normalizing Flows in PyTensor Notebook by @juanitorduz in #1588
- Add intro notebook from workshop by @juanitorduz in #1585
Maintenance 🔧
- Add rewrite for log(sqrt(x)) by @williambdean in #1555
- Tweak rewrites in
infer_shapedataset by @ricardoV94 in #1563 - Add rewrite for
softplus(log(x)) -> log1p(x)by @lciti in #1452 - Implement static shape inference for AdvancedSubtensor by @ricardoV94 in #1566
- Rewrite more cases of Blockwise IncSubtensor by @ricardoV94 in #1560
- Skip scan rewrites if there is no Scan Op in the graph by @ricardoV94 in #1600
- Add
compiler_verboseconfig flag by @ricardoV94 in #1520 - Use vectorized jacobian in Minimize Op by @Michal-Novomestsky in #1582
- Speedup FusionOptimizer by @ricardoV94 in #1615
New Contributors
- @jorenham made their first contribution in #1597
- @Michal-Novomestsky made their first contribution in #1582
Full Changelog: rel-2.32.0...rel-2.33.0
rel-2.32.0
What's Changed
Major Changes 🛠
- Improve dot lift rewrites by @ricardoV94 in #1471
- Change Dot Op to only accept matrix inputs by @ricardoV94 in #1538
New Features 🎉
- Refactor and update QR Op by @jessegrabowski in #1518
- Optimize matmuls involving block diagonal matrices by @jessegrabowski in #1493
Bugfixes 🐛
- Fix
CheckAndRaiseOp C implementation by @ricardoV94 in #1521 - Fix mean, var and std for XTensorVariables by @ricardoV94 in #1533
- Fix AdvancedIncSubtensor1 C-compilation with empty indices by @ricardoV94 in #1551
Documentation 📖
- Fix missing xtensor.type cross-reference targets by @OriolAbril in #1530
Maintenance 🔧
- Converts negative constant axis to positive if present in
Join(COp)by @PabloRoque in #1527 - Preserve static shape information in
block_diagby @jessegrabowski in #1529 - Get rid of pydot-ng because it's deprecated since 7 years by @maresb in #1534
- Canonicalize subtensor negative integer indices by @ricardoV94 in #1541
- Use stricter numerical tolerance in rewrites and allow casting in
PatternNodeRewriterby @lciti in #1526
New Contributors
- @PabloRoque made their first contribution in #1527
Full Changelog: rel-2.31.7...rel-2.32.0
rel-2.31.7
What's Changed
New Features 🎉
- Implement
full_like,ones_like, andzeros_likefor XTensorVariables by @ricardoV94 in #1519
Documentation 📖
- Add xtensor docs by @ricardoV94 in #1504
Maintenance 🔧
- Extend C implementation of psi to support negative inputs by @Abhinav-Khot in #1523
- Make convolve mode symbolic to avoid unnecessary large convolution in gradient graph by @ricardoV94 in #1522
Full Changelog: rel-2.31.6...rel-2.31.7
rel-2.31.6
What's Changed
New Features 🎉
- Implement broadcast for XtensorVariables by @ricardoV94 in #1513
Bugfixes 🐛
- Do not skip validation between consecutive Elemwise inplace replacements by @ricardoV94 in #1494
- Fix shape errors in
scalar_solve_to_divisionrewrite by @ricardoV94 in #1516
Full Changelog: rel-2.31.5...rel-2.31.6
rel-2.31.5
What's Changed
New Features 🎉
- Implement vectorized jacobian and allow arbitrary expression shapes by @ricardoV94 in #1228
- Rewrite scalar solve to division by @jessegrabowski in #1453
Bugfixes 🐛
- Fix xtensor
(...,)Transpose by @ricardoV94 in #1500
Maintenance 🔧
- Small fixups to xtensor type and XRV by @ricardoV94 in #1503
Full Changelog: rel-2.31.4...rel-2.31.5
rel-2.31.4
What's Changed
New Features 🎉
- Decompose Tridiagonal Solve into core steps by @ricardoV94 in #1382
- Implement symbolic
minimizeandrootOpsby @jessegrabowski in #1182 - Add Feature that can go back and forward in rewrite history by @ricardoV94 in #874
- Reuse
choleskydecomposition withcho_solvein graphs with multiplept.solvewhenassume_a = "pos"by @jessegrabowski in #1467 - Cover more cases of
log1mexpstabilization by @lciti in #1483 - Add JAX dispatch for
CholeskySolveOpby @jessegrabowski in #1491 - Implement xarray-like labeled tensors and semantics by @ricardoV94 in #1411
Bugfixes 🐛
- Use
gradto compute jacobian when input shape is known to be (1,) by @jessegrabowski in #1454 - Fix invalid numpy dtype by @ricardoV94 in #1456
- Fix bug in gradient of Blockwise'd Scan by @ricardoV94 in #1482
Documentation 📖
- Improve creating an Op documentation page by @ricardoV94 in #1086
- Fix optimize example notebook folder name by @jessegrabowski in #1474
- Correct indexing links in docs by @williambdean in #1463
Maintenance 🔧
- Simplify Numba implementation of Alloc by @ricardoV94 in #1329
- Use lapack func instead of
scipy.linalg.choleskyby @Fyrebright in #1487 - Avoid miniKanren v1.0.4 by @maresb in #1496
New Contributors
- @lciti made their first contribution in #1483
- @Fyrebright made their first contribution in #1487
Full Changelog: rel-2.31.3...rel-2.31.4
rel-2.31.3
What's Changed
New Features 🎉
- Support RandomVariable graphs with scalar shape parameters in JAX backend by @ricardoV94 in #1029
Bugfixes 🐛
- Handle
compute_map=Nonein Scan by @zaxtax in #1435 - Coerce dtype
__props__to string due to invalid hash ofnp.dtype()objects by @ricardoV94 in #1436
Maintenance 🔧
- Fix slow dot in numba by @ricardoV94 in #1426
- Constant fold branches of variadic add/mul by @ricardoV94 in #1422
- Reuse output of Join in C backend by @ricardoV94 in #1340
- Avoid default allocation for taps of length 1 in ScanSaveMem by @ricardoV94 in #1395
Full Changelog: rel-2.31.2...rel-2.31.3