[SciPy-user] Sparse matrix: division by vector

Nathan Bell wnbell at gmail.com
Tue Apr 29 14:16:19 EDT 2008


On Tue, Apr 29, 2008 at 12:16 PM, Dinesh B Vadhia
<dineshbvadhia at hotmail.com> wrote:
>
>
> Sparse matrix A is in csr_matrix format and I want to divide each column
> element j of A by A's column j sum (where colSum is a numpy vector) ie.
>
> > A[:,j] = A[:,j]/colSum[j]
>
> What is the most efficient way to achieve this apart from brute force ie.
>
> > A[i,j] = A[i,j]/colSum[j] ?
>
> I can initially create A in a different c**_matrix method if that helps but
> the final A has to be in csr_matrix form.
>


Assuing A is in CSR and colSum[j] stores the j-th column sum you can do

A.data /= colSum[A.indices]

-- 
Nathan Bell wnbell at gmail.com
http://graphics.cs.uiuc.edu/~wnbell/



More information about the SciPy-User mailing list