So we can conduct testing with matrices and vectors of various sizes, let's write some code that makes it convenient to generate data,
xvec =
With[{n = 4},
Array[x, n] /. x[i_Integer] :> Symbol[StringJoin["x", ToString[i]]]]
{x1, x2, x3, x4}
farr =
With[{r = 2, c = 3},
Array[f, {r, c}] /.
f[i_Integer, j_Integer] :> Symbol[StringJoin["f", ToString[i], ToString[j]]]]
{{f11, f12, f13}, {f21, f22, f23}}
Now we map the pure function # @@ xvec &
over the lowest level of farr
.
Map[# @@ xvec &, farr, {-1}]
{{f11[x1, x2, x3, x4], f12[x1, x2, x3, x4], f13[x1, x2, x3, x4]},
{f21[x1, x2, x3, x4], f22[x1, x2, x3, x4], f23[x1, x2, x3, x4]}}
Apply
andMap
:Map[#1 @@ x &, F, {-1}]
. (BTW, I voted to close.) $\endgroup$