docstr: Return the number of parameters of a MPS decomposition for a given
  `rank` and full `tensor_shape`.
  
  Parameters
  ----------
  tensor_shape
      shape of the full tensor to decompose (or approximate)
  rank
      rank of the MPS decomposition
  
  Return
  -------
  n_params
      Number of parameters of a MPS decomposition of rank `rank` of
      a full tensor of shape `tensor_shape`
docstr_tok: ["Return","the","number","of","parameters","of","a","MPS","decomposition","for","a","given","`","rank","`","and","full","`","tensor_shape","`",".","Parameters","--","--","--","--","--","tensor_shape","shape","of","the","full","tensor","to","decompose","(","or","approximate",")","rank","rank","of","the","MPS","decomposition","Return","--","--","--","-","n_params","Number","of","parameters","of","a","MPS","decomposition","of","rank","`","rank","`","of","a","full","tensor","of","shape","`","tensor_shape","`"]
code: def _tt_n_param(tensor_shape, rank):
      """Return the number of parameters of a MPS decomposition for a given
      `rank` and full `tensor_shape`.
  
      Parameters
      ----------
      tensor_shape
          shape of the full tensor to decompose (or approximate)
      rank
          rank of the MPS decomposition
  
      Return
      -------
      n_params
          Number of parameters of a MPS decomposition of rank `rank` of
          a full tensor of shape `tensor_shape`
      """
      factor_params = []
      for i, s in enumerate(tensor_shape):
          factor_params.append(rank[i] * s * rank[i + 1])
      return ivy.sum(factor_params)
  
imports: from .base import FactorizedTensor
  import ivy
  import warnings
label_desc: Use image node_id 15 for calling the TTTensor obj's underlying member method code with example usage: obj._tt_n_param(tensor_shape, rank) and returns: ivy