Skip to content

docs: document accelerated first-order methods - #1281

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
JuliaNLSolvers:masterfrom
ChrisRackauckas-Claude:codex/optim-first-order-owner-docstrings
Draft

docs: document accelerated first-order methods#1281
ChrisRackauckas-Claude wants to merge 1 commit into
JuliaNLSolvers:masterfrom
ChrisRackauckas-Claude:codex/optim-first-order-owner-docstrings

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown

Adds SciMLStyle constructor documentation at the original definitions of AcceleratedGradientDescent and MomentumGradientDescent, plus a rendered algorithm reference page. The new API test requires both owner doc bindings, so the public doc contract is covered at its source.

Please ignore this PR until reviewed by @ChrisRackauckas.

Verification

  • Before this change, the new binding check fails on 0842dbc7: Test Failed at none:1 for haskey(Base.Docs.meta(Optim), binding).
  • After this change, the same binding assertions and representative optimize calls passed locally.
  • julia --startup-file=no --project=. -e 'using Pkg; Pkg.test()' passed: 213571 pass, 88 broken, 213659 total, zero failures.\n- git diff --check and typos over the changed files passed.\n- julia --startup-file=no --project=docs docs/make.jl remains red on generated-notebook links (ipnewton_basics.md, maxlikenlm.md, and rasch.md). The same failure was reproduced on an untouched master worktree; this PR adds no docs-build diagnostic.\n\n🤖 Generated with Claude Code\nhttps://chatgpt.com/codex/tasks/019f4028-d2ae-7a12-aff0-7d996bd9c791

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://chatgpt.com/codex/tasks/019f4028-d2ae-7a12-aff0-7d996bd9c791
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia vlts)

Time benchmarks
master cb51771... master / cb51771...
multivariate/solvers/first_order/AdaMax 0.395 ± 0.0094 ms 0.396 ± 0.0064 ms 0.997 ± 0.029
multivariate/solvers/first_order/Adam 0.395 ± 0.0097 ms 0.395 ± 0.0071 ms 0.999 ± 0.03
multivariate/solvers/first_order/BFGS 0.0792 ± 0.0021 ms 0.079 ± 0.0021 ms 1 ± 0.038
multivariate/solvers/first_order/ConjugateGradient 0.242 ± 0.0075 ms 0.243 ± 0.0078 ms 0.996 ± 0.045
multivariate/solvers/first_order/GradientDescent 0.664 ± 0.0097 ms 0.662 ± 0.0098 ms 1 ± 0.021
multivariate/solvers/first_order/LBFGS 0.093 ± 0.0026 ms 0.0931 ± 0.003 ms 0.999 ± 0.043
multivariate/solvers/first_order/MomentumGradientDescent 1.26 ± 0.025 ms 1.26 ± 0.023 ms 1 ± 0.027
multivariate/solvers/first_order/NGMRES 0.387 ± 0.011 ms 0.385 ± 0.011 ms 1 ± 0.042
time_to_load 0.305 ± 0.0048 s 0.306 ± 0.001 s 0.995 ± 0.016
Memory benchmarks
master cb51771... master / cb51771...
multivariate/solvers/first_order/AdaMax 0.341 k allocs: 7.36 kB 0.341 k allocs: 7.36 kB 1
multivariate/solvers/first_order/Adam 0.341 k allocs: 7.36 kB 0.341 k allocs: 7.36 kB 1
multivariate/solvers/first_order/BFGS 0.168 k allocs: 9.19 kB 0.168 k allocs: 9.19 kB 1
multivariate/solvers/first_order/ConjugateGradient 0.5 k allocs: 25.8 kB 0.5 k allocs: 25.8 kB 1
multivariate/solvers/first_order/GradientDescent 1.32 k allocs: 0.0696 MB 1.32 k allocs: 0.0696 MB 1
multivariate/solvers/first_order/LBFGS 0.239 k allocs: 14.6 kB 0.239 k allocs: 14.6 kB 1
multivariate/solvers/first_order/MomentumGradientDescent 1.72 k allocs: 0.0759 MB 1.72 k allocs: 0.0759 MB 1
multivariate/solvers/first_order/NGMRES 1.71 k allocs: 0.143 MB 1.71 k allocs: 0.143 MB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

A plot of the benchmark results has been uploaded as an artifact at .

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
master cb51771... master / cb51771...
multivariate/solvers/first_order/AdaMax 0.585 ± 0.0098 ms 0.586 ± 0.0094 ms 0.999 ± 0.023
multivariate/solvers/first_order/Adam 0.584 ± 0.0097 ms 0.586 ± 0.0097 ms 0.997 ± 0.023
multivariate/solvers/first_order/BFGS 0.107 ± 0.0013 ms 0.107 ± 0.0013 ms 1 ± 0.018
multivariate/solvers/first_order/ConjugateGradient 0.178 ± 0.0033 ms 0.177 ± 0.0033 ms 1 ± 0.026
multivariate/solvers/first_order/GradientDescent 0.779 ± 0.0071 ms 0.776 ± 0.0061 ms 1 ± 0.012
multivariate/solvers/first_order/LBFGS 0.122 ± 0.0017 ms 0.122 ± 0.0017 ms 1 ± 0.02
multivariate/solvers/first_order/MomentumGradientDescent 1.53 ± 0.017 ms 1.52 ± 0.017 ms 1 ± 0.016
multivariate/solvers/first_order/NGMRES 0.853 ± 0.0077 ms 0.85 ± 0.0073 ms 1 ± 0.013
time_to_load 0.362 ± 0.0012 s 0.368 ± 0.0054 s 0.984 ± 0.015
Memory benchmarks
master cb51771... master / cb51771...
multivariate/solvers/first_order/AdaMax 0.356 k allocs: 7.27 kB 0.356 k allocs: 7.27 kB 1
multivariate/solvers/first_order/Adam 0.356 k allocs: 7.27 kB 0.356 k allocs: 7.27 kB 1
multivariate/solvers/first_order/BFGS 0.243 k allocs: 9.41 kB 0.243 k allocs: 9.41 kB 1
multivariate/solvers/first_order/ConjugateGradient 0.411 k allocs: 16.9 kB 0.411 k allocs: 16.9 kB 1
multivariate/solvers/first_order/GradientDescent 1.63 k allocs: 0.0657 MB 1.63 k allocs: 0.0657 MB 1
multivariate/solvers/first_order/LBFGS 0.339 k allocs: 14.6 kB 0.339 k allocs: 14.6 kB 1
multivariate/solvers/first_order/MomentumGradientDescent 2.01 k allocs: 0.0711 MB 2.01 k allocs: 0.0711 MB 1
multivariate/solvers/first_order/NGMRES 3.52 k allocs: 0.167 MB 3.52 k allocs: 0.167 MB 1
time_to_load 0.149 k allocs: 11.1 kB 0.149 k allocs: 11.1 kB 1

A plot of the benchmark results has been uploaded as an artifact at .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants