예제 #1
0
        public GaNumMultivector GetVectorPart()
        {
            var mv = GaNumMultivector.CreateZero(GaSpaceDimension);

            if (!TermCoef.IsNearZero())
            {
                mv.SetTermCoef(TermId, TermCoef);
            }

            return(mv);
        }
예제 #2
0
        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)
                    );
            }
        }
예제 #3
0
 public GaNumMultivector ToMultivector()
 {
     return(TermCoef.IsNearZero()
         ? GaNumMultivector.CreateZero(GaSpaceDimension)
         : GaNumMultivector.CreateTerm(GaSpaceDimension, TermId, TermCoef));
 }