Thank you.

On Sunday, April 27, 2014 11:49:12 PM UTC+4, Andreas Noack Jensen wrote:
>
> Hi John
>
> In julia, the function diag extract the diagonal of a matrix and if the 
> matrix is rectangular, it extracts the diagonal of the largest square sub 
> matrix. Note that in julia, [1 2 3 4] is not vector but a matrix. To 
> construct a matrix from a vector you can either use the function diagm, 
> which does what you expected diag did,
>
> julia> diagm([1,2,3,4])
> 4x4 Array{Int64,2}:
>  1  0  0  0
>  0  2  0  0
>  0  0  3  0
>  0  0  0  4
>
> but it is often better to use Diagonal, which creates a special Diagonal 
> matrix,
>
> julia> Diagonal([1,2,3,4])
>
> 4x4 Diagonal{Int64}:
>  1  0  0  0
>  0  2  0  0
>  0  0  3  0
>  0  0  0  4
>
>
> 2014-04-27 21:40 GMT+02:00 John Code <jcod...@gmail.com <javascript:>>:
> >
> > Hi all,
> > I would like to ask why there is a difference between Octave diag 
> function
> > and the function that julia provide. For example, in the following 
> Octave session I get:
> >
> > ============================
> > octave:1> v = [1 2 3 4]
> > v =
> >
> >    1   2   3   4
> >
> > octave:2> a = diag(v)
> > a =
> >
> > Diagonal Matrix
> >
> >    1   0   0   0
> >    0   2   0   0
> >    0   0   3   0
> >    0   0   0   4
> > =============================
> >
> > But in Julia I get:
> >
> > =============================
> > julia> v = [1 2 3 4]
> > 1x4 Array{Int64,2}:
> >  1  2  3  4
> >
> > julia> a = diag(v)
> > 1-element Array{Int64,1}:
> >  1
> >
> >
> > =============================
> >
> >
> > Why is this the case and how to get a similar effect of the octave code.
> > Thank you.
>
>
>
>
> --
> Med venlig hilsen
>
> Andreas Noack Jensen
>

Reply via email to