Path: news.mathworks.com!not-for-mail
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$1@newscl01ah.mathworks.com>
References: <iqevjs$cb2$1@newscl01ah.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: www-06-blr.mathworks.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: newscl01ah.mathworks.com 1305153724 22348 172.30.248.38 (11 May 2011 22:42:04 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 11 May 2011 22:42:04 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 756104
Xref: news.mathworks.com comp.soft-sys.matlab:726279

"Vineet " <yadavvineet@gmail.com> wrote in message <iqevjs$cb2$1@newscl01ah.mathworks.com>...
> 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