How to avoid loops for the following matrix manipulcation

2 visualizaciones (últimos 30 días)
Chuangchuang Sun
Chuangchuang Sun el 25 de En. de 2018
Editada: Stephen23 el 26 de En. de 2018
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 comentarios
Stephen23
Stephen23 el 26 de En. de 2018
Editada: Stephen23 el 26 de En. de 2018
Chuangchuang Sun's "Flag" moved here:
n is around 100

Iniciar sesión para comentar.

Respuestas (1)

James Tursa
James Tursa el 25 de En. de 2018
Editada: James Tursa el 25 de En. de 2018
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.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by