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));
                }
            }