Sergio Sánchez Ramírez
Sergio Sánchez Ramírez
I plan to add a cuTENSOR backend too, but TensorOperations already has it and we can try it. ~There is only 1 real test failing (the Reactant.jl ones should fail...
@jofrevalles we can start adding code for the distributed TEBD here
Now that we are heading to a multi-vendor `contract` implementation, we can think of fixing the BlockArrays.jl support. Tests exists for it but due to a change in OMEinsum, it...
Before #282, `Lattice` (and thus `Ansatz`) would use `Site`s to locate tensors. This is problematic when working with `Operator`s (like `MPO`) or dual states (like the adjoint of a `MPS`)...
Currently, `Lattice` wraps a `SimpleGraph{Int}` together with a `BijectiveDict` between `AbstractLane` and `Int` for implementing a graph with `AbstractLane`s as indexing vertices. The problem is that if we remove a...
``` julia> T = Tensor(rand(2, 2, 2, 2), (:i, :j, :k, :l)) 2×2×2×2 Tensor{Float64, 4, Array{Float64, 4}}: [:, :, 1, 1] = 0.203794 0.890273 0.637581 0.756578 [:, :, 2, 1]...
I just noticed that when doing the following: ```julia ψ = rand(MPS; n=3) # hide O = Product(fill(zeros(2,2),3)) # hide exp_val = merge(ψ, O, ψ') ``` `exp_val` is a `MPS`...
CC @willtebbutt i'm having also a problem when trying to compute the gradient. this code: ```julia A = Tensor(rand(2,3), (:i,:j)) B = Tensor(rand(3,4), (:j,:k)) f(a,b) = sum(contract(a,b)) rule = build_rrule(Tuple{typeof(f),...