Beispiel #1
0
        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.GetBiTermsForEFdp(mv2)));
        }
        public static GaNumMultivector EFdp(this GaNumMultivector mv1, GaNumMultivector mv2)
        {
            if (mv1.GaSpaceDimension != mv2.GaSpaceDimension)
            {
                throw new GMacNumericException("Multivector size mismatch");
            }

            return(GaNumMultivector
                   .CreateZeroTemp(mv1.GaSpaceDimension)
                   .AddFactors(mv1.GetBiTermsForEFdp(mv2))
                   .ToMultivector());
        }