Sorry for pointing out a probably obvious problem, but as there are others 
that might try debug this issue on their laptop, I ask how much memory do 
you have? 700000*700 floats + indexes, will spend a minimum of 11 GB (if my 
math is correct) and possibly more if the asymptotic storage requirement is 
more than 2 Int64 + 1 Float64 per stored value.

Ivar

kl. 01:46:22 UTC+2 onsdag 30. april 2014 skrev Ryan Gardner følgende:
>
> Creating sparse arrays seems exceptionally slow.
>
> I can set up the non-zero data of the array relatively quickly.  For 
> example, the following code takes about 80 seconds on one machine.
>
>
> vec_len = 700000
>
>
> row_ind = Uint64[]
> col_ind = Uint64[]
> value = Float64[]
>
>
> for j = 1:700000
>    for k = 1:700
>       ind = k*50
>       push!(row_ind, ind)
>       push!(col_ind, j)
>       push!(value, 5.0)
>    end
> end
>
>
> but then
>
> a = sparse(row_ind, col_ind, value, 700000, 700000)
>
>
> takes more than at least about 30 minutes.  (I never let it finish.)
>
> It doesn't seem like the numbers I'm using should be that far off the 
> scale.  Is there a more efficient way I should be doing what I'm doing?  Am 
> I missing something and asking for something that really is impractical?
>
> If not, I may be able to look into the sparse matrix code a little this 
> weekend.
>
>
> The never-finishing result is the same if I try
>
> sprand(700000, 700000, .001)
>
> or if I try to set 700000*700 values in a sparse matrix of zeros directly. 
>  Thanks.
>
>
>

Reply via email to