code: def test_gemv_zeros():
      W = tensor.matrix()
      v = tensor.vector()
      f = theano.function([W, v], W.dot(v), mode=mode_with_gpu)
  
      # Apply to an empty matrix shape (5,0) and an empty vector shape (0,)
      dim = 1000
      A = np.zeros((dim, 0), dtype=theano.config.floatX)
      b = np.zeros((0,), dtype=theano.config.floatX)
      tmp = f(A, b)
      assert np.allclose(tmp, np.zeros((dim,)))
  
imports: from __future__ import absolute_import, print_function, division
  from unittest import TestCase
  from nose.plugins.skip import SkipTest
  import itertools
  import numpy
  import theano
  from theano import config
  from theano import tensor
  from theano.tests import unittest_tools
  from theano.tensor.blas import gemv, gemv_inplace, gemm_inplace, _dot22, batched_dot
  from theano.tensor.tests.test_blas import TestGer, BaseGemv
  from ..None import gpuarray_shared_constructor
  from .config import mode_with_gpu, test_ctx_name
  from .test_basic_ops import makeTester, rand
  from ..blas import gpugemv_inplace, gpugemv_no_inplace, gpugemm_inplace, gpugemm_no_inplace, gpugemmbatch_inplace, gpuger_inplace, gpuger_no_inplace, GpuGer, GpuGemm, gpu_dot22
label_desc: Use image node_id 2 for calling a global function with example usage: test_gemv_zeros() without return types