This task is similar to:

   Matrix multiplication
   Matrix transposition


Task

Implement basic element-wise matrix-matrix and scalar-matrix operations, which can be referred to in other, higher-order tasks.

Implement:

   addition
   subtraction
   multiplication
   division
   exponentiation


Extend the task if necessary to include additional basic operations, which should not require their own specialised task.




a: matrix([1, 2], [3, 4]);
b: matrix([2, 4], [3, 1]);
 
a * b;
a / b;
a + b;
a - b;
a^3;
a^b;  /* won't work */
fullmapl("^", a, b);
sin(a);