This caught me by surprise:

*julia> **M=rand(5,5)*

*5x5 Array{Float64,2}:*

* 0.621195  0.30108    0.611089  0.880044  0.779199*

* 0.100477  0.0581337  0.198601  0.639252  0.400357*

* 0.716917  0.179181   0.548913  0.787072  0.157769*

* 0.971473  0.981921   0.307854  0.201917  0.290429*

* 0.43822   0.362467   0.160296  0.725931  0.850726*


*julia> **Matrix{Float64}[M M]*

*ERROR: MethodError: `convert` has no method matching 
convert(::Type{Array{Float64,2}}, ::Float64)*

*This may have arisen from a call to the constructor Array{Float64,2}(...),*

*since type constructors fall back to convert methods.*

Closest candidates are:

  call{T}(::Type{T}, ::Any)

  convert{T,S,N}(::Type{Array{T,N}}, 
*::SubArray{S,N,P<:AbstractArray{T,N},I<:Tuple{Vararg{Union{AbstractArray{T,1},Colon,Int64}}},LD}*
)

  convert{T,n}(::Type{Array{T,n}}, *::Array{T,n}*)

  ...

 in copy! at abstractarray.jl:344

 in typed_hcat at abstractarray.jl:784


What's the correct way to do this?  The following works but is not ideal:

*julia> **MM=Matrix{Matrix{Float64}}(1,2)*

*1x2 Array{Array{Float64,2},2}:*

* #undef  #undef*


*julia> **MM[1,1]=M;MM[1,2]=M*




Reply via email to