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

Hope to close the both side indices check

Open zxm403089989 opened this issue 1 year ago • 2 comments

In a specific problem, I need to use nested @cast. But due to the check of coexistence of indices, I cannot accomplish this. Here is a simplified case:

using TensorCast
table=rand(2,2,2,2);
@cast testm1[i,j]:=table[i,j,1,1];
testm2 = sum(testm1,dims=1)
# 1×2 Matrix{Float64}:
#  1.15043  0.772946

@cast test[k,l]:=sum(@cast _[i,j]:=table[i,j,k,l],dims=1)
# ERROR: LoadError: index k appears only on the right
#     inner @cast _[i, j] := (table[i, j, k, l], dims) = 1

My purpose is simple, for given indices k and l, sum the result matrix with indices i,j over i, then with different k,l, we have a new matrix. The first example may clearly express my idea. However, @cast always checks index existence on both side, I can't do this. Maybe it is better to achieve this with cloing index check.

zxm403089989 avatar Dec 08 '22 23:12 zxm403089989