W.ReplaceByTranspose();
DeviceMatrix<cudafloat>::Multiply(W, V, deltaH);
W.MultiplyBySelfTranspose(aux);
DeviceMatrix<cudafloat>::Multiply(aux, H, deltaH2);
W.ReplaceByTranspose();
UpdateMatrix_AE<<<NumberBlocks(H.Elements(), SIZE_BLOCKS_NMF), SIZE_BLOCKS_NMF>>>(H.Pointer(), deltaH.Pointer(), deltaH2.Pointer(), H.Elements());