Use of kron with more than two matricies
4 views (last 30 days)
Show older comments
I have four 4x4 matricies called: ox, ru, cr, po.
I have been successful in using the Kronecker tensor product for two of the matricies, I being a 4x4 identity matrix.
mat = kron(I,ox) + kron(ru,I);
However, when I try doing the same with all four matricies...
mat = kron(I,I,I,ox) + kron(I,I,ru,I) + kron(I,cr,I,I) + kron(po,I,I,I);
I get an error saying 'Too many input arguments.'
Is here a way to achieve the result for four matricies?
Thank you.
0 Comments
Accepted Answer
Matt J
on 25 Mar 2020
Edited: Matt J
on 25 Mar 2020
One way would be to use my KronProd class
as follows,
kp=@(A,B,C,D) sparse(KronProd{D,C,B,A});
mat = kp(I,I,I,ox) + kp(I,I,ru,I) + kp(I,cr,I,I) + kp(po,I,I,I);
2 Comments
Matt J
on 25 Mar 2020
You're welcome. You could also do it without the class, as follows,
kp=@(A,B,C,D) kron(kron(A,B),kron(C,D));
mat = kp(I,I,I,ox) + kp(I,I,ru,I) + kp(I,cr,I,I) + kp(po,I,I,I);
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!