Beispiel #1
0
        public static IGaSymMultivectorTemp AddFactors(this IGaSymMultivectorTemp tempMv, Expr scalar, IGaSymMultivectorTemp termsMv)
        {
            foreach (var term in termsMv.NonZeroExprTerms)
            {
                tempMv.AddFactor(term.Key, Mfs.Times[term.Value, scalar]);
            }

            return(tempMv);
        }
Beispiel #2
0
        public static IGaSymMultivectorTemp AddFactors(this IGaSymMultivectorTemp tempMv, Expr scalar, IEnumerable <KeyValuePair <int, Expr> > terms)
        {
            foreach (var term in terms)
            {
                tempMv.AddFactor(term.Key, Mfs.Times[term.Value, scalar]);
            }

            return(tempMv);
        }
Beispiel #3
0
        public static IGaSymMultivectorTemp AddFactors(this IGaSymMultivectorTemp tempMv, IEnumerable <GaSymMultivectorBiTerm> biTerms, GaSymMetricOrthogonal orthogonalMetric)
        {
            foreach (var biTerm in biTerms)
            {
                tempMv.AddFactor(
                    biTerm.IdXor,
                    biTerm.IsNegativeEGp,
                    Mfs.Times[biTerm.Value1, biTerm.Value2, orthogonalMetric[biTerm.IdAnd]]
                    );
            }

            return(tempMv);
        }
Beispiel #4
0
        public static IGaSymMultivectorTemp AddFactors(this IGaSymMultivectorTemp tempMv, IEnumerable <GaSymMultivectorBiTerm> biTerms)
        {
            foreach (var biTerm in biTerms)
            {
                tempMv.AddFactor(
                    biTerm.IdXor,
                    biTerm.IsNegativeEGp,
                    biTerm.TotalProduct
                    );
            }

            return(tempMv);
        }