[R] Understanding dsyrk_ in C code
Nathan S. Watson-Haigh
nathan.watson-haigh at csiro.au
Wed Jan 7 03:54:14 CET 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm trying to understand some C code in an R package I'm using. I'm address this question here as
it's matrix algebra...and I'm no pro at that!
the C command reads:
double alpha = 1.0, beta = 0.0;
dsyrk_("L", "N", nGenes, nGenes, & alpha, mat1, nGenes,
& beta, mat2, nGenes);
- From google, I've found out that dsyrk is for performing one of the symmetric rank k operations -
whatever that means!? From here:
http://linux.die.net/man/l/dsyrk
I've found that the calculation being performed is:
alpha*A*A' + beta*C
However, since alpha is 1 and beta is 0, this reduces to:
=> 1*A*A' + 0*C
=> A*A'
Which is simply the cross product....am I correct?
Cheers,
Nath
- --
- --------------------------------------------------------
Dr. Nathan S. Watson-Haigh
OCE Post Doctoral Fellow
CSIRO Livestock Industries
Queensland Bioscience Precinct
St Lucia, QLD 4067
Australia
Tel: +61 (0)7 3214 2922
Fax: +61 (0)7 3214 2900
Web: http://www.csiro.au/people/Nathan.Watson-Haigh.html
- --------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAklkGVYACgkQ9gTv6QYzVL73HgCgvx4OCxcuczv8nd0n6gOEPFYa
w3UAnAnDIkvPDen9p7ahz+BdG47V/D/S
=gSGC
-----END PGP SIGNATURE-----
More information about the R-help
mailing list