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}}