[x] In the first execution, some distributed tensors are contracted but, at some point of the contractions, it gives the following error:
julia> ctr_tn = Tenet.contract(disttn; path=grouppath);
Contracting order 22 and 18 tensors to order 22.
Contracting order 20 and 14 tensors to order 24.
Contracting order 20 and 20 tensors to order 26.
Contracting order 24 and 26 tensors to order 26.
Contracting order 24 and 26 tensors to order 22.
ERROR: DimensionMismatch: dimensions must match: a has dims (Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(2), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1)), b has dims (Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(1), Base.OneTo(2)), mismatch at 4
However, in the second execution (building a new circuit), this error disappears. This could mean that the distributed tensor network contraction implemented in TenetDaggerExt.jl could be wrong.
[x] TenetDaggerExt.jl, specifically Dagger.stage function seems to not work when contracting two tensors to a scalar. The domain, partitioning, subdomains, etcetera, give an error when the contracted tensor is a scalar.
There are some issues to address in
TenetDaggerExt.jl
that are not working:[x] Fix
subdomains
definition in https://github.com/bsc-quantic/Tenet.jl/blob/916be71667011bde00aa18e27c34a6d4e416fb03/ext/TenetDaggerExt.jl#L61 by creatingNTuple
of the tensor's dimension. This could be fixed substituting the above line by:[x] In the first execution, some distributed tensors are contracted but, at some point of the contractions, it gives the following error:
However, in the second execution (building a new circuit), this error disappears. This could mean that the distributed tensor network contraction implemented in
TenetDaggerExt.jl
could be wrong.[x]
TenetDaggerExt.jl
, specificallyDagger.stage
function seems to not work when contracting two tensors to a scalar. Thedomain
,partitioning
,subdomains
, etcetera, give an error when the contracted tensor is a scalar.