/// <summary>ソート</summary>
        public static (VariableNode key, VariableNode value) SortWithKey(VariableNode k, VariableNode v, int axis)
        {
            Function function = new Functions.ArrayManipulation.SortWithKey(axis);

            VariableNode[] kv = Apply(function, k, v);

            return(kv[0], kv[1]);
        }
        /// <summary>ソート</summary>
        public static (Tensor key, Tensor value) SortWithKey(Tensor k, Tensor v, int axis)
        {
            Function function = new Functions.ArrayManipulation.SortWithKey(axis);

            Tensor key = new Tensor(k.Shape), value = new Tensor(v.Shape);

            function.Execute(new Tensor[] { k, v }, new Tensor[] { key, value });

            return(key, value);
        }