Understanding dsyrk_ in C code
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Charles C. Berry wrote:
On Wed, 7 Jan 2009, Nathan S. Watson-Haigh wrote:
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);
That's a Fortran subroutine. The code is in blas.f (as 'DSYRK') and is commented. So, you should be able to work thru it.
If you want to see how it is used, grep the sources for 'dsyrk' (lower case). I think array.c uses it for symmetric crossproducts along the lines of the alpha=1.0 and beta = 0.0 example you cite.
It is often a good idea to search the R sources for routines whose function is puzzling and find examples of their use to help one understand what they do.
Thanks! I'll have a look through that tomorrow. Cheers, Nath
HTH,
Chuck
- 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
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
- -- - -------------------------------------------------------- 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 iEYEARECAAYFAklkR+0ACgkQ9gTv6QYzVL64rQCeJPNFiJ6bznKWnP+evlzXwOxJ bY0An3Lnq6PzPdeQDisJ5jhnyPshYcAI =5UNy -----END PGP SIGNATURE-----