Counter - example
Counter - example
(*KhatriRaoproduct*)khatriRao[A_,B_]:=MapThread[Flatten[{#1}{#2}]&,Transpose/@{A,B}]//Transpose(*Symmetricsquareroot*)symsqrt[m_]:=Module[{U,S,W},{U,S,W}=SingularValueDecomposition[m];U.Sqrt[S].Transpose[W]];dsize=10;(*datasize*)fsize=3;(*numberofactivations*)A=RandomReal[{0,1},{fsize,dsize}];B=RandomReal[{0,1},{fsize,dsize}];mean[A_]:=Table[Mean[A],Dimensions[A][[2]]];cov[A_]:=(A-mean[A]).(A-mean[A]);whiten[A_]:=symsqrt@PseudoInverse@cov@A;
cov[A]//MatrixForm
0.74137 | 0.131775 | 0.539301 |
0.131775 | 0.56786 | 0.0647092 |
0.539301 | 0.0647092 | 0.871038 |
A2=whiten[A].A;cov[A2]//MatrixForm
1. | 0 | 0 |
0 | 1. | 0 |
0 | 0 | 1. |
B2=whiten[B].B;cov[B2]//MatrixForm
1. | 0 | 0 |
0 | 1. | 0 |
0 | 0 | 1. |
cov[khatriRao[A,B]]//MatrixForm
0.571116 | 0.0361183 | 0.213684 | 0.334681 | -0.0908269 | 0.012452 | 0.430007 | -0.0469041 | 0.088791 |
0.0361183 | 0.133577 | 0.132738 | -0.0255711 | 0.0837464 | -0.0113528 | 0.0215404 | 0.0992301 | 0.097021 |
0.213684 | 0.132738 | 0.377636 | 0.111855 | -0.0416776 | 0.186022 | 0.0841341 | 0.00133955 | 0.281309 |
0.334681 | -0.0255711 | 0.111855 | 0.372078 | -0.00344318 | 0.154363 | 0.215251 | -0.0222328 | -0.000172265 |
-0.0908269 | 0.0837464 | -0.0416776 | -0.00344318 | 0.200056 | -0.0118707 | -0.0289404 | 0.160138 | -0.0289253 |
0.012452 | -0.0113528 | 0.186022 | 0.154363 | -0.0118707 | 0.442733 | -0.107718 | -0.0961924 | 0.0629019 |
0.430007 | 0.0215404 | 0.0841341 | 0.215251 | -0.0289404 | -0.107718 | 0.422975 | 0.0357447 | 0.0828251 |
-0.0469041 | 0.0992301 | 0.00133955 | -0.0222328 | 0.160138 | -0.0961924 | 0.0357447 | 0.19823 | 0.0506098 |
0.088791 | 0.097021 | 0.281309 | -0.000172265 | -0.0289253 | 0.0629019 | 0.0828251 | 0.0506098 | 0.337163 |