/// <summary>3次元ベクトル全結合カーネル積</summary>
        public static VariableNode TrivectorKernelProductDense(VariableNode x, VariableNode y, VariableNode q, bool transpose = false)
        {
            Function function =
                new Functions.TrivectorConvolution.TrivectorKernelProductDense(x.Shape, y.Shape, transpose);

            VariableNode w = Apply(function, x, y, q)[0];

            return(w);
        }
        /// <summary>3次元ベクトル全結合カーネル積</summary>
        public static Tensor TrivectorKernelProductDense(Tensor x, Tensor y, Tensor q, bool transpose = false)
        {
            Functions.TrivectorConvolution.TrivectorKernelProductDense function =
                new Functions.TrivectorConvolution.TrivectorKernelProductDense(x.Shape, y.Shape, transpose);

            Tensor w = new Tensor(function.OutShape);

            function.Execute(new Tensor[] { x, y, q }, new Tensor[] { w });

            return(w);
        }