Time's kind of scarce atm, but I'll check it out when I'm done with my 
master's thesis :)

On Monday, December 22, 2014 12:19:07 PM UTC+1, Tim Holy wrote:
>
> On Monday, December 22, 2014 01:52:55 AM Robert Gates wrote: 
> > Shouldn't such a fallback method be on the books for 0.4? 
>
> If someone volunteers their time to make it happen. Care to give it a 
> whirl? 
>
> > I thought 
> > Suitesparse was handling sparse arrays? 
>
> No idea, and I also have no idea whether suitesparse is flexible enough to 
> handle subarrays efficiently. If it does have to be written in julia, at 
> least 
> for multiplication I suspect (1) it wouldn't be hard to implement, and (2) 
> it 
> could probably be competitive. For example, see 
> https://github.com/madeleineudell/ParallelSparseMatMul.jl (obviously it's 
> not 
> required to implement a parallelized version). 
>   
> --Tim 
>
> > 
> > On Sunday, December 21, 2014 12:24:03 PM UTC+1, Tim Holy wrote: 
> > > It looks like no one has written the required methods yet. A really 
> > > efficient 
> > > method that exploits the sparseness of b would require some custom 
> code. 
> > > But I 
> > > am surprised that there isn't a generic AbstractArray fallback that 
> works. 
> > > That fallback would be much more efficient in 0.4 than 0.3 (in 0.3 
> that 
> > > fallback 
> > > would go through linear indexing, which is slow for a sparse matrix). 
> But 
> > > both 
> > > would pale by comparison to an algorithm specifically tuned to exploit 
> > > sparseness. 
> > > 
> > > --Tim 
> > > 
> > > On Saturday, December 20, 2014 08:25:24 PM Robert Gates wrote: 
> > > > Hi Julians, 
> > > > 
> > > > When trying this, I get (Julia 0.3.3): 
> > > > 
> > > > *julia> **b = sub(a,1:2,1:2)* 
> > > > 
> > > > *2x2 
> > > 
> > > 
> SubArray{Float64,2,SparseMatrixCSC{Float64,Int64},(UnitRange{Int64},UnitRa 
> > > ng> 
> > > > e{Int64})}:* 
> > > > 
> > > > * 1.0  0.0* 
> > > > 
> > > > * 0.0  1.0* 
> > > > 
> > > > 
> > > > *julia> **b*ones(2)* 
> > > > 
> > > > *ERROR: `A_mul_B!` has no method matching 
> A_mul_B!(::Array{Float64,1}, 
> > > > 
> > > 
> ::SubArray{Float64,2,SparseMatrixCSC{Float64,Int64},(UnitRange{Int64},Unit 
> > > ::Ra 
> > > :: 
> > > > ::nge{Int64})}, Array{Float64,1})* 
> > > > 
> > > > * in * at linalg/matmul.jl:72* 
> > > > 
> > > > Am I doing something wrong? If it's unsupported, does multiplication 
> of 
> > > > sparse subarrays work in 0.4? 
> > > > 
> > > > Best regards, 
> > > > 
> > > > Robert 
>
>

Reply via email to