Matt Fishman
Matt Fishman
We could also generalize it to accept any collections of values that have equality defined, i.e. allow symbols or strings as well: ```julia contract(A,(:a,:b,:c),B,(:d,:a)) ``` We should be able to...
Note that this may be a breaking change for ITensors when it is introduced, since it would make sense for functions like `nzblocks` to return a vector of `Block` objects.
Yeah, it could be a pretty silent change, if we make sure all of the functions that were using `Block`-like objects now accept `Block`, and make `Block` act like an...
Some `BlockArrays.jl` functionality to add: - `blocksize(::Tensor)` - get the number of blocks in each dimension as a tuple (like our current `nblocks` function). - `blocklength(::Tensor) = prod(blocksize(T))` - get...
Something to consider is having a specialized version for `contract(::DiagTensor, ::DenseTensor)` for cases when the diagonal tensor is order-2, and only contracts one index with the dense tensor, i.e.: ```...
Also another data point: in CTMRG, right now it is faster to convert the diagonal tensor to dense, and then do a dense-dense tensor contraction. So a concrete goal would...
Yeah, though it wouldn't be a good idea to use `Vector` as the storage, since that is not statically sized so the order of the Tensor wouldn't be inferable. `SVector`...
Ah I see. It might not be a bad idea for a name, since `Tensor` may clash with other packages. Some of the type names are already getting quite long...
Yes that's correct, the current implementation only expands the bond dimension, it never truncates to a smaller bond dimension than you already have, so if you already have smaller singular...
So does it seem to currently actually copy the tensor data, or just do a "shallow" copy of the tensor? A "shallow" copy would just copy the tensor wrapper structure...