code: def test_oblimin(self):
      # quartimin
      A, table_required, L_required = self.get_quartimin_example()
      vgQ = lambda L=None, A=None, T=None: oblimin_objective(
          L=L, A=A, T=T, gamma=0, rotation_method="oblique"
      )
      L, phi, T, table = GPA(A, vgQ=vgQ, rotation_method="oblique")
      self.assertTrue(np.allclose(table, table_required, atol=1e-05))
      self.assertTrue(np.allclose(L, L_required, atol=1e-05))
      # quartimin derivative free
      ff = lambda L=None, A=None, T=None: oblimin_objective(
          L=L,
          A=A,
          T=T,
          gamma=0,
          rotation_method="oblique",
          return_gradient=False,
      )
      L, phi, T, table = GPA(A, ff=ff, rotation_method="oblique")
      self.assertTrue(np.allclose(L, L_required, atol=1e-05))
      self.assertTrue(np.allclose(table, table_required, atol=1e-05))
      # biquartimin
      A, table_required, L_required = self.get_biquartimin_example()
      vgQ = lambda L=None, A=None, T=None: oblimin_objective(
          L=L, A=A, T=T, gamma=1 / 2, rotation_method="oblique"
      )
      L, phi, T, table = GPA(A, vgQ=vgQ, rotation_method="oblique")
      self.assertTrue(np.allclose(table, table_required, atol=1e-05))
      self.assertTrue(np.allclose(L, L_required, atol=1e-05))
      # quartimin derivative free
      out = self.get_biquartimin_example_derivative_free()
      A, table_required, L_required = out
      ff = lambda L=None, A=None, T=None: oblimin_objective(
          L=L,
          A=A,
          T=T,
          gamma=1 / 2,
          rotation_method="oblique",
          return_gradient=False,
      )
      L, phi, T, table = GPA(A, ff=ff, rotation_method="oblique")
      self.assertTrue(np.allclose(L, L_required, atol=1e-05))
      self.assertTrue(np.allclose(table, table_required, atol=1e-05))
  
imports: import unittest
  import numpy
  from statsmodels.multivariate.factor_rotation._wrappers import rotate_factors
  from statsmodels.multivariate.factor_rotation._gpa_rotation import ff_partial_target, vgQ_partial_target, ff_target, vgQ_target, CF_objective, orthomax_objective, oblimin_objective, GPA
  from statsmodels.multivariate.factor_rotation._analytic_rotation import target_rotation
label_desc: Use image node_id 11 for calling the TestGPARotation obj's underlying member method code with example usage: obj.test_oblimin() without return types