/// <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]); }