cr=: %. }:"1 NB. cramer method calc_E=:(-/ . * ) % -/ . + NB. fork NB. -/ . * determinant***** -/ . + naiseki of + gmatrix=:3 : 0 NB. square only// not 2 3 matrix SIZE=. %: # y NB. -: half (;SIZE,SIZE) $ y ) NB. ************************************ calc_mix2s=: 3 : 0 'A0 B0 C0 D0'=: y NB. A plane BUNBO=: (A0+D0)-(B0+C0) A=:(D0-C0)%BUNBO B=:(D0-B0)%BUNBO E=:((A0*D0)-(B0*C0))%BUNBO 1 x: L:0 A;B;E ) calc_mix2_sub=: 3 : 0 TMP=:{ |: ;("1) ,.y 'A0 B0 C0 D0'=: {@>;{. TMP NB. A plane 'A1 B1 C1 D1'=: {@>;{: TMP NB. B plane P0=:(D0-B0)%(A0+D0)-(B0+C0) NB. true B P1=:(D0-C0)%(A0+D0)-(B0+C0) NB. A Q0=:(D1-B1)%(A1+D1)-(B1+C1) NB. B Q1=:(D1-C1)%(A1+D1)-(B1+C1) NB. true A NB. EA=:((A0*D0)-(B0*C0))% (A0+D0)-(B0+C0) P0;P1;Q0;Q1 NB. ;EA ) calc_mix2=: 3 : 0 1 x: (L:0) 3 0 { calc_mix2_sub y ) NB. ************************************ NB. matrix form NB. calc_mix2s_mat=: 3 : 0 NB. 'A0 B0 C0 D0'=: y NB. A plane NB. MAT0=. (A0,B0),: C0,D0 NB. calc_mix2s_mat_sub MAT0 NB. ) mix2s_mat=: 3 : 0 MAT0=. 2 2 $ ; y XY=. -/ . + MAT0 NB.inner product of plus(-/ . +) MAT=. (0,XY, - -/ {:"1 MAT0),: XY,0,- -/ {: MAT0 E0=. MAT mix2s_E_mat y MAT0;MAT;(1 x: L:0 cr MAT) ;E0 ) mix2s_E_mat=: 4 : 0 NB. calc E=xy(a+d-c-d)+x(b-d)+y(c-d)+d NB. y for take value of d MAT=. x 'XY X0 Y0'=. 1 2 5 { ; MAT NB. (a+d-c-b),(b-d),c-d 'AX AY' =. 1 x: {:"1 cr MAT NB. x y +/(*/ AX,AY,XY),(*/AX,-X0),(*/ AY,-Y0),;{:y NB. calc E NB. -X0 -Y- reverse +- ) mix2_mat=: 3 : 0 TMP0=.{ |: ;("1) ,.y 'A0 B0 C0 D0'=. {@>;{. TMP0 NB. A plane 'A1 B1 C1 D1'=. {@>;{: TMP0 NB. B plane (mix2s_mat A0,B0,C0,D0),:mix2s_mat A1,B1,C1,D1 ) NB. ------------------------ NB. 3 * t times mix3s_mat_sub=: 3 : 0 MAT0=. 3 3 $'A0 B0 C0 D0 E0 F0 G0 H0 I0'=: y XY=. -/ . + (<0 2;0 2){ MAT0 NB. a+i-g-c XV=. -/ . + (<0 2;1 2){ MAT0 NB. b+i-h-c UY=. -/ . + (<1 2;0 2){ MAT0 NB. d+i-g-f UV=. -/ . + (<1 2;1 2){ MAT0 NB. e+i-h-f X0=. - -/ (<0 2;2){MAT0 NB. c-i NB. - change + - Y0=. - -/ (< 2;0 2){MAT0 NB. g-i U0=. - -/ (<1 2; 2){MAT0 NB. f-i V0=. - -/ (< 2;1 2){MAT0 NB. h-i (XY,XV,UY,UV); X0,Y0,U0,V0 NB. xy,xv,uy,uv and x,y,u,v ) mix3s_mat=: 3 : 0 NB. Usage: u GH1 (list/non matrix) 'XY XV UY UV'=. ;{. mix3s_mat_sub y 'X0 Y0 U0 V0'=. ;{: mix3s_mat_sub y MAT=.(0,XY,0,XV,X0),(XY,0,UY,0,Y0),(0,UY,0,UV,U0),: XV,0,UV,0,V0 ANS=. cr MAT tmp=. |: 2 2 $ {:"1 ANS PX=. tmp,. -. +/"1 tmp (3 3 $ y);MAT;(1 x: ANS); 1 x: PX ) mix3s_E_mat=: 3 : 0 'XY XV UY UV'=. ;{. mix3s_mat_sub y 'X0 Y0 U0 V0'=. ;{: mix3s_mat_sub y MAT=:(0,XY,0,XV,X0),(XY,0,UY,0,Y0),(0,UY,0,UV,U0),: XV,0,UV,0,V0 TMP0=.'XA YA UA VA' =. 1 x: {:"1 cr MAT TMP1=.'AXY AXV AUY AUV'=. 1 x: 1 3 6 11{ ; tmp */ tmp=. {:"1 cr MAT TMP2=.*/ "1 TMP1,. 1 3 6 11 {; }:"1 MAT TMP3=. */"1 TMP0 ,. - {:"1 MAT (+/ tmp); tmp=.1,TMP2,TMP3 ) NB. ************************************* logit_sub=: 3 : 0 NB. Logit_game LAMDA=: 2 Q=: 10%~i.11 TMP0=: ^ LAMDA*2*Q TMP1=: ^ LAMDA*1-Q PX=:TMP0 % TMP0+TMP1 TMP2=: ^ LAMDA*Q TMP3=: ^ LAMDA*2*1-Q QX=: TMP2%TMP2+TMP3 Q,.PX,.QX ) game_logit =: 4 : 0 NB. Logit_game NB. Usage: x(max of Lambda) y 2 value of a0 a1 LAMDAX=: i. LAMDA=: x NB. max of lamda 'A0 A1'=. y NB. TMP0=.{ |: ;("1) ,.y NB. 'A0 B0 C0 D0'=. {@>;{. TMP0 NB. A plane NB. 'A1 B1 C1 D1'=. {@>;{: TMP0 NB. B plane ANS=. <'' for_ctr. i. LAMDA do. TMP=. (ctr{ LAMDAX) game_logit_sub A0,A1 ANS=. ANS,