sklearn.utils.extmath.safe_sparse_dot

sklearn.utils.extmath.safe_sparse_dot(a, b, dense_output=False)

Dot product that handle the sparse matrix case correctly

Uses BLAS GEMM as replacement for numpy.dot where possible to avoid unnecessary copies.

Parameters:

a : array or sparse matrix

b : array or sparse matrix

dense_output : boolean, default False

When False, either a or b being sparse will yield sparse output. When True, output will always be an array.

Returns:

dot_product : array or sparse matrix

sparse if a or b is sparse and dense_output=False.