Hadamard -Sylvester Matrix Self-Similarity by substitution and reparatitioning
- To: mathgroup at smc.vnet.net
- Subject: [mg68640] Hadamard -Sylvester Matrix Self-Similarity by substitution and reparatitioning
- From: Roger Bagula <rlbagula at sbcglobal.net>
- Date: Mon, 14 Aug 2006 06:44:12 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
A long time back I ran across this in an electrical engineering magazine.
With the right starting matric Haramard -Silvester Matrix
self-Similaroty gives a Pascal's triangle like result.
I just this morning figured out how to repartition the matrices to give
usable arrasys!
(* Fibonacci Matrix for Matrix Markov: 2by2*)
t[n_, m_] := If[ n == m == 1, 0, 1]
(* substitution step*)
a = Table[t[n, m]*t[i, j], {n, 1, 2}, {m, 1, 2}, {i, 1, 2}, {j, 1, 2}];
(* first level Hadamard -Sylvester Matrix self-Similarity repartitution:
4by4*)
M = Flatten[Table[{Flatten[Table[a[[
n, m]][[1, i]], {n,
1, 2}, {i, 1, 2}]], Flatten[Table[a[[n, m]][[2,
i]], {n, 1, 2}, {i, 1, 2}]]}, {m, 1, 2}], 1]
aa = Table[M[[n, m]]*M[[i, j]], {n, 1, 4}, {m, 1, 4}, {i, 1, 4}, {j, 1, 4}];
(* second level Hadamard -Sylvester Matrix self-Similarity
repartitution: 16 by16*)
M2 = Flatten[Table[{Flatten[Table[aa[[
n, m]][[1, i]], {n,
1, 4}, {i, 1, 4}]], Flatten[Table[aa[[n, m]][[2,
i]], {n, 1, 4}, {i, 1, 4}]], Flatten[Table[aa[[
n, m]][[3, i]], {n,
1, 4}, {i, 1, 4}]], Flatten[Table[aa[[
n, m]][[4, i]], {n,
1, 4}, {i, 1, 4}]]}, {m, 1, 4}], 1]
{{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, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1},
{0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1},
{0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1},
{0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1},
{ 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}.
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}