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

Dot product that handle the sparse matrix case correctly

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

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.

dot_product : array or sparse matrix

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