After much confusion, I discovered That BLAS.syr! gives incorrect results
when using a view. Is this a bug, or is it not recommended to use views
with BLAS functions?
julia> a1 = zeros(2,2); a2 = zeros(2, 2); x = randn(5, 2);
julia> BLAS.syr!('U', 1.0, view(x, 1, :), a1)
2×2 Array{Float64,2}:
0.483364 0.440104
0.0 0.400716
julia> BLAS.syr!('U', 1.0, x[1, :], a2)
2×2 Array{Float64,2}:
0.483364 0.458034
0.0 0.434032
However, BLAS.syrk! appears to work:
julia> a1 = zeros(2,2); a2 = zeros(2, 2); x = randn(5, 2);
julia> BLAS.syrk!('U', 'T', 1.0, x, 0.0, a1)
2×2 Array{Float64,2}:
4.16346 -0.618009
0.0 4.75777
julia> BLAS.syrk!('U', 'T', 1.0, view(x, :, :), 0.0, a2)
2×2 Array{Float64,2}:
4.16346 -0.618009
0.0 4.75777