Multi-linearity does not lie in the exercise
In[69]:= Clear[reynaAdd2]
reynaAdd2[m_?MatrixQ ] := Block[
{x = Dimensions[m], x1 = Dimensions[m][[1]], x2 = Dimensions[m][[2]], x3 = Times @@ Dimensions[m]},
ArrayReshape[
Flatten[m] + SparseArray[Table[Rule[o, 1], {o, 1, If[x1 < x2, x3, x2^2], 1 + x2}], {x3}], x
]
]
In[71]:= reynaAdd2[ConstantArray[1, {4, 10}]]
Out[71]= {{2, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 2, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 2, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1, 1, 1, 1}}
In[72]:= reynaAdd2[ConstantArray[1, {6, 6}]]
Out[72]= {{2, 1, 1, 1, 1, 1}, {1, 2, 1, 1, 1, 1}, {1, 1, 2, 1, 1, 1},
{1, 1, 1, 2, 1, 1}, {1, 1, 1, 1, 2, 1}, {1, 1, 1, 1, 1, 2}}
In[73]:= reynaAdd2[ConstantArray[1, {10, 4}]]
Out[73]= {{2, 1, 1, 1}, {1, 2, 1, 1}, {1, 1, 2, 1}, {1, 1, 1, 2}, {1, 1, 1, 1},
{1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}}
In[74]:= reynaAdd2[ConstantArray[1, {1, 1}]
Out[74]= {{2}}
but looks good.