def get_row_slice(self, start, end, target=None):
    """
    Get the rows with indices start through end. If target is not provided
    memory for a new matrix will be allocated.
    """

    width = self.shape[1]

    if not target:
      target = empty((end-start, width))

    err_code = _eigenmat.get_row_slice(self.p_mat, target.p_mat, ct.c_int(start), ct.c_int(end))
    if err_code:
      raise generate_exception(err_code)

    return target

    Get the rows with indices start through end. If target is not provided
    memory for a new matrix will be allocated.
    
eigenmat/eigenmat.py