Matt Fishman
Matt Fishman
I've already made a test for this case here: https://github.com/ITensor/ITensors.jl/blob/v0.3.57/test/ITensorLegacyMPS/ITensorChainRules/test_chainrules.jl#L172-L181, where I marked that it should throw an error but we can repurpose it now that it is working.
Yes, please update the test to test out this new functionality.
[test ITensorMPS][test ITensorGaussianMPS]
Looks good, thanks!
Thanks. This currently works: ```julia julia> using NDTensors.BlockSparseArrays: Block, BlockSparseArray, blocks julia> using LinearAlgebra: I julia> a = BlockSparseArray{Float64}([2, 2], [2, 2]) 2×2-blocked 4×4 BlockSparseArray{Float64, 2, Matrix{Float64}, NDTensors.SparseArrayDOKs.SparseArrayDOK{Matrix{Float64}, 2, NDTensors.BlockSparseArrays.BlockZero{Tuple{BlockArrays.BlockedUnitRange{Vector{Int64}},...
In terms of `svd` and `qr` of `BlockSparseMatrix`, it is well defined to perform them block-wise (i.e. map the problem to factorizing the individual non-zero blocks) as long as there...
Also note that slicing like this should work right now: ```julia a[Block(1, 1)[1:2, 1:2]] ``` i.e. you can take slices within a specified block. See [BlockArrays.jl](https://github.com/JuliaArrays/BlockArrays.jl) for a reference on...
@ogauthe a number of these issues were fixed by #1332, I've updated the list in the first post accordingly. I added regression tests in #1360 for ones that still need...
I think ideally `BlockSparseArray` would accept any `AbstractUnitRange`. Alternatively, `BlockArrays.jl` introduced an `AbstractBlockedUnitRange` in https://github.com/JuliaArrays/BlockArrays.jl/pull/348, we could define a `BlockedUnitRangeDual
Thanks for investigating. That seems like the right move to generalize the axes in that way. Hopefully that error is easy enough to circumvent.