On Wed, 7 Jan 2009, Nathan S. Watson-Haigh wrote:

-----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);

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.

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

- --
- --------------------------------------------------------
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-----

______________________________________________
R-help@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:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
R-help@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.

Reply via email to