using System; namespace Science.Mathematics.VectorCalculus { public class DirectionalDerivative { private Function.ToLastType func; public DirectionalDerivative(Function.ToLastType f, Vector direction, double[] at) { func = f; v = direction; x = at; } private Vector v; public Vector Direction { get { return v; } set { v = value; } } private double[] x; public double[] At { get { return x; } set { x = value; } } public void Compute() { Gradient obj = new Gradient(func, x); obj.Compute(); Vector df = new Vector(obj.Result); res = df * v; } private double res; public double Result { get { return res; } } } }