From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Matrix Multiplication
Date: Wed, 11 May 2011 22:42:04 +0000 (UTC)
Organization: Boeing Co
Lines: 17
Message-ID: <iqf3bs$lqc$>
References: <iqevjs$cb2$>
Reply-To: <HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: 1305153724 22348 (11 May 2011 22:42:04 GMT)
NNTP-Posting-Date: Wed, 11 May 2011 22:42:04 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 756104
Xref: comp.soft-sys.matlab:726279

"Vineet " <> wrote in message <iqevjs$cb2$>...
> Is there a way in Matlab to specify that the product (matrix multiplication) of two matrices would be symmetric so that matrix multiplication happens faster. For ex:
> A*A'
> or 
> matrix multiplication of two symmetric matrices
> I know there are routines to do it in BLAS : 
> like: SSYMM, DSYMM, CHEMM, CSYMM, ZHEMM, ZSYMM (to multiply two symmetric matrix)
> or
> SSYRK, DSYRK, CHERK, CSYRK, ZHERK, ZSYRK (to multiply matrix by its adjoint)
> Thanks
> Vineet

MATLAB does this automatically if you do the matrix multiply in a form that it recognizes. e.g., in your A*A' above the dgemm routine will not be called. Rather, one of the BLAS symmetric routines will be called and then the other triangular part is filled in with just a copy of the traingular part that was calculated in the BLAS routine.

James Tursa