public GaPoTNumMultivectorTerm GradeInvolution()
 {
     return(new GaPoTNumMultivectorTerm(
                IDsPattern,
                IDsPattern.BasisBladeHasNegativeGradeInv() ? -Value : Value
                ));
 }
 public GaPoTNumMultivectorTerm CliffordConjugate()
 {
     return(new GaPoTNumMultivectorTerm(
                IDsPattern,
                IDsPattern.BasisBladeHasNegativeCliffConj() ? -Value : Value
                ));
 }
 public GaPoTNumMultivectorTerm Reverse()
 {
     return(new GaPoTNumMultivectorTerm(
                IDsPattern,
                IDsPattern.BasisBladeHasNegativeReverse() ? -Value : Value
                ));
 }
 public int GetGrade()
 {
     return(IDsPattern.CountOnes());
 }
        public GaPoTNumMultivectorTerm ScaledReverse(double s)
        {
            var value = (IDsPattern.BasisBladeHasNegativeReverse() ? -Value : Value) * s;

            return(new GaPoTNumMultivectorTerm(IDsPattern, value));
        }