public override GaSymMultivectorTerm MapToTerm(int id1, int id2)
 {
     return(GaSymMultivectorTerm.CreateTerm(
                TargetGaSpaceDimension,
                id1 ^ id2,
                GMacMathUtils.IsNonZeroERcp(id1, id2)
             ? (GMacMathUtils.IsNegativeEGp(id1, id2)
                 ? Mfs.Minus[OrthogonalMetric[id1 & id2]]
                 : OrthogonalMetric[id1 & id2])
             : Expr.INT_ZERO
                ));
 }
 public override GaNumMultivectorTerm MapToTerm(int id1, int id2)
 {
     return(GaNumMultivectorTerm.CreateTerm(
                TargetGaSpaceDimension,
                0,
                GMacMathUtils.IsNonZeroESp(id1, id2)
             ? (GMacMathUtils.IsNegativeEGp(id1, id1)
                 ? -OrthogonalMetric[id1]
                 : OrthogonalMetric[id1])
             : 0.0d
                ));
 }
        public override IGaSymMultivectorTemp MapToTemp(int id1, int id2)
        {
            var tempMultivector = GaSymMultivector.CreateZeroTemp(TargetGaSpaceDimension);

            tempMultivector.SetTermCoef(
                id1 ^ id2,
                GMacMathUtils.IsNegativeEGp(id1, id2),
                OrthogonalMetric[id1 & id2]
            );

            return tempMultivector;
        }
Exemple #4
0
        public override IGaSymMultivectorTemp MapToTemp(int id1, int id2)
        {
            var tempMultivector = GaSymMultivector.CreateZeroTemp(TargetGaSpaceDimension);

            tempMultivector.SetTermCoef(
                id1 ^ id2,
                GMacMathUtils.IsNegativeEGp(id1, id2),
                OrthonormalMetric.GetExprSignature(id1 & id2)
                );

            return(tempMultivector);
        }
Exemple #5
0
 public override GaSymMultivectorTerm MapToTerm(int id1, int id2)
 {
     return(GaSymMultivectorTerm.CreateTerm(
                TargetGaSpaceDimension,
                id1 ^ id2,
                GMacMathUtils.IsNonZeroEFdp(id1, id2)
             ? (GMacMathUtils.IsNegativeEGp(id1, id2)
                 ? Mfs.Minus[OrthonormalMetric.GetExprSignature(id1 & id2)]
                 : OrthonormalMetric.GetExprSignature(id1 & id2))
             : Expr.INT_ZERO
                ));
 }
Exemple #6
0
        public override IGaSymMultivectorTemp MapToTemp(int id1, int id2)
        {
            var tempMultivector = GaSymMultivector.CreateZeroTemp(TargetGaSpaceDimension);

            tempMultivector.SetTermCoef(
                id1 ^ id2,
                GMacMathUtils.IsNegativeEGp(id1, id2),
                Expr.INT_ONE
                );

            return(tempMultivector);
        }
Exemple #7
0
        public bool LookupIsNegEGp()
        {
            var flag = false;

            for (var id1 = 0; id1 < 1024; id1++)
            {
                for (var id2 = 0; id2 < 1024; id2++)
                {
                    flag = flag | GMacMathUtils.IsNegativeEGp(id1, id2);
                }
            }

            return(flag);
        }
Exemple #8
0
        public override IGaSymMultivectorTemp MapToTemp(int id1, int id2)
        {
            var tempMultivector = GaSymMultivector.CreateZeroTemp(TargetGaSpaceDimension);

            if (GMacMathUtils.IsNonZeroESp(id1, id2))
            {
                tempMultivector.SetTermCoef(
                    0,
                    GMacMathUtils.IsNegativeEGp(id1, id1),
                    OrthogonalMetric[id1]
                    );
            }

            return(tempMultivector);
        }
        public override IGaSymMultivectorTemp MapToTemp(int id1, int id2)
        {
            var tempMultivector = GaSymMultivector.CreateZeroTemp(TargetGaSpaceDimension);

            if (GMacMathUtils.IsNonZeroESp(id1, id2))
            {
                tempMultivector.AddFactor(
                    0,
                    GMacMathUtils.IsNegativeEGp(id1, id1),
                    Expr.INT_ONE
                    );
            }

            return(tempMultivector);
        }