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.

 Akzeptierte Antwort

Matt J
Matt J am 23 Mär. 2023
Bearbeitet: Matt J am 23 Mär. 2023

0 Stimmen

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 Kommentar

Adrien Leygue
Adrien Leygue am 24 Mär. 2023
I was expecting this answer. I just like to have things that are easy to read and therefore to maintain.
Thx

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Linear Algebra finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2023a

Gefragt:

am 23 Mär. 2023

Bearbeitet:

am 2 Aug. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by