/// <summary> /// Initializes a new instance of the <see cref="ConjugateGradientDescentBase{TData,TCostFunction}"/> class. /// </summary> /// <param name="lineSearch">The line search algorithm.</param> protected ConjugateGradientDescentBase([NotNull] ILineSearch <TData, TCostFunction> lineSearch) { _lineSearch = lineSearch; // ReSharper disable once DoNotCallOverridableMethodsInConstructor // ReSharper disable once ExceptionNotDocumented ErrorTolerance = 1E-5D; }
/// <summary> /// Initializes a new instance of the <see cref="FletcherReevesCG"/> class. /// </summary> /// <param name="lineSearch">The line search.</param> public FletcherReevesCG([NotNull] ILineSearch <double, IDifferentiableCostFunction <double> > lineSearch) : base(lineSearch) { }
/// <summary> /// Initializes a new instance of the <see cref="DoublePrecisionConjugateGradientDescentBase{TCostFunction}"/> class. /// </summary> /// <param name="lineSearch">The line search algorithm.</param> protected DoublePrecisionConjugateGradientDescentBase([NotNull] ILineSearch <double, TCostFunction> lineSearch) : base(lineSearch) { }
/// <summary> /// Initializes a new instance of the <see cref="FletcherReevesCG"/> class. /// </summary> /// <param name="lineSearch">The line search.</param> public PolakRibiereCG([NotNull] ILineSearch <double, IDifferentiableCostFunction <double> > lineSearch) : base(lineSearch) { }