code: def test_svd_factorization():
      # W and its svd factorizations (U and sV)
      W = np.array(
          [
              [1, 0, 0, 0, 2],
              [0, 0, 3, 0, 0],
              [0, 0, 0, 0, 0],
              [0, 0, 0, 2, 0],
          ]
      )
  
      U = np.array(
          [[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]]
      )
  
      sV = np.array(
          [
              [0, 0, 3, 0, 0],
              [1, 0, 0, 0, 2],
              [0, 0, 0, 2, 0],
              [0, 0, 0, 0, 0],
          ]
      )
  
      # call svd factorization with W's length
      W1, W2 = nc.svd_subprojection(W, len(W))
  
      assert np.array_equal(W1, U) == True
      assert np.allclose(sV, W2) == True
  
file_path: CNTK/bindings/python/cntk/contrib/netopt/test/factorization_test.py
imports: import numpy
  import pytest
  import cntk
  import cntk.contrib.netopt.factorization
label_desc: Use image node_id 6 for calling a global function with example usage: test_svd_factorization() without return types