multiplying a matrix into its transpose

Hi,
I have an sparse and large matrix (A). I would like to do this operation:
C=A*(A');
Using above command takes about 17 sec if size(A)=[31494 277254].
Is there any more efficient command to do the task? Since C matrix will be symmetric so compiler just need to compute half of the C.

1 comentario

Prasad Reddy
Prasad Reddy el 23 de Abr. de 2020
First define matrix c as a zeros matrix of same size and chech if it works.
This is called pre allocation.
Generally preallocation reduces the timeof execution.
command is
C=zeros(31494,277254)
C=A*(A')
if you want to form only half of the matrix then yu can use for lops.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Programming en Centro de ayuda y File Exchange.

Preguntada:

el 17 de Abr. de 2012

Comentada:

el 23 de Abr. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by