/// <summary>3次元ベクトル四元数回転積ベクトル勾配</summary>
        internal static Tensor TrivectorQuaternionMulVGrad(Tensor v, Tensor q)
        {
            Function function = new Functions.TrivectorArithmetric.TrivectorQuaternionMulVGrad();

            Tensor u = new Tensor(v.Shape);

            function.Execute(new Tensor[] { v, q }, new Tensor[] { u });

            return(u);
        }
        /// <summary>3次元ベクトル四元数回転積ベクトル勾配</summary>
        internal static VariableNode TrivectorQuaternionMulVGrad(VariableNode v, VariableNode q)
        {
            Function function = new Functions.TrivectorArithmetric.TrivectorQuaternionMulVGrad();

            return(Apply(function, v, q)[0]);
        }