# Re: st: summing up matrix elements

 From "Jamie Griffin" To 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/
```