TransWikia.com

Permutation function which allows for repetitions

Mathematica Asked by mathisfun_ on July 5, 2021

I want to permute a matrix based on some permutation cycle which is not known beforehand. A function searches through the matrix and returns the pair of indices $i,j$ of the first entry which equals some specific value. Now, I want to permute the matrix such that that column $j$ appears first in the matrix. I would use the function Cycles[{{1,j}}], but it doesn’t work if the index $j$ equals 1 (since I want to bring it to the first column).

Is there a way to create a general permutation function such that in the situation that $j=1$, it just returns the identity permutation (so it doesn’t permute the matrix)?

One Answer

You want to exchange column 1 with column j of a matrix. You can use Part to achieves this. Here is an example:

mat = Array[Subscript[a,  #1, #2] &, {3, 3}]
j = 3;
mat[[All, {j, 1}]] = mat[[All, {1, j}]];
mat // MatrixForm

enter image description here

Answered by Daniel Huber on July 5, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP