Beispiel #1
0
 public override GaSymMultivectorTerm MapToTerm(int id1, int id2)
 {
     return(GaSymMultivectorTerm.CreateTerm(
                TargetGaSpaceDimension,
                id1 ^ id2,
                GMacMathUtils.IsNegativeEGp(id1, id2)
             ? Mfs.Minus[OrthonormalMetric.GetExprSignature(id1 & id2)]
             : OrthonormalMetric.GetExprSignature(id1 & id2)
                ));
 }
 public override GaSymMultivectorTerm MapToTerm(int id1, int id2)
 {
     return(GaSymMultivectorTerm.CreateTerm(
                TargetGaSpaceDimension,
                0,
                GMacMathUtils.IsNonZeroESp(id1, id2)
             ? (GMacMathUtils.IsNegativeEGp(id1, id1)
                 ? Mfs.Minus[OrthonormalMetric.GetExprSignature(id1)]
                 : OrthonormalMetric.GetExprSignature(id1))
             : Expr.INT_ZERO
                ));
 }
Beispiel #3
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);
        }