code: def svd_decompress_parafac2_tensor(parafac2_tensor, loading_matrices):
      """Decompress the factors obtained by fitting PARAFAC2 on SVD-compressed data
  
      Decompress a PARAFAC2 decomposition that describes the compressed data so that it
      models the original uncompressed data. Fitting to compressed data, and then
      decompressing is mathematically equivalent to fitting to the uncompressed data.
  
      See :py:meth:`svd_compress_tensor_slices` for information about SVD-compression and
      decompression.
  
      .. note::
          To decompress the data, we left-multiply the loading-matrices into the
          :math:`B_i`-matrices. However, :math:`B_i = P_i B`, so the decompression is
          implemented by left-multiplying the loading matrices by the :math:`P_i`-matrices.
  
      Parameters
      ----------
      parafac2_tensor: tl.Parafac2Tensor
          A decomposition obtained from fitting a PARAFAC2 model to compressed data
      loading_matrices: list of matrices
          Loading matrices obtained when compressing the data. See
          :py:meth:`svd_compress_tensor_slices` for more information.
  
      Returns
      -------
      tl.Parafac2Tensor:
          Decompressed PARAFAC2 decomposition - equivalent to the decomposition we would
          get from fitting parafac2 to uncompressed data.
      """
      weights, factors, projections = parafac2_tensor
      projections = projections.copy()
  
      for i, projection in enumerate(projections):
          if loading_matrices[i] is not None:
              projections[i] = T.matmul(loading_matrices[i], projection)
  
      return Parafac2Tensor((weights, factors, projections))
  
imports: from tensorly import backend
  from .parafac2_tensor import Parafac2Tensor
  from .tenalg.svd import svd_interface
label_desc: Use image node_id 2 for calling a global function with example usage: svd_decompress_parafac2_tensor(parafac2_tensor, loading_matrices) and returns: Parafac2Tensor