MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Adding elements of a matrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg40663] Re: [mg40601] Re: Adding elements of a matrix
  • From: Dr Bob <majort at cox-internet.com>
  • Date: Sat, 12 Apr 2003 03:12:32 -0400 (EDT)
  • References: <b738oh$o7l$1@smc.vnet.net> <200304110559.BAA01881@smc.vnet.net>
  • Reply-to: majort at cox-internet.com
  • Sender: owner-wri-mathgroup at wolfram.com

The original requirement:

>> i have a matrix m[[i,j]] and i want to add every term where
>> i<j (this is to avoiding adding twice the same number)

This solution isn't better than others, but perhaps it introduces a couple 
of useful techniques.  It is only for square matrices.

<< LinearAlgebra`MatrixManipulation`

upper[n_Integer] := UpperDiagonalMatrix[1 &, n] - IdentityMatrix[n]
upper[m_?SquareMatrixQ] := m*upper@Length@m
sumUpper[m_?SquareMatrixQ] := Plus @@ Flatten@upper[m]

m=Table[a[i,j],{i,3},{j,3}];
sumUpper@m

a[1, 2] + a[1, 3] + a[2, 3]

Bobby

On Fri, 11 Apr 2003 01:59:25 -0400 (EDT), Jens-Peer Kuska 
<kuska at informatik.uni-leipzig.de> wrote:

> Hi,
>
> m = Table[a[i, j], {i, 3}, {j, 3}];
> summand = Table[b[i, j], {i, 3}, {j, 3}];
>
> and
>
> MapIndexed[
> If[Greater @@ #2, #1 + Part[summand, Sequence @@ #2], #1] &, m, {2}]
>
> will increment only the upper triangular part.
>
> Regards
> Jens
>
> Rebeca Choy wrote:
>>
>> Hi,
>>
>> How can I add in Mathematica every element of a matrix without adding
>> twice the mixed terms?
>>
>> for example i have a matrix m[[i,j]] and i want to add every term where
>> i<j (this is to avoiding adding twice the same number)
>>
>> Can I do it with Sum?
>>
>> Rebeca Choy
>
>



-- 
majort at cox-internet.com
Bobby R. Treat



  • Prev by Date: Re: music with Mathematica
  • Next by Date: Re: thanks for the help with list - extended syntax question
  • Previous by thread: Re: Adding elements of a matrix
  • Next by thread: Re: Adding elements of a matrix