class_docstr: base matrix class for compressed row and column oriented matrices
class_docstr_tok: ["base","matrix","class","for","compressed","row","and","column","oriented","matrices"]
code: def _mul_multivector(self, other):
      M, N = self.shape
      n_vecs = other.shape[1]  # number of column vectors
  
      result = np.zeros(
          (M, n_vecs),
          dtype=upcast_char(self.dtype.char, other.dtype.char),
      )
  
      # csr_matvecs or csc_matvecs
      fn = getattr(_sparsetools, self.format + "_matvecs")
      fn(
          M,
          N,
          n_vecs,
          self.indptr,
          self.indices,
          self.data,
          other.ravel(),
          result.ravel(),
      )
  
      return result
  
imports: from __future__ import division, print_function, absolute_import
  from warnings import warn
  import operator
  import numpy
  from scipy._lib.six import zip
  from scipy._lib._util import _prune_array
  from .base import spmatrix, isspmatrix, SparseEfficiencyWarning
  from .data import _data_matrix, _minmax_mixin
  from .dia import dia_matrix
  from .None import _sparsetools
  from .sputils import upcast, upcast_char, to_native, isdense, isshape, getdtype, isscalarlike, IndexMixin, get_index_dtype, downcast_intp_index, get_sum_dtype, check_shape, matrix, asmatrix
label_desc: Use image node_id 18 for calling the _cs_matrix obj's underlying member method code with example usage: obj._mul_multivector(other) and returns: result