예제 #1
0
 public static GaSymMultivector CreateSymbolicKVector(int gaSpaceDim, string baseCoefName, int grade)
 {
     return(CreateSymbolic(
                gaSpaceDim,
                baseCoefName,
                GMacMathUtils.BasisBladeIDsOfGrade(gaSpaceDim.ToVSpaceDimension(), grade)
                ));
 }
예제 #2
0
        public GaSymMultivector GetSymKVector(int gaSpaceDim, int grade, double maxValue)
        {
            var mv = GaSymMultivector.CreateZero(gaSpaceDim);

            foreach (var basisBladeId in GMacMathUtils.BasisBladeIDsOfGrade(mv.VSpaceDimension, grade))
            {
                mv.SetTermCoef(basisBladeId, GetSymbolicScalar(maxValue));
            }

            return(mv);
        }
예제 #3
0
        public GaSymMultivector GetSymIntegerKVector(int gaSpaceDim, int grade, int minValue, int maxValue)
        {
            var mv = GaSymMultivector.CreateZero(gaSpaceDim);

            foreach (var basisBladeId in GMacMathUtils.BasisBladeIDsOfGrade(mv.VSpaceDimension, grade))
            {
                mv.SetTermCoef(basisBladeId, GetIntegerExpr(minValue, maxValue));
            }

            return(mv);
        }
예제 #4
0
        public GaNumMultivector GetNumVector(int gaSpaceDim)
        {
            var mv = GaNumMultivector.CreateZero(gaSpaceDim);

            foreach (var basisBladeId in GMacMathUtils.BasisBladeIDsOfGrade(mv.VSpaceDimension, 1))
            {
                mv.SetTermCoef(basisBladeId, GetScalar());
            }

            return(mv);
        }
예제 #5
0
        public GMacMultivectorBinding UnBindKVector(int grade)
        {
            UnBindCoefs(GMacMathUtils.BasisBladeIDsOfGrade(BaseFrame.VSpaceDimension, grade));

            return(this);
        }