public Expr this[IGaSymMultivector mv1, IGaSymMultivector mv2] { get { if (_factorsList.Count == 0) { return(Expr.INT_ZERO); } var termsExprArray = _factorsList .Select(factor => Mfs.ProductExpr( mv1[factor.Item1], mv2[factor.Item2], factor.Item3 )).ToArray(); return(termsExprArray.Length == 1 ? termsExprArray[0] : Mfs.SumExpr(termsExprArray)); } }