public function evaluate(array $params)
{
$m = $this->m;
$n = $this->n;
$R = [];
for ($i = 0; $i < $m; $i++) {
for ($j = 0; $j < $n; $j++) {
$func = $this->A[$i][$j];
$R[$i][$j] = $func($params);
}
}
return MatrixFactory::create($R);
}