public static Complex[,] Pow(this Complex value, Complex[,] matrix) { var result = matrix.Fill(value); var rows = matrix.GetRows(); var cols = matrix.GetColumns(); for (var i = 0; i < rows; i++) { for (var j = 0; j < cols; j++) { result[i, j] = Complex.Pow(result[i, j], matrix[i, j]); } } return(result); }