예제 #1
0
 public UnivariateFunctionAnonymous6(BivariateFunction f, ref double dfixed)
 {
     this.f      = f;
     this.dfixed = dfixed;
 }
예제 #2
0
 public MultivariateFunctionAnonymous(BivariateFunction combiner, UnivariateFunction f, ref double initialValue)
 {
     this.combiner     = combiner;
     this.f            = f;
     this.initialValue = initialValue;
 }
예제 #3
0
 /// <summary>
 /// Creates a unary function by fixing the second argument of a binary function.
 /// </summary>
 /// <param name="f">Binary function.</param>
 /// <param name="dfixed">Value to which the second argument of <c>f</c> is set.</param>
 /// <returns>the unary function h(x) = f(x, dfixed)</returns>
 public static UnivariateFunction fix2ndArgument(BivariateFunction f, double dfixed)
 {
     return(new UnivariateFunctionAnonymous6(f, ref dfixed));
 }
예제 #4
0
 public UnivariateFunctionAnonymous4(BivariateFunction combiner, UnivariateFunction f, UnivariateFunction g)
 {
     this.combiner = combiner;
     this.f        = f;
     this.g        = g;
 }
예제 #5
0
 /// <summary>
 /// Returns a MultivariateFunction h(x[]) defined by <code>
 /// h(x[]) = combiner(...combiner(combiner(initialValue,x[0]),x[1])...),x[x.Length-1])
 /// </code>
 /// </summary>
 /// <param name="combiner">Combiner function.</param>
 /// <param name="initialValue">Initial value.</param>
 /// <returns>a collector function.</returns>
 public static MultivariateFunction collector(BivariateFunction combiner, double initialValue)
 {
     return(collector(combiner, new Identity(), initialValue));
 }
예제 #6
0
 /// <summary>
 /// Returns a MultivariateFunction h(x[]) defined by <code>
 /// h(x[]) = combiner(...combiner(combiner(initialValue,f(x[0])),f(x[1]))...),f(x[x.Length-1]))
 /// </code>
 /// </summary>
 /// <param name="combiner">Combiner function.</param>
 /// <param name="f">Function.</param>
 /// <param name="initialValue">Initial value.</param>
 /// <returns>a collector function.</returns>
 public static MultivariateFunction collector(BivariateFunction combiner, UnivariateFunction f, double initialValue)
 {
     return(new MultivariateFunctionAnonymous(combiner, f, ref initialValue));
 }
예제 #7
0
 /// <summary>
 /// Returns the univariate function <para/>
 /// <c>h(x) = combiner(f(x), g(x))</c>.
 /// </summary>
 /// <param name="combiner">Combiner function.</param>
 /// <param name="f">Function.</param>
 /// <param name="g">Function.</param>
 /// <returns>the composite function.</returns>
 public static UnivariateFunction combine(BivariateFunction combiner, UnivariateFunction f, UnivariateFunction g)
 {
     return(new UnivariateFunctionAnonymous4(combiner, f, g));
 }
예제 #8
0
 public FirstUnivariateFunction(BivariateFunction bivariate, double fixedValue)
 {
     _bivariateFunction = bivariate;
     _fixedValue        = fixedValue;
 }
예제 #9
0
 /// <summary>
 /// Creates a unary function by fixing the second argument of a binary function.
 /// </summary>
 /// <param name="f">Binary function..</param>
 /// <param name="fixed">Value to which the second argument of {@code f} is set..</param>
 /// <returns>the unary function h(x) = f(x, fixed)</returns>
 public static UnivariateFunction fix2ndArgument(BivariateFunction f, double @fixed)
 {
     return(new FirstUnivariateFunction(f, @fixed));
 }