ArrayLayouts.jl
ArrayLayouts.jl copied to clipboard
Fix adjoints of vector multiplication
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