Esempio n. 1
0
        public SymbolFunction D(int index = 0)
        {
            var f = new SymbolFunction(this, Arguments);

            f.Derivatives[index]++;
            return(f);
        }
Esempio n. 2
0
        public SymbolFunction(SymbolFunction f, params Expression[] args) :
            base(args)
        {
            this.name = f.Name;
            if (args.Length <= f.Derivatives.Length)
            {
                Derivatives = f.Derivatives.Take(args.Length).ToArray();
            }
            else
            {
                Derivatives = f.Derivatives
                              .Concat(new int[args.Length - f.Derivatives.Length])
                              .ToArray();
            }
            var lastD = Array.FindLastIndex(Derivatives, d => d != 0);

            if (lastD >= args.Length)
            {
                throw new ArgumentException();
            }
        }