"which I think is reasonable" is a subjective argument. It would be helpful if the type system is intuitive and non-confusing to programmers.
On Monday, November 17, 2014 12:24:58 PM UTC-5, Andreas Noack wrote: > > Semantically, ones(n,1) creates a vector and not a matrix. > > I'd rather say that in MATLAB ones(n,1) creates a vector. > > This has been discussed many times on the list and in issues. In > particular, see the famous https://github.com/JuliaLang/julia/issues/4774 > . > > In Julia, Vector{T} and Matrix{T} are aliases for Array{T,1} and > Array{T,2} which I think is reasonable. The questions are to what extend a > nx1 Matrix should work similarly to a Vector and a Vector should work > similarly to a nx1 Matrix. That is the discussion in the issue mentioned, > and it is actually more subtle than one would expect. > > 2014-11-17 12:04 GMT-05:00 Eka Palamadai <[email protected] <javascript:>> > : > >> Semantically, ones(n,1) creates a vector and not a matrix. >> Why is ones(n,1) different from ones(n)? >> The type system is very confusing and non-intuitive. >> >> On Sunday, November 16, 2014 7:28:28 PM UTC-5, Andreas Noack wrote: >>> >>> The input should be two Vectors, but your first argument is a Matrix >>> >>> 2014-11-16 19:25 GMT-05:00 Eka Palamadai <[email protected]>: >>> >>>> SymTridiagonal does not seem to work properly. >>>> >>>> For e.g, the following snippet fails. >>>> >>>> julia> n=10 ; >>>> A=SymTridiagonal(2*ones(n,1), -1*ones(n-1)); >>>> ERROR: `convert` has no method matching convert(::Type{SymTridiagonal{T}}, >>>> ::Array{Float64,2}, ::Array{Float64,1}) >>>> in call at base.jl:34 >>>> >>>> Any thoughts? >>>> >>> >>> >
