f

#### efficient large scale V*R*V' matrix multiply

```Is there any efficient way to speed up the three matrix multiply    V*R*V'  where V is size
(n^2+1) by ((n-1)^2+1). Here R=R'  is symmetric and positive semidefinite.
``` 0  Henry
12/19/2016 4:36:06 AM comp.soft-sys.matlab  211264 articles. 26 followers. 3 Replies 502 Views Similar Articles

[PageSpeed] 50

```"Henry Wolkowicz" wrote in message <o37o3m\$8hc\$1@newscl01ah.mathworks.com>...
> Is there any efficient way to speed up the three matrix multiply    V*R*V'  where V is size
> (n^2+1) by ((n-1)^2+1). Here R=R'  is symmetric and positive semidefinite.

You might be able to shave some time off of the calculation with a custom mex routine that utilized some of the symmetric BLAS routines.  How large is n?

James Tursa
``` 0  James
12/20/2016 2:56:03 AM
```"Henry Wolkowicz" wrote in message <o37o3m\$8hc\$1@newscl01ah.mathworks.com>...
> Is there any efficient way to speed up the three matrix multiply    V*R*V'  where V is size
> (n^2+1) by ((n-1)^2+1). Here R=R'  is symmetric and positive semidefinite.

n varies from n=30 to n=80  but this multiplication has to be done about 10,000 times per problem.  You mention
"You might be able to shave some time off of the calculation with a custom
mex routine that utilized some of the symmetric BLAS routines. How large is n?"
--- But which? I had looked and could not find the correct BLAS routine to help.. thanks!!
``` 0  Henry
12/20/2016 1:03:03 PM
```"Henry Wolkowicz" wrote in message <o3ba67\$bjn\$1@newscl01ah.mathworks.com>...
> "Henry Wolkowicz" wrote in message <o37o3m\$8hc\$1@newscl01ah.mathworks.com>...
> > Is there any efficient way to speed up the three matrix multiply    V*R*V'  where V is size
> > (n^2+1) by ((n-1)^2+1). Here R=R'  is symmetric and positive semidefinite.
>
> n varies from n=30 to n=80  but this multiplication has to be done about 10,000 times per problem.  You mention
> "You might be able to shave some time off of the calculation with a custom
> mex routine that utilized some of the symmetric BLAS routines. How large is n?"
> --- But which? I had looked and could not find the correct BLAS routine to help.. thanks!!

DSYMM for the first multiply.  And DGEMM for the second multiply or maybe some custom code that only does 1/2 the result and then copies the other 1/2 since you know the result is symmetric.  But at the moment I can't find a BLAS routine that only does 1/2 the way I need.

James Tursa
``` 0  James
12/20/2016 3:54:03 PM