docstr: Quartimax derivative free example
  http://www.stat.ucla.edu/research/gpa
docstr_tok: ["Quartimax","derivative","free","example","http",":","\/\/www.stat.ucla.edu\/research\/gpa"]
code: def test_methods(self):
      """
      Quartimax derivative free example
      http://www.stat.ucla.edu/research/gpa
      """
      # orthomax, oblimin and CF are tested indirectly
      methods = [
          "quartimin",
          "biquartimin",
          "quartimax",
          "biquartimax",
          "varimax",
          "equamax",
          "parsimax",
          "parsimony",
          "target",
          "partial_target",
      ]
      for method in methods:
          method_args = []
          if method == "target":
              method_args = [self.get_H(), "orthogonal"]
              self._test_template(method, *method_args)
              method_args = [self.get_H(), "oblique"]
              self._test_template(method, *method_args)
              method_args = [self.get_H(), "orthogonal"]
              self._test_template(
                  method, *method_args, algorithm2="analytic"
              )
          elif method == "partial_target":
              method_args = [self.get_H(), self.get_W()]
          self._test_template(method, *method_args)
  
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 6 for calling the TestWrappers obj's underlying member method code with example usage: obj.test_methods() without return types