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 <[email protected] <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
>