Thanks.
Fortunately (or unfortunately) i have to use julia, and will have to make 
noise
where something is confusing. 

On Monday, November 17, 2014 1:26:09 PM UTC-5, Tim Holy wrote:
>
> Your best bet, then, is to decide as quickly as possible whether you want 
> to 
> use Julia. If you start reading here: 
>
> http://docs.julialang.org/en/latest/manual/faq/#what-does-type-stable-mean 
>
> you'll maximize your chances of quickly discovering other things that will 
> likely annoy you :-). While only the section I directly linked to is 
> necessary 
> to understand why `ones(n,1)` can't return a Vector, you should also be 
> sure 
> to read the next 2 sections on DomainErrors and machine arithmetic, just 
> to 
> make sure you've drunk the full cup's worth of annoyance. 
>
> Then you'll be in a good position to make an informed judgment about 
> whether 
> you want to accept the hassles in exchange for the benefits the type 
> system 
> provides. 
>
> Best, 
> --Tim 
>
> On Monday, November 17, 2014 10:02:07 AM Eka Palamadai wrote: 
> > I don't know what matlab does. 
> > 
> > As a user, ones(n,1) and ones(n) both return me a vector, and it is 
> > confusing to find that ones(n,1) !=  ones(n). 
> > 
> > On Monday, November 17, 2014 12:53:25 PM UTC-5, Tim Holy wrote: 
> > > What's intuitive is very dependent upon your background. If you're 
> coming 
> > > from 
> > > Matlab, for example, "everything is a matrix" and Matlab does this 
> > > extraordinarily-confusing thing: 
> > > 
> > > ones(3,3,3) gives me a 3d array; 
> > > ones(3,3) gives me a 2d array; 
> > > but 
> > > 
> > > >> ones(3) 
> > > 
> > > ans = 
> > > 
> > >      1     1     1 
> > >      1     1     1 
> > >      1     1     1 
> > > 
> > > Why the heck did it give me a 2d matrix when I asked for a 
> 1-dimensional 
> > > vector of 1s? 
> > > 
> > > Julia is much more consistent: the dimensionality of the created 
> object is 
> > > equal to the number of indices you supply. If you ask for something 
> that's 
> > > 3x1, that's the size you'll get out; perforce, that is a 2d array. 
> > > 
> > > --Tim 
> > > 
> > > On Monday, November 17, 2014 09:41:10 AM Eka Palamadai wrote: 
> > > > "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? 
>
>

Reply via email to