ArrayLayouts.jl icon indicating copy to clipboard operation
ArrayLayouts.jl copied to clipboard

Fix adjoints of vector multiplication

Open dlfivefifty opened this issue 4 years ago • 0 comments

Following is wrong:

julia> n = 5; c = randn(n); ArrayLayouts.mul(c',randn(n,n))
1×5 Array{Float64,2}:
 -0.938636  -0.342143  -2.26487  0.425856  0.777063

This fix takes some care as we don't have a notion of dual-vectors in the code. I think it's a good opportunity to fix the design in LinearAlgebra: for example, we could design it so that views of dual-vectors are also dual vectors, that is, fix this behaviour:

julia> view(randn(n)',:,1:3)*randn(3)
1-element Array{Float64,1}:
 -1.188417301392556

I think the fix is pretty straightforward: add a DualLayout (we don't need RowMajor or ColumnMajor since its both)... but possibly could think about it a bit more

@jagot

dlfivefifty avatar May 16 '20 10:05 dlfivefifty