docstr: Apply the projection matrices to the evolving factor.
  
  Parameters
  ----------
  parafac2_tensor : Parafac2Tensor
  
  Returns
  -------
  (weights, factors)
      A tensor decomposition on the form A [B_i] C such that
      the :math:`X_{ijk}` is given by :math:`sum_r A_{ir} [B_i]_{jr} C_{kr}`.
  
      This is also equivalent to a coupled matrix factorisation, where
      each matrix, :math:`X_i = C diag([a_{i1}, ..., a_{ir}] B_i)`.
  
      The first element of factors is the A matrix, the second element is
      a list of B-matrices and the third element is the C matrix.
docstr_tok: ["Apply","the","projection","matrices","to","the","evolving","factor",".","Parameters","--","--","--","--","--","parafac2_tensor",":","Parafac2Tensor","Returns","--","--","--","-","(","weights",",","factors",")","A","tensor","decomposition","on","the","form","A","[","B_i","]","C","such","that","the",":","math",":","`","X_","{","ijk","}","`","is","given","by",":","math",":","`","sum_r","A_","{","ir","}","[","B_i","]","_","{","jr","}","C_","{","kr","}","`",".","This","is","also","equivalent","to","a","coupled","matrix","factorisation",",","where","each","matrix",",",":","math",":","`","X_i","=","C","diag","(","[","a_","{","i1","}",",","...",",","a_","{","ir","}","]","B_i",")","`",".","The","first","element","of","factors","is","the","A","matrix",",","the","second","element","is","a","list","of","B-matrices","and","the","third","element","is","the","C","matrix","."]
code: def apply_parafac2_projections(parafac2_tensor):
      """Apply the projection matrices to the evolving factor.
  
      Parameters
      ----------
      parafac2_tensor : Parafac2Tensor
  
      Returns
      -------
      (weights, factors)
          A tensor decomposition on the form A [B_i] C such that
          the :math:`X_{ijk}` is given by :math:`sum_r A_{ir} [B_i]_{jr} C_{kr}`.
  
          This is also equivalent to a coupled matrix factorisation, where
          each matrix, :math:`X_i = C diag([a_{i1}, ..., a_{ir}] B_i)`.
  
          The first element of factors is the A matrix, the second element is
          a list of B-matrices and the third element is the C matrix.
      """
      ivy.Parafac2Tensor.validate_parafac2_tensor(parafac2_tensor)
      weights, factors, projections = parafac2_tensor
  
      evolving_factor = [
          ivy.dot(projection, factors[1]) for projection in projections
      ]
  
      return weights, (factors[0], evolving_factor, factors[2])
  
imports: from .base import FactorizedTensor
  import ivy
  from copy import deepcopy
label_desc: Use image node_id 14 for calling the Parafac2Tensor obj's underlying member method code with example usage: obj.apply_parafac2_projections(parafac2_tensor) and returns: weights,  factors,  evolving_factor,  factors