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. >