Multiplication between tensor and vectors

I've a big tensor M_{abc}, let's say 500*200*500, and 3 vectors X, Y and Z whose dimensions are 500, 200 and 500. I've to perform the following operations
  • X_a=M_{abc}Y_bZ_c
  • Y_b=M_{abc}X_aZ_c
  • Z_c=M_{abc}X_aY_b
  • X=X/mean(X)
  • Y=Y/mean(Y)
  • Z=Z/mean(Z)
where the repeated indices are to be summed (M_{abc}Y_bZ_c=\sum_{b, c} M_{abc}Y_bZ_c). In the two dimensional case (matrix and two vectors) I would simply use matrix multiplications, considering that I've to repeat the procedure something between 5 and 50 times, till the 3 vectors converge stopping to vary under a new application of the algorithm, which is the best way to perform this procedure (hopefully without for loops)?

Answers (1)

I don’t know the answer, but I also would like to know!

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2015a

Asked:

on 11 May 2019

Answered:

on 29 May 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!