Skip to content
# Release v0.5.0 (2022/8/25)

Refactored logging and ode modules, implemented some new algorithms in ode module, and etc...

## Breaking Change

- Changed the name of class `heuristic_1dim_optimizer` to `heuristic_global_optimizer` ([Issue #151](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/merge_requests/151)).
- Refactored logging ([Issue #178](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/178), [Issue #179](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/179), [Issue #164](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/164), [Issue #166](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/166), [Issue #182](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/182), [Issue #181](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/181)).
- Refactored ode module for implementation of new algorithms ([Issue #192](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/192), [Issue #200](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/200), [Issue #208](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/208), [Issue #209](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/209), [Issue #212](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/212), [Issue #216](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/216), [Issue #218](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/218), [Issue #219](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/219), [Issue #221](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/221), [Issue #215](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/215), [Issue #223](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/223)).

## Feature

- Modules
  - util
    - Format Eigen's dense matrices, dense vectors, and sparse matrices ([Issue #142](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/142)).
  - logging
    - Function to load logging configuration from files ([Issue #166](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/166)).
  - regularization
    - Implemented FISTA for L1 regularization ([Issue #147](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/147)).
  - opt
    - Heuristic global optimizer for multi-variate problems ([Issue #151](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/merge_requests/151)).
  - ode
    - Automatic computation of the initial step size in ODE solver ([Issue #203](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/203)).
    - New algorithm to automatically compute the next step size in ODE solver ([Issue #202](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/202)).
    - RODASP formula ([Issue #199](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/199)).
    - RODASPR formula ([Issue #213](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/213)).
    - DOPRI5 formula ([Issue #220](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/220)).
    - Approximate Jacobian matrix for some Rosenbrock formulas ([Issue #210](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/210)).
    - ARK formulas ([Issue #215](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/215), [Issue #224](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/224)).
    - Symplectic integration ([Issue #226](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/226)).
    - Solvers of Rosenbrock formulas for large problems ([Issue #211](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/211), [Issue #229](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/229)).
    - Mass matrix support in Rosenbrock method ([Issue #64](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/64)).

## Miscellaneous

- Introduced [Approval Tests](https://approvaltests.com/) for tests ([Issue #139](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/139), [Issue #204](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/204)).
- Update issue templates ([Issue #157](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/157)).
- Fixed warnings on MSVC ([Issue #134](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/134)).
- Set the default value of requirements_for_tests in conanfile.py to False ([Issue #159](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/159)).
- Introduced profiling ([Issue #168](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/168)).
- Introduced ccache ([Issue #177](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/177)).
- Added concept of optimizers ([Issue #193](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/193)).
- Added more tests of legendre function ([Issue #194](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/194)).
- Changed CI configuration to upload coverage report ([Issue #196](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/196), [Issue #205](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/205), [Issue #206](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/206)).
- Introduced [IWYU](https://github.com/include-what-you-use/include-what-you-use/) ([Issue #9](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/9)).
- Decreased the size of artifacts in CI ([Issue #201](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/201)).
- More example problems of ODEs ([Issue #218](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/218)).
- Introduced lizard ([Issue #225](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/225), [Issue #227](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/227)).
- Use [release CLI of GitLab](https://docs.gitlab.com/ee/user/project/releases/release_cli.html) ([Issue #207](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/207)).
- Fixed clang-tidy check in CI ([Issue #180](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/180)).
- Example to solve 1D wave equation ([Issue #236](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/236)).
- Removed coverage measurement using GCC ([Issue #239](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/239)).
- Use GCC 12 in CI ([Issue #240](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/240)).