Self-contained code here:

--8<---------------cut here---------------start------------->8---
function aggregator_matrix{T <: Integer}(a::Vector{T})
  n = length(a)
  (min_, k) = extrema(a)
  @assert 1 <= min_ "Aggregator index smaller than 1."
  sparse(a, 1:n, 1.0, k, n)
end

A = aggregator_matrix([3, 3, 2, 1, 1])
p = [0.0, 0.138946, 0.0203463, 0.648933, 0.191775]

full(A * spdiagm(p))
full(A) * spdiagm(p)
--8<---------------cut here---------------end--------------->8---

bug occurs in debian's 0.3.5-1, not in Ubuntu's 0.3.5~utopic4, or the
nighly 0.4.0-1820~ubuntu14.10.1. So now I am using the ubuntu version.

If this is not known to be fixed, maybe worth adding to the test suite.

Best,

Tamas

On Wed, Feb 18 2015, Andreas Noack <[email protected]> wrote:

> I'm unable to reproduce this on 0.3.5, 0.3.7pre or master. How did you
> construct A?
>
> 2015-02-18 9:17 GMT-05:00 Tamas Papp <[email protected]>:
>
>> Is this a bug, or am I missing something obvious?
>>
>> julia> versioninfo()
>> Julia Version 0.3.5
>> Platform Info:
>>   System: Linux (x86_64-linux-gnu)
>>   CPU: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
>>   WORD_SIZE: 64
>>   BLAS: libblas
>>   LAPACK: liblapack
>>   LIBM: libopenlibm
>>   LLVM: libLLVM-3.5
>>
>> julia> A
>> 3x5 sparse matrix with 5 Float64 entries:
>>         [3, 1]  =  1.0
>>         [3, 2]  =  1.0
>>         [2, 3]  =  1.0
>>         [1, 4]  =  1.0
>>         [1, 5]  =  1.0
>>
>> julia> p
>> 5-element Array{Float64,1}:
>>  0.0
>>  0.138946
>>  0.0203463
>>  0.648933
>>  0.191775
>>
>> julia> full(A * spdiagm(p))
>> 3x5 Array{Float64,2}:
>>  0.0  0.0       0.0        0.648933  0.0
>>  0.0  0.0       0.0203463  0.0       0.191775
>>  0.0  0.138946  0.0        0.0       0.0
>>
>> julia> full(A) * spdiagm(p)
>> 3x5 Array{Float64,2}:
>>  0.0  0.0       0.0        0.648933  0.191775
>>  0.0  0.0       0.0203463  0.0       0.0
>>  0.0  0.138946  0.0        0.0       0.0
>>
>> Best,
>>
>> Tamas
>>

Reply via email to