class_docstr: Module containing conjugate gradient algorithm based on
  conjugategradient.m from the manopt MATLAB package.
class_docstr_tok: ["Module","containing","conjugate","gradient","algorithm","based","on","conjugategradient.m","from","the","manopt","MATLAB","package","."]
docstr: Instantiate gradient solver class.
  
  Args:
      beta_type (object): Conjugate gradient beta rule used to construct the new search direction.
      orth_value (float): Parameter for Powell's restart strategy. An infinite value disables this strategy.
          See in code formula for the specific criterion used.
      - linesearch (object): The linesearch method to used.
docstr_tok: ["Instantiate","gradient","solver","class",".","Args",":","beta_type","(","object",")",":","Conjugate","gradient","beta","rule","used","to","construct","the","new","search","direction",".","orth_value","(","float",")",":","Parameter","for","Powell","'s","restart","strategy",".","An","infinite","value","disables","this","strategy",".","See","in","code","formula","for","the","specific","criterion","used",".","-","linesearch","(","object",")",":","The","linesearch","method","to","used","."]
code: def __init__(
      self,
      beta_type=BetaTypes.HestenesStiefel,
      orth_value=np.inf,
      linesearch=None,
      *args,
      **kwargs,
  ):
      """Instantiate gradient solver class.
  
      Args:
          beta_type (object): Conjugate gradient beta rule used to construct the new search direction.
          orth_value (float): Parameter for Powell's restart strategy. An infinite value disables this strategy.
              See in code formula for the specific criterion used.
          - linesearch (object): The linesearch method to used.
      """
      super(ConjugateGradientMS, self).__init__(*args, **kwargs)
  
      self._beta_type = beta_type
      self._orth_value = orth_value
  
      if linesearch is None:
          self._linesearch = LineSearchAdaptive()
      else:
          self._linesearch = linesearch  # LineSearchBackTracking()
      self.linesearch = None
  
file_path: recommenders/recommenders/models/rlrmc/conjugate_gradient_ms.py
imports: from __future__ import print_function, division
  import time
  from copy import deepcopy
  import numpy
  from pymanopt.solvers.linesearch import LineSearchAdaptive
  from pymanopt.solvers.solver import Solver
  from pymanopt import tools
label_desc: Use image node_id 1 to create a new ConjugateGradientMS object from inherited base classes: Solver with example: obj = ConjugateGradientMS(beta_type, orth_value, linesearch)