class_docstr: Simple implementation of "Exact Matrix Completion via Convex Optimization"
  by Emmanuel Candes and Benjamin Recht using cvxpy.
docstr: Parameters
  ----------
  require_symmetric_solution : bool
      Add symmetry constraint to convex problem
  
  min_value : float
      Smallest possible imputed value
  
  max_value : float
      Largest possible imputed value
  
  error_tolerance : bool
      Degree of error allowed on reconstructed values. If omitted then
      defaults to 0.0001
  
  max_iters : int
      Maximum number of iterations for the convex solver
  
  verbose : bool
      Print debug info
code: def __init__(
      self,
      require_symmetric_solution=False,
      min_value=None,
      max_value=None,
      error_tolerance=0.0001,
      max_iters=50000,
      verbose=True,
  ):
      """
      Parameters
      ----------
      require_symmetric_solution : bool
          Add symmetry constraint to convex problem
  
      min_value : float
          Smallest possible imputed value
  
      max_value : float
          Largest possible imputed value
  
      error_tolerance : bool
          Degree of error allowed on reconstructed values. If omitted then
          defaults to 0.0001
  
      max_iters : int
          Maximum number of iterations for the convex solver
  
      verbose : bool
          Print debug info
      """
      Solver.__init__(self, min_value=min_value, max_value=max_value)
      self.require_symmetric_solution = require_symmetric_solution
      self.error_tolerance = error_tolerance
      self.max_iters = max_iters
      self.verbose = verbose
  
file_path: fancyimpute/fancyimpute/nuclear_norm_minimization.py
imports: import cvxpy
  from .solver import Solver
  from sklearn.utils import check_array
label_desc: Use image node_id 1 to create a new NuclearNormMinimization object from inherited base classes: Solver with example: obj = NuclearNormMinimization(require_symmetric_solution, min_value, max_value, error_tolerance, max_iters, verbose)