class_docstr: Implements the IMC problem.
class_docstr_tok: ["Implements","the","IMC","problem","."]
docstr: Main solver of the IMC model
  
  Args:
      max_opt_time (uint): Maximum time (in secs) for optimization
      max_opt_iter (uint): Maximum iterations for optimization
      verbosity (uint): The level of verbosity for Pymanopt logs
docstr_tok: ["Main","solver","of","the","IMC","model","Args",":","max_opt_time","(","uint",")",":","Maximum","time","(","in","secs",")","for","optimization","max_opt_iter","(","uint",")",":","Maximum","iterations","for","optimization","verbosity","(","uint",")",":","The","level","of","verbosity","for","Pymanopt","logs"]
code: def solve(self, *args):
      """Main solver of the IMC model
  
      Args:
          max_opt_time (uint): Maximum time (in secs) for optimization
          max_opt_iter (uint): Maximum iterations for optimization
          verbosity (uint): The level of verbosity for Pymanopt logs
      """
      if self.optima_reached:
          return
  
      self._optimize(*args)
  
      self.optima_reached = True
      return
  
file_path: recommenders/recommenders/models/geoimc/geoimc_algorithm.py
imports: import numpy
  from scipy.sparse import csr_matrix
  from numba import njit, prange
  from pymanopt import Problem
  from pymanopt.manifolds import Stiefel, Product, SymmetricPositiveDefinite
  from pymanopt.solvers import ConjugateGradient
  from pymanopt.solvers.linesearch import LineSearchBackTracking
label_desc: Use image node_id 6 for calling the IMCProblem obj's underlying member method code with example usage: obj.solve() without return types