Well, its not as simple as that because of everything being sparse (adding columns is not just a loop over sum). Actually, it would be interesting to see a clever solution.
On Wednesday, November 18, 2015 at 2:14:39 AM UTC+2, Dan wrote: > > the columns of A'A when A is sparse are just sparse linear combinations of > columns of A. the coefficients being stored in the column-based sparse > matrix representation (internally a vector of coefficients with pointers to > new-column indices). so simply generating column by column with a for loop > should be as-quick-as-it-gets without GPUing or some Fourier trickery. > did you already consider this? (i can try and make this description into > code) > > On Tuesday, November 17, 2015 at 10:26:21 PM UTC+2, Douglas Bates wrote: >> >> More careful reading of the spmatmul function in base/sparse/linalg.jl >> provided a method directly downdates the dense square matrix C (i.e. does >> not form a sparse A'A then downdate) but I still need to form a transpose. >> If anyone knows of a fast way of forming A'A without creating the >> transpose I would be happy to hear of it. >> >