예제 #1
0
        /// <summary>
        /// Odd Versor Product
        /// </summary>
        /// <param name="oddVersor"></param>
        /// <param name="mv"></param>
        /// <returns></returns>
        public GaSymMultivector OddVersorProduct(GaSymMultivector oddVersor, GaSymMultivector mv)
        {
            var oddVersorReverse      = oddVersor.Reverse();
            var oddVersorNorm2Inverse =
                SymbolicUtils.Constants.One / Sp[oddVersor, oddVersorReverse][0]
                .ToMathematicaScalar();
            var oddVersorInverse = oddVersorReverse * oddVersorNorm2Inverse;

            return(Gp[Gp[oddVersor, mv.GradeInv()], oddVersorInverse]);
        }