How to avoid loops for the following matrix manipulcation
1 次查看(过去 30 天)
显示 更早的评论
I need to do the following operations on a series of matrix A1,A2,...,A_m\in\reals^{n\times n}, and two vectors c,x\in\reals^{n}.
- H\in\reals^{n\times n} = \sum_{i=1}{m}(A_i*x)(A_i*x)^T,
- b\in\reals^{n} = \sum_{i=1}{m}c_i*(A_i*x).
I guess no-loop implementation will be faster. However, I tried and failed. Any ideas, guys?
Appreciate your time in advance!
8 个评论
回答(1 个)
James Tursa
2018-1-25
编辑:James Tursa
2018-1-25
Since the A_i are sparse, you are probably stuck with your loop. Consider storing them as A{i} instead of A_i, however, to make looping easier. And code it such that you do the A{i}*x calculation only once.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!