Multiplicando elementos en una matriz dispersa con filas en matriz

Si tienes una matriz dispersa X:

>> X = csr_matrix([[0,2,0,2],[0,2,0,1]])
>> print type(X)    
>> print X.todense()    
<class 'scipy.sparse.csr.csr_matrix'>
[[0 2 0 2]
 [0 2 0 1]]

Y una matriz Y:

>> print type(Y)
>> print text_scores
<class 'numpy.matrixlib.defmatrix.matrix'>
[[8]
 [5]]

... ¿Cómo puedes multiplicar cada elemento de X por las filas de Y. Por ejemplo:

[[0*8 2*8 0*8 2*8]
 [0*5 2*5 0*5 1*5]]

o:

[[0 16 0 16]
 [0 10 0 5]]

He cansado esto, pero obviamente no funciona ya que las dimensiones no coinciden:Z = X.data * Y

Respuestas a la pregunta(2)

Su respuesta a la pregunta