public GaNumMultivector GetVectorPart() { var mv = GaNumMultivector.CreateZero(GaSpaceDimension); if (!TermCoef.IsNearZero()) { mv.SetTermCoef(TermId, TermCoef); } return(mv); }
public IGaNumMultivector this[int id1] { get { IGaNumMultivector mv; RootNode.TryGetLeafValue((ulong)id1, out mv); return(mv); } set { RootNode.SetLeafValue( (ulong)id1, value ?? GaNumMultivector.CreateZero(TargetGaSpaceDimension) ); } }
public GaNumMultivector ToMultivector() { return(TermCoef.IsNearZero() ? GaNumMultivector.CreateZero(GaSpaceDimension) : GaNumMultivector.CreateTerm(GaSpaceDimension, TermId, TermCoef)); }