class_docstr: Verification that the implementation of the PCA in VISSL
  works with both tensors and numpy arrays and provide the
  right results
code: def test_pca_factoisation(self) -> None:
      X = np.array([[0.5, 0.5], [-0.5, -0.5]])
      pca = PCA(n_components=1)
      Y = pca.fit_transform(X)
  
      expected = np.array([[0.70710678], [-0.70710678]])
      self.assertTrue(np.allclose(expected, Y, atol=1e-6))
  
      expected_transform = torch.tensor(
          [[0.7071, 0.7071]], dtype=torch.float64
      )
      self.assertTrue(torch.allclose(expected_transform, pca.DVt))
  
file_path: vissl/tests/test_pca.py
imports: import unittest
  import numpy
  import torch
  from vissl.utils.pca import PCA
label_desc: Use image node_id 1 for calling the TestDataLimitSubSampling obj's underlying member method code with example usage: obj.test_pca_factoisation() without return types