code: def test_module_svd_pe(idtype):
      g = dgl.graph(
          (
              [0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4],
              [2, 3, 0, 2, 0, 2, 3, 4, 3, 4, 0, 1],
          ),
          idtype=idtype,
          device=F.ctx(),
      )
      # without padding
      tgt_pe = F.copy_to(
          F.tensor(
              [
                  [0.6669, 0.3068, 0.7979, 0.8477],
                  [0.6311, 0.6101, 0.1248, 0.5137],
                  [1.1993, 0.0665, 0.9183, 0.1455],
                  [0.5682, 0.6766, 0.8952, 0.6449],
                  [0.3393, 0.8363, 0.6500, 0.4564],
              ]
          ),
          g.device,
      )
      transform_1 = dgl.SVDPE(k=2, feat_name="svd_pe")
      g1 = transform_1(g)
      if dgl.backend.backend_name == "tensorflow":
          assert F.allclose(g1.ndata["svd_pe"].__abs__(), tgt_pe)
      else:
          assert F.allclose(g1.ndata["svd_pe"].abs(), tgt_pe)
  
      # with padding
      transform_2 = dgl.SVDPE(k=6, feat_name="svd_pe", padding=True)
      g2 = transform_2(g)
      assert F.shape(g2.ndata["svd_pe"]) == (5, 12)
  
imports: import math
  import os
  import unittest
  import backend
  import dgl
  import dgl.function
  import dgl.partition
  import networkx
  import numpy
  import pytest
  from scipy import sparse
  from utils import parametrize_idtype
  from utils.graph_cases import get_cases
label_desc: Use image node_id 56 for calling a global function with example usage: test_module_svd_pe(idtype) without return types