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

Specialize `StaticEinCode` functions more aggressively

Open topolarity opened this issue 6 months ago • 2 comments

These tweaks are enough to get these StaticEinCode examples that use the loop fallback fully-inferred:

ein"ij,jk,kl->il"(randn(100, 100), randn(100, 100), randn(100, 100))
ein"ij,jk,kl,lm->im"(randn(100, 100), randn(100, 100), randn(100, 100), randn(100, 100))

It will be quite a bit more effort to do the same for unary / binary pipelines, such as:

ein"ij,jk->ik"(randn(100, 100), randn(100, 100))

Mostly because of their dependency on the broadcasting machinery - but this is at least a start.

topolarity avatar Apr 23 '25 16:04 topolarity