/// <summary>Initializes a new instance of the <see cref="GaussHermiteIntegrator"/> class. /// </summary> /// <param name="initialOrder">The initial order of the Gauss-Hermite approach, i.e. the order in the first iteration step.</param> /// <param name="orderStepSize">The step size of the order, i.e. in each iteration step the order will be increased by the specified number.</param> /// <param name="exitCondition">The exit condition.</param> public GaussHermiteIntegrator(int initialOrder, int orderStepSize, ExitCondition exitCondition) : base(BoundDescriptor.Create(BoundEvaluationType.Unbounded, Double.NegativeInfinity), BoundDescriptor.Create(BoundEvaluationType.Unbounded, Double.PositiveInfinity)) { ExitCondition = exitCondition ?? throw new ArgumentNullException(nameof(exitCondition)); m_Name = new IdentifierString("Gauss-Hermite Integrator"); InitialOrder = initialOrder; OrderStepSize = orderStepSize; }
/// <summary>Initializes a new instance of the <see cref="OneDimNumericalIntegrator"/> class. /// </summary> /// <param name="lowerBoundDescriptor">A description of the lower integration bound.</param> /// <param name="upperBoundDescriptor">A description of the upper integration bound.</param> protected OneDimNumericalIntegrator(BoundDescriptor lowerBoundDescriptor, BoundDescriptor upperBoundDescriptor) { if (lowerBoundDescriptor == null) { throw new ArgumentNullException(nameof(lowerBoundDescriptor)); } LowerBoundDescriptor = lowerBoundDescriptor; if (upperBoundDescriptor == null) { throw new ArgumentNullException(nameof(upperBoundDescriptor)); } UpperBoundDescriptor = upperBoundDescriptor; InfoOutputDetailLevel = InfoOutputDetailLevel.Full; }
/// <summary>Initializes the <see cref="BoundDescriptor" /> class. /// </summary> static BoundDescriptor() { Closed = new BoundDescriptor(BoundEvaluationType.Closed); Open = new BoundDescriptor(BoundEvaluationType.Open); }