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 >