public override IGaNumMultivectorTemp MapToTemp(GaNumMultivector mv1, GaNumMultivector mv2) { if (mv1.GaSpaceDimension != DomainGaSpaceDimension || mv2.GaSpaceDimension != DomainGaSpaceDimension2) { throw new GMacNumericException("Multivector size mismatch"); } return (GaNumMultivector .CreateZeroTemp(TargetGaSpaceDimension) .AddFactors(mv1.GetBiTermsForECp(mv2))); }
public static GaNumMultivector ECp(this GaNumMultivector mv1, GaNumMultivector mv2) { if (mv1.GaSpaceDimension != mv2.GaSpaceDimension) { throw new GMacNumericException("Multivector size mismatch"); } return(GaNumMultivector .CreateZeroTemp(mv1.GaSpaceDimension) .AddFactors(mv1.GetBiTermsForECp(mv2)) .ToMultivector()); }