0

Transpose[list,{n1,n2,...}]

What's the meaning of 'transpose list so that the k-th level in list us the n_k-th level in the result'?

As far as I'm concerned, I thought for a list of 4*4 matrix, the {n1,n2,...} can be {4,2,3,1} or {1,3,2,4} etc., but it was wrong, so what does the {n1,n2,...} mean?

flinty
  • 25,147
  • 2
  • 20
  • 86
karry
  • 381
  • 1
  • 9
  • 2
    You should read tperm which explains it explicitly with an example – bmf Jan 12 '23 at 11:02
  • 1
    Also, perhaps you could tell what kind of list you are trying to construct – bmf Jan 12 '23 at 11:05
  • 1
    ……Then why are you using this syntax of Transpose? Strongly related: https://mathematica.stackexchange.com/a/14810/1871 – xzczd Jan 12 '23 at 11:12
  • @xzczd I understand the error, but what's the meaning of Transpose[{1,2,3}, {1}] , that is , why I need the n_k level? – karry Jan 12 '23 at 11:21
  • 1
    To understand this last question you should compare MatrixForm@Transpose[{{1, 2}, {3, 4}}] to MatrixForm@Transpose[{{1, 2}, {3, 4}}, {1}] as a minimal example – bmf Jan 12 '23 at 11:22
  • And, in early version Transpose[{1,2,3}] isn't even legal: https://mathematica.stackexchange.com/q/244659/1871 – xzczd Jan 12 '23 at 11:26
  • Thanks @bmf I have a try, indeed they are different, and using MatrixForm@Transpose[{{1, 2}, {3, 4}}, {1, 1}], I get {1,4}, but I still can't understand. – karry Jan 12 '23 at 11:27
  • 1
    As mentioned in Details and Options section of document of Transpose: For a square matrix m, Transpose[m,{1,1}] returns the main diagonal of m, as given by Diagonal[m]. » – xzczd Jan 12 '23 at 11:31
  • 1
    If your question is purely on the syntax, I suggest that you work through the examples given in the second link that @xzczd provided. If you are trying to construct a matrix and you don't know how, but you feel Transpose is the way, it would be better to tell us the matrix you want to construct. – bmf Jan 12 '23 at 11:32

0 Answers0