Functions
CommonSolve.solve — Methodfunction solve(prob::HOODEProblem{T};
nb_tau::Integer=32,
order::Integer=4,
order_prep::Integer=order+2,
dense::Bool=true,
nb_t::Integer=100,
getprecision::Bool=dense,
verbose=100,
par_u0::Union{PrepareU0,Missing}=missing,
p_coef::Union{CoefExpAB,Missing}=missing
) where T<:AbstractFloatspecific interface solver for Highly oscillatory problems, that an ODE of this form:
\[\frac{\delta u(t)}{\delta t} = \frac{1}{\varepsilon} A + F(u(t), t)\]
where $u \in \R^n$ and $0 < \varepsilon < 1$ $A$ must be a periodic matrix i.e. $e^{t A} = e^{(t+\pi) A}$ for any $t \in \R$
Argument :
prob::HOODEProblem{T}: The problem to solve
Keywords :
nb_tau::Integer=32: number of values of FFT transform, must be power of twoscalespureaborder::Integer=4: order of Adams-Bashforth method, and also of the interpolatationorder_prep::Integer=order+2: order of the preparationdense::Bool=true: if true it is possible to compute solution at any time of the intervalnb_t::Integer=100: number of period slicesgetprecision::Bool=dense: compute the absolute and relative precisionpar_u0::Union{PrepareU0,Missing}=missing: preparation data for u0p_coef::Union{CoefExpAB,Missing}=missing: coefficients for Adams-Bashforth method
Examples :
CommonSolve.solve — Methodsolve(prob::ODEProblem, alg::HOODEAB{order, ntau};
dt=nothing,
kwargs...
) where {order,ntau}common interface solver for Highly oscillatory problems, that an ODE of this form
\[\frac{\delta u(t)}{\delta t} = \frac{1}{\varepsilon} A + F(u(t), t)\]
where $u \in \R^n$ and $0 < \varepsilon < 1$ $A$ must be a periodic matrix i.e. $e^{t A} = e^{(t+\pi) A}$ for any $t \in \R$
Argument :
prob::ODEProblem: The problem to solvealg::HOODEAB{order, ntau}: the Adams-Bashforth HOODE algorithm
Keywords :
dt: duration of a time intervalkwargs...: other keywords
HOODESolver.twoscales_pure_ab — Methodtwoscales_pure_ab(par::PrepareTwoScalesPureAB; only_end::Bool=false, diff_fft::Bool=false, res_fft::Bool=false, verbose::Integer=100)compute the data to get solution of the differential equation
Arguments :
par::PrepareTwoScalesPureAB: contains all the parameters and prepared data
Keywords :
only_end=false: if true return only the result for t_enddiff_fft::Bool=false: if true return data about diffres_fft::Bool=false: if true return u_caret data indispensable for interpolationverbose::Integer: level off traces (0 means no output)
Polynomials.derivative — Methodderivative(pe::PolyExp)Construct the derivative of the pe function.
Examples
julia> derivative(PolyExp([1, 3, -1],3,1))
PolyExp(Polynomial(6 + 7*x - 3*x^2)*exp(3*x + 1))
julia> derivative(PolyExp([1.0+im, 3im, -1, 4.0], 2.0+1.5im,1.0im))
PolyExp(Polynomial((0.5 + 6.5im) - (6.5 - 6.0im)*x + (10.0 - 1.5im)*x^2 + (8.0 + 6.0im)*x^3)*exp((2.0 + 1.5im)*x + 1.0im))Polynomials.integrate — Methodintegrate(pe::PolyExp)Construct the integrate function of pe which is of PolyExp type. The algorithm used is a recursive integration by parts.
Examples
julia> integrate(PolyExp([1.0,2,3],2.0,5.0))
PolyExp(Polynomial(0.75 - 0.5*x + 1.5*x^2)*exp(2.0*x + 5.0))
julia> integrate(PolyExp([1.0+0im,2],2.0im,3.0+0im))
PolyExp(Polynomial((0.5 - 0.5im) - 1.0im*x)*exp(2.0im*x + 3.0))