DoubleVector[] Mtransposed = new DenseDoubleVector[rank];
for (int i = 0; i<rank; i++) {
Mtransposed[i] = e.itemFeatureFactorized.getRowVector(i).multiply(aal_ml_xa.get(i));
}
tmp = new DenseDoubleMatrix(Mtransposed);
tmp = tmp.multiply(2*TETTA*scoreDifference);
res.itemFeatureFactorized = e.itemFeatureFactorized.add(tmp);
}
if (isAvailableUserFeature) {
DoubleVector[] Mtransposed = new DenseDoubleVector[rank];