[R] symmetric matrix multiplication
Daniel Nordlund
djnordlund at frontier.com
Sun Oct 23 09:00:07 CEST 2011
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
> On Behalf Of statfan
> Sent: Saturday, October 22, 2011 10:45 PM
> To: r-help at r-project.org
> Subject: [R] symmetric matrix multiplication
>
> I have a symmetric matrix B (17x17), and a (17x17) square matrix A. If do
> the following matrix multiplication I SHOULD get a symmetric matrix,
> however
> i don't. The computation required is:
>
> C = t(A)%*%B%*%A
>
> here are some checks for symmetry
> > (max(abs(B - t(B))))
> [1] 0
> > C = t(A)%*%B%*%A
> > (max(abs(C - t(C))))
> [1] 3.552714e-15
>
> Any help on the matter would be very much appreciated.
>
>
Welcome to the world of floating-point calculation on finite precision computers. You need to read R FAQ 7.31. Your maximum difference is for all intents and purposes equal to zero.
Hope this is helpful,
Dan
Daniel Nordlund
Bothell, WA USA
More information about the R-help
mailing list