docstr: Normalize the factors to unit length.
  
  Turns ``factors = [|U_1, ... U_n|]`` into ``[weights; |V_1, ... V_n|]``,
  where the columns of each `V_k` are normalized to unit Euclidean length
  from the columns of `U_k` with the normalizing constants absorbed into
  `weights`. In the special case of a symmetric tensor, `weights` holds the
  eigenvalues of the tensor.
  
  Parameters
  ----------
  cp_tensor
      CPTensor = (weight, factors)
      factors is list of matrices, all with the same number of columns
      i.e.::
          for u in U:
              u[i].shape == (s_i, R)
  
      where `R` is fixed while `s_i` can vary with `i`
  
  inplace
      if False, returns a normalized Copy
      otherwise the tensor modifies itself and returns itself
  
  Returns
  -------
  CPTensor = (normalisation_weights, normalised_factors)
      returns itself if inplace is True, a normalized copy otherwise
docstr_tok: ["Normalize","the","factors","to","unit","length",".","Turns","``","factors","=","[","|U_1",",","...","U_n|","]","``","into","``","[","weights",";","|V_1",",","...","V_n|","]","``",",","where","the","columns","of","each","`","V_k","`","are","normalized","to","unit","Euclidean","length","from","the","columns","of","`","U_k","`","with","the","normalizing","constants","absorbed","into","`","weights","`",".","In","the","special","case","of","a","symmetric","tensor",",","`","weights","`","holds","the","eigenvalues","of","the","tensor",".","Parameters","--","--","--","--","--","cp_tensor","CPTensor","=","(","weight",",","factors",")","factors","is","list","of","matrices",",","all","with","the","same","number","of","columns","i.e",".",":",":","for","u","in","U",":","u","[","i","]",".shape","==","(","s_i",",","R",")","where","`","R","`","is","fixed","while","`","s_i","`","can","vary","with","`","i","`","inplace","if","False",",","returns","a","normalized","Copy","otherwise","the","tensor","modifies","itself","and","returns","itself","Returns","--","--","--","-","CPTensor","=","(","normalisation_weights",",","normalised_factors",")","returns","itself","if","inplace","is","True",",","a","normalized","copy","otherwise"]
code: def normalize(self, inplace=True):
      """Normalize the factors to unit length.
  
      Turns ``factors = [|U_1, ... U_n|]`` into ``[weights; |V_1, ... V_n|]``,
      where the columns of each `V_k` are normalized to unit Euclidean length
      from the columns of `U_k` with the normalizing constants absorbed into
      `weights`. In the special case of a symmetric tensor, `weights` holds the
      eigenvalues of the tensor.
  
      Parameters
      ----------
      cp_tensor
          CPTensor = (weight, factors)
          factors is list of matrices, all with the same number of columns
          i.e.::
              for u in U:
                  u[i].shape == (s_i, R)
  
          where `R` is fixed while `s_i` can vary with `i`
  
      inplace
          if False, returns a normalized Copy
          otherwise the tensor modifies itself and returns itself
  
      Returns
      -------
      CPTensor = (normalisation_weights, normalised_factors)
          returns itself if inplace is True, a normalized copy otherwise
      """
      weights, factors = ivy.CPTensor.cp_normalize(self)
      if inplace:
          self.weights, self.factors = weights, factors
          return self
      return ivy.CPTensor((weights, factors))
  
imports: from .base import FactorizedTensor
  import ivy
label_desc: Use image node_id 13 for calling the CPTensor obj's underlying member method code with example usage: obj.normalize(inplace) and returns: ivy, self