MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Hadamard -Sylvester Matrix Self-Similarity by substitution and reparatitioning

  • To: mathgroup at smc.vnet.net
  • Subject: [mg68641] Re: Hadamard -Sylvester Matrix Self-Similarity by substitution and reparatitioning
  • From: Roger Bagula <rlbagula at sbcglobal.net>
  • Date: Mon, 14 Aug 2006 06:44:13 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

> Roger Bagula wrote: 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}}


This method gives the same 16by16  with reversed order on the anti-diagonal:

b[i_, k_] := Floor[Mod[i/2^k, 2]]
n = 15
Table[If[Sum[b[i, k]*b[j, k], {k, 0, n}] == 0, 1, 0], {j, 0, 15}, {i, 0, 
15}]

{{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},
{1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0},
{1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
{ 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0},
{1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
 {1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 1, 0, 1, 0, 1, 0,  0, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 0, 0, 1, 1, 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, 0},
{1, 1, 1, 1, 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, 0},
{1, 1, 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, 0}}


  • Prev by Date: Re: Re: Wolfram Workbench and package development
  • Next by Date: Re: Re: Wolfram Workbench and package development
  • Previous by thread: Hadamard -Sylvester Matrix Self-Similarity by substitution and reparatitioning
  • Next by thread: Re: Hadamard -Sylvester Matrix Self-Similarity by substitution and reparatitioning