Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
5834681
fix: fix promote rules
AayushSabharwal Sep 12, 2025
2f69b08
test: make some tests independent of hash order
AayushSabharwal Sep 12, 2025
9b0f27e
refactor: do not print extra information in `inspect`
AayushSabharwal Sep 12, 2025
e6dbacb
refactor: avoid unnecessary global state in `basicsymbolic_to_polyvar`
AayushSabharwal Sep 12, 2025
8df0348
build: remove `ConcurrentUtilities` dependency
AayushSabharwal Sep 12, 2025
5b29590
refactor: remove outdated empty functions
AayushSabharwal Sep 12, 2025
bb00e5a
chore: remove redundant file
AayushSabharwal Sep 12, 2025
dc902cc
test: update reference tests
AayushSabharwal Sep 12, 2025
d21a13e
docs: turn doctests into `@example` blocks
AayushSabharwal Sep 12, 2025
6fe4a45
test: add note for intermittently failing test
AayushSabharwal Sep 12, 2025
92d4a17
test: update rewrite test
AayushSabharwal Sep 12, 2025
dc752bc
refactor: use locked WCS instead of TaskLocalValue for hashconsing
AayushSabharwal Sep 12, 2025
2965827
feat: allow filtering in `substitute`
AayushSabharwal Sep 15, 2025
0a73bd3
feat: handle `SparseMatrixCSC` in `substitute`
AayushSabharwal Sep 15, 2025
47865f7
feat: special-case `complex(re, img)` term in complex methods
AayushSabharwal Sep 15, 2025
f1462e0
feat: propagate metadata when calling `FnType`
AayushSabharwal Sep 15, 2025
bc06f10
feat: add symbolic function checking methods
AayushSabharwal Sep 15, 2025
10154cb
feat: support `LinearAlgebra.dot`
AayushSabharwal Sep 15, 2025
9c1473c
feat: support `LinearAlgebra.det`
AayushSabharwal Sep 15, 2025
e5bbf7a
feat: support `Base.isempty`
AayushSabharwal Sep 15, 2025
28dfca1
feat: support `Base.CartesianIndex`
AayushSabharwal Sep 15, 2025
6635306
refactor: enable easily extending polyadic methods to wrapper types
AayushSabharwal Sep 15, 2025
817ad4a
feat: support `Base.map`
AayushSabharwal Sep 15, 2025
cb04dfb
feat: support `Base.mapreduce`
AayushSabharwal Sep 15, 2025
2248eb6
refactor: generalize `to_poly!` type bounds
AayushSabharwal Sep 16, 2025
77f791b
refactor: add and use `from_poly`
AayushSabharwal Sep 16, 2025
ae6acba
docs: better describe `@syms` syntax, refactor parsing
AayushSabharwal Sep 16, 2025
9565723
feat: implement 2-arg `size`
AayushSabharwal Sep 16, 2025
252c039
fix: more `@syms` modularity and parsing updates
AayushSabharwal Sep 16, 2025
5cbd451
feat: implement `SII.getname`
AayushSabharwal Sep 16, 2025
6a76ef8
feat: add bounds checks to symbolic `getindex`
AayushSabharwal Sep 16, 2025
ea3ac6a
feat: support `ArrayOp` in `query!`
AayushSabharwal Sep 16, 2025
8222a54
feat: improve `search_variables!`, support `ArrayOp`
AayushSabharwal Sep 16, 2025
8193b61
feat: add `search_variables`
AayushSabharwal Sep 16, 2025
18207c4
feat: add `@map_methods` and `@mapreduce_methods`
AayushSabharwal Sep 16, 2025
23b5fec
fix: parse shape when provided to constructors
AayushSabharwal Sep 17, 2025
c3b99e5
fix: properly handle broadcasting in `maketerm`
AayushSabharwal Sep 17, 2025
ba183a6
feat: improve `getindex` formulation, metadata propagation
AayushSabharwal Sep 17, 2025
70bf149
test: update array `getindex` tests
AayushSabharwal Sep 17, 2025
425d581
fix: better handle `literal_pow` broadcast
AayushSabharwal Sep 17, 2025
dad821c
fix: fix type inference for Symbolics
AayushSabharwal Sep 17, 2025
e87abee
fix: fix `maketerm` with `getindex`
AayushSabharwal Sep 17, 2025
91a53e6
fix: remove unnecessary `term` wrapping in `@arrayop`
AayushSabharwal Sep 18, 2025
12f3577
fix: fix codegen bug with nested `@arrayop`
AayushSabharwal Sep 18, 2025
1a31644
feat: implement `Base.Symbol(::BasicSymbolic{T})`
AayushSabharwal Sep 18, 2025
7302d56
feat: add filtering to `Rewriters.Walk`
AayushSabharwal Sep 18, 2025
b7fb616
fix: fix filtering in `substitute`
AayushSabharwal Sep 18, 2025
fdd6f3f
refactor: generalize `scalarize` a bit
AayushSabharwal Sep 18, 2025
40f0220
feat: handle `-` edge case in `maketerm`
AayushSabharwal Sep 18, 2025
236f560
fix: handle shape promotion in `maketerm`
AayushSabharwal Sep 18, 2025
7046efd
feat: add `Operator`
AayushSabharwal Sep 18, 2025
a1dae9d
fix: better handle indexing of `Const`
AayushSabharwal Sep 18, 2025
d265475
fix: canonicalize indexing of `Operator`
AayushSabharwal Sep 18, 2025
5140e13
fix: improve `ArrayOp` handling in scalarizing `getindex`
AayushSabharwal Sep 18, 2025
3befda3
fix: improve `to_poly!` on rational exponents
AayushSabharwal Sep 19, 2025
718600c
refactor: relax type bounds
AayushSabharwal Sep 19, 2025
2e89030
feat: handle `sqrt` and `cbrt` in `^`
AayushSabharwal Sep 19, 2025
0593f64
refactor: edge case in `Walk`
AayushSabharwal Sep 19, 2025
46aabc1
fix: handle adjoint/transpose multiplication leading to scalar
AayushSabharwal Sep 19, 2025
08ce7c6
fix: fix `ifelse` method
AayushSabharwal Sep 19, 2025
67a3d6d
feat: support non-recursive `scalarize`
AayushSabharwal Sep 19, 2025
d5f090b
refactor: change default `substitute` filter
AayushSabharwal Sep 19, 2025
eff73b0
build: remove dependencies on branches
AayushSabharwal Sep 19, 2025
51ee251
refactor: improve `substitute`
AayushSabharwal Sep 19, 2025
0633a4d
fix: minor fix for `_added_shape`
AayushSabharwal Sep 19, 2025
2a28bc6
fix: generalize `combine_fold`
AayushSabharwal Sep 19, 2025
148507c
fix: consider operator applications as atomic in `search_variables!`
AayushSabharwal Sep 19, 2025
b30e861
fix: fix `maketerm` for `broadcast` and `getindex`
AayushSabharwal Sep 19, 2025
8afe0c5
fix: fix bug in `-(::BasicSymbolic)`
AayushSabharwal Sep 19, 2025
64ed96d
fix: mark `BasicSymbolic` as `IndexCartesian`
AayushSabharwal Sep 19, 2025
2a55a46
feat: implement `axes` for `BasicSymbolic`
AayushSabharwal Sep 19, 2025
3d1e9be
feat: implement `promote_symtype` for `hvncat`
AayushSabharwal Sep 19, 2025
5adf81a
feat: add default registrations of more `Base` methods
AayushSabharwal Sep 19, 2025
359784d
refactor: do not use `Base.Lockable`
AayushSabharwal Sep 19, 2025
aa47d14
fix: use safer `isinteger` check
AayushSabharwal Sep 20, 2025
2175147
refactor: reduce invalidations
AayushSabharwal Sep 20, 2025
78b4afc
test: update tests
AayushSabharwal Sep 20, 2025
d4ec3dc
refactor: make tests more robust to hash ordering
AayushSabharwal Sep 21, 2025
07b095f
test: workaround to prevent test from segfaulting on 1.10
AayushSabharwal Sep 22, 2025
ca91b0b
feat: add DistributionsExt
AayushSabharwal Sep 22, 2025
77f1110
feat: add more special functions to `@number_methods`
AayushSabharwal Sep 22, 2025
fe532f0
fix: remove ambiguity in `@mapreduce_methods`
AayushSabharwal Sep 22, 2025
b7f4458
fix: fix scalarization of slicing
AayushSabharwal Sep 22, 2025
598ffe1
fix: collapse nested `getindex`
AayushSabharwal Sep 22, 2025
8c8a1d7
feat: register `in`, `union`, `intersect`, `issubset`
AayushSabharwal Sep 22, 2025
6558d36
fix: fix bug in `Walk`
AayushSabharwal Sep 22, 2025
bd3cf87
feat: add `promote_symtype` for `complex`
AayushSabharwal Sep 22, 2025
31b0dcc
feat: support splatted args in `@cache`
AayushSabharwal Sep 22, 2025
4e0084e
fix: handle `CodegenPrimitive` inside expression during codegen
AayushSabharwal Sep 22, 2025
98caa3c
feat: register `binomial`
AayushSabharwal Sep 22, 2025
71be59a
feat: cache hash in `Const`
AayushSabharwal Sep 22, 2025
7e25150
fix: handle `Matrix * BasicSymbolic`
AayushSabharwal Sep 22, 2025
67d49af
feat: cache symbolic `getindex`, allow some mixed symbolic indices on…
AayushSabharwal Sep 22, 2025
fac75c1
refactor: cache `reduce_eliminated_idxs` and reduce allocations
AayushSabharwal Sep 22, 2025
617ab03
fix: handle `SparseMatrixCSC` in `scalarize`
AayushSabharwal Sep 22, 2025
2d697d2
feat: add fast path in `substitute`
AayushSabharwal Sep 22, 2025
53d9380
feat: add `promote_shape` for calling `FnType` symbolics
AayushSabharwal Sep 22, 2025
c511b0f
fix: fix bug in matchers
AayushSabharwal Sep 23, 2025
3895fbb
test: avoid certain functions in fuzz tests
AayushSabharwal Sep 23, 2025
33d795b
fix: allow constant folding in `substitute`
AayushSabharwal Sep 23, 2025
4c75d84
refactor: remove unneccessary edge case
AayushSabharwal Sep 23, 2025
909bca0
fix: fix polynomialization of rational coefficient terms
AayushSabharwal Sep 23, 2025
f72d474
feat: add `promote_shape` for `real`, `imag`, `conj`
AayushSabharwal Sep 23, 2025
1377775
fix: fix inference issues on 1.10
AayushSabharwal Sep 24, 2025
4d7a776
test: make tests compatible with 1.10
AayushSabharwal Sep 24, 2025
2c8f1b8
docs: fix docs
AayushSabharwal Sep 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 5 additions & 10 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ version = "3.32.0"
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
ConcurrentUtilities = "f0e56b4a-5159-44fe-b623-3e5288b988bb"
ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
Expand All @@ -33,16 +32,13 @@ WeakCacheSets = "d30d5f5c-d141-4870-aa07-aabb0f5fe7d5"

[weakdeps]
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
LabelledArrays = "2ee39098-c373-598a-b85f-a56591580800"
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"

[sources]
DynamicPolynomials = {rev = "as/new-poly-merge", url = "https://github.com/AayushSabharwal/DynamicPolynomials.jl"}
MultivariatePolynomials = {rev = "as/poly-merge-nonconcrete", url = "https://github.com/AayushSabharwal/MultivariatePolynomials.jl"}
MutableArithmetics = {rev = "as+bl/simplify_promote_type_fallback", url = "https://github.com/AayushSabharwal/MutableArithmetics.jl"}

[extensions]
SymbolicUtilsChainRulesCoreExt = "ChainRulesCore"
SymbolicUtilsDistributionsExt = "Distributions"
SymbolicUtilsLabelledArraysExt = "LabelledArrays"
SymbolicUtilsReverseDiffExt = "ReverseDiff"

Expand All @@ -51,19 +47,18 @@ AbstractTrees = "0.4"
ArrayInterface = "7.8"
ChainRulesCore = "1"
Combinatorics = "1 - 1.0.2"
ConcurrentUtilities = "2.5.0"
ConstructionBase = "1.5.7"
DataStructures = "0.18, 0.19"
DocStringExtensions = "0.8, 0.9"
DynamicPolynomials = "0.5, 0.6"
DynamicPolynomials = "0.6.4"
EnumX = "1.0.5"
ExproniconLite = "0.10.14"
LabelledArrays = "1.5"
LinearAlgebra = "1"
MacroTools = "0.5.16"
Moshi = "0.3.6"
MultivariatePolynomials = "0.5"
MutableArithmetics = "1.6.4"
MultivariatePolynomials = "0.5.12"
MutableArithmetics = "1.6.5"
NaNMath = "0.3, 1.1.2"
OhMyThreads = "0.7"
ReadOnlyArrays = "0.2.0"
Expand Down
9 changes: 0 additions & 9 deletions bench.jl

This file was deleted.

44 changes: 14 additions & 30 deletions docs/src/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
```@docs
SymbolicUtils.@syms
SymbolicUtils.term
SymbolicUtils.Sym
```

### Inspecting Terms
Expand All @@ -20,14 +19,6 @@ SymbolicUtils.sorted_arguments
SymbolicUtils.showraw
```

### Term Types
```@docs
SymbolicUtils.Term
SymbolicUtils.Add
SymbolicUtils.Mul
SymbolicUtils.Pow
```

### Metadata
```@docs
SymbolicUtils.hasmetadata
Expand Down Expand Up @@ -74,7 +65,6 @@ SymbolicUtils.substitute
## Polynomial Forms

```@docs
SymbolicUtils.PolyForm
SymbolicUtils.simplify_fractions
SymbolicUtils.quick_cancel
SymbolicUtils.flatten_fractions
Expand All @@ -84,36 +74,30 @@ SymbolicUtils.flatten_fractions

### Core Functions
```@docs
SymbolicUtils.toexpr
SymbolicUtils.cse
SymbolicUtils.Code.toexpr
SymbolicUtils.Code.cse
```

### Code Generation Types
```@docs
SymbolicUtils.Assignment
SymbolicUtils.Let
SymbolicUtils.Func
SymbolicUtils.DestructuredArgs
SymbolicUtils.LiteralExpr
SymbolicUtils.ForLoop
SymbolicUtils.Code.Assignment
SymbolicUtils.Code.Let
SymbolicUtils.Code.Func
SymbolicUtils.Code.DestructuredArgs
SymbolicUtils.Code.LiteralExpr
SymbolicUtils.Code.ForLoop
```

### Array Operations
```@docs
SymbolicUtils.SetArray
SymbolicUtils.MakeArray
SymbolicUtils.MakeSparseArray
SymbolicUtils.MakeTuple
SymbolicUtils.Code.SetArray
SymbolicUtils.Code.MakeArray
SymbolicUtils.Code.MakeSparseArray
SymbolicUtils.Code.MakeTuple
```

### Parallelism
```@docs
SymbolicUtils.SpawnFetch
SymbolicUtils.Multithreaded
SymbolicUtils.Code.SpawnFetch
SymbolicUtils.Code.Multithreaded
```

## Utilities

```@docs
SymbolicUtils.@timerewrite
```
Loading
Loading