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

            Tensor u = new Tensor(v.Shape);

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

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

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