Tensor creation like "pageTensorprod"?

1 view (last 30 days)
I have two 3x3xN tensors (let's call them A and B) which I would like to combine into a 3x3x3x3xN tensor.
More specifically I want to compute : C_ijklm = A_ijm B_klm
right now I am reshaping A and B into 9x1xN and 1x9xN arrays and I then use pagemtimes (or simply .* with singleton expansion) to generate the 9x9xN which is finally reshaped.
Is there an easier way? The resulting code lacks readability in my opinion.
I have read the tensorprod documentation but I don't see how I could use it. I would need some kind of "pageTensorprod" i think.
Thanks for any advice.
Adrien.

Accepted Answer

Matt J
Matt J on 23 Mar 2023
Edited: Matt J on 23 Mar 2023
Is there an easier way? The resulting code lacks readability in my opinion.
Probably not, but regardless, readability shouldn't be the reason to look for another solution. You can hide the operations that look ugly to you in a function of your own.
  1 Comment
Adrien Leygue
Adrien Leygue on 24 Mar 2023
I was expecting this answer. I just like to have things that are easy to read and therefore to maintain.
Thx

Sign in to comment.

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!