Proof sketch:

0. Working with G is equivalent to working with
a matrix of indices into the ravelled values.
For example:

   G=: 5 5 [EMAIL PROTECTED] 2e9
   U=: , G
   H=: i.5 5
   G -: H { U
1
   H
 0  1  2  3  4
 5  6  7  8  9
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24

1. Since G is symmetric, the matrix H simplifies to

   H=: (<.|:) H
   H
0 1  2  3  4
1 6  7  8  9
2 7 12 13 14
3 8 13 18 19
4 9 14 19 24

2. R dp G dp |:R is equivalent to  rot G  where
rot=: (1&|.)@:(1&|."1) . By (2) G -: rot G .  
Therefore G -: rot^:n G for all n.

3. An index matrix for rot G  obtains by (<.rot) H .
In general:

   G          -: H { U
   (rot    G) -: ((<.rot)    H) { U
   (rot^:n G) -: ((<.rot)^:n H) { U

4. cd G computes the list of counter-diagonals of a 
square matrix, where

cd=: (|. +/ ])@[EMAIL PROTECTED] (</.&, /: {./.&,[EMAIL PROTECTED]) ]

For example, 
   i. 5 5
 0  1  2  3  4
 5  6  7  8  9
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
   cd i.5 5
+--+-----+--------+----------+------------+---------+------+---+-+
|20|15 21|10 16 22|5 11 17 23|0 6 12 18 24|1 7 13 19|2 8 14|3 9|4|
+--+-----+--------+----------+------------+---------+------+---+-+

5. Assert  (n{.D) -: |.(-n){.D=. cd (<.rot)^:n H
That is, after n applications of (<.rot), 
the length n prefix of the counter diagonals of 
the resultant matrix equals the reverse of the 
length n suffix.  Therefore, after #H applications
of (<.rot), the list of counter diagonals matches
its reversal:

   D=: cd (<.rot)^:(#H) H 
   (-: |.) D
1

6. After #H applications of (<.rot), each counter 
diagonal has a unitary nub:

   1 = [EMAIL PROTECTED]&> D
1 1 1 1 1 1 1 1 1

7. A matrix is mirror-image symmetric if its
counter diagonals satisfy (a) reversal invariance 
(b) each opened atom has a unitary nub

   (-: |.) D=: cd H 
   1 = [EMAIL PROTECTED]&> D



----- Original Message -----
From: John Wilson <[EMAIL PROTECTED]>
Date: Tuesday, January 2, 2007 11:45 am
Subject: [Jgeneral] Array-oriented proof?

> Let G be a square matrix, and 
> R =: |: (1&|."1) (=&i.) #G      NB. rotation   
> M =: |: (  |."1) (=&i.) #G      NB. mirror-image 
> dp =: +/ . *
> 
> Prove the following statement:
> 
> If
> (1) G -: |:G              NB. G is symmetric
> (2) G -: R dp G dp |:R    NB. G is rotationally symmetric
> then
> (3) G -: M dp G dp |:M    NB. G is mirror-image symmetric
> 
> I can prove this using subscripts (i.e., involving 
> expressions like (<i;j){G ), but is there a proof 
> involving just the arrays G, R and M?


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to