code: def test_orthogonality(self):
      j = 2
      alpha = torch.tensor([0.2])
      beta = torch.tensor([0.1])
      gamma = torch.tensor([0.7])
  
      D_matrix = equivariance_utils.wigner_D(j, alpha, beta, gamma)
      D_matrix = D_matrix[0]
      num_columns = D_matrix.shape[1]
  
      for col1 in range(num_columns):
          for col2 in range(num_columns):
              if col1 != col2:
                  dot_product = torch.dot(
                      D_matrix[:, col1], D_matrix[:, col2]
                  )
                  self.assertAlmostEqual(
                      dot_product.item(), 0.0, places=5
                  )
  
file_path: deepchem/deepchem/utils/test/test_equivariance_utils.py
imports: import unittest
label_desc: Use image node_id 14 for calling the TestEquivarianceUtils obj's underlying member method code with example usage: obj.test_orthogonality() without return types