public GaSymMultivector ResetToZero()
        {
            TermsTree.ResetInternalChildNode0();
            TermsTree.ResetInternalChildNode1();

            return(this);
        }
        public override string ToString()
        {
            return(TermsTree.ToString());

            //var composer = new ListComposer(" + ");

            //foreach (var pair in Terms)
            //    composer.Add(
            //        pair.Value + " " + pair.Key.BasisBladeName()
            //    );

            //return composer.ToString();
        }
 public bool ContainsBasisBlade(int id)
 {
     return(TermsTree.ContainsLeafNodeId((ulong)id));
 }
 public Expr this[int id]
 => TermsTree.GetLeafValue((ulong)id)
 ?? Expr.INT_ZERO;
 MathematicaScalar ISymbolicVector.this[int id]
 => TermsTree.GetLeafValue((ulong)id)?.ToMathematicaScalar()
 ?? SymbolicUtils.Constants.Zero;
        public GaNumMultivector ResetToZero()
        {
            TermsTree.RemoveChildNodes();

            return(this);
        }
 public double this[int id]
 => TermsTree.GetLeafValue((ulong)id);