-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
332: Unscented accelerator r=odunbar a=odunbar <!--- THESE LINES ARE COMMENTED --> ## Purpose <!--- One sentence to describe the purpose of this PR, refer to any linked issues: #14 -- this will link to issue 14 Closes #2 -- this will automatically close issue 2 on PR merge --> Closes #333 ## Content <!--- specific tasks that are currently complete - Solution implemented --> - Adds the accelerator method to `Unscented`. This implementation moves the sigma points (as it is the "ensemble") and then saves the reconstructed the mean and covariance from the new sigma point locations. Note one additional subtlety, the saved "u_mean" and "uu_cov" are not just the mean and cov of the sigma points, and so are back calculated - Adds unit tests & removed some unnecessary ensemble members / iterations in the accelerator test - renames the ambiguous `update_state!` to `accelerate!` ## Unit test output ``` Accelerator: DefaultAccelerator Process: Inversion ┌ Info: Convergence: │ cost_initial = 48.24023862169107 └ cost_final = 4.489933318021739 Accelerator: NesterovAccelerator Process: Inversion ┌ Info: Convergence: │ cost_initial = 48.24023862169107 └ cost_final = 5.6012259995349245 Accelerator: DefaultAccelerator Process: TransformInversion ┌ Info: Convergence: │ cost_initial = 48.24023862169107 └ cost_final = 4.434232345531697 Accelerator: NesterovAccelerator Process: TransformInversion ┌ Info: Convergence: │ cost_initial = 48.24023862169107 └ cost_final = 4.955048376140534 Accelerator: DefaultAccelerator Process: Unscented ┌ Info: Convergence: │ cost_initial = 53.28933708166123 └ cost_final = 5.84078511368908 Accelerator: NesterovAccelerator Process: Unscented ┌ Info: Convergence: │ cost_initial = 53.28933708166123 └ cost_final = 6.29489453592627 Accelerator: DefaultAccelerator Process: Sampler ┌ Info: Convergence: │ cost_initial = 48.24023862169107 └ cost_final = 14.943442588378828 Accelerator: NesterovAccelerator Process: Sampler ┌ Warning: Acceleration is experimental for Sampler processes and may affect convergence. └ @ EnsembleKalmanProcesses ~/work/EnsembleKalmanProcesses.jl/EnsembleKalmanProcesses.jl/src/EnsembleKalmanProcess.jl:220 ┌ Info: Convergence: │ cost_initial = 48.24023862169107 └ cost_final = 15.733653014250967 ``` <!--- Review checklist I have: - followed the codebase contribution guide: https://clima.github.io/ClimateMachine.jl/latest/Contributing/ - followed the style guide: https://clima.github.io/ClimateMachine.jl/latest/DevDocs/CodeStyle/ - followed the documentation policy: https://github.com/CliMA/policies/wiki/Documentation-Policy - checked that this PR does not duplicate an open PR. In the Content, I have included - relevant unit tests, and integration tests, - appropriate docstrings on all functions, structs, and modules, and included relevant documentation. --> ---- - [x] I have read and checked the items on the review checklist. Co-authored-by: odunbar <odunbar@caltech.edu>
- Loading branch information
Showing
4 changed files
with
93 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.