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