/// <summary>2項演算</summary>
        internal static Tensor BinaryArithmetric(Tensor x1, Tensor x2, Operators.BinaryArithmetric.BinaryArithmetric binary_operator)
        {
            Function function = new Functions.BinaryArithmetric.BinaryArithmetric(binary_operator);

            Shape y_shape = function.OutputShapes(x1.Shape, x2.Shape)[0];

            Tensor y = new Tensor(y_shape);

            function.Execute(new Tensor[] { x1, x2 }, new Tensor[] { y });

            return(y);
        }
        /// <summary>2項演算</summary>
        internal static VariableNode BinaryArithmetric(VariableNode x1, VariableNode x2, Operators.BinaryArithmetric.BinaryArithmetric binary_operator)
        {
            Function function = new Functions.BinaryArithmetric.BinaryArithmetric(binary_operator);

            return(Apply(function, x1, x2)[0]);
        }