code: def test_sd_csc():
      A = sp.rand(4, 5, density=0.60, format="csc", dtype=np.float32)
      b = np.random.rand(5, 2).astype(np.float32)
      target = A * b
  
      a_val = theano.tensor.as_tensor_variable(A.data)
      a_ind = theano.tensor.as_tensor_variable(A.indices)
      a_ptr = theano.tensor.as_tensor_variable(A.indptr)
      nrows = theano.tensor.as_tensor_variable(np.int32(A.shape[0]))
      b = theano.tensor.as_tensor_variable(b)
  
      res = theano.sparse.opt.sd_csc(
          a_val, a_ind, a_ptr, nrows, b
      ).eval()
  
      utt.assert_allclose(res, target)
  
file_path: Theano/theano/sparse/tests/test_opt.py
imports: from __future__ import absolute_import, print_function, division
  from nose.plugins.skip import SkipTest
  import numpy
  import theano
  from theano import sparse, config, tensor
  from theano.sparse import enable_sparse
  from theano.tests import unittest_tools
  from theano.sparse.tests.test_basic import random_lil
label_desc: Use image node_id 8 for calling a global function with example usage: test_sd_csc() without return types