class_docstr: Implements the IMC problem.
class_docstr_tok: ["Implements","the","IMC","problem","."]
docstr: Initialize parameters
  
  Args:
      dataPtr (DataPtr): An object of which contains X, Z side features and target matrix Y.
      lambda1 (uint): Regularizer.
      rank (uint): rank of the U, B, V parametrization.
docstr_tok: ["Initialize","parameters","Args",":","dataPtr","(","DataPtr",")",":","An","object","of","which","contains","X",",","Z","side","features","and","target","matrix","Y.","lambda1","(","uint",")",":","Regularizer",".","rank","(","uint",")",":","rank","of","the","U",",","B",",","V","parametrization","."]
code: def __init__(self, dataPtr, lambda1=1e-2, rank=10):
      """Initialize parameters
  
      Args:
          dataPtr (DataPtr): An object of which contains X, Z side features and target matrix Y.
          lambda1 (uint): Regularizer.
          rank (uint): rank of the U, B, V parametrization.
      """
  
      self.dataset = dataPtr
      self.X = self.dataset.get_entity("row")
      self.Z = self.dataset.get_entity("col")
      self.rank = rank
      self._loadTarget()
      self.shape = (self.X.shape[0], self.Z.shape[0])
      self.lambda1 = lambda1
      self.nSamples = self.Y.data.shape[0]
  
      self.W = None
      self.optima_reached = False
      self.manifold = Product(
          [
              Stiefel(self.X.shape[1], self.rank),
              SymmetricPositiveDefinite(self.rank),
              Stiefel(self.Z.shape[1], self.rank),
          ]
      )
  
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 1 to create a new IMCProblem object from inherited base classes: object with example: obj = IMCProblem(dataPtr, lambda1, rank)