Extracting a list from each nxn matrix from a set of matrices

I want to extract (Take command) row2 from each matrix (6x6) from a set consisting of 6 matrices. That is extracting row2 list.
This is the list of lists:

{{{0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {-2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}},
{{0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, -1, 0, 0, 0, 0}, {-1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}},
{{0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {-1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}},
{{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0}, {0, 0, -1, 0, 0, 0}, {0, -1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}},
{{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 2, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, -2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}},
{{0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, -1, 0, 0, 0, 0}, {0, 0, 0, 0,    0, 0}, {0, 0, 0, 0, 0, 0}}}

Using StructureConstantsList[[1,All]] results in the whole of 1st matrix (list form) instead of only row2 of that matrix.

I used the following commands and got the respective outputs:

StructureConstantsList[[1, ;;]]
StructureConstantsList[[ 1, All]]
Take[StructureConstantsList, 1]
Part[StructureConstantsList, 1]

Out[139]= {{0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {-2, 0, 0, 0, 0,
  0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}}

Out[140]= {{0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {-2, 0, 0, 0, 0,
  0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}}

Out[141]= {{{0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {-2, 0, 0, 0, 0,
   0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}}}

Out[142]= {{0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {-2, 0, 0, 0, 0,
  0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}}

How can I achieve extracting a row using # and one of the above commands?

Finally, I want to write using functional programming, n=6 (dimension ) , write for row1, row3, row4, …
i (list of my symmetries): 1, … , n.
k (list of matrices): 1, … , n.

To get the second row from each matrix, you can do this:

StructureConstantsList[[All, 2]]

I don’t understand anything after “Finally”

Hello. Thank you for responding.

The command you suggested does not output the 2nd row.
It outputs the whole 2nd row, a list (which it is a 6x6 matrix in MatrixForm) in a set of lists.
I also used the following commands and got the same outputs:

StructureConstantsList[[2, ;;]]
StructureConstantsList[[ 2, All]]
Take[StructureConstantsList, 2]
Part[StructureConstantsList, 2]

May you please advise further.

Okay, I don’t know what you want then. Let’s make this easier to understand:

StructureConstantsList = ArrayReshape[PadRight[Alphabet[], 3^3, Alphabet[]], {3, 3, 3}]

This is

{{{"a", "b", "c"}, {"d", "e", "f"}, {"g", "h", "i"}}, {{"j", "k", "l"}, {"m", "n", "o"}, {"p", "q", "r"}}, {{"s", "t", "u"}, {"v", "w", "x"}, {"y", "z", "a"}}}

You said,

I want to extract … row2 from each matrix

and I suggested this:

StructureConstantsList[[All, 2]]

(* {{“d”, “e”, “f”}, {“m”, “n”, “o”}, {“v”, “w”, “x”}} *)

That’s my best guess for what “row2 from each matrix” means. One of your examples is,

StructureConstantsList[[2, ;;]]
(* {{"j", "k", "l"}, {"m", "n", "o"}, {"p", "q", "r"}} *)

but you said that’s not what you want. By the way, that’s equivalent to StructureConstantsList[[2]]. Do you want the second row of the second matrix?

StructureConstantsList[[2, 2]]
(* {"m", "n", "o"} *)

If none of these are what you want, then tell me what the correct output is if you use my letter form of StructureConstantsList as input.

Hello.
Yes, you are correct. It is exactly how I want to extract row2 from each list. It works!
Thank you very much.

Now I want to write it in functional programming whereby I extract row2 from every list that is in the set of lists using # (to represent the number of lists I will be extracting from ). In this case, there are 6 lists in a set. Each list has 6 dimensions, as I already stated.

Well, I suppose I could write that up, but you don’t need to specify the number of sub-matrices in your argument. It will work for any number.

StructureConstantsList = ArrayReshape[PadRight[Alphabet[], 5 3^2, Alphabet[]], {5, 3, 3}];
StructureConstantsList[[All, 2]]
(* {{"d", "e", "f"}, {"m", "n", "o"}, {"v", "w", "x"}, {"e", "f", "g"}, {"n", "o", "p"}} *)

StructureConstantsList = ArrayReshape[PadRight[Alphabet[], 1 3^2, Alphabet[]], {1, 3, 3}];
StructureConstantsList[[All, 2]]
(* {{"d", "e", "f"}} *)

If what you want is a function that takes the lists of matrices as an argument, you can do that easily:

#[[All, 2]] &

Or are you saying that you want the index of the row to be an argument?

RowsByIndex[listOfMatrices_, index_] := listOfMatrices[[All, index]]