Your RHS is not a matrix, but a Vector of Matrices, see this example:
julia> rhs = range( start=[1.0 1.0],stop=[2.0 2.0],length=2)
2-element LinRange{Matrix{Float64}, Int64}:
[1.0 1.0],[2.0 2.0]
julia> collect(rhs)
2-element Vector{Matrix{Float64}}:
[1.0 1.0]
[2.0 2.0]
Each element of this vector/list is a:
julia> collect(rhs)[1]
1×2 Matrix{Float64}:
1.0 1.0
With that, the +operator is not well defined, even .+ will not work I guess.
The range you are constructing, do you want this to be a row by row range, like in
julia> [1.0 1.0; 2.0 2.0]
2×2 Matrix{Float64}:
1.0 1.0
2.0 2.0
or do you want this to be a column to column range like in:
julia> [1.0 2.0; 1.0 2.0]
2×2 Matrix{Float64}:
1.0 2.0
1.0 2.0
From my example above:
julia> rhs = range( start=[1.0 1.0],stop=[2.0 2.0],length=2)
2-element LinRange{Matrix{Float64}, Int64}:
[1.0 1.0],[2.0 2.0]
you can create the column to column matrix with:
julia> reshape(collect(Iterators.flatten(rhs)),(2,2))
2×2 Matrix{Float64}:
1.0 2.0
1.0 2.0
To make it a row to row matrix, you can use:
julia> collect(reshape(collect(Iterators.flatten(rhs)),(2,2))')
2×2 Matrix{Float64}:
1.0 1.0
2.0 2.0
Both transformations are perhaps not best practice, but for now I can’t find something shorter.