How to restore tensor after applied the PARAFAC model?

4 views (last 30 days)
Hi everyone,
Suppose I have a tensor have the size of (128 x 128 x 3). When I apply the PARAFAC model (to fit one-component) to decomposition tensor. I get many components a1, b1, c1
My question here:
+/ a1 have size of (128 x 1)
+/ b1 have size of (128 x 1)
+/ c1 have size of (3 x 1).
How to get the result of multiplication a1.b1.c1? (restore original tensor?). Because each factor is not the same size?
Thank you for your help.

Accepted Answer

Christine Tobler
Christine Tobler on 23 Apr 2020
The three component vectors represent the 3 different dimensions here. For the one-component case (all are vectors), you can use
a1 .* (b1.') .* (reshape(c1, 1, 1, []))
which will return an array of size length(a1) x length(b1) x length(c1).

More Answers (0)

Community Treasure Hunt

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

Start Hunting!