MathGroup Archive 1995

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

Search the Archive

how to pick out alternating columns and rows in a matrix?

  • To: mathgroup at christensen.cybernetics.net
  • Subject: [mg551] how to pick out alternating columns and rows in a matrix?
  • From: Richard Q. Chen <chen at fractal.eng.yale.edu>
  • Date: Wed, 15 Mar 95 13:24:59 EST

Hi,
	Suppose I have a matrix of even dimensions, I would like
to form a matrix consisting of only the odd rows and columns of the
matrix. A concrete example may make my request clearer:

In[2]:= MatrixForm[u=Array[a,{6,6}]]

Out[2]//MatrixForm= a[1, 1]   a[1, 2]   a[1, 3]   a[1, 4]   a[1, 5]   a[1, 6]

                    a[2, 1]   a[2, 2]   a[2, 3]   a[2, 4]   a[2, 5]   a[2, 6]

                    a[3, 1]   a[3, 2]   a[3, 3]   a[3, 4]   a[3, 5]   a[3, 6]

                    a[4, 1]   a[4, 2]   a[4, 3]   a[4, 4]   a[4, 5]   a[4, 6]

                    a[5, 1]   a[5, 2]   a[5, 3]   a[5, 4]   a[5, 5]   a[5, 6]

                    a[6, 1]   a[6, 2]   a[6, 3]   a[6, 4]   a[6, 5]   a[6, 6]

I would like to pick out the 1st, 3rd and 5th rows and columns.
My current solution is embarassingly contorted. I would like to see
some more elegant solutions to this.

Here is what I did:

In[3]:= First /@ Partition[Flatten[u],2];

In[4]:= Transpose[Partition[%,3]];

In[5]:= First /@ Partition[Flatten[%],2];

In[6]:= Transpose[Partition[%,3]];

In[7]:= MatrixForm[%]

Out[7]//MatrixForm= a[1, 1]   a[1, 3]   a[1, 5]

                    a[3, 1]   a[3, 3]   a[3, 5]

                    a[5, 1]   a[5, 3]   a[5, 5]

Thanks for any help.

Richard


  • Prev by Date: disreguard my last email
  • Next by Date: (-1)^(3/4) -> (-1+I)/Sqrt[2]
  • Previous by thread: disreguard my last email
  • Next by thread: Re: how to pick out alternating columns and rows in a matrix?