-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
This issue is triggered by vector-vector contraction in #95
a_dest, dimnames_dest = contract(a3, (1, 2), a3, (2, 1)) # from test_tensoralgebraext
ERROR: MethodError: call(::BlockSparseArrayInterface, ::typeof(similar), ::BlockSparseArray{…}, ::Type{…}, ::Tuple{…}) is ambiguous.
Candidates:
call(::AbstractBlockSparseArrayInterface, ::typeof(similar), a::AbstractArray, elt::Type, axes::Tuple)
@ BlockSparseArrays ~/Documents/itensor/BlockSparseArrays.jl/src/abstractblocksparsearray/wrappedabstractblocksparsearray.jl:230
call(interface::DerivableInterfaces.AbstractArrayInterface, ::typeof(similar), a::AbstractArray, T::Type, axes::Tuple{Base.OneTo, Vararg{Base.OneTo}})
@ DerivableInterfaces ~/.julia/packages/DerivableInterfaces/ZNBYA/src/abstractarrayinterface.jl:99
Possible fix, define
call(::AbstractBlockSparseArrayInterface, ::typeof(similar), ::AbstractArray, ::Type, ::Tuple{Base.OneTo, Vararg{…}})
Stacktrace:
[1] (::DerivableInterfaces.InterfaceFunction{…})(::BlockSparseArray{…}, ::Vararg{…}; kwargs::@Kwargs{})
@ DerivableInterfaces ~/.julia/packages/DerivableInterfaces/ZNBYA/src/interface_function.jl:17
[2] similar(a::BlockSparseArray{…}, elt::Type, axes::Tuple{…})
@ BlockSparseArrays ~/Documents/itensor/BlockSparseArrays.jl/src/abstractblocksparsearray/wrappedabstractblocksparsearray.jl:323
[3] similar(a::BlockSparseArray{…}, dims::Tuple{…})
@ BlockArrays ~/.julia/packages/BlockArrays/XczLX/src/abstractblockarray.jl:37
[4] blockreshape(a::BlockSparseArray{…}, axes::Tuple{…})
@ BlockSparseArrays ~/Documents/itensor/BlockSparseArrays.jl/src/BlockArraysExtensions/BlockArraysExtensions.jl:278
[5] matricize(::BlockSparseArraysTensorAlgebraExt.BlockReshapeFusion, a::BlockSparseArray{…}, biperm::TensorAlgebra.BlockedTrivialPermutation{…})
@ BlockSparseArraysTensorAlgebraExt ~/Documents/itensor/BlockSparseArrays.jl/ext/BlockSparseArraysTensorAlgebraExt/BlockSparseArraysTensorAlgebraExt.jl:22
[6] matricize(style::BlockSparseArraysTensorAlgebraExt.BlockReshapeFusion, a::BlockSparseArray{…}, biperm::TensorAlgebra.BlockedPermutation{…})
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/matricize.jl:64
[7] matricize(a::BlockSparseArray{…}, biperm::TensorAlgebra.BlockedPermutation{…})
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/matricize.jl:57
[8] contract!(::TensorAlgebra.Matricize, a_dest::BlockSparseArray{…}, biperm_dest::TensorAlgebra.BlockedPermutation{…}, a1::BlockSparseMatrix{…}, biperm1::TensorAlgebra.BlockedPermutation{…}, a2::BlockSparseMatrix{…}, biperm2::TensorAlgebra.BlockedPermutation{…}, α::Bool, β::Bool)
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract_matricize/contract.jl:14
[9] contract(alg::TensorAlgebra.Matricize, biperm_dest::TensorAlgebra.BlockedPermutation{…}, a1::BlockSparseMatrix{…}, biperm1::TensorAlgebra.BlockedPermutation{…}, a2::BlockSparseMatrix{…}, biperm2::TensorAlgebra.BlockedPermutation{…}, α::Bool; kwargs::@Kwargs{})
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:122
[10] contract(alg::TensorAlgebra.Matricize, biperm_dest::TensorAlgebra.BlockedPermutation{…}, a1::BlockSparseMatrix{…}, biperm1::TensorAlgebra.BlockedPermutation{…}, a2::BlockSparseMatrix{…}, biperm2::TensorAlgebra.BlockedPermutation{…}, α::Bool)
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:111
[11] contract(alg::TensorAlgebra.Matricize, labels_dest::Tuple{}, a1::BlockSparseMatrix{…}, labels1::Tuple{…}, a2::BlockSparseMatrix{…}, labels2::Tuple{…}, α::Bool; kwargs::@Kwargs{})
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:92
[12] contract(alg::TensorAlgebra.Matricize, labels_dest::Tuple{}, a1::BlockSparseMatrix{…}, labels1::Tuple{…}, a2::BlockSparseMatrix{…}, labels2::Tuple{…}, α::Bool)
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:81
[13] contract(alg::TensorAlgebra.Matricize, a1::BlockSparseMatrix{…}, labels1::Tuple{…}, a2::BlockSparseMatrix{…}, labels2::Tuple{…}, α::Bool; kwargs::@Kwargs{})
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:49
[14] contract
@ ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:39 [inlined]
[15] #contract#27
@ ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:36 [inlined]
[16] contract
@ ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:27 [inlined]
[17] contract(a1::BlockSparseMatrix{…}, labels1::Tuple{…}, a2::BlockSparseMatrix{…}, labels2::Tuple{…})
@ TensorAlgebra ~/Documents/itensor/TensorAlgebra.jl/src/contract/contract.jl:27
[18] top-level scope
@ REPL[75]:1
Some type information was truncated. Use `show(err)` to see complete types.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working