Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: Newbie question about column sums of arrays

  • To: mathgroup at smc.vnet.net
  • Subject: [mg68540] Re: Newbie question about column sums of arrays
  • From: "Norbert Marxer" <marxer at mec.li>
  • Date: Wed, 9 Aug 2006 04:19:19 -0400 (EDT)
  • References: <eb9pue$t5p$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi George

Try this

mat = Table[(-1)^Random[Integer] , {4}, {4}];
% // TableForm
Total@Part[Take[Transpose@mat, 1], 1]

(1) Use Table to construct your matrix of random +1 and -1
(2) Use Transpose to interchange columns and rows (because the
following Take extracts rows)
(3) Use Take to take the first row (your original first column)
(4) Use Part to take the first row (e.g. this means actually only to
get rid of the outer curly brackets, because there was only one row
extracted)
(5) Use Total to sum the elements of your original first column.

If you want to use your original construction with Array to produce
your matrix you can do it: e.g.

Array[x, {4, 4}] /. x[_, _] :> (-1)^Random[Integer]

Best Regards
Norbert Marxer
www.mec.li

George W. Gilchrist wrote:
> I have spent several hours trying to find an answer to what must be
> an incredibly simple problem: how to sum the columns of an array
> containing a random mix of +1 and -1s. For example:
>
> In[7]:=
> AA1=Array[x, {4,4}]/. x:> (-1)^Random[Integer]
>
>
> Out[7]=
> \!\(\*FormBox[
>    RowBox[{"(", "\[NoBreak]", GridBox[{
>          {\(1[1, 1]\), \(1[1, 2]\), \(\((\(-1\))\)[1, 3]\), \(1[1, 4]
> \)},
>          {\(1[2, 1]\), \(1[2, 2]\), \(\((\(-1\))\)[
>            2, 3]\), \(\((\(-1\))\)[2, 4]\)},
>          {\(1[3, 1]\), \(\((\(-1\))\)[3, 2]\), \(1[3, 3]\), \(1[3, 4]
> \)},
>          {\(\((\(-1\))\)[4, 1]\), \(1[4,
>            2]\), \(1[4, 3]\), \(\((\(-1\))\)[4, 4]\)}
>          },
>        RowSpacings->1,
>        ColumnSpacings->1,
>        ColumnAlignments->{Left}], "\[NoBreak]", ")"}],
> TraditionalForm]\)
>
> In[8]:=
> Total[AA1]
>
> Out[8]=
> {(-1)[4,1]+1[1,1]+1[2,1]+1[3,1],
>   (-1)[3,2]+1[1,2]+1[2,2]+1[4,2],
>   (-1)[1,3]+(-1)[2,3]+1[3,3]+1[4,3],
>   (-1)[2,4]+(-1)[4,4]+1[1,4]+1[3,4]}
>
>
> So, Total[] seems to do the right thing, but I cannot get the actual
> sums as real numbers, only this rather verbose representation. I have
> searched the manuals for just about everything I can think of with no
> luck. So, thanks for any help you can give me.
>
>
> Cheers, George
>
> ..................................................................
> George W. Gilchrist                        Email #1: gwgilc at wm.edu
> Department of Biology, Box 8795          Email #2: kitesci at cox.net
> College of William & Mary                    Phone: (757) 221-7751
> Williamsburg, VA 23187-8795                    Fax: (757) 221-6483
> http://gwgilc.people.wm.edu/


  • Prev by Date: Re: Newbie question about column sums of arrays
  • Next by Date: Re: [TS 19859]--Re:creating code that writes other code ...
  • Previous by thread: Re: Newbie question about column sums of arrays
  • Next by thread: Re: Newbie question about column sums of arrays