Characters |

In order to do this, we have first of all to generate a vector, the elements of
which are the partitions of *n*. This can be done by

makevectorofpart()Then we establish a matrix, the number of rows and columns is equal to the length of the vector consisting of all the partitions of

m_lh_m(s_v_l(),s_v_l(), )(

Enter the integerobject 6, and you will get (maybe after a longer while than you expected) the following replyExample:#include"def.h" #include"macro.h" main() { INT i,j; OP n,a,b,c,d; anfang(); n = callocobject(); a = callocobject(); b = callocobject(); c = callocobject(); d = callocobject(); scan(INTEGER,n); println(n); makevectorofpart(n,a);println(a); m_lh_m(s_v_l(a),s_v_l(a),b);println(b); for(i=0L;i<s_m_hi(b);i++) for(j=0L;j<s_m_li(b);j++) { young_character(s_v_i(a,i),c,NULL); young_character(s_v_i(a,j),d,NULL); scalarproduct(c,d,s_m_ij(b,i,j)); } println(b); freeall(n); freeall(a); freeall(b); freeall(c); freeall(d); ende(); }

6

[6,15,24,114,33,123,1113,222,1122,11112,111111]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[#:#:#:#:#:#:#:#:#:#:#:]

[1:1:1:1:1:1:1:1:1:1:1:]

[1:2:2:3:2:3:4:3:4:5:6:]

[1:2:3:4:3:5:7:6:8:11:15:]

[1:3:4:7:4:8:13:9:14:21:30:]

[1:2:3:4:4:6:8:7:10:14:20:]

[1:3:5:8:6:12:19:15:24:38:60:]

[1:4:7:13:8:19:34:24:42:72:120:]

[1:3:6:9:7:15:24:21:33:54:90:]

[1:4:8:14:10:24:42:33:58:102:180:]

[1:5:11:21:14:38:72:54:102:192:360:]

[1:6:15:30:20:60:120:90:180:360:720:]

Again, the rows and columns correspond to the partitions in inverse
lexicographic order,
hence, for example, 58 is the scalar product of the Young character
corresponding to 1 1 2 2 with itself, and you may know that this has also
a combinatorial interpretation: There are exactly 58 matrices over
* N* that have row sums 1,1,2,2 as well as column sums 1,1,2,2.

If you want to try further examples, then you can replace your *test.c* now
by one of the examples *ex7.c,ex8.c....*
Moreover, we should like to mention, that for bigger examples you can use
both input and output files, for example, if you put into a file
*ex6.in* just the number 6, then you can also enter (after *make* and the
return of the prompt, of course) the following line:

a.out < ex6.in > ex6.outin which case you will find in

harald.fripertinger@kfunigraz.ac.at,

last changed: November 19, 2001

Characters |