public static IGaNumMultivectorTemp AddFactors(this IGaNumMultivectorTemp tempMv, double scalar, IGaNumMultivectorTemp termsMv) { foreach (var term in termsMv.NonZeroTerms) { tempMv.AddFactor(term.Key, term.Value * scalar); } return(tempMv); }
public static IGaNumMultivectorTemp AddFactors(this IGaNumMultivectorTemp tempMv, double scalar, IEnumerable <KeyValuePair <int, double> > terms) { foreach (var term in terms) { tempMv.AddFactor(term.Key, term.Value * scalar); } return(tempMv); }
public static IGaNumMultivectorTemp SetTerms(this IGaNumMultivectorTemp tempMv, IGaNumMultivectorTemp termsMv) { foreach (var term in termsMv.NonZeroTerms) { tempMv.SetTermCoef(term.Key, term.Value); } return(tempMv); }
public static IGaNumMultivectorTemp SetTerms(this IGaNumMultivectorTemp tempMv, IEnumerable <KeyValuePair <int, double> > terms) { foreach (var term in terms) { tempMv.SetTermCoef(term.Key, term.Value); } return(tempMv); }
public static IGaNumMultivectorTemp AddFactors(this IGaNumMultivectorTemp tempMv, IEnumerable <GaNumMultivectorBiTerm> biTerms, GaNumMetricOrthogonal orthogonalMetric) { foreach (var biTerm in biTerms) { tempMv.AddFactor( biTerm.IdXor, biTerm.IsNegativeEGp, biTerm.TotalProduct * biTerm.Value2 * orthogonalMetric[biTerm.IdAnd] ); } return(tempMv); }
public static IGaNumMultivectorTemp AddFactors(this IGaNumMultivectorTemp tempMv, IEnumerable <GaNumMultivectorBiTerm> biTerms) { foreach (var biTerm in biTerms) { tempMv.AddFactor( biTerm.IdXor, biTerm.IsNegativeEGp, biTerm.TotalProduct ); } return(tempMv); }