<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def uttkrp(self, U, mode):
 """ Unfolded tensor times Khatri-Rao product for Kruskal tensors Parameters X : tensor_mixin Tensor whose unfolding should be multiplied. U : list of array_like Matrices whose Khatri-Rao product should be multiplied. mode : int Mode in which X should be unfolded. See also -------- sktensor.sptensor.uttkrp : Efficient computation of uttkrp for sparse tensors ttensor.uttkrp : Efficient computation of uttkrp for Tucker operators """

        N = self.ndim
        if mode == 1:
            R = U[1].shape[1]
        else:
            R = U[0].shape[1]
        W = np.tile(self.lmbda, 1, R)
        for i in range(mode) + range(mode + 1, N):
            W = W * dot(self.U[i].T, U[i])
        return dot(self.U[mode], W)