Element-wise vector-matrix exponentiation

I would like to exponentiate the vector x = {x1,x2} element-wise with the non-square matrix A = {{1,0},{1,1},{0,1}} so that the result is x^A = {x1, x1x2, x2}. Is there an operation for element-wise vector-matrix exponentiation in Mathematica?

To clarify, the operation should be the following:

{{x1^1 * x2^0},
{x1^1 * x2^1},
{x1^0 * x2^1}}

= {x1,
x1 x2,
x2}


Times @@@ Map[x^# &, A]


{x1, x1 x2, x2}

• great, thanks a lot @eldo! Mar 23 at 16:30
• You're most welcome
– eldo
Mar 23 at 16:30
• @eldo Please explane about symbol @@@ I don't understand. Mar 25 at 0:01
• It's the short form of MapApply
– eldo
Mar 25 at 0:03
• I notice that you did not accept an answer to this question. Is there something that remains to be addressed?
– eldo
Mar 29 at 0:53
Inner[ReverseApplied[Power], A, x, Times]

(* {x1, x1 x2, x2} *)


You can do it directly:

Times @@ (x^Transpose@A)
(* {x1, x1 x2, x2} *)

x = {x1, x2};
A = {{1, 0}, {1, 1}, {0, 1}};


Using Table:

Table[Times @@ (x^#[[i]]), {i, Length@#}] &@A


{x1, x1 x2, x2}

x = {x1, x2};
A = {{1, 0}, {1, 1}, {0, 1}}
Pick[x, #, 1] & /@ A // Map[Apply[Times]]


{x1, x1 x2, x2}