Yes, for issues such as this, if it is a bug or a regression, or 
documentation, it helps to file an issue to make sure it gets fixed. 

-viral

On Tuesday, April 29, 2014 12:53:45 AM UTC+5:30, paul analyst wrote:
>
> to make new bug?
> Paul
>
> W dniu poniedziałek, 28 kwietnia 2014 07:26:51 UTC+2 użytkownik Viral Shah 
> napisał:
>>
>> I filed https://github.com/JuliaLang/julia/issues/6676
>>
>> -viral
>>
>> On Monday, April 28, 2014 4:04:33 AM UTC+5:30, Simon Kornblith wrote:
>>>
>>> If diag is passed a vector rather than a matrix, we already give a good 
>>> error message:
>>>
>>> julia> diag([1, 2, 3, 4])
>>> ERROR: use diagm instead of diag to construct a diagonal matrix
>>>  in diag at linalg/generic.jl:49
>>>
>>> It wouldn't hurt to have this in the docs, though.
>>>
>>> On Sunday, April 27, 2014 4:07:52 PM UTC-4, Andreas Noack Jensen wrote:
>>>>
>>>> I agree. It would probably avoid some confusion if the documentation 
>>>> was a little longer and pointed to diagm and Diagonal.
>>>>
>>>>
>>>> 2014-04-27 22:02 GMT+02:00 Ivar Nesje <[email protected]>:
>>>>
>>>>> This difference should be explained in the documentation for diag
>>>>>
>>>>> The current documentation is kind of short:
>>>>>
>>>>> Base.diag(M[, k]) 
>>>>>     The "k"-th diagonal of a matrix, as a vector.
>>>>>
>>>>> Ivar
>>>>>
>>>>> kl. 21:54:43 UTC+2 søndag 27. april 2014 skrev John Code følgende:
>>>>>
>>>>>> 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]>:
>>>>>>> >
>>>>>>> > 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
>>>>>>>
>>>>>>
>>>>
>>>>
>>>> -- 
>>>> Med venlig hilsen
>>>>
>>>> Andreas Noack Jensen
>>>>  
>>>

Reply via email to