PositiveIntegrators.jl API
RKOpt.optimize_stability_polynomial — Methodoptimize_stability_polynomial(accuracy_order,
number_of_stages,
spectrum;
dt_min = 0.0,
dt_max = 2.01 * number_of_stages^2 *
maximum(abs, spectrum),
tol_bisect = 1.0e-9,
tol_feasible = 1.0e-9,
maxiters = 1000,
optimizer = ECOS.Optimizer,
silent = true)Optimize the stability polynomial of an explicit Runge-Kutta method with a given accuracy_order and number_of_stages for a given spectrum of eigenvalues (a vector of real or complex numbers) using the algorithm of Ketcheson and Ahmadia (2012).
Optional keyword arguments
dt_min = 0.0: Minimum time step size for the bisection.dt_max = 2.01 * number_of_stages^2 * maximum(abs, spectrum): Maximum time step size for the bisection.tol_bisect = 1.0e-9: Relative tolerance used to terminate the bisection.tol_feasible = 1.0e-9: Relative tolerance used to determine the feasibility of the optimization. The problem is considered feasible if the maximal absolute value of the stability polynomial is less than or equal to1 + tol_feasibleat all eigenvalues in thespectrum.maxiters = 1000: Maximum number of iterations for the bisection.optimizer = ECOS.Optimizer: Convex optimization solver to be used. You can choose a solver supporting SOCP from the list of supported solvers in the JuMP documentation.silent = true: Whether to suppress the output of the convex optimization solver.
References
- Ketcheson and Ahmadia (2012) Optimal stability polynomials for numerical integration of initial value problems DOI: 10.2140/camcos.2012.7.247