Skip to main content
Correct spelling in title
Link
mikado
  • 17.1k
  • 2
  • 21
  • 55

Canonical permuationpermutation of a Symmetricsymmetric matrix

Rollback to Revision 1
Source Link
mikado
  • 17.1k
  • 2
  • 21
  • 55

Canonical permutationpermuation of a SymetricSymmetric matrix

In investigating How to generate the 8^th order symmetric binary matrices whose sum of absolute eigenvalues is 8? I wished to avoid considering matrices that differed only by the same permutation applied to their rows and columns.

My plan was to define a function perm transforming a matrix m to some canonical form and consider it only if perm[m]==m.

My naive approach defined

perm[u_?MatrixQ] := Module[{ord}, ord = Ordering[u]; #[[ord]] & /@ u[[ord]]]

but I now realizerealise that this doesn't work as reordering the columns changes the orders of the rows. For example

m = {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 
    1}, {0, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1}};

perm[m] == perm[perm[m]]
(* False *)

Is there a simple way for defining and computing a canonical permutation?

Canonical permutation of a Symetric matrix

In investigating How to generate the 8^th order symmetric binary matrices whose sum of absolute eigenvalues is 8? I wished to avoid considering matrices that differed only by the same permutation applied to their rows and columns.

My plan was to define a function perm transforming a matrix m to some canonical form and consider it only if perm[m]==m.

My naive approach defined

perm[u_?MatrixQ] := Module[{ord}, ord = Ordering[u]; #[[ord]] & /@ u[[ord]]]

but I now realize that this doesn't work as reordering the columns changes the orders of the rows. For example

m = {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 
    1}, {0, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1}};

perm[m] == perm[perm[m]]
(* False *)

Is there a simple way for defining and computing a canonical permutation?

Canonical permuation of a Symmetric matrix

In investigating How to generate the 8^th order symmetric binary matrices whose sum of absolute eigenvalues is 8? I wished to avoid considering matrices that differed only by the same permutation applied to their rows and columns.

My plan was to define a function perm transforming a matrix m to some canonical form and consider it only if perm[m]==m.

My naive approach defined

perm[u_?MatrixQ] := Module[{ord}, ord = Ordering[u]; #[[ord]] & /@ u[[ord]]]

but I now realise that this doesn't work as reordering the columns changes the orders of the rows. For example

m = {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 
    1}, {0, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1}};

perm[m] == perm[perm[m]]
(* False *)

Is there a simple way for defining and computing a canonical permutation?

spelling
Source Link
A.G.
  • 4.4k
  • 14
  • 18

Canonical permuationpermutation of a SymmetricSymetric matrix

In investigating How to generate the 8^th order symmetric binary matrices whose sum of absolute eigenvalues is 8? I wished to avoid considering matrices that differed only by the same permutation applied to their rows and columns.

My plan was to define a function perm transforming a matrix m to some canonical form and consider it only if perm[m]==m.

My naive approach defined

perm[u_?MatrixQ] := Module[{ord}, ord = Ordering[u]; #[[ord]] & /@ u[[ord]]]

but I now realiserealize that this doesn't work as reordering the columns changes the orders of the rows. For example

m = {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 
    1}, {0, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1}};

perm[m] == perm[perm[m]]
(* False *)

Is there a simple way for defining and computing a canonical permutation?

Canonical permuation of a Symmetric matrix

In investigating How to generate the 8^th order symmetric binary matrices whose sum of absolute eigenvalues is 8? I wished to avoid considering matrices that differed only by the same permutation applied to their rows and columns.

My plan was to define a function perm transforming a matrix m to some canonical form and consider it only if perm[m]==m.

My naive approach defined

perm[u_?MatrixQ] := Module[{ord}, ord = Ordering[u]; #[[ord]] & /@ u[[ord]]]

but I now realise that this doesn't work as reordering the columns changes the orders of the rows. For example

m = {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 
    1}, {0, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1}};

perm[m] == perm[perm[m]]
(* False *)

Is there a simple way for defining and computing a canonical permutation?

Canonical permutation of a Symetric matrix

In investigating How to generate the 8^th order symmetric binary matrices whose sum of absolute eigenvalues is 8? I wished to avoid considering matrices that differed only by the same permutation applied to their rows and columns.

My plan was to define a function perm transforming a matrix m to some canonical form and consider it only if perm[m]==m.

My naive approach defined

perm[u_?MatrixQ] := Module[{ord}, ord = Ordering[u]; #[[ord]] & /@ u[[ord]]]

but I now realize that this doesn't work as reordering the columns changes the orders of the rows. For example

m = {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 
    1}, {0, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1}};

perm[m] == perm[perm[m]]
(* False *)

Is there a simple way for defining and computing a canonical permutation?

Source Link
mikado
  • 17.1k
  • 2
  • 21
  • 55
Loading