Symbolics.jl icon indicating copy to clipboard operation
Symbolics.jl copied to clipboard

WIP: Array optimization rules

Open shashi opened this issue 4 years ago • 3 comments

Getting this started, let's use this PR for collecting ideas as well.

Builds on #495

┆Issue is synchronized with this Trello card by Unito

shashi avatar Jan 19 '22 12:01 shashi

I want to use e-graphs for implementing https://arxiv.org/pdf/1304.6112.pdf

One thing to note is #495 makes the term interface for ArrayOp mirror the underlying Term that constructed the einsum notation. This means that egraph matcher will not be able to access the einsum notation as of now. But we can of course write a converter which lets us deal with the einsum formulation. I'm still not a 100% sure on what kind of language will come out for writing equational rules in this case.

shashi avatar Jan 19 '22 12:01 shashi

Codecov Report

Merging #514 (1fc30d2) into master (b034276) will decrease coverage by 69.15%. The diff coverage is 0.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #514       +/-   ##
==========================================
- Coverage   78.26%   9.10%   -69.16%     
==========================================
  Files          22      23        +1     
  Lines        2300    2252       -48     
==========================================
- Hits         1800     205     -1595     
- Misses        500    2047     +1547     
Impacted Files Coverage Δ
src/Symbolics.jl 7.14% <ø> (-57.15%) :arrow_down:
src/array-rules.jl 0.00% <0.00%> (ø)
src/semipoly.jl 0.00% <0.00%> (-95.37%) :arrow_down:
src/linear_algebra.jl 0.00% <0.00%> (-89.48%) :arrow_down:
src/array-lib.jl 0.00% <0.00%> (-84.05%) :arrow_down:
src/diff.jl 0.40% <0.00%> (-79.12%) :arrow_down:
src/equations.jl 0.00% <0.00%> (-78.13%) :arrow_down:
src/arrays.jl 9.64% <0.00%> (-75.85%) :arrow_down:
src/complex.jl 0.00% <0.00%> (-71.43%) :arrow_down:
src/build_function.jl 0.00% <0.00%> (-70.32%) :arrow_down:
... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update b034276...1fc30d2. Read the comment docs.

codecov-commenter avatar Jan 19 '22 12:01 codecov-commenter

cc @0x0f0f0f @DhairyaLGandhi

shashi avatar Jan 19 '22 12:01 shashi