Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: summing up matrix elements


From   "Jamie Griffin" <Jamie.Griffin@lshtm.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   Re: st: summing up matrix elements
Date   Tue, 08 Nov 2005 15:20:01 +0000

Assuming C is not too large, you can add up its elements like this:

matrix D=diag(vec(C))
local sum=(trace(D)-trace(C))/2

or if D would be too large for your Stata matsize, you can use:

matrix A=J(colsof(C), 1, 1)
matrix B=A'*C*A
local sum=(B[1,1]-trace(C))/2

See help matrix functions.

Jamie Griffin



>>> redeho@hotmail.com 11/08/05 2:47 pm >>>
Statalist,

Is there a way to to get a scalar containing the sum of the
off-diagonal 
elements of a pre-defined matrix?

For instance, define matrix C  as a correlation matrix. I want to know
what 
is the sum of correlations between the various elements in C. Therefore
I 
need the sum of all elements in C minus the sum of the diagonal
elements 
(-trace(C)-) and finally divide it by 2 (I am assuming matric C is 
symetric).

Many thanks,

Rafa
________________________
R.E. De Hoyos
Faculty of Economics
University of Cambridge
CB3 9DE, UK
www.econ.cam.ac.uk/phd/red29/ 
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html 
*   http://www.stata.com/support/statalist/faq 
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index