Stefan Krastanov
Stefan Krastanov
I am excited to see #312 merged. If my point 3 above works, it would just make `recast!` unnecessary (which would make it easier for autodiff and GPU use and...
These comments all stem from my exploration of the code after I started looking into implementing https://github.com/qojulia/QuantumOptics.jl/issues/298
My excitement over unrestricted broadcasting seems to be a bit too optimistic. The forum post gives a few more details and constraints https://discourse.julialang.org/t/what-is-the-interface-necessary-for-differentialequations-jl-if-your-data-type-does-not-subclass-abstractarray/58480/2
I have not looked into `semiclassical`, but I think the `DifferentialEquations.jl` team has already solved many of these issues with their special array types. Maybe that would be a fruitful...
Here is an attempt at a rather ugly and inefficient solution ```julia function drop_singular_bases(ket) b = tensor([b for b in basis(ket).bases if length(b)>1]...) return Ket(b, ket.data) end function project_and_drop(state, project_on,...
@ChristophHotter , using a density matrix for an otherwise vector-like operation is slow, especially given that you are adding matrix diagonalization to it. 500x slower and 100x more allocated memory...
This is similar to what I am trying to do, thanks! However, I want to remove only one of the subsystem, not split all the subsystems. Moreover, the assumption that...
Just wanted to explain this in one more way: If a partial trace is `ptrace(ρ) = ∑ᵢ ⟨bᵢ|ρ|bᵢ⟩` and `ptrace(|ψ⟩) = ∑ᵢ ⟨bᵢ|ψ⟩⟨ψ|bᵢ⟩`, then I simply want access to `⟨bᵢ|ρ|bᵢ⟩`...
@david-pl , thanks, this will be very useful (and I should probably look at the LazyTensor source code). @ChristophHotter , the general tensor object you suggest might be too much...
I see there is `FinFieldMorphism` in `EmbeddingTypes.jl`. Are they safe/stable to use from user code? Documented?