My goal is to efficiently compute a particular matrix-vector product, say, $\bf{Ax}$, where $\bf{A}$ is a matrix and $\bf{x}$ is a vector. I don't know whether or not $\bf{A}$ is sparse, but I want to find that out, given the information below.
As it turns out, I know that $\bf{A} = \bf{DB}$, where the matrix $\bf{D}$ is sparse, but the matrix $\bf{B}$ is not. $\bf{D}$ and $\bf{B}$ are of the same size, and are both known.
I know that if the required matrix-vector product had been $\bf{Dx}$, my life would have been easier, because $\bf{D}$ is sparse, and I can compute $\bf{Dx}$ efficiently.
But, I'm worried that multiplying $\bf{D}$ with $\bf{B}$ will ruin its sparsity, and thus the efficiency of the matrix-vector product. Are there any conditions under which $\bf{A}$ will also be sparse? Or is it the case that nothing general can be said without further information?
Thanks!