Skip to content

Commit

Permalink
Update default parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
LuEdRaMo committed Aug 26, 2024
1 parent 83d9195 commit 9793a26
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
20 changes: 15 additions & 5 deletions src/orbitdetermination/tooshortarc.jl
Original file line number Diff line number Diff line change
@@ -1,18 +1,28 @@
@doc raw"""
adam(radec::Vector{RadecMPC{T}}, A::AdmissibleRegion{T}, ρ::T, v_ρ::T,
params::NEOParameters{T}; scale::Symbol = :linear, η::T = 25.0,
μ::T = 0.75, ν::T = 0.9, ϵ::T = 1e-8, Qtol::T = 0.001, adamorder::Int = 2,
dynamics::D = newtonian!) where {T <: Real, D}
params::NEOParameters{T}; kwargs...) where {T <: Real, D}
Adaptative moment estimation (ADAM) minimizer of normalized mean square
residual over the manifold of variations of `A`.
residual of `radec` over the manifold of variations of `A`, starting
from `(ρ, v_ρ)`.
## Keyword arguments
- `scale::Symbol`: horizontal scale, either `:log` (default) or `:linear`.
- `η::T`: learning rate (default: `25.0`).
- `μ::T`: first moment (default: `0.75`).
- `ν::T`: second moment (default: `0.9`).
- `ϵ::T`: numerical stability constant (default: `1e-8`).
- `Qtol::T`: target function relative tolerance (default: `1e-5`).
- `adamorder::Int`: jet transport order (default: `2`).
- `dynamics::D`: dynamical model (default: `newtonian!`).
!!! reference
See Algorithm 1 of https://doi.org/10.48550/arXiv.1412.6980.
"""
function adam(radec::Vector{RadecMPC{T}}, A::AdmissibleRegion{T}, ρ::T, v_ρ::T,
params::NEOParameters{T}; scale::Symbol = :linear, η::T = 25.0,
μ::T = 0.75, ν::T = 0.9, ϵ::T = 1e-8, Qtol::T = 0.001, adamorder::Int = 2,
μ::T = 0.75, ν::T = 0.9, ϵ::T = 1e-8, Qtol::T = 1e-5, adamorder::Int = 2,
dynamics::D = newtonian!) where {T <: Real, D}
# Initial time of integration [julian days]
jd0 = datetime2julian(A.date)
Expand Down
4 changes: 2 additions & 2 deletions src/propagation/parameters.jl
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ Parameters for all orbit determination functions.
- `H_max::T`: maximum absolute magnitude (default: `34.5`).
- `a_max::T`: maximum semimajor axis (default: `100.0`).
- `adamiter::Int`: maximum number of iterations for `ADAM` optimizer (default: `200`).
- `adamiter::Int`: maximum number of iterations for `ADAM` optimizer (default: `500`).
- `tsaorder::Int`: order of the jet transport perturbation (default: `6`).
- `tsaQmax::T`: nrms threshold (default: `1.5`).
Expand All @@ -108,7 +108,7 @@ function NEOParameters(;
abstol::T = 1e-20, parse_eqs::Bool = true, bwdoffset::T = 0.5, fwdoffset::T = 0.5,
coeffstol::T = 10.0, debias_table::String = "2018", max_triplets::Int = 10,
gaussorder::Int = 5, adamhelp::Bool = false, gaussQmax::T = 5.0, H_max::T = 34.5,
a_max::T = 100.0, adamiter::Int = 200, tsaorder::Int = 6, tsaQmax::T = 1.5,
a_max::T = 100.0, adamiter::Int = 500, tsaorder::Int = 6, tsaQmax::T = 1.5,
jtlsiter::Int = 5, newtoniter::Int = 5, jtlsorder::Int = 5, max_per::T = 18.0
) where {T <: Real}

Expand Down

0 comments on commit 9793a26

Please sign in to comment.